:root {
  --skv3-card: rgba(16, 22, 31, .82);
  --skv3-card-strong: rgba(22, 31, 44, .96);
  --skv3-line: rgba(255,255,255,.13);
}

.skv2-app-shell { width: min(1180px, 100%); margin: 0 auto; padding: 0 0 96px; }
.skv2-view { display: grid; gap: 18px; width: 100%; }
.skv2-hero-companion { position: relative; overflow: hidden; grid-template-columns: minmax(250px,320px) 1fr; align-items: center; min-height: 330px; }
.skv2-hero-companion::after,.skv2-reward::after { content: ""; position: absolute; inset: auto -20% -28% -20%; height: 52%; background: radial-gradient(circle, rgba(98,214,255,.18), transparent 62%); pointer-events: none; }

.skv2-buddy-scene { --buddy-scale: 1; position: relative; display: grid; place-items: center; width: min(238px,100%); aspect-ratio: 1; border: 0; background: transparent; color: inherit; transform: translateZ(0); perspective: 760px; }
.skv2-hero-companion .skv2-buddy-scene { justify-self: center; width: min(300px,100%); }
.skv2-hero-companion .skv2-buddy-scene::before { content: ""; position: absolute; inset: 12% 4% 4%; border-radius: 50%; background: radial-gradient(ellipse at 50% 60%, rgba(98,214,255,.2), rgba(241,211,124,.12) 36%, transparent 68%); filter: blur(10px); transform: rotateX(62deg); pointer-events: none; }
.skv2-buddy { width: 100%; max-width: 232px; transform: scale(var(--buddy-scale)); transform-origin: 50% 82%; filter: drop-shadow(0 24px 34px rgba(0,0,0,.46)); animation: skv2-breathe-3d 4.2s ease-in-out infinite; }
.skv2-hero-companion .skv2-buddy { max-width: 286px; }
.skv2-buddy-showcase { position: relative; display: grid; place-items: center; min-height: 340px; isolation: isolate; }
.skv2-ai-buddy-art { --art-scale: 1.04; position: relative; display: block; width: min(330px,100%); aspect-ratio: 1; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 32px; background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(5,8,12,.44)); color: inherit; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 28px 60px rgba(0,0,0,.42); }
.skv2-ai-buddy-art::before { content: ""; position: absolute; left: 16%; right: 16%; bottom: 4%; height: 11%; border-radius: 50%; background: rgba(0,0,0,.28); filter: blur(12px); z-index: 0; animation: skv2-shadow 3.6s ease-in-out infinite; }
.skv2-ai-buddy-art::after { content: ""; position: absolute; inset: 0; z-index: 2; background: radial-gradient(circle at 36% 16%, rgba(255,255,255,.34), transparent 22%), linear-gradient(180deg, transparent 58%, rgba(5,8,12,.18)); pointer-events: none; }
.skv2-ai-buddy-art img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transform: scale(var(--art-scale)); filter: saturate(1.07) contrast(1.03); animation: skv2-art-portrait-breathe 4.4s ease-in-out infinite; }
.skv2-ai-buddy-art.is-lumen { --art-scale: 1.06; }
.skv2-ai-buddy-art.is-terra { --art-scale: 1.05; }
.skv2-ai-buddy-art.is-flare { --art-scale: 1.05; }
.skv2-ai-buddy-art.is-jump,.skv2-ai-buddy-art.is-happy { animation: skv2-jump .75s ease both; }
.skv2-ai-buddy-art.is-cheer { animation: skv2-art-cheer 1s ease both; }
.skv2-ai-buddy-art.is-levelup { animation: skv2-levelup 1.4s ease both; }
.skv2-ai-buddy-art.is-sleep { opacity: .86; animation: skv2-sleepy 4s ease-in-out infinite; }
.skv2-ai-buddy-art.is-child { box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 0 2px rgba(126,227,173,.24), 0 28px 60px rgba(0,0,0,.42); }
.skv2-ai-buddy-art.is-teen { box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 0 2px rgba(98,214,255,.28), 0 28px 60px rgba(0,0,0,.42); }
.skv2-ai-buddy-art.is-partner { box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 0 3px rgba(241,211,124,.32), 0 0 44px rgba(241,211,124,.18), 0 28px 60px rgba(0,0,0,.42); }
.skv2-ai-buddy-art__shine { position: absolute; inset: 0; z-index: 3; background: linear-gradient(115deg, transparent 10%, rgba(255,255,255,.14) 36%, transparent 52%); transform: translateX(-120%); animation: skv2-art-shine 6s ease-in-out infinite; pointer-events: none; }
.skv2-ai-buddy-art__stage { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 4; padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(5,8,12,.62); color: rgba(255,255,255,.86); font-size: 11px; font-weight: 900; text-align: center; backdrop-filter: blur(9px); }
.skv2-ai-equip { position: absolute; right: 8%; z-index: 5; width: 13%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(9,14,22,.68); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 16px rgba(0,0,0,.24); backdrop-filter: blur(8px); pointer-events: none; }
.skv2-ai-equip::before,.skv2-ai-equip::after { content: ""; position: absolute; pointer-events: none; }
.skv2-ai-equip--hat { top: 8%; }
.skv2-ai-equip--hat::before { left: 24%; right: 24%; top: 25%; bottom: 31%; clip-path: polygon(0 100%,0 42%,26% 60%,50% 12%,74% 60%,100% 42%,100% 100%); background: linear-gradient(135deg, #fff0a3, #d7a334); }
.skv2-ai-equip--hat::after { left: 22%; right: 22%; bottom: 25%; height: 12%; border-radius: 999px; background: #a86e25; }
.skv2-ai-equip--glasses { top: 23%; }
.skv2-ai-equip--glasses::before { left: 21%; right: 21%; top: 37%; height: 26%; border: 3px solid #101923; border-left-width: 5px; border-right-width: 5px; border-radius: 999px; background: rgba(255,255,255,.18); }
.skv2-ai-equip--glasses::after { left: 44%; right: 44%; top: 49%; height: 3px; border-radius: 999px; background: #101923; }
.skv2-ai-equip--scarf { top: 38%; }
.skv2-ai-equip--scarf::before { left: 22%; right: 22%; top: 39%; height: 22%; border-radius: 999px; background: linear-gradient(90deg, #ff9ab0, #d84267); transform: rotate(-12deg); }
.skv2-ai-equip--scarf::after { right: 21%; top: 48%; width: 20%; height: 28%; border-radius: 30% 80% 60% 40%; background: #9f2444; transform: rotate(22deg); }
.skv2-ai-equip--bag { top: 53%; }
.skv2-ai-equip--bag::before { left: 29%; right: 29%; top: 24%; height: 25%; border: 3px solid rgba(220,214,255,.82); border-bottom: 0; border-radius: 999px 999px 0 0; }
.skv2-ai-equip--bag::after { left: 28%; right: 28%; bottom: 24%; height: 34%; border-radius: 24% 24% 18% 18%; background: linear-gradient(135deg, #8d70ff, #39285f); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.skv2-buddy-shadow { position: absolute; bottom: 8%; width: 46%; height: 10%; border-radius: 999px; background: rgba(0,0,0,.32); filter: blur(8px); animation: skv2-shadow 3.6s ease-in-out infinite; }
.skv2-buddy .buddy-glow { transform-origin: 60px 72px; animation: skv2-companion-glow 4.8s ease-in-out infinite; mix-blend-mode: screen; }
.skv2-buddy .buddy-body,.skv2-buddy .buddy-head { stroke: rgba(255,255,255,.22); stroke-width: 1.2; }
.skv2-buddy .buddy-floor-shadow { animation: skv2-floor-shadow 4.2s ease-in-out infinite; transform-origin: 60px 127px; }
.skv2-buddy .buddy-rim-light { animation: skv2-rim-sweep 5.6s ease-in-out infinite; }
.skv2-buddy .buddy-core-shade { mix-blend-mode: multiply; pointer-events: none; }
.skv2-buddy .buddy-specular { mix-blend-mode: screen; animation: skv2-specular-breathe 4.8s ease-in-out infinite; pointer-events: none; }
.skv2-buddy .buddy-under-shadow { mix-blend-mode: multiply; pointer-events: none; }
.skv2-buddy .buddy-depth-edge { mix-blend-mode: multiply; animation: skv2-depth-edge 4.2s ease-in-out infinite; pointer-events: none; }
.skv2-buddy .buddy-faceplate { filter: drop-shadow(0 3px 5px rgba(255,255,255,.08)); animation: skv2-faceplate-float 4.2s ease-in-out infinite; pointer-events: none; }
.skv2-buddy .buddy-head { transform-origin: 60px 70px; animation: skv2-head-bob 4.2s ease-in-out infinite; }
.skv2-buddy .buddy-torso { transform-origin: 60px 105px; animation: skv2-torso-squish 3.6s ease-in-out infinite; }
.skv2-buddy .ear { filter: drop-shadow(0 4px 5px rgba(0,0,0,.18)); transform-origin: 60px 62px; }
.skv2-buddy .leaf-ear { animation: skv2-ear-leaf 4.8s ease-in-out infinite; }
.skv2-buddy .flame-ear,.skv2-buddy .flame-tail { animation: skv2-flame-flicker 2.6s ease-in-out infinite; transform-origin: 60px 76px; }
.skv2-buddy .star-ear { animation: skv2-star-wink 3.9s ease-in-out infinite; }
.skv2-buddy .paw { filter: drop-shadow(0 3px 4px rgba(0,0,0,.18)); animation: skv2-paw-squash 3.6s ease-in-out infinite; transform-origin: 60px 118px; }
.skv2-buddy .body-highlight { animation: skv2-highlight-slide 5.2s ease-in-out infinite; }
.skv2-buddy .buddy-signature { filter: drop-shadow(0 0 6px rgba(255,255,255,.22)); animation: skv2-signature-pulse 4.2s ease-in-out infinite; transform-origin: 60px 42px; }
.skv2-buddy .buddy-pose-effects { transform-origin: 60px 70px; pointer-events: none; }
.skv2-buddy .pose-happy-effects { animation: skv2-confetti-float 1.4s ease both; }
.skv2-buddy .pose-sleep-effects { animation: skv2-sleep-letters 3.8s ease-in-out infinite; }
.skv2-buddy .buddy-ray { opacity: 0; animation: skv2-ray-burst 1.7s ease-out infinite; transform-origin: 60px 70px; }
.skv2-buddy .ray-1,.skv2-buddy .ray-4,.skv2-buddy .ray-7 { animation-delay: .12s; }
.skv2-buddy .ray-2,.skv2-buddy .ray-5,.skv2-buddy .ray-8 { animation-delay: .24s; }
.skv2-buddy .eyes { transform-origin: 60px 70px; animation: skv2-blink 5.4s infinite; filter: drop-shadow(0 2px 2px rgba(0,0,0,.16)); }
.skv2-buddy .eye-white { filter: drop-shadow(0 1px 0 rgba(255,255,255,.34)); }
.skv2-buddy .eye-pupil { animation: skv2-eye-depth 4.8s ease-in-out infinite; transform-origin: 60px 66px; }
.skv2-buddy .face-details { pointer-events: none; }
.skv2-buddy .eye-shine { animation: skv2-eye-shine 5.4s infinite; }
.skv2-buddy .eye-glimmer { animation: skv2-eye-glimmer 3.2s ease-in-out infinite; }
.skv2-buddy .cheek { animation: skv2-cheek-soft 4.4s ease-in-out infinite; }
.skv2-buddy .brow,.skv2-buddy .nose { transition: transform .2s ease, opacity .2s ease; }
.skv2-buddy .arm-r,.skv2-buddy .arm-l { transform-origin: 60px 84px; }
.skv2-buddy .equip-hat,.skv2-buddy .equip-glasses,.skv2-buddy .equip-scarf,.skv2-buddy .equip-bag { filter: drop-shadow(0 4px 5px rgba(0,0,0,.24)); animation: skv2-gear-pop .45s ease both; }
.skv2-buddy .partner-aura { animation: skv2-aura 6s linear infinite; }
.skv2-buddy .stage-decor { transform-origin: 60px 74px; }
.skv2-buddy .stage-born circle { animation: skv2-stage-pulse 2.8s ease-in-out infinite; }
.skv2-buddy .stage-child .stage-star { animation: skv2-stage-twinkle 2.4s ease-in-out infinite; transform-origin: 84px 63px; }
.skv2-buddy .stage-teen-back { animation: skv2-stage-flare 3.8s ease-in-out infinite; }
.skv2-buddy .stage-teen-front .stage-crest { animation: skv2-stage-pulse 3.2s ease-in-out infinite; transform-origin: 60px 34px; }
.skv2-buddy .stage-partner-front .stage-crown { filter: drop-shadow(0 0 8px rgba(241,211,124,.55)); }
.skv2-buddy .stage-orbit-dot { animation: skv2-stage-orbit 4.8s ease-in-out infinite; transform-origin: 60px 70px; }
.skv2-buddy .dot-b { animation-delay: -2.4s; }
.skv2-buddy-scene.is-jump .skv2-buddy,.skv2-buddy-scene.is-happy .skv2-buddy { animation: skv2-jump .75s ease both; }
.skv2-buddy-scene.is-jump::before,.skv2-buddy-scene.is-levelup::before { content: ""; position: absolute; inset: 12%; border: 2px solid rgba(241,211,124,.8); border-radius: 50%; opacity: 0; animation: skv2-tap-ring 1.1s ease both; pointer-events: none; }
.skv2-buddy-scene.is-jump::after,.skv2-buddy-scene.is-levelup::after { content: "♪"; position: absolute; right: 13%; top: 11%; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 999px; background: linear-gradient(135deg, rgba(241,211,124,.95), rgba(98,214,255,.92)); color: #071016; font-weight: 900; animation: skv2-pop-note 1.1s ease both; pointer-events: none; }
.skv2-buddy-scene.is-cheer .arm-r { animation: skv2-wave .5s ease-in-out 4; }
.skv2-buddy-scene.is-happy .mouth,.skv2-buddy-scene.is-levelup .mouth { stroke-width: 5; }
.skv2-buddy-scene.is-happy .brow-l,.skv2-buddy-scene.is-levelup .brow-l { transform: translateY(-2px) rotate(-6deg); }
.skv2-buddy-scene.is-happy .brow-r,.skv2-buddy-scene.is-levelup .brow-r { transform: translateY(-2px) rotate(6deg); }
.skv2-buddy-scene.is-levelup .skv2-buddy { animation: skv2-levelup 1.4s ease both; }
.skv2-buddy-scene.is-night .skv2-buddy { animation: skv2-sleepy 4s ease-in-out infinite; opacity: .88; }
.skv2-buddy-scene.is-idle .buddy-body { animation: skv2-look 7s ease-in-out infinite; transform-origin: 60px 74px; }
.skv2-buddy-full { position: relative; display: grid; place-items: center; min-height: 330px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: var(--skv2-radius); background: radial-gradient(circle at 36% 20%, rgba(255,255,255,.16), transparent 8rem), radial-gradient(circle at 50% 34%, rgba(241,211,124,.24), transparent 8rem), radial-gradient(circle at 50% 56%, rgba(98,214,255,.18), transparent 16rem), linear-gradient(180deg, rgba(21,31,45,.92), rgba(7,12,19,.9)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -34px 80px rgba(0,0,0,.28), var(--skv2-shadow); }
.skv2-buddy-full::before { content: ""; position: absolute; left: 14%; right: 14%; bottom: 13%; height: 34%; border-radius: 50%; background: radial-gradient(ellipse at 50% 50%, rgba(98,214,255,.2), rgba(241,211,124,.12) 38%, transparent 68%); filter: blur(8px); transform: perspective(520px) rotateX(64deg); pointer-events: none; }
.skv2-buddy-full::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 18%, rgba(255,255,255,.08) 34%, transparent 48%); opacity: .7; pointer-events: none; }
.skv2-buddy-full .skv2-buddy-scene { width: min(230px,72vw); }
.skv2-buddy-full .skv2-ai-buddy-art { width: min(430px,86vw); }

.skv2-egg-grid,.skv2-personality-grid,.skv2-name-grid,.skv2-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.skv2-egg-card,.skv2-personality-grid button,.skv2-name-grid button,.skv2-contact-grid button { display: grid; gap: 8px; min-height: 112px; padding: 14px; border: 1px solid var(--skv3-line); border-radius: 18px; background: rgba(16,22,31,.82); color: var(--skv2-text); text-align: left; }
.skv2-egg-card { place-items: center; text-align: center; }
.skv2-egg-svg { width: min(112px,100%); animation: skv2-egg-idle 3s ease-in-out infinite; }
.skv2-birth-card { display: grid; place-items: center; gap: 12px; margin: 20px auto 0; max-width: 360px; padding: 22px; border: 1px solid var(--skv3-line); border-radius: var(--skv2-radius); background: rgba(16,22,31,.74); }

.skv2-hatch-shell { position: relative; display: grid; place-items: center; width: min(320px,82vw); aspect-ratio: 1; margin: 22px auto 0; overflow: hidden; }
.skv2-shell,.skv2-hatch-buddy,.skv2-hatch-light,.skv2-hatch-particles { position: absolute; inset: 0; display: grid; place-items: center; }
.skv2-shell { animation: skv2-hatch-shake 1s ease-in-out 2, skv2-shell-fade 5s ease both; z-index: 3; }
.skv2-shell--top { clip-path: inset(0 0 50% 0); animation: skv2-hatch-shake 1s ease-in-out 2, skv2-shell-top 5s ease both; }
.skv2-shell--bottom { clip-path: inset(50% 0 0 0); animation: skv2-hatch-shake 1s ease-in-out 2, skv2-shell-bottom 5s ease both; }
.skv2-crack { position: absolute; z-index: 4; width: 5px; height: 96px; border-radius: 99px; background: rgba(7,12,18,.68); transform: rotate(22deg) scaleY(0); animation: skv2-crack-grow 5s ease both; }
.skv2-crack--two { height: 74px; transform: rotate(-26deg) scaleY(0); animation-delay: .4s; }
.skv2-hatch-light { border-radius: 50%; background: radial-gradient(circle, rgba(255,244,190,.95), rgba(98,214,255,.32) 42%, transparent 68%); transform: scale(.2); opacity: 0; animation: skv2-hatch-light 5s ease both; z-index: 1; }
.skv2-hatch-buddy { opacity: 0; transform: translateY(40px) scale(.72); animation: skv2-hatch-buddy 5s ease both; z-index: 2; }
.skv2-hatch-particles i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--skv2-gold); opacity: 0; transform: rotate(calc(var(--i) * 30deg)) translateY(0); animation: skv2-particle 5s ease both; animation-delay: calc(.12s * var(--i)); }

.skv2-home-brief,.skv2-page-head,.skv2-filter-panel,.skv2-tomorrow-prep,.skv2-night-prompt,.skv2-custom-form,.skv2-quest-list article,.skv2-status,.skv2-evolution-log,.skv2-shop,.skv2-reset-box,.skv2-readiness-card,.skv2-flow-panel,.skv2-future-mirror,.skv2-precision-panel,.skv2-alarm-panel,.skv2-care-panel,.skv2-anti-entry,.skv2-choice-compass,.skv2-reflection,.skv2-anti-work,.skv2-goal-editor,.skv2-first-choice-review,.skv2-auto-gpt-review,.skv2-codex-action-panel,.skv2-gpt-review { padding: clamp(16px,4vw,26px); border: 1px solid var(--skv3-line); border-radius: var(--skv2-radius); background: rgba(16,22,31,.76); box-shadow: var(--skv2-shadow); }
.skv2-page-head--compact { box-shadow: none; background: rgba(255,255,255,.04); }
.skv2-anti-entry { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(255,125,157,.13), rgba(98,214,255,.08)), rgba(16,22,31,.78); }
.skv2-anti-entry__status { display: grid; gap: 2px; justify-items: start; padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.07); }
.skv2-anti-entry__status strong { font-size: 24px; }
.skv2-first-choice-review { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(98,214,255,.12), rgba(241,211,124,.1)), rgba(16,22,31,.78); }
.skv2-first-choice-review h2,.skv2-codex-action-panel h2,.skv2-gpt-grid h2 { margin: 0; line-height: 1.18; letter-spacing: 0; }
.skv2-first-choice-review p,.skv2-codex-action-panel p,.skv2-gpt-grid p,.skv2-gpt-saved p { margin: 0; color: var(--skv2-muted); line-height: 1.7; }
.skv2-choice-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.skv2-choice-review-grid article { display: grid; gap: 6px; min-height: 118px; padding: 13px; border: 1px solid rgba(98,214,255,.2); border-radius: 16px; background: rgba(255,255,255,.06); }
.skv2-choice-review-grid span,.skv2-gpt-grid article > span { color: var(--skv2-gold); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.skv2-choice-review-grid strong { line-height: 1.28; }
.skv2-choice-review-grid small { color: var(--skv2-muted); line-height: 1.45; }
.skv2-codex-action-panel { display: grid; gap: 12px; background: linear-gradient(135deg, rgba(126,227,173,.12), rgba(98,214,255,.08)), rgba(16,22,31,.78); }
.skv2-codex-action-panel ol { display: grid; gap: 8px; margin: 0; padding-left: 22px; color: var(--skv2-text); line-height: 1.6; }
.skv2-auto-gpt-review { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(126,227,173,.14), rgba(241,211,124,.09)), rgba(16,22,31,.78); }
.skv2-auto-gpt-review h2,.skv2-gpt-latest strong { margin: 0; line-height: 1.2; letter-spacing: 0; }
.skv2-auto-gpt-review p { margin: 0; color: var(--skv2-muted); line-height: 1.7; }
.skv2-gpt-status-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.skv2-gpt-status-grid article,.skv2-gpt-latest { display: grid; gap: 7px; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.055); }
.skv2-gpt-status-grid span,.skv2-gpt-latest span { color: var(--skv2-muted); font-size: 12px; font-weight: 800; }
.skv2-gpt-status-grid strong { overflow-wrap: anywhere; font-size: clamp(14px,2.7vw,18px); }
.skv2-gpt-latest pre { max-height: 220px; margin: 0; overflow: auto; white-space: pre-wrap; padding: 12px; border-radius: 14px; background: rgba(4,9,13,.72); color: #dce8f2; line-height: 1.55; }
.skv2-gpt-review { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(241,211,124,.1), rgba(98,214,255,.08)), rgba(16,22,31,.78); }
.skv2-gpt-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.skv2-gpt-grid article,.skv2-gpt-saved { display: grid; gap: 12px; padding: 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.055); }
.skv2-gpt-grid textarea { width: 100%; min-height: 260px; padding: 13px 14px; border: 1px solid rgba(98,214,255,.24); border-radius: 16px; background: rgba(4,9,13,.74); color: var(--skv2-text); line-height: 1.55; resize: vertical; }
.skv2-gpt-grid textarea[readonly] { color: #d9e6f1; }
.skv2-gpt-saved pre { max-height: 260px; margin: 0; overflow: auto; white-space: pre-wrap; padding: 12px; border-radius: 14px; background: rgba(4,9,13,.72); color: #dce8f2; line-height: 1.55; }
.skv2-gpt-saved button { justify-self: start; min-height: 42px; padding: 0 14px; border: 1px solid rgba(241,211,124,.28); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 850; }
.skv2-concept-card { display: grid; gap: 8px; padding: 16px; border: 1px solid rgba(241,211,124,.26); border-radius: 20px; background: linear-gradient(135deg, rgba(241,211,124,.13), rgba(255,255,255,.055)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.skv2-concept-card strong { color: var(--skv2-text); font-size: 16px; line-height: 1.45; }
.skv2-concept-card p { margin: 0; color: var(--skv2-muted); line-height: 1.72; }
.skv2-entry-manifesto { display: grid; gap: 12px; padding: 18px; border: 1px solid rgba(241,211,124,.3); border-radius: 22px; background: linear-gradient(145deg, rgba(241,211,124,.14), rgba(98,214,255,.06)), rgba(4,9,13,.58); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.skv2-entry-manifesto--slide { min-height: min(620px, calc(100svh - 150px)); align-content: center; padding: clamp(20px,5vw,34px); }
.skv2-entry-manifesto h1 { margin: 0; max-width: 760px; font-size: clamp(28px,6vw,52px); line-height: 1.05; letter-spacing: 0; }
.skv2-entry-manifesto p { margin: 0; color: #d7e3eb; line-height: 1.86; }
.skv2-entry-manifesto ul { display: grid; gap: 7px; margin: 2px 0 0; padding-left: 18px; color: var(--skv2-muted); line-height: 1.65; }
.skv2-entry-slide-progress { display: flex; gap: 8px; align-items: center; margin-top: 4px; }
.skv2-entry-slide-progress span { width: 9px; height: 9px; border-radius: 999px; background: rgba(255,255,255,.2); }
.skv2-entry-slide-progress span.is-active { width: 30px; background: linear-gradient(90deg,#f1d37c,#7ee3ad); }
.skv2-entry-question,.skv2-entry-commitment { display: grid; gap: 14px; }
.skv2-entry-question h2,.skv2-entry-commitment h1 { margin: 0; line-height: 1.16; letter-spacing: 0; }
.skv2-entry-question p,.skv2-entry-commitment p { margin: 0; color: var(--skv2-muted); line-height: 1.75; }
.skv2-entry-fields { display: grid; gap: 12px; }
.skv2-entry-fields label { display: grid; gap: 8px; padding: 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.055); }
.skv2-entry-fields span { color: #f5df9b; font-weight: 900; line-height: 1.45; }
.skv2-entry-fields textarea { width: 100%; min-height: 118px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(4,9,13,.68); color: var(--skv2-text); line-height: 1.7; resize: vertical; }
.skv2-entry-commitment [aria-disabled="true"] { opacity: .62; }
.skv2-mission-grid--single { grid-template-columns: minmax(0,1fr); }
.skv2-action-map { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.skv2-action-map article { display: grid; gap: 6px; padding: 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.055); }
.skv2-action-map span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: rgba(126,227,173,.18); color: #baf7d1; font-weight: 900; }
.skv2-action-map strong { color: var(--skv2-text); }
.skv2-action-map p { margin: 0; color: var(--skv2-muted); font-size: 13px; line-height: 1.55; }
.skv2-choice-compass { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(241,211,124,.13), rgba(126,227,173,.08)), rgba(16,22,31,.78); }
.skv2-choice-compass h2 { margin: 0; line-height: 1.18; letter-spacing: 0; }
.skv2-choice-compass p { margin: 0; color: var(--skv2-muted); line-height: 1.7; }
.skv2-choice-compass__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.skv2-choice-compass__grid article,.skv2-choice-rule,.skv2-future-vote { display: grid; gap: 5px; padding: 13px; border: 1px solid rgba(241,211,124,.2); border-radius: 16px; background: rgba(255,255,255,.055); }
.skv2-choice-compass__grid span,.skv2-choice-rule strong,.skv2-future-vote span { color: var(--skv2-gold); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.skv2-choice-compass__grid strong,.skv2-future-vote strong { color: var(--skv2-text); line-height: 1.35; }
.skv2-choice-compass__grid small { color: var(--skv2-muted); line-height: 1.45; }
.skv2-future-vote { border-color: rgba(126,227,173,.24); background: rgba(126,227,173,.07); }
.skv2-anti-quests,.skv2-reflection,.skv2-goal-editor,.skv2-anti-work,.skv2-journey-steps { display: grid; gap: 14px; }
.skv2-deep-textarea,.skv2-reflection textarea,.skv2-goal-editor textarea { width: 100%; min-height: 138px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.08); color: var(--skv2-text); line-height: 1.7; resize: vertical; }
.skv2-save-note { color: var(--skv2-muted); margin: 0; }
.skv2-reflection-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.skv2-reflection-grid article,.skv2-night-review,.skv2-goal-editor label { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--skv3-line); border-radius: 18px; background: rgba(255,255,255,.055); }
.skv2-reflection-grid article.is-current { border-color: rgba(241,211,124,.5); background: rgba(241,211,124,.09); }
.skv2-reflection-grid span,.skv2-goal-editor label span { color: var(--skv2-muted); font-size: 12px; font-weight: 900; }
.skv2-journey-steps { grid-template-columns: repeat(7,minmax(0,1fr)); }
.skv2-journey-steps article { min-height: 116px; padding: 14px; border: 1px solid var(--skv3-line); border-radius: 18px; background: rgba(255,255,255,.055); }
.skv2-journey-steps article.is-done { border-color: rgba(126,227,173,.45); background: rgba(126,227,173,.11); }
.skv2-journey-steps article.is-current { border-color: rgba(241,211,124,.55); background: rgba(241,211,124,.1); }
.skv2-journey-steps span,.skv2-journey-steps small { display: block; color: var(--skv2-muted); font-size: 11px; font-weight: 900; }
.skv2-readiness-card { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(98,214,255,.13), rgba(241,211,124,.08)), rgba(16,22,31,.78); }
.skv2-readiness-card h2 { margin: 0; line-height: 1.2; letter-spacing: 0; }
.skv2-readiness-card p { margin: 0; color: var(--skv2-muted); line-height: 1.7; }
.skv2-readiness-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.skv2-readiness-actions button { min-height: 48px; padding: 0 10px; border: 1px solid var(--skv3-line); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 900; }
.skv2-readiness-actions button.is-selected { background: linear-gradient(135deg, rgba(241,211,124,.95), rgba(98,214,255,.9)); color: #061016; }
.skv2-plan-reason { display: grid; gap: 4px; padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.06); }
.skv2-plan-reason span,.skv2-plan-reason small { color: var(--skv2-muted); line-height: 1.6; }
.skv2-flow-panel { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(126,227,173,.12), rgba(241,211,124,.1), rgba(98,214,255,.07)), rgba(16,22,31,.8); }
.skv2-flow-panel h2 { margin: 0; line-height: 1.2; letter-spacing: 0; }
.skv2-flow-panel p { margin: 0; color: var(--skv2-muted); line-height: 1.7; }
.skv2-flow-status { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.skv2-flow-status article,.skv2-flow-recent { display: grid; gap: 5px; padding: 13px; border: 1px solid rgba(126,227,173,.22); border-radius: 16px; background: rgba(255,255,255,.06); }
.skv2-flow-status span,.skv2-flow-recent strong { color: var(--skv2-gold); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.skv2-flow-status strong { font-size: clamp(20px,5vw,30px); line-height: 1.1; }
.skv2-flow-status small,.skv2-flow-recent span { color: var(--skv2-muted); line-height: 1.5; }
.skv2-flow-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.skv2-flow-actions button { min-height: 42px; padding: 0 13px; border: 1px solid rgba(126,227,173,.24); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 850; }
.skv2-flow-actions button:first-child { background: linear-gradient(135deg, rgba(126,227,173,.9), rgba(98,214,255,.86)); color: #061016; }
.skv2-future-mirror { display: grid; gap: 16px; overflow: hidden; background: radial-gradient(circle at 18% 16%, rgba(241,211,124,.18), transparent 9rem), radial-gradient(circle at 82% 28%, rgba(98,214,255,.16), transparent 12rem), linear-gradient(145deg, rgba(18,26,38,.9), rgba(9,13,20,.9)); }
.skv2-mirror-head { display: grid; gap: 6px; }
.skv2-mirror-head h2,.skv2-mirror-hero h3,.skv2-mirror-card h3 { margin: 0; line-height: 1.16; letter-spacing: 0; }
.skv2-mirror-head p,.skv2-mirror-hero p,.skv2-mirror-card p,.skv2-mirror-hero small,.skv2-mirror-card small { margin: 0; color: var(--skv2-muted); line-height: 1.65; }
.skv2-mirror-hero { display: grid; grid-template-columns: minmax(132px,180px) 1fr; gap: 16px; align-items: center; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 24px; background: rgba(255,255,255,.055); }
.skv2-mirror-silhouette { position: relative; display: grid; place-items: center; min-height: 180px; border-radius: 28px; background: radial-gradient(circle at 50% 28%, rgba(255,255,255,.24), transparent 34%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); isolation: isolate; }
.skv2-mirror-silhouette::before { content: ""; position: absolute; left: 34%; right: 34%; top: 24%; height: 28%; border-radius: 50% 50% 44% 44%; background: linear-gradient(180deg, rgba(238,244,255,.78), rgba(128,151,172,.46)); filter: blur(.2px); }
.skv2-mirror-silhouette i { position: absolute; left: 27%; right: 27%; bottom: 22%; height: 38%; border-radius: 44% 44% 32% 32%; background: linear-gradient(180deg, rgba(231,239,255,.72), rgba(88,104,124,.4)); }
.skv2-mirror-silhouette b { position: absolute; left: 38%; right: 38%; top: 18%; height: 12%; border-radius: 999px; background: rgba(241,211,124,.75); box-shadow: 0 0 24px rgba(241,211,124,.28); }
.skv2-mirror-silhouette span { position: absolute; left: 23%; right: 23%; bottom: 16%; height: 9%; border-radius: 50%; background: rgba(0,0,0,.25); filter: blur(8px); }
.skv2-mirror-silhouette.is-current_flow { filter: saturate(.78); }
.skv2-mirror-silhouette.is-current_flow::before,.skv2-mirror-silhouette.is-current_flow i { opacity: .68; transform: translateY(4px); }
.skv2-mirror-silhouette.is-current_flow b { background: rgba(148,164,184,.58); box-shadow: 0 0 18px rgba(148,164,184,.18); }
.skv2-mirror-silhouette.is-minimum_line::before,.skv2-mirror-silhouette.is-minimum_line i { background: linear-gradient(180deg, rgba(226,255,237,.82), rgba(126,227,173,.42)); }
.skv2-mirror-silhouette.is-ideal_flow::before,.skv2-mirror-silhouette.is-ideal_flow i { background: linear-gradient(180deg, rgba(255,248,215,.9), rgba(98,214,255,.46)); }
.skv2-mirror-votes,.skv2-mirror-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.skv2-mirror-votes article,.skv2-mirror-card,.skv2-mirror-quests { display: grid; gap: 6px; padding: 13px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.055); }
.skv2-mirror-votes span,.skv2-mirror-card span { color: var(--skv2-gold); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.skv2-mirror-votes strong { font-size: clamp(22px,5vw,34px); line-height: 1; }
.skv2-mirror-votes small { color: var(--skv2-muted); line-height: 1.45; }
.skv2-mirror-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.skv2-mirror-actions button { min-height: 42px; padding: 0 13px; border: 1px solid rgba(241,211,124,.26); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 850; }
.skv2-mirror-actions button:first-child { background: linear-gradient(135deg, rgba(241,211,124,.94), rgba(98,214,255,.88)); color: #061016; }
.skv2-mirror-card.is-active { border-color: rgba(241,211,124,.56); background: linear-gradient(135deg, rgba(241,211,124,.12), rgba(98,214,255,.08)); }
.skv2-mirror-quests { border-color: rgba(126,227,173,.24); background: rgba(126,227,173,.07); }
.skv2-mirror-quests span { display: inline-flex; width: fit-content; padding: 6px 9px; border-radius: 999px; background: rgba(255,255,255,.08); color: var(--skv2-text); font-size: 12px; font-weight: 850; }
.skv2-precision-panel { display: grid; gap: 12px; background: linear-gradient(135deg, rgba(126,227,173,.11), rgba(98,214,255,.08)), rgba(16,22,31,.78); }
.skv2-precision-panel h2,.skv2-alarm-panel h2 { margin: 0; line-height: 1.2; letter-spacing: 0; }
.skv2-precision-panel p,.skv2-alarm-panel p { margin: 0; color: var(--skv2-muted); line-height: 1.7; }
.skv2-precision-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.skv2-precision-grid span { min-height: 58px; padding: 12px; border: 1px solid rgba(126,227,173,.22); border-radius: 16px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 850; line-height: 1.45; }
.skv2-alarm-panel { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(241,211,124,.12), rgba(255,125,157,.08)), rgba(16,22,31,.78); }
.skv2-alarm-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.skv2-alarm-row { display: grid; grid-template-columns: auto 1fr; gap: 8px 10px; align-items: center; min-height: 96px; padding: 13px; border: 1px solid rgba(241,211,124,.22); border-radius: 18px; background: rgba(255,255,255,.06); }
.skv2-alarm-row span { font-weight: 900; }
.skv2-alarm-row input[type="time"] { grid-column: 1 / -1; width: 100%; min-height: 42px; padding: 0 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.08); color: var(--skv2-text); font: inherit; font-weight: 900; }
.skv2-care-panel { display: grid; gap: 14px; background: linear-gradient(135deg, rgba(98,214,255,.12), rgba(126,227,173,.08)), rgba(16,22,31,.78); }
.skv2-care-head { display: grid; gap: 6px; }
.skv2-care-head h2 { margin: 0; line-height: 1.2; letter-spacing: 0; }
.skv2-care-head p,.skv2-care-log span,.skv2-growth-requirements small { margin: 0; color: var(--skv2-muted); line-height: 1.6; }
.skv2-care-meters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.skv2-care-meter,.skv2-growth-requirements { display: grid; gap: 7px; min-height: 96px; padding: 12px; border: 1px solid rgba(98,214,255,.22); border-radius: 16px; background: rgba(255,255,255,.06); }
.skv2-care-meter span { color: var(--skv2-muted); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.skv2-care-meter strong { font-size: clamp(22px,5vw,32px); line-height: 1; }
.skv2-care-track { height: 9px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.skv2-care-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #62d6ff, #7ee3ad, #f1d37c); }
.skv2-care-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.skv2-care-actions button { display: grid; gap: 6px; min-height: 128px; padding: 14px; border: 1px solid rgba(126,227,173,.22); border-radius: 18px; background: rgba(255,255,255,.06); color: var(--skv2-text); text-align: left; }
.skv2-care-actions button span { font-size: 15px; font-weight: 900; }
.skv2-care-actions button small { color: var(--skv2-muted); line-height: 1.45; }
.skv2-care-actions button b { align-self: end; color: var(--skv2-gold); }
.skv2-care-actions button.is-done { border-color: rgba(126,227,173,.42); background: rgba(126,227,173,.1); opacity: .82; }
.skv2-care-toast { margin: 0; padding: 11px 13px; border-radius: 14px; background: rgba(241,211,124,.12); color: var(--skv2-text); font-weight: 850; }
.skv2-care-log { display: grid; gap: 6px; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.055); }
.skv2-evolution-meter { display: grid; gap: 9px; margin-top: 14px; padding: 14px; border: 1px solid rgba(241,211,124,.28); border-radius: 18px; background: linear-gradient(135deg, rgba(241,211,124,.12), rgba(98,214,255,.08)); }
.skv2-evolution-meter span,.skv2-evolution-stage span,.skv2-evolution-badge span { display: block; color: var(--skv2-muted); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.skv2-evolution-meter strong { display: block; margin-top: 2px; font-size: clamp(18px,4.4vw,26px); line-height: 1.2; }
.skv2-evolution-meter small { display: block; margin-top: 3px; color: var(--skv2-muted); line-height: 1.5; }
.skv2-evolution-track { height: 10px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.skv2-evolution-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f1d37c, #62d6ff, #7ee3ad); }
.skv2-link-button { justify-self: start; min-height: 38px; padding: 0 12px; border: 1px solid rgba(98,214,255,.28); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 900; }
.skv2-evolution-road { display: grid; gap: 12px; }
.skv2-evolution-stages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.skv2-evolution-stage { display: grid; gap: 6px; min-height: 112px; padding: 14px; border: 1px solid var(--skv3-line); border-radius: 18px; background: rgba(255,255,255,.06); color: var(--skv2-text); text-align: left; }
.skv2-evolution-stage strong { font-size: 18px; line-height: 1.2; }
.skv2-evolution-stage small { color: var(--skv2-muted); line-height: 1.4; }
.skv2-evolution-stage.is-unlocked { border-color: rgba(126,227,173,.36); background: rgba(126,227,173,.1); }
.skv2-evolution-stage.is-current { box-shadow: inset 0 0 0 2px rgba(241,211,124,.55); }
.skv2-evolution-stage.is-preview { background: linear-gradient(135deg, rgba(241,211,124,.18), rgba(98,214,255,.14)); }
.skv2-evolution-stage.is-locked { opacity: .88; }
.skv2-filter-panel { display: grid; gap: 14px; }
.skv2-filter-row,.skv2-row-actions,.skv2-card-actions,.skv2-difficulty-row,.skv2-prep-add { display: flex; flex-wrap: wrap; gap: 8px; }
.skv2-filter-row button,.skv2-row-actions button,.skv2-card-actions button,.skv2-difficulty-row button,.skv2-prep-add button,.skv2-challenge-select button,.skv2-shop-grid button,.skv2-reset-box button,.skv2-choice-mini button { min-height: 42px; padding: 0 14px; border: 1px solid var(--skv3-line); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--skv2-text); font-weight: 800; }
.skv2-filter-row button.is-selected,.skv2-challenge-select button.is-selected,.skv2-choice-mini button.is-selected { background: linear-gradient(135deg, rgba(241,211,124,.9), rgba(98,214,255,.9)); color: #061016; }

.skv2-mission-section,.skv2-mission-grid,.skv2-bonus-grid { display: grid; gap: 12px; }
.skv2-mission-grid,.skv2-bonus-grid,.skv2-quest-list,.skv2-profile-grid,.skv2-shop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.skv2-bonus-grid h2,.skv2-challenge-select h2,.skv2-shop h2 { grid-column: 1 / -1; margin: 0 0 4px; }
.skv2-mission-card { display: grid; gap: 12px; padding: 18px; border: 1px solid rgba(98,214,255,.22); border-radius: var(--skv2-radius); background: linear-gradient(145deg, rgba(23,35,50,.92), rgba(13,18,27,.94)); }
.skv2-mission-card.is-done { border-color: rgba(126,227,173,.42); background: linear-gradient(145deg, rgba(27,54,45,.92), rgba(13,18,27,.94)); }
.skv2-mission-card__head,.skv2-companion-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.skv2-pill { display: inline-grid; place-items: center; min-height: 30px; padding: 0 10px; border: 1px solid var(--skv3-line); border-radius: 999px; background: rgba(255,255,255,.07); color: var(--skv2-text); font-size: 12px; font-weight: 900; }
.skv2-mission-card h3,.skv2-home-brief h1,.skv2-page-head h1,.skv2-buddy-page h1 { margin: 0; line-height: 1.18; letter-spacing: 0; }
.skv2-mission-card p,.skv2-home-brief p,.skv2-page-head p,.skv2-tomorrow-prep p { margin: 0; color: var(--skv2-muted); line-height: 1.75; }

.skv2-mission-input { display: grid; gap: 8px; }
.skv2-mission-input textarea,.skv2-mission-input input,.skv2-custom-form input,.skv2-custom-form select,.skv2-prep-add input,.skv2-name-input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.08); color: var(--skv2-text); }
.skv2-mission-input textarea { min-height: 108px; resize: vertical; }
.skv2-checklist-mini,.skv2-prep-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.skv2-checklist-mini label,.skv2-prep-grid label { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 10px; border: 1px solid var(--skv3-line); border-radius: 12px; background: rgba(255,255,255,.06); }
.skv2-inline-timer { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(98,214,255,.08); }
.skv2-tomorrow-prep.is-sleeping { border-color: rgba(126,227,173,.45); }
.skv2-sleep-note { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 10px; margin-top: 12px; }
.skv2-sleep-note .skv2-ai-buddy-art { width: 96px; border-radius: 20px; }

.skv2-challenge-select,.skv2-road { display: grid; gap: 12px; padding: 18px; border: 1px solid var(--skv3-line); border-radius: var(--skv2-radius); background: rgba(16,22,31,.72); }
.skv2-road { grid-template-columns: repeat(7,minmax(0,1fr)); align-items: stretch; }
.skv2-road article { min-height: 108px; padding: 14px; border: 1px solid var(--skv3-line); border-radius: 18px; background: rgba(255,255,255,.06); }
.skv2-road article.is-current { border-color: var(--skv2-accent); }
.skv2-road article.is-done { border-color: var(--skv2-green); background: rgba(126,227,173,.12); }
.skv2-shop-grid article,.skv2-profile-grid article { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--skv3-line); border-radius: 16px; background: rgba(255,255,255,.06); }

.skv2-modal { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 18px; background: rgba(4,7,12,.72); backdrop-filter: blur(12px); }
.skv2-reward { position: relative; display: grid; place-items: center; gap: 12px; width: min(460px,100%); padding: 28px; border: 1px solid rgba(98,214,255,.28); border-radius: 28px; background: rgba(16,22,31,.96); text-align: center; overflow: hidden; }
.skv2-reward-buddy { position: relative; display: grid; place-items: center; width: min(220px,72vw); margin: -4px auto 0; }
.skv2-reward-buddy::before { content: ""; position: absolute; inset: 12% 8%; border-radius: 50%; background: radial-gradient(circle, rgba(241,211,124,.2), transparent 62%); filter: blur(10px); animation: skv2-companion-glow 2.2s ease-in-out infinite; pointer-events: none; }
.skv2-reward-buddy .skv2-ai-buddy-art { width: min(220px,72vw); border-radius: 26px; }
.skv2-reward.is-level-up { animation: skv2-reward-glow 1.4s ease both; }
.skv2-reward.is-evolution { border-color: rgba(241,211,124,.6); box-shadow: 0 0 56px rgba(241,211,124,.18), var(--skv2-shadow); }
.skv2-reward-count { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.skv2-reward-count span { padding: 10px 14px; border-radius: 999px; background: linear-gradient(135deg, rgba(241,211,124,.9), rgba(126,227,173,.86)); color: #071016; font-weight: 900; }
.skv2-growth-proof { display: grid; gap: 4px; width: 100%; padding: 12px 14px; border: 1px solid rgba(98,214,255,.22); border-radius: 18px; background: rgba(255,255,255,.06); }
.skv2-growth-proof strong { font-size: 16px; line-height: 1.25; }
.skv2-growth-proof small { color: var(--skv2-muted); line-height: 1.55; }
.skv2-evolution-badge { display: grid; gap: 3px; padding: 12px 18px; border-radius: 18px; background: linear-gradient(135deg, rgba(241,211,124,.95), rgba(98,214,255,.9)); color: #071016; }
.skv2-evolution-badge span { color: rgba(7,16,22,.7); }
.skv2-evolution-badge strong { font-size: 22px; }
.skv2-evolution-particles { position: absolute; inset: 0; pointer-events: none; }
.skv2-evolution-particles i { position: absolute; left: 50%; top: 38%; width: 8px; height: 8px; border-radius: 50%; background: #f1d37c; animation: skv2-evolution-burst 1.6s ease both; transform: rotate(calc(var(--i) * 26deg)) translateY(0); }

.skv2-bottom-nav--five { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; position: fixed; left: 50%; right: auto; bottom: 14px; z-index: 12; width: min(760px, calc(100% - 24px)); transform: translateX(-50%); padding: 8px; border: 1px solid var(--skv3-line); border-radius: 999px; background: rgba(5,8,12,.88); backdrop-filter: blur(18px); }
.skv2-bottom-nav--five button { min-height: 46px; padding: 0 6px; border-radius: 999px; font-size: 12px; }
.skv2-bottom-nav--five button.is-active { background: linear-gradient(135deg, #f1d37c, #62d6ff); color: #061016; }
.skv2-bottom-nav--six { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; position: fixed; left: 50%; right: auto; bottom: 14px; z-index: 12; width: min(820px, calc(100% - 24px)); transform: translateX(-50%); padding: 8px; border: 1px solid var(--skv3-line); border-radius: 999px; background: rgba(5,8,12,.88); backdrop-filter: blur(18px); }
.skv2-bottom-nav--six button { min-height: 44px; padding: 0 4px; border-radius: 999px; font-size: 11px; }
.skv2-bottom-nav--six button.is-active { background: linear-gradient(135deg, #f1d37c, #62d6ff); color: #061016; }

@keyframes skv2-breathe { 0%,100% { transform: translateY(0) scale(var(--buddy-scale)); } 50% { transform: translateY(-6px) scale(calc(var(--buddy-scale) * 1.015)); } }
@keyframes skv2-breathe-3d { 0%,100% { transform: translateY(0) rotateY(-4deg) scale(var(--buddy-scale)); } 50% { transform: translateY(-7px) rotateY(5deg) scale(calc(var(--buddy-scale) * 1.025)); } }
@keyframes skv2-art-breathe { 0%,100% { transform: translateY(0) rotateY(-2deg); } 50% { transform: translateY(-8px) rotateY(3deg); } }
@keyframes skv2-art-portrait-breathe { 0%,100% { transform: translateY(0) scale(var(--art-scale)); } 50% { transform: translateY(-6px) scale(calc(var(--art-scale) * 1.015)); } }
@keyframes skv2-art-cheer { 0%,100% { transform: translateY(0) rotate(0); } 28% { transform: translateY(-10px) rotate(-2deg); } 58% { transform: translateY(-4px) rotate(2deg); } }
@keyframes skv2-art-shine { 0%,78%,100% { transform: translateX(-120%); opacity: 0; } 86% { opacity: .9; } 94% { transform: translateX(120%); opacity: 0; } }
@keyframes skv2-shadow { 0%,100% { transform: scale(1); opacity: .32; } 50% { transform: scale(.86); opacity: .22; } }
@keyframes skv2-floor-shadow { 0%,100% { opacity: .36; transform: scaleX(1); } 50% { opacity: .24; transform: scaleX(.82); } }
@keyframes skv2-rim-sweep { 0%,100% { opacity: .34; transform: translateX(0); } 50% { opacity: .7; transform: translateX(4px); } }
@keyframes skv2-specular-breathe { 0%,100% { opacity: .68; transform: translate(0,0) scale(.96); } 50% { opacity: .9; transform: translate(2px,-1px) scale(1.04); } }
@keyframes skv2-depth-edge { 0%,100% { opacity: .28; transform: translateX(0); } 50% { opacity: .46; transform: translateX(2px); } }
@keyframes skv2-faceplate-float { 0%,100% { opacity: .5; transform: translateY(0) scale(.98); } 50% { opacity: .66; transform: translateY(-1px) scale(1.02); } }
@keyframes skv2-eye-depth { 0%,100% { transform: translateX(0) scale(1); } 50% { transform: translateX(1px) scale(1.04); } }
@keyframes skv2-head-bob { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(.6deg); } }
@keyframes skv2-torso-squish { 0%,100% { transform: scale(1); } 50% { transform: scale(1.04,.97); } }
@keyframes skv2-companion-glow { 0%,100% { opacity: .44; transform: scale(.96); } 50% { opacity: .82; transform: scale(1.06); } }
@keyframes skv2-ear-leaf { 0%,100% { transform: rotate(0deg); } 45% { transform: rotate(-2deg); } 70% { transform: rotate(2deg); } }
@keyframes skv2-flame-flicker { 0%,100% { transform: skewX(0deg) scaleY(1); opacity: .92; } 35% { transform: skewX(-2deg) scaleY(1.05); opacity: 1; } 68% { transform: skewX(2deg) scaleY(.98); opacity: .86; } }
@keyframes skv2-star-wink { 0%,100% { transform: scale(1) rotate(0deg); opacity: .92; } 50% { transform: scale(1.08) rotate(3deg); opacity: 1; } }
@keyframes skv2-paw-squash { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08,.92); } }
@keyframes skv2-highlight-slide { 0%,100% { opacity: .14; transform: translateX(0); } 45% { opacity: .34; transform: translateX(5px); } }
@keyframes skv2-signature-pulse { 0%,100% { opacity: .82; transform: translateY(0) scale(1); } 50% { opacity: 1; transform: translateY(-1px) scale(1.05); } }
@keyframes skv2-confetti-float { 0% { opacity: 0; transform: translateY(10px) scale(.82); } 35% { opacity: 1; } 100% { opacity: 0; transform: translateY(-16px) scale(1.08); } }
@keyframes skv2-sleep-letters { 0%,100% { opacity: .55; transform: translate(0,0) scale(.96); } 50% { opacity: 1; transform: translate(3px,-8px) scale(1.06); } }
@keyframes skv2-ray-burst { 0% { opacity: 0; transform: scale(.55); } 35% { opacity: .85; } 100% { opacity: 0; transform: scale(1.3); } }
@keyframes skv2-blink { 0%,92%,100% { transform: scaleY(1); } 94%,96% { transform: scaleY(.12); } }
@keyframes skv2-eye-shine { 0%,92%,100% { opacity: .85; transform: translate(0,0); } 94%,96% { opacity: .12; transform: translateY(2px); } }
@keyframes skv2-eye-glimmer { 0%,100% { opacity: .4; } 50% { opacity: .85; } }
@keyframes skv2-cheek-soft { 0%,100% { opacity: .5; transform: scale(.96); } 50% { opacity: .72; transform: scale(1.08); } }
@keyframes skv2-gear-pop { 0% { opacity: 0; transform: translateY(4px) scale(.92); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes skv2-look { 0%,78%,100% { transform: translateX(0); } 84% { transform: translateX(-3px); } 90% { transform: translateX(3px); } }
@keyframes skv2-jump { 0%,100% { transform: translateY(0) scale(var(--buddy-scale)); } 45% { transform: translateY(-18px) scale(calc(var(--buddy-scale) * 1.04)); } }
@keyframes skv2-stage-pulse { 0%,100% { opacity: .72; transform: scale(1); } 50% { opacity: 1; transform: scale(1.12); } }
@keyframes skv2-stage-twinkle { 0%,100% { opacity: .72; transform: rotate(0deg) scale(.92); } 50% { opacity: 1; transform: rotate(12deg) scale(1.12); } }
@keyframes skv2-stage-flare { 0%,100% { opacity: .56; transform: scaleX(1); } 50% { opacity: .88; transform: scaleX(1.06); } }
@keyframes skv2-stage-orbit { 0%,100% { transform: rotate(0deg) translateX(0); opacity: .7; } 50% { transform: rotate(12deg) translateX(2px); opacity: 1; } }
@keyframes skv2-tap-ring { 0% { opacity: .85; transform: scale(.65); } 100% { opacity: 0; transform: scale(1.28); } }
@keyframes skv2-pop-note { 0% { opacity: 0; transform: translateY(12px) scale(.5); } 35% { opacity: 1; transform: translateY(-5px) scale(1.05); } 100% { opacity: 0; transform: translateY(-30px) scale(.8); } }
@keyframes skv2-wave { 0%,100% { transform: rotate(0); } 50% { transform: rotate(-22deg); } }
@keyframes skv2-levelup { 0% { transform: rotate(0) scale(var(--buddy-scale)); filter: drop-shadow(0 0 0 rgba(242,211,111,0)); } 50% { transform: rotate(8deg) scale(calc(var(--buddy-scale) * 1.12)); filter: drop-shadow(0 0 22px rgba(242,211,111,.8)); } 100% { transform: rotate(0) scale(var(--buddy-scale)); } }
@keyframes skv2-sleepy { 0%,100% { transform: translateY(0) rotate(-1deg) scale(var(--buddy-scale)); } 50% { transform: translateY(4px) rotate(1deg) scale(var(--buddy-scale)); } }
@keyframes skv2-aura { to { transform: rotate(360deg); transform-origin: 60px 70px; } }
@keyframes skv2-egg-idle { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-4px); } }
@keyframes skv2-hatch-shake { 0%,100% { transform: translateX(0) rotate(0); } 20% { transform: translateX(-5px) rotate(-4deg); } 45% { transform: translateX(5px) rotate(4deg); } 70% { transform: translateX(-2px) rotate(-2deg); } }
@keyframes skv2-crack-grow { 0%,22% { transform: rotate(22deg) scaleY(0); opacity: 0; } 38%,70% { transform: rotate(22deg) scaleY(1); opacity: 1; } 100% { opacity: 0; } }
@keyframes skv2-shell-top { 0%,48% { transform: translateY(0) rotate(0); opacity: 1; } 72% { transform: translate(-34px,-46px) rotate(-24deg); opacity: 1; } 100% { transform: translate(-42px,-60px) rotate(-36deg); opacity: .25; } }
@keyframes skv2-shell-bottom { 0%,48% { transform: translateY(0) rotate(0); opacity: 1; } 72% { transform: translate(30px,42px) rotate(18deg); opacity: 1; } 100% { transform: translate(42px,58px) rotate(30deg); opacity: .25; } }
@keyframes skv2-shell-fade { 0%,70% { opacity: 1; } 100% { opacity: .2; } }
@keyframes skv2-hatch-light { 0%,42% { opacity: 0; transform: scale(.2); } 60% { opacity: .9; transform: scale(1); } 100% { opacity: .22; transform: scale(1.35); } }
@keyframes skv2-hatch-buddy { 0%,58% { opacity: 0; transform: translateY(44px) scale(.65); } 76% { opacity: 1; transform: translateY(-8px) scale(1.04); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes skv2-particle { 0%,48% { opacity: 0; transform: rotate(calc(var(--i) * 30deg)) translateY(0) scale(.5); } 70% { opacity: 1; transform: rotate(calc(var(--i) * 30deg)) translateY(-104px) scale(1); } 100% { opacity: 0; transform: rotate(calc(var(--i) * 30deg)) translateY(-130px) scale(.2); } }
@keyframes skv2-reward-glow { 0% { box-shadow: 0 0 0 rgba(242,211,111,0); } 50% { box-shadow: 0 0 54px rgba(242,211,111,.45); } 100% { box-shadow: var(--skv2-shadow); } }
@keyframes skv2-evolution-burst { 0% { opacity: 0; transform: rotate(calc(var(--i) * 26deg)) translateY(0) scale(.4); } 35% { opacity: 1; } 100% { opacity: 0; transform: rotate(calc(var(--i) * 26deg)) translateY(-190px) scale(1.1); } }

@media (max-width: 740px) {
  .skv2-stage { padding: 16px; }
  .skv2-hero-companion,.skv2-mission-grid,.skv2-bonus-grid,.skv2-quest-list,.skv2-profile-grid,.skv2-shop-grid { grid-template-columns: 1fr; }
  .skv2-egg-grid,.skv2-personality-grid,.skv2-name-grid,.skv2-contact-grid,.skv2-checklist-mini,.skv2-prep-grid,.skv2-reflection-grid,.skv2-precision-grid,.skv2-flow-status,.skv2-mirror-hero,.skv2-mirror-votes,.skv2-mirror-cards,.skv2-choice-compass__grid,.skv2-alarm-grid,.skv2-care-meters,.skv2-care-actions,.skv2-choice-review-grid,.skv2-gpt-status-grid,.skv2-gpt-grid,.skv2-action-map { grid-template-columns: 1fr; }
  .skv2-journey-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .skv2-hero-companion { min-height: 0; }
  .skv2-mirror-silhouette { min-height: 152px; }
  .skv2-buddy-showcase { min-height: 300px; }
  .skv2-ai-buddy-art { width: min(310px,88vw); }
  .skv2-egg-card { grid-template-columns: 92px 1fr; place-items: center start; text-align: left; }
  .skv2-egg-card .skv2-egg-svg { grid-row: span 2; width: 76px; }
  .skv2-evolution-stages { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .skv2-road { grid-template-columns: repeat(7,78px); overflow-x: auto; padding-bottom: 4px; }
  .skv2-bottom-nav--five button { font-size: 11px; }
  .skv2-bottom-nav--six button { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .skv2-buddy,.skv2-buddy *,.skv2-ai-buddy-art,.skv2-ai-buddy-art *,.skv2-egg-svg,.skv2-shell,.skv2-crack,.skv2-hatch-light,.skv2-hatch-buddy,.skv2-hatch-particles i,.skv2-reward,.skv2-buddy-scene::before,.skv2-buddy-scene::after,.skv2-evolution-particles i,.skv2-buddy .stage-decor,.skv2-buddy .stage-decor * {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
