
:root{
  --white:#fff;
  --muted:rgba(255,255,255,.64);
  --line:rgba(255,255,255,.25);
  --glass:rgba(6,8,18,.48);
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#050713;color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}
body{overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
.sw-app{position:fixed;inset:0;background:#050713;isolation:isolate}
.sw-stage{position:absolute;inset:0;overflow:hidden;background:#050713}
.sw-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:50% 48%;transition:transform .8s ease}
.sw-video.is-intro-closeup{transform:scale(1.055);transform-origin:50% 48%}
.sw-vignette{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(2,3,8,.03) 0%,transparent 56%,rgba(2,3,8,.18) 76%,rgba(2,3,8,.58) 100%)}

.sw-start{position:absolute;z-index:8;left:50%;
  bottom:max(8vh,calc(env(safe-area-inset-bottom) + 40px));
  transform:translateX(-50%);height:40px;padding:0 20px;border-radius:999px;
  border:1px solid rgba(255,255,255,.30);background:rgba(5,7,15,.46);
  color:#fff;font-size:13px;font-weight:700;backdrop-filter:blur(8px)}
.sw-start.is-hidden{display:none}
.sw-reset{position:absolute;z-index:8;top:max(14px,env(safe-area-inset-top));
  right:16px;border:0;background:transparent;color:rgba(255,255,255,.55);
  padding:8px 2px;font-size:11px}

.sw-input-wrap{position:absolute;z-index:7;left:50%;
  bottom:max(5.5vh,calc(env(safe-area-inset-bottom) + 22px));
  transform:translateX(-50%);width:min(86vw,380px);
  opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}
.sw-input-wrap.open{opacity:1;pointer-events:auto;transform:translate(-50%,-3px)}
.sw-input-panel{background:transparent}
.sw-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px}
.sw-label{font-size:13px;font-weight:750;color:rgba(255,255,255,.95)}
.sw-count{font-size:11px;color:rgba(255,255,255,.46)}
.sw-row{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:8px}
.sw-field{height:44px;width:100%;border:1px solid var(--line);
  border-radius:11px;background:rgba(4,6,14,.52);color:#fff;padding:0 12px;
  outline:none;backdrop-filter:blur(8px);color-scheme:dark}
.sw-field:focus{border-color:rgba(255,255,255,.62);background:rgba(4,6,14,.68)}
.sw-field::placeholder{color:rgba(255,255,255,.40)}
.sw-main-btn,.sw-choice-btn,.sw-secondary,.sw-quiet-btn{
  border-radius:11px;height:44px;font-weight:750}
.sw-main-btn{border:0;background:rgba(255,255,255,.94);color:#111522;padding:0 15px}
.sw-main-btn:disabled{opacity:.44;cursor:default}
.sw-choice-grid{display:grid;grid-template-columns:1fr 1fr 68px;gap:8px}
.sw-choice-btn,.sw-secondary{border:1px solid rgba(255,255,255,.24);
  background:rgba(4,6,14,.50);color:rgba(255,255,255,.86);backdrop-filter:blur(8px)}
.sw-choice-btn.selected,.sw-secondary.selected{
  border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.14);color:#fff}
.sw-time-actions{display:grid;grid-template-columns:1fr 68px;gap:8px;margin-top:8px}

.sw-sheet{position:absolute;inset:0;z-index:10;background:linear-gradient(180deg,
  rgba(3,4,10,.12),rgba(3,4,10,.38) 60%,rgba(3,4,10,.76));
  display:flex;align-items:flex-end;justify-content:center;padding:
  0 18px max(6vh,calc(env(safe-area-inset-bottom) + 24px))}
.sw-sheet[hidden]{display:none}
.sw-sheet-inner{width:min(88vw,390px);padding:18px 16px 16px;border-radius:18px;
  background:rgba(6,8,18,.68);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.24)}
.sw-eyebrow{margin:0 0 7px;font-size:11px;color:rgba(255,255,255,.56);letter-spacing:.08em}
.sw-sheet h2{margin:0 0 8px;font-size:21px;line-height:1.25;letter-spacing:-.03em}
.sw-sheet-copy{margin:0 0 15px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.70)}
.sw-quiet-btn{width:100%;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);color:#fff}
.sw-offer{text-align:left}
.sw-topics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 16px}
.sw-topics span{font-size:12px;color:rgba(255,255,255,.70);padding:8px 9px;
  border-bottom:1px solid rgba(255,255,255,.10)}
.sw-price{font-size:26px;font-weight:850;letter-spacing:-.04em;margin:2px 0 13px}
.sw-offer .sw-main-btn{width:100%}
.sw-inline{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:8px}
.sw-small{height:44px;padding:0}
.sw-error{min-height:18px;margin:7px 2px 0;font-size:11px;color:#ffd0d8}
.sw-dev-note{margin:10px 0 0;font-size:10px;color:rgba(255,255,255,.38)}
.sw-toast{position:absolute;z-index:20;left:50%;bottom:22%;transform:translateX(-50%);
  background:rgba(7,8,16,.78);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:8px 12px;font-size:12px;opacity:0;pointer-events:none;
  transition:.18s;white-space:nowrap;backdrop-filter:blur(8px)}
.sw-toast.show{opacity:1}

@media(min-width:700px){
  .sw-app{background:#02030a}
  .sw-stage{width:min(56.25vh,540px);left:50%;right:auto;transform:translateX(-50%)}
}


/* STELLA WAY · 실제 사주 엔진 연결 */
.sw-engine-frame{position:fixed;width:1px;height:1px;left:-9999px;top:-9999px;border:0;opacity:0;pointer-events:none}
.sw-record-sheet{align-items:center;padding:calc(env(safe-area-inset-top) + 18px) 14px calc(env(safe-area-inset-bottom) + 18px);overflow:auto}
.sw-record-inner{width:min(92vw,430px);max-height:calc(100dvh - 36px);overflow:auto;padding:20px 17px 17px;background:rgba(5,7,17,.78);scrollbar-width:none}
.sw-record-inner::-webkit-scrollbar{display:none}
.sw-record-basis{margin:0 0 14px;font-size:11px;line-height:1.55;color:rgba(255,255,255,.48)}
.sw-record-loading{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:rgba(255,255,255,.62);font-size:12px}
.sw-record-loading i{width:22px;height:22px;border:1px solid rgba(255,255,255,.22);border-top-color:rgba(255,255,255,.88);border-radius:50%;animation:swSpin 1.2s linear infinite}
@keyframes swSpin{to{transform:rotate(360deg)}}
.sw-record-fragments{display:grid;gap:10px;margin-top:4px}
.sw-record-card{padding:14px 13px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
.sw-record-card .kicker{display:block;margin-bottom:6px;font-size:10px;letter-spacing:.04em;color:rgba(255,255,255,.48)}
.sw-record-card h3{margin:0 0 7px;font-size:15px;line-height:1.35;letter-spacing:-.02em;color:rgba(255,255,255,.96)}
.sw-record-card p{margin:0;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.72)}
.sw-record-whisper{margin-top:10px!important;padding-top:9px;border-top:1px solid rgba(255,255,255,.08);font-size:11.5px!important;color:rgba(255,255,255,.58)!important}
.sw-record-whisper::before{content:'별이 남긴 말  ';font-size:9px;letter-spacing:.05em;color:rgba(255,255,255,.36)}
.sw-locked{margin:14px 0 13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12)}
.sw-locked-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;color:rgba(255,255,255,.62)}
.sw-locked-head small{font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.28)}
.sw-locked-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sw-locked-item{position:relative;min-height:38px;padding:10px 9px 9px 26px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);font-size:10.5px;line-height:1.35;color:rgba(255,255,255,.38)}
.sw-locked-item::before{content:'✦';position:absolute;left:10px;top:10px;color:rgba(255,255,255,.22)}
.sw-preview-error{margin:10px 1px;line-height:1.5}
.sw-record-inner>.sw-quiet-btn{margin-top:5px}
@media(max-height:720px){.sw-record-card p{font-size:12px;line-height:1.58}.sw-record-card{padding:11px}.sw-record-inner{padding-top:16px}.sw-locked-grid{gap:5px}}

.sw-choice-grid.three{grid-template-columns:1fr 1fr 1fr;gap:7px}.sw-choice-grid.three .sw-main-btn{grid-column:1/-1;height:40px}

/* V8: Android reload/resume 동안 첫 화면이 순간 노출되지 않게 잠근다. */
.sw-app.is-booting .sw-stage{opacity:0}
.sw-app.is-booting .sw-start,.sw-app.is-booting .sw-reset,.sw-app.is-booting .sw-input-wrap{visibility:hidden}
.sw-stage{transition:opacity .18s ease}


/* V10 BASIC · 특별한 별의 조각 주관식 화면 (연출 효과 없는 기본형) */
.sw-special-sheet{align-items:flex-end}
.sw-special-inner{width:min(90vw,410px);padding:20px 17px 17px}
.sw-special-inner h2{font-size:22px;line-height:1.38;margin-bottom:10px}
.sw-special-copy{margin-bottom:14px}
.sw-question-field{display:block;width:100%;min-height:118px;resize:none;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(4,6,14,.58);color:#fff;padding:13px 14px;outline:none;font:inherit;font-size:14px;line-height:1.55;backdrop-filter:blur(8px)}
.sw-question-field:focus{border-color:rgba(255,255,255,.58);background:rgba(4,6,14,.72)}
.sw-question-field::placeholder{color:rgba(255,255,255,.38)}
.sw-special-btn{width:100%;margin-top:7px}


/* V11 · 특별한 별의 조각 주관식 답변 */
.sw-special-answer{margin-top:12px;max-height:44vh;overflow:auto;padding:14px 13px;border:1px solid rgba(255,226,151,.24);border-radius:14px;background:linear-gradient(180deg,rgba(13,10,28,.92),rgba(5,7,17,.94));box-shadow:inset 0 0 35px rgba(128,82,255,.08),0 10px 35px rgba(0,0,0,.22);-webkit-overflow-scrolling:touch}
.sw-special-answer[hidden]{display:none}
.sw-answer-intro{margin:0 0 12px;padding:10px 11px;border-radius:11px;background:rgba(255,221,137,.08);color:#ffe7a6;font-weight:750;font-size:13px;letter-spacing:-.02em}
.sw-special-answer .qaAnswerHead{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
.sw-special-answer .qaAnswerHead span{font-size:11px;color:rgba(255,231,169,.72)}
.sw-special-answer .qaAnswerHead b{font-size:17px;line-height:1.35;color:#fff}
.sw-special-answer .qaAnswerHead em{font-style:normal;font-size:12px;color:#e9d8ff}
.sw-special-answer .qaAnswerBody{font-size:13px;line-height:1.68;color:rgba(255,255,255,.84)}
.sw-special-answer .qaAnswerBody h4{margin:16px 0 6px;color:#ffe8aa;font-size:14px;line-height:1.45}
.sw-special-answer .qaAnswerBody p{margin:0 0 9px}
.sw-special-answer .answerHook{margin:0 0 13px;padding:12px;border-radius:12px;background:linear-gradient(135deg,rgba(142,92,255,.18),rgba(255,190,92,.10));color:#fff;font-weight:750;line-height:1.55}
.sw-special-answer .realityNote{margin-top:14px!important;padding-top:11px;border-top:1px solid rgba(255,255,255,.10);font-size:11px;color:rgba(255,255,255,.50)}
.sw-star-thinking{display:flex;min-height:104px;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:#fff}
.sw-star-thinking i{width:25px;height:25px;border:2px solid rgba(255,255,255,.18);border-top-color:#ffe7a1;border-radius:50%;animation:swStarSpin .9s linear infinite}
.sw-star-thinking b{margin-top:4px;font-size:13px}.sw-star-thinking span{font-size:11px;color:rgba(255,255,255,.56)}
.sw-answer-error{color:#fff;font-size:13px;line-height:1.55}.sw-answer-error b{color:#ffd0d0}.sw-answer-error p{margin:6px 0 0}
.sw-special-continue{width:100%;height:44px;margin-top:9px;border:1px solid rgba(255,229,167,.22);background:rgba(85,54,145,.38);color:#fff}
.sw-special-continue[hidden]{display:none}
@keyframes swStarSpin{to{transform:rotate(360deg)}}

/* V12 · 특별한 별의 조각 — STELLA WAY 하이라이트 연출
   해석 엔진/라우팅과 완전히 분리된 시각 레이어. */
.sw-special-sheet{
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 31%,rgba(130,78,255,.20),transparent 28%),
    radial-gradient(circle at 50% 36%,rgba(255,190,70,.12),transparent 34%),
    linear-gradient(180deg,rgba(2,3,12,.48),rgba(3,4,15,.72) 58%,rgba(3,4,12,.92));
}
.sw-special-cosmos{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:1}
.sw-special-inner{position:relative;z-index:2;transform-origin:50% 100%}
.sw-special-nebula{position:absolute;width:92vmax;height:92vmax;left:50%;top:32%;border-radius:50%;filter:blur(38px);opacity:.20;mix-blend-mode:screen}
.sw-special-nebula-a{background:conic-gradient(from 20deg,transparent 0 15%,rgba(91,68,255,.62) 25%,transparent 39%,rgba(255,112,233,.52) 50%,transparent 68%,rgba(73,190,255,.55) 82%,transparent);transform:translate(-50%,-50%) rotate(0deg);animation:swNebulaSpin 18s linear infinite}
.sw-special-nebula-b{width:72vmax;height:72vmax;background:radial-gradient(circle,rgba(255,190,80,.44),rgba(149,73,255,.24) 32%,transparent 68%);transform:translate(-50%,-50%);animation:swNebulaBreath 4.2s ease-in-out infinite}
.sw-special-ray{position:absolute;left:50%;top:31%;width:170%;height:2px;transform-origin:0 50%;opacity:.0;filter:blur(.6px);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,235,164,.95),rgba(173,117,255,.52),rgba(255,255,255,0));mix-blend-mode:screen}
.sw-special-ray-a{transform:rotate(24deg) translateX(-50%)}
.sw-special-ray-b{transform:rotate(154deg) translateX(-50%)}
.sw-special-orbit{position:absolute;left:50%;top:31%;border:1px solid rgba(255,226,147,.0);border-radius:50%;transform:translate(-50%,-50%) rotate(0deg);opacity:0;box-shadow:inset 0 0 12px rgba(155,93,255,.12),0 0 14px rgba(255,212,121,.08)}
.sw-special-orbit-1{width:168px;height:72px}
.sw-special-orbit-2{width:226px;height:96px;transform:translate(-50%,-50%) rotate(58deg)}
.sw-special-orbit-3{width:286px;height:120px;transform:translate(-50%,-50%) rotate(-52deg)}
.sw-special-burst{position:absolute;left:50%;top:31%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%) scale(.1);opacity:0;background:#fff5ca;box-shadow:0 0 12px #fff,0 0 34px #ffd46d,0 0 68px #a962ff,0 0 112px #7355ff;mix-blend-mode:screen}
.sw-special-crystal{position:absolute;left:50%;top:31%;width:84px;height:84px;transform:translate(-50%,-50%) scale(.05) rotate(-32deg);opacity:0;filter:drop-shadow(0 0 12px rgba(255,230,150,.82)) drop-shadow(0 0 28px rgba(144,84,255,.62));will-change:transform,opacity}
.sw-crystal-core{position:absolute;inset:12px;display:block;clip-path:polygon(50% 0,62% 35%,100% 50%,64% 64%,50% 100%,36% 65%,0 50%,36% 35%);background:radial-gradient(circle at 48% 44%,#fff 0 7%,#fff1ae 15%,#ffc74c 30%,#ae65ff 58%,#5f46dc 78%,rgba(38,27,104,.2) 100%);box-shadow:inset 0 0 18px #fff7c4}
.sw-crystal-core::after{content:'';position:absolute;inset:23%;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 18px #ffe29a,0 0 34px #b96eff;animation:swCorePulse 1.8s ease-in-out infinite}
.sw-crystal-shard{position:absolute;left:50%;top:50%;width:18px;height:48px;transform-origin:50% 50%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(167,104,255,.88) 48%,rgba(84,73,227,.40));opacity:.92}
.sw-crystal-shard-a{transform:translate(-50%,-50%) rotate(0deg) translateY(-34px)}
.sw-crystal-shard-b{transform:translate(-50%,-50%) rotate(120deg) translateY(-34px)}
.sw-crystal-shard-c{transform:translate(-50%,-50%) rotate(240deg) translateY(-34px)}
.sw-special-particles{position:absolute;inset:0;pointer-events:none}
.sw-special-particles i{position:absolute;left:50%;top:31%;width:var(--s);height:var(--s);border-radius:50%;opacity:0;background:radial-gradient(circle,#fff 0 32%,#ffe58e 36%,rgba(176,111,255,.72) 64%,transparent 72%);box-shadow:0 0 8px rgba(255,230,147,.82);transform:translate(var(--x),var(--y)) scale(.3)}

/* 등장 0~3.25초: 집결 → 광폭발 → 조각 탄생 → UI 등장 */
.sw-special-sheet.is-awakening .sw-special-inner{pointer-events:none;animation:swPanelReveal 3.25s cubic-bezier(.2,.72,.22,1) both}
.sw-special-sheet.is-awakening .sw-special-burst{animation:swBurst 2.15s ease-out .52s both}
.sw-special-sheet.is-awakening .sw-special-crystal{animation:swCrystalBirth 3.2s cubic-bezier(.16,.78,.18,1) .46s both}
.sw-special-sheet.is-awakening .sw-special-orbit-1{animation:swOrbitBirth1 3.0s ease-out .88s both}
.sw-special-sheet.is-awakening .sw-special-orbit-2{animation:swOrbitBirth2 3.1s ease-out .92s both}
.sw-special-sheet.is-awakening .sw-special-orbit-3{animation:swOrbitBirth3 3.15s ease-out 1.0s both}
.sw-special-sheet.is-awakening .sw-special-ray-a{animation:swRayFlash 1.8s ease-out .78s both}
.sw-special-sheet.is-awakening .sw-special-ray-b{animation:swRayFlash 1.8s ease-out .88s both}
.sw-special-sheet.is-awakening .sw-special-particles i{animation:swParticleGather 3.05s cubic-bezier(.12,.7,.18,1) var(--d) both}
.sw-special-sheet.is-ready .sw-special-crystal{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(8deg);animation:swCrystalFloat 3.4s ease-in-out infinite}
.sw-special-sheet.is-ready .sw-special-orbit{opacity:.64;border-color:rgba(255,226,147,.38)}
.sw-special-sheet.is-ready .sw-special-orbit-1{animation:swOrbitIdle1 9s linear infinite}
.sw-special-sheet.is-ready .sw-special-orbit-2{animation:swOrbitIdle2 12s linear infinite reverse}
.sw-special-sheet.is-ready .sw-special-orbit-3{animation:swOrbitIdle3 16s linear infinite}
.sw-special-sheet.is-ready .sw-special-inner{pointer-events:auto}

/* 카드 자체도 하이라이트에 맞게 고급스럽게 */
.sw-special-inner{background:linear-gradient(165deg,rgba(16,12,38,.78),rgba(5,7,20,.84));border-color:rgba(255,225,150,.28);box-shadow:0 18px 70px rgba(0,0,0,.40),0 0 46px rgba(132,74,255,.13),inset 0 1px 0 rgba(255,239,198,.10)}
.sw-special-inner::before{content:'';position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg,rgba(255,233,168,.70),rgba(164,94,255,.36),rgba(79,187,255,.30),rgba(255,215,120,.58));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.65}
.sw-special-inner .sw-eyebrow{color:#ffe6a3;text-shadow:0 0 12px rgba(255,213,110,.42)}
.sw-special-inner h2{text-shadow:0 2px 18px rgba(116,71,255,.22)}
.sw-question-field{box-shadow:inset 0 0 24px rgba(98,69,180,.08),0 0 0 1px rgba(255,226,148,.03)}
.sw-question-field:focus{box-shadow:0 0 0 1px rgba(255,224,142,.18),0 0 28px rgba(128,78,255,.13),inset 0 0 24px rgba(98,69,180,.10)}
.sw-special-btn{position:relative;overflow:hidden;background:linear-gradient(115deg,#fff8d9 0%,#ffd66c 26%,#fff 48%,#dcb9ff 72%,#fff2b7 100%);background-size:220% 100%;box-shadow:0 8px 28px rgba(255,196,80,.16),0 0 22px rgba(148,87,255,.13);animation:swButtonSheen 3.6s ease-in-out infinite}
.sw-special-btn::after{content:'';position:absolute;inset:-40% auto -40% -40%;width:30%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:swButtonGlint 3.6s ease-in-out infinite;pointer-events:none}

@keyframes swNebulaSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes swNebulaBreath{0%,100%{opacity:.15;transform:translate(-50%,-50%) scale(.90)}50%{opacity:.28;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes swCorePulse{0%,100%{transform:scale(.76);opacity:.75}50%{transform:scale(1.15);opacity:1}}
@keyframes swPanelReveal{0%,56%{opacity:0;transform:translateY(24px) scale(.97);filter:blur(8px)}76%{opacity:.68}100%{opacity:1;transform:none;filter:none}}
@keyframes swBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}26%{opacity:1;transform:translate(-50%,-50%) scale(.85)}52%{opacity:.92;transform:translate(-50%,-50%) scale(4.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(10)}}
@keyframes swCrystalBirth{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(-42deg)}25%{opacity:.20}46%{opacity:1;transform:translate(-50%,-50%) scale(1.38) rotate(14deg)}62%{transform:translate(-50%,-50%) scale(.90) rotate(-5deg)}80%,100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(8deg)}}
@keyframes swRayFlash{0%{opacity:0;width:20%}22%{opacity:.92;width:170%}100%{opacity:0;width:210%}}
@keyframes swOrbitBirth1{0%{opacity:0;border-color:transparent;transform:translate(-50%,-50%) scale(.1) rotate(-55deg)}48%{opacity:.92;border-color:rgba(255,227,150,.72)}100%{opacity:.58;border-color:rgba(255,226,147,.38);transform:translate(-50%,-50%) scale(1) rotate(12deg)}}
@keyframes swOrbitBirth2{0%{opacity:0;border-color:transparent;transform:translate(-50%,-50%) scale(.1) rotate(10deg)}52%{opacity:.85;border-color:rgba(184,132,255,.70)}100%{opacity:.55;border-color:rgba(255,226,147,.30);transform:translate(-50%,-50%) scale(1) rotate(78deg)}}
@keyframes swOrbitBirth3{0%{opacity:0;border-color:transparent;transform:translate(-50%,-50%) scale(.1) rotate(-110deg)}54%{opacity:.76;border-color:rgba(101,198,255,.58)}100%{opacity:.40;border-color:rgba(255,226,147,.24);transform:translate(-50%,-50%) scale(1) rotate(-38deg)}}
@keyframes swParticleGather{0%{opacity:0;transform:translate(var(--x),var(--y)) scale(.25)}24%{opacity:.82}48%{opacity:1;transform:translate(0,0) scale(1.2)}60%{opacity:1;transform:translate(0,0) scale(1.45)}100%{opacity:0;transform:translate(var(--bx),var(--by)) scale(.16)}}
@keyframes swCrystalFloat{0%,100%{transform:translate(-50%,-50%) translateY(-2px) scale(1) rotate(7deg)}50%{transform:translate(-50%,-50%) translateY(6px) scale(1.055) rotate(13deg)}}
@keyframes swOrbitIdle1{to{transform:translate(-50%,-50%) rotate(372deg)}}
@keyframes swOrbitIdle2{to{transform:translate(-50%,-50%) rotate(438deg)}}
@keyframes swOrbitIdle3{to{transform:translate(-50%,-50%) rotate(322deg)}}
@keyframes swButtonSheen{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@keyframes swButtonGlint{0%,58%{left:-40%;opacity:0}64%{opacity:.9}80%,100%{left:130%;opacity:0}}

@media(max-height:720px){
  .sw-special-crystal,.sw-special-orbit,.sw-special-burst,.sw-special-ray{top:23%}
  .sw-special-particles i{top:23%}
  .sw-special-inner{padding-top:17px}
}


/* V13 · 특별한 별의 조각 CINEMATIC DISCOVERY
   1) 우주가 먼저 움직임 → 2) 빛 집결 → 3) 조각 탄생 → 4) 문장 공개
   → 5) 사용자가 직접 조각을 깨움 → 6) 그때 주관식 질문창 공개.
   엔진과 해설 내용은 건드리지 않고 화면/동선만 분리한다. */
.sw-special-sheet{align-items:center;justify-content:center;padding:0;background:radial-gradient(circle at 50% 40%,rgba(35,16,88,.34),rgba(2,3,13,.84) 55%,#02030b 100%)}
.sw-special-sheet::after{content:'';position:absolute;inset:-20%;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.98) 0 2%,rgba(255,222,126,.72) 5%,rgba(158,97,255,.42) 14%,transparent 36%);mix-blend-mode:screen}
.sw-special-sheet.is-opening-question::after{animation:swV13AwakenFlash 1.05s ease-out both}

.sw-special-starfield{position:absolute;inset:-18%;opacity:.58;will-change:transform,background-position;mix-blend-mode:screen}
.sw-special-starfield-a{background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px),radial-gradient(circle,#ffe9a4 0 1px,transparent 1.7px),radial-gradient(circle,#b99cff 0 1.2px,transparent 1.8px);background-size:43px 43px,71px 71px,109px 109px;background-position:0 0,17px 31px,41px 9px;animation:swV13StarDriftA 14s linear infinite}
.sw-special-starfield-b{opacity:.34;background-image:radial-gradient(circle,rgba(117,205,255,.95) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(255,184,237,.9) 0 1px,transparent 1.6px);background-size:83px 83px,137px 137px;background-position:12px 52px,66px 5px;animation:swV13StarDriftB 20s linear infinite reverse}
.sw-special-vortex{position:absolute;left:50%;top:38%;width:92vmax;height:92vmax;border-radius:50%;transform:translate(-50%,-50%) scale(.78);opacity:.18;background:conic-gradient(from 0deg,transparent 0 7%,rgba(88,76,255,.48) 13%,transparent 19% 32%,rgba(255,124,227,.42) 39%,transparent 47% 60%,rgba(95,213,255,.40) 67%,transparent 76% 88%,rgba(255,208,105,.40) 94%,transparent);filter:blur(15px);mix-blend-mode:screen;animation:swV13Vortex 13s linear infinite}

.sw-special-discovery{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(11vh,calc(env(safe-area-inset-top) + 68px)) 22px max(8vh,calc(env(safe-area-inset-bottom) + 44px));text-align:center;pointer-events:none}
.sw-special-discovery[hidden]{display:none}
.sw-special-script{width:min(92vw,460px);margin-top:3vh;filter:drop-shadow(0 3px 20px rgba(0,0,0,.56))}
.sw-special-line{margin:0;opacity:0;transform:translateY(14px) scale(.985);font-family:Georgia,"Noto Serif KR",serif;font-weight:700;letter-spacing:-.025em;text-shadow:0 0 14px rgba(255,225,143,.30),0 0 34px rgba(127,82,255,.28)}
.sw-special-line-1{font-size:clamp(19px,5.3vw,27px);color:#fff3cf}
.sw-special-line-2{margin-top:8px;font-size:clamp(20px,5.7vw,29px);color:#fff}
.sw-special-line-3{margin-top:7px;font-size:clamp(23px,6.3vw,32px);color:#ffe29a}
.sw-special-discovery-cta{width:min(88vw,390px);opacity:0;transform:translateY(18px);pointer-events:none}
.sw-special-kicker{margin:0 0 8px;color:#ffe6a0;font-size:12px;font-weight:800;letter-spacing:.16em;text-shadow:0 0 14px rgba(255,211,98,.48)}
.sw-special-whisper{margin:0 0 14px;color:rgba(255,255,255,.74);font-size:13px;line-height:1.6;text-shadow:0 2px 12px rgba(0,0,0,.62)}
.sw-special-awaken-btn{position:relative;width:100%;height:50px;border-radius:15px;overflow:hidden;color:#241328;font-weight:900;letter-spacing:-.02em;background:linear-gradient(110deg,#fff7d3 0%,#ffd166 24%,#fff 47%,#d6b0ff 72%,#fff0a9 100%);background-size:240% 100%;box-shadow:0 0 0 1px rgba(255,240,190,.38),0 10px 35px rgba(0,0,0,.30),0 0 34px rgba(255,196,68,.25),0 0 52px rgba(139,82,255,.18);animation:swV13ButtonSheen 2.8s ease-in-out infinite}
.sw-special-awaken-btn:disabled{opacity:.44;filter:saturate(.78);cursor:default}
.sw-special-sheet.is-ready .sw-special-awaken-btn:not(:disabled){box-shadow:0 0 0 1px rgba(255,246,205,.72),0 12px 40px rgba(0,0,0,.34),0 0 38px rgba(255,202,79,.44),0 0 70px rgba(148,88,255,.26)}

/* 발견 연출: 화면 카드보다 우주가 먼저 살아난다. */
.sw-special-sheet.is-awakening .sw-special-line-1{animation:swV13LineIn 1.15s ease-out 1.05s both}
.sw-special-sheet.is-awakening .sw-special-line-2{animation:swV13LineIn 1.15s ease-out 2.35s both}
.sw-special-sheet.is-awakening .sw-special-line-3{animation:swV13LineIn 1.2s ease-out 3.65s both}
.sw-special-sheet.is-awakening .sw-special-discovery-cta{animation:swV13CtaIn 1.25s cubic-bezier(.18,.76,.2,1) 5.15s both}
.sw-special-sheet.is-ready .sw-special-line{opacity:1;transform:none}
.sw-special-sheet.is-ready .sw-special-discovery-cta{opacity:1;transform:none;pointer-events:auto}

.sw-special-sheet.is-awakening .sw-special-nebula-a{animation:swNebulaSpin 9s linear infinite,swV13NebulaWake 6.3s ease-out both}
.sw-special-sheet.is-awakening .sw-special-nebula-b{animation:swNebulaBreath 2.8s ease-in-out infinite,swV13NebulaWake 6.3s ease-out both}
.sw-special-sheet.is-awakening .sw-special-vortex{animation:swV13Vortex 7.8s linear infinite,swV13VortexWake 6.1s ease-out both}
.sw-special-sheet.is-awakening .sw-special-burst{animation:swV13Burst 5.7s ease-out .35s both}
.sw-special-sheet.is-awakening .sw-special-crystal{animation:swV13CrystalBirth 6.0s cubic-bezier(.14,.74,.16,1) .18s both}
.sw-special-sheet.is-awakening .sw-special-orbit-1{animation:swV13OrbitBirth1 5.5s ease-out .72s both}
.sw-special-sheet.is-awakening .sw-special-orbit-2{animation:swV13OrbitBirth2 5.6s ease-out .82s both}
.sw-special-sheet.is-awakening .sw-special-orbit-3{animation:swV13OrbitBirth3 5.8s ease-out .92s both}
.sw-special-sheet.is-awakening .sw-special-ray-a{animation:swV13RayFlash 2.4s ease-out 2.45s both}
.sw-special-sheet.is-awakening .sw-special-ray-b{animation:swV13RayFlash 2.5s ease-out 2.75s both}
.sw-special-sheet.is-awakening .sw-special-particles i{animation:swV13ParticleGather 5.7s cubic-bezier(.1,.68,.16,1) var(--d) both}

.sw-special-ripple{position:absolute;left:50%;top:31%;width:70px;height:70px;border-radius:50%;transform:translate(-50%,-50%) scale(.18);opacity:0;border:1px solid rgba(255,232,164,.72);box-shadow:0 0 20px rgba(142,84,255,.25)}
.sw-special-sheet.is-awakening .sw-special-ripple-1{animation:swV13Ripple 2.8s ease-out 2.5s both}
.sw-special-sheet.is-awakening .sw-special-ripple-2{animation:swV13Ripple 2.9s ease-out 3.0s both}
.sw-special-sheet.is-awakening .sw-special-ripple-3{animation:swV13Ripple 3.0s ease-out 3.45s both}

/* 조각을 직접 누른 뒤에만 주관식 질문이 열린다. */
.sw-special-sheet .sw-special-inner{z-index:6;width:min(90vw,410px);max-height:calc(100dvh - 42px);overflow:auto;opacity:0;transform:translateY(34px) scale(.965);pointer-events:none}
.sw-special-sheet.is-question{align-items:flex-end;padding:0 18px max(5.5vh,calc(env(safe-area-inset-bottom) + 22px))}
.sw-special-sheet.is-question .sw-special-inner{opacity:1;transform:none;pointer-events:auto;animation:swV13QuestionRise .82s cubic-bezier(.18,.78,.18,1) both}
.sw-special-sheet.is-opening-question .sw-special-crystal{animation:swV13CrystalAwaken 1.05s ease-out both!important}
.sw-special-sheet.is-opening-question .sw-special-orbit{filter:brightness(1.7)}
.sw-special-sheet.is-opening-question .sw-special-discovery-cta{animation:swV13CtaOut .75s ease-in both}
.sw-special-sheet.is-opening-question .sw-special-script{animation:swV13ScriptOut .82s ease-in both}

/* Android에서 시스템 '애니메이션 줄이기'가 켜져 있어도 이 1회성 발견 연출은 사라지지 않는다.
   대신 무한 배경 회전만 조금 느리게 둔다. */
@media(prefers-reduced-motion:reduce){
  .sw-special-starfield-a{animation-duration:22s}
  .sw-special-starfield-b{animation-duration:28s}
  .sw-special-vortex{animation-duration:20s}
  .sw-special-sheet.is-ready .sw-special-crystal{animation-duration:5.2s}
  .sw-special-sheet.is-ready .sw-special-orbit-1{animation-duration:14s}
  .sw-special-sheet.is-ready .sw-special-orbit-2{animation-duration:17s}
  .sw-special-sheet.is-ready .sw-special-orbit-3{animation-duration:21s}
}

@keyframes swV13StarDriftA{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}50%{transform:translate3d(2%,1.4%,0) scale(1.05)}100%{transform:translate3d(-1.5%,-1%,0) scale(1)}}
@keyframes swV13StarDriftB{0%{transform:translate3d(2%,-1%,0) rotate(0)}50%{transform:translate3d(-1%,2%,0) rotate(2deg)}100%{transform:translate3d(2%,-1%,0) rotate(0)}}
@keyframes swV13Vortex{to{transform:translate(-50%,-50%) scale(.78) rotate(360deg)}}
@keyframes swV13NebulaWake{0%{opacity:.04;filter:blur(52px)}35%{opacity:.12}70%{opacity:.33;filter:blur(30px)}100%{opacity:.22;filter:blur(38px)}}
@keyframes swV13VortexWake{0%{opacity:.02;transform:translate(-50%,-50%) scale(.42) rotate(-80deg)}55%{opacity:.32;transform:translate(-50%,-50%) scale(.92) rotate(120deg)}100%{opacity:.18;transform:translate(-50%,-50%) scale(.78) rotate(220deg)}}
@keyframes swV13Burst{0%,16%{opacity:0;transform:translate(-50%,-50%) scale(.03)}34%{opacity:.45;transform:translate(-50%,-50%) scale(.38)}54%{opacity:1;transform:translate(-50%,-50%) scale(2.1)}70%{opacity:.72;transform:translate(-50%,-50%) scale(5.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(12)}}
@keyframes swV13CrystalBirth{0%,12%{opacity:0;transform:translate(-50%,-50%) scale(.02) rotate(-90deg);filter:blur(9px) drop-shadow(0 0 2px #fff)}28%{opacity:.18;transform:translate(-50%,-50%) scale(.18) rotate(-58deg)}48%{opacity:.86;transform:translate(-50%,-50%) scale(.76) rotate(-18deg);filter:blur(0) drop-shadow(0 0 30px rgba(255,232,158,.88)) drop-shadow(0 0 70px rgba(145,77,255,.72))}62%{opacity:1;transform:translate(-50%,-50%) scale(1.48) rotate(18deg)}74%{transform:translate(-50%,-50%) scale(.92) rotate(2deg)}88%,100%{opacity:1;transform:translate(-50%,-50%) scale(1.04) rotate(9deg);filter:drop-shadow(0 0 18px rgba(255,232,158,.9)) drop-shadow(0 0 42px rgba(145,77,255,.7))}}
@keyframes swV13RayFlash{0%{opacity:0;width:12%}28%{opacity:.95;width:92%}60%{opacity:.62;width:180%}100%{opacity:0;width:240%}}
@keyframes swV13OrbitBirth1{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(-130deg)}55%{opacity:.92;border-color:rgba(255,227,150,.8);transform:translate(-50%,-50%) scale(1.2) rotate(4deg)}100%{opacity:.64;transform:translate(-50%,-50%) scale(1) rotate(22deg)}}
@keyframes swV13OrbitBirth2{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(160deg)}58%{opacity:.86;border-color:rgba(186,132,255,.78);transform:translate(-50%,-50%) scale(1.16) rotate(94deg)}100%{opacity:.58;transform:translate(-50%,-50%) scale(1) rotate(76deg)}}
@keyframes swV13OrbitBirth3{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(-180deg)}60%{opacity:.74;border-color:rgba(101,198,255,.7);transform:translate(-50%,-50%) scale(1.12) rotate(-20deg)}100%{opacity:.44;transform:translate(-50%,-50%) scale(1) rotate(-42deg)}}
@keyframes swV13ParticleGather{0%{opacity:0;transform:translate(var(--x),var(--y)) scale(.18)}24%{opacity:.7}48%{opacity:1;transform:translate(calc(var(--x) * .24),calc(var(--y) * .24)) scale(.8)}61%{opacity:1;transform:translate(0,0) scale(1.6)}75%{opacity:.92;transform:translate(0,0) scale(2)}100%{opacity:0;transform:translate(var(--bx),var(--by)) scale(.12)}}
@keyframes swV13Ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}20%{opacity:.88}100%{opacity:0;transform:translate(-50%,-50%) scale(6.6)}}
@keyframes swV13LineIn{0%{opacity:0;transform:translateY(15px) scale(.98);filter:blur(7px)}58%{opacity:.92}100%{opacity:1;transform:none;filter:none}}
@keyframes swV13CtaIn{0%{opacity:0;transform:translateY(22px) scale(.96);filter:blur(6px)}100%{opacity:1;transform:none;filter:none}}
@keyframes swV13ButtonSheen{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes swV13AwakenFlash{0%{opacity:0;transform:scale(.55)}22%{opacity:1;transform:scale(.92)}48%{opacity:.84;transform:scale(1.08)}100%{opacity:0;transform:scale(1.42)}}
@keyframes swV13CrystalAwaken{0%{opacity:1;transform:translate(-50%,-50%) scale(1.04) rotate(9deg)}32%{transform:translate(-50%,-50%) scale(1.72) rotate(25deg);filter:brightness(1.8) drop-shadow(0 0 44px #fff3b6) drop-shadow(0 0 90px #9a63ff)}100%{opacity:.30;transform:translate(-50%,-50%) scale(2.15) rotate(42deg);filter:brightness(1.2) blur(1px)}}
@keyframes swV13CtaOut{to{opacity:0;transform:translateY(16px) scale(.97);filter:blur(5px)}}
@keyframes swV13ScriptOut{to{opacity:0;transform:translateY(-10px) scale(.98);filter:blur(5px)}}
@keyframes swV13QuestionRise{0%{opacity:0;transform:translateY(38px) scale(.96);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}

/* V15 · 시작은 심플하고 신비하게 / 별의 조각 답변은 내용만 */
:root{--v15-bg:#030711;--v15-silver:#f1f7ff;--v15-ice:#b9cee5}
.sw-intro-splash{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:
  radial-gradient(circle at 50% 42%,rgba(92,118,150,.10),transparent 24%),
  linear-gradient(180deg,#02050b 0%,#040915 52%,#02050b 100%);overflow:hidden;text-align:center}
.sw-intro-splash[hidden]{display:none}
.sw-intro-splash::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.34;background-image:
  radial-gradient(circle at 19% 24%,rgba(225,238,252,.75) 0 .7px,transparent 1px),
  radial-gradient(circle at 78% 31%,rgba(218,232,249,.62) 0 .7px,transparent 1px),
  radial-gradient(circle at 65% 71%,rgba(210,229,247,.52) 0 .65px,transparent 1px),
  radial-gradient(circle at 31% 78%,rgba(224,239,255,.48) 0 .6px,transparent 1px)}
.sw-intro-symbol{position:relative;width:82px;height:82px;margin-bottom:30px;display:grid;place-items:center}
.sw-intro-symbol i{position:relative;width:5px;height:5px;border-radius:50%;background:var(--v15-silver);box-shadow:0 0 12px rgba(226,240,255,.72),0 0 34px rgba(151,181,214,.26);animation:swV15Pulse 3.8s ease-in-out infinite}
.sw-intro-symbol i::before,.sw-intro-symbol i::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,rgba(240,247,255,.82),transparent);border-radius:999px}
.sw-intro-symbol i::before{width:70px;height:1px}
.sw-intro-symbol i::after{width:1px;height:70px;background:linear-gradient(180deg,transparent,rgba(240,247,255,.82),transparent)}
.sw-intro-copy{position:relative;z-index:1}
.sw-intro-copy h1{margin:0;color:#f4f8fc;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,8.4vw,42px);font-weight:500;letter-spacing:.18em;text-indent:.18em;text-shadow:0 0 22px rgba(194,216,240,.12)}
.sw-intro-copy p{margin:12px 0 0;color:rgba(219,229,241,.56);font-size:12px;letter-spacing:.08em}
.sw-intro-splash .sw-start{position:absolute;left:50%;bottom:max(9vh,calc(env(safe-area-inset-bottom) + 42px));transform:translateX(-50%);min-width:92px;height:42px;padding:0 22px;border:1px solid rgba(213,228,244,.22);background:rgba(4,9,18,.26);color:rgba(240,246,252,.88);font-size:12px;font-weight:650;letter-spacing:.08em;box-shadow:none;backdrop-filter:blur(10px)}
.sw-intro-splash.is-leaving{animation:swV15IntroOut .5s ease both;pointer-events:none}
.sw-app:not(.has-started) .sw-stage{opacity:0}
.sw-reset{opacity:0;pointer-events:none;transition:opacity .2s ease}
.sw-app.has-started .sw-reset{opacity:1;pointer-events:auto}
@keyframes swV15Pulse{0%,100%{opacity:.65;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@keyframes swV15IntroOut{to{opacity:0;transform:scale(1.012)}}

/* 특별한 별의 조각: 금색/보라색/화려한 우주 연출을 제거하고 은백색 한 점만 남긴다. */
.sw-special-sheet{align-items:center!important;justify-content:center!important;padding:max(22px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom))!important;background:
  radial-gradient(circle at 50% 30%,rgba(108,135,166,.08),transparent 28%),
  linear-gradient(180deg,rgba(2,5,11,.98),rgba(4,9,18,.99))!important}
.sw-special-cosmos,.sw-special-nebula,.sw-special-vortex,.sw-special-ray,.sw-special-orbit,.sw-special-ripple,.sw-special-burst,.sw-special-crystal,.sw-special-particles,.sw-special-starfield{display:none!important}
.sw-special-minimal-light{position:absolute;left:50%;top:15%;width:72px;height:72px;transform:translateX(-50%);display:grid;place-items:center;pointer-events:none;opacity:.86}
.sw-special-minimal-light i{position:relative;width:4px;height:4px;border-radius:50%;background:#f5f9ff;box-shadow:0 0 11px rgba(226,240,255,.8),0 0 28px rgba(166,194,224,.22);animation:swV15Pulse 4.2s ease-in-out infinite}
.sw-special-minimal-light i::before,.sw-special-minimal-light i::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;opacity:.72}
.sw-special-minimal-light i::before{width:50px;height:1px;background:linear-gradient(90deg,transparent,#eaf4ff,transparent)}
.sw-special-minimal-light i::after{width:1px;height:50px;background:linear-gradient(180deg,transparent,#eaf4ff,transparent)}
.sw-special-sheet .sw-special-inner{position:relative;z-index:2;width:min(90vw,420px);max-height:78dvh;overflow:auto;padding:22px 18px 18px!important;border-radius:18px!important;background:rgba(5,10,20,.72)!important;border:1px solid rgba(205,222,240,.12)!important;box-shadow:0 22px 60px rgba(0,0,0,.28)!important;backdrop-filter:blur(14px);opacity:1!important;transform:none!important;pointer-events:auto!important}
.sw-special-sheet .sw-special-inner::before{display:none!important}
.sw-special-inner .sw-eyebrow{color:rgba(210,226,243,.60)!important;text-shadow:none!important;letter-spacing:.10em}
.sw-special-inner h2{margin:0 0 8px!important;color:#f4f7fb;font-size:21px!important;line-height:1.45!important;font-weight:720;text-shadow:none!important}
.sw-special-copy{margin-bottom:14px!important;color:rgba(219,229,240,.62)!important}
.sw-question-field{border-color:rgba(204,221,240,.16)!important;background:rgba(2,6,13,.54)!important;box-shadow:none!important}
.sw-special-btn{width:100%;margin-top:7px;background:rgba(238,245,251,.94)!important;background-image:none!important;color:#111923!important;box-shadow:none!important;animation:none!important}
.sw-special-btn::after{display:none!important}
.sw-special-answer{margin:0!important;max-height:none!important;overflow:visible!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.sw-special-answer .qaAnswerHead{margin-top:0}
.sw-special-answer .qaAnswerHead span{color:rgba(205,220,236,.55)!important}
.sw-special-answer .qaAnswerHead b{color:#fff!important}
.sw-special-answer .qaAnswerHead em{color:rgba(209,226,242,.72)!important}
.sw-special-answer .qaAnswerBody{color:rgba(242,246,251,.84)!important}
.sw-special-answer .qaAnswerBody h4{color:#edf4fb!important}
.sw-special-answer .answerHook{background:rgba(206,223,240,.06)!important;border:1px solid rgba(206,223,240,.10)!important;color:#fff!important}
.sw-special-answer .realityNote{color:rgba(213,224,236,.47)!important}
#specialQuestionPrompt[hidden]{display:none!important}
@media(max-height:720px){.sw-special-minimal-light{top:10%}.sw-special-sheet .sw-special-inner{max-height:84dvh}}


/* V19 · 별의 조각 영상 → 질문 → 결과 → 다음 단계 연결 */
.sw-special-video-wrap{position:absolute;inset:0;z-index:40;background:#02040b;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sw-special-video-wrap[hidden]{display:none!important}
.sw-special-mystic-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#02040b}
.sw-special-video-skip{position:absolute;right:14px;top:max(14px,calc(env(safe-area-inset-top) + 10px));z-index:2;border:1px solid rgba(255,255,255,.20);border-radius:999px;padding:8px 12px;background:rgba(3,5,12,.48);color:rgba(255,255,255,.74);font:inherit;font-size:12px;backdrop-filter:blur(8px)}
.sw-special-continue{display:block!important;margin-top:14px!important;height:48px!important;background:linear-gradient(110deg,rgba(247,250,255,.97),rgba(224,235,249,.96))!important;color:#111923!important;font-weight:800!important;border:0!important;box-shadow:0 10px 30px rgba(0,0,0,.22)!important}
.sw-special-continue[hidden]{display:none!important}
.sw-direct-question{margin:0 0 16px;padding:14px 13px;border:1px solid rgba(216,230,246,.12);border-radius:14px;background:rgba(213,228,245,.055)}
.sw-direct-question h4{margin:0 0 7px!important;color:#fff!important}
.sw-direct-question .sw-question-echo{margin:0 0 12px!important;color:rgba(244,248,253,.94)!important;font-weight:760;line-height:1.6}
.sw-direct-question .sw-direct-verdict{margin:0 0 8px!important;color:rgba(239,245,252,.88)!important}
.sw-direct-question .sw-direct-action{margin:0!important;color:rgba(204,220,237,.72)!important;font-size:12px}


/* V20 · 별의 조각 발견 전 화면: 화려함을 덜고 심플하고 신비롭게 */
.sw-special-video-wrap.sw-special-video-minimal{background:#02040a;overflow:hidden}
.sw-special-video-minimal .sw-special-mystic-video{
  width:100%;height:100%;object-fit:cover;object-position:50% 42%;
  transform:scale(1.68);
  filter:brightness(.34) saturate(.48) contrast(1.04) blur(.35px);
  opacity:.72;
}
.sw-special-video-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:
  radial-gradient(circle at 50% 43%,rgba(193,210,236,.12) 0 7%,rgba(72,89,127,.055) 18%,transparent 36%),
  linear-gradient(to bottom,rgba(2,4,10,.54),rgba(2,4,10,.18) 42%,rgba(2,4,10,.72));}
.sw-special-video-copy{position:absolute;z-index:3;left:50%;top:50%;width:min(82vw,360px);transform:translate(-50%,-50%);text-align:center;color:#eef4fb;text-shadow:0 2px 18px rgba(0,0,0,.72)}
.sw-special-video-copy p{margin:16px 0 6px;font-size:clamp(18px,4.8vw,23px);font-weight:680;letter-spacing:-.03em}
.sw-special-video-copy span{display:block;color:rgba(221,231,243,.63);font-size:12px;line-height:1.65;letter-spacing:.015em}
.sw-special-video-light{display:block;width:9px;height:9px;margin:0 auto;border-radius:50%;background:#f3f7ff;box-shadow:0 0 12px rgba(228,238,255,.72),0 0 34px rgba(148,171,214,.26);animation:swV20QuietPulse 2.7s ease-in-out infinite}
.sw-special-video-skip{z-index:4;background:rgba(5,8,15,.46)!important;border-color:rgba(230,238,248,.10)!important;color:rgba(230,238,248,.55)!important;box-shadow:none!important;font-size:11px!important}
@keyframes swV20QuietPulse{0%,100%{opacity:.46;transform:scale(.72)}50%{opacity:1;transform:scale(1.08)}}


/* V21: 별의 조각 답변 뒤 '아직 봉인이 풀리지 않은 별의 기록...' 장면 전용 레이어 */
.sw-locked-records-video-wrap{position:absolute;inset:0;z-index:45;background:#02040a;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sw-locked-records-video-wrap[hidden]{display:none!important}
.sw-locked-records-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#02040a}
@media (min-aspect-ratio:9/16){.sw-locked-records-video{width:min(56.25vh,540px);height:100%;left:50%;right:auto;transform:translateX(-50%)}}


/* V22 · shortcut video replay only: never expose reset/progress UI over the movie. */
.sw-app.is-shortcut-replay .sw-reset,
.sw-app.is-shortcut-replay .sw-input-wrap{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
