/* 상세페이지 놀이터 */
.fx{padding:120px 0;position:relative;overflow:clip}.fx.tint{background:var(--bg2)}.fx.dark{background:var(--navy);color:#fff}.fx.blue{background:var(--blue);color:#fff}.fx.ink{background:var(--ink);color:#fff}
.fx.blue .dt-h.light small{color:#C9D8FF}.fx.blue .dt-h.light p{color:#DCE7FF}.fx.ink .dt-h.light p{color:#A9B0BD}
.fx .knock-ui{margin-top:26px}.fx:not(.dark):not(.blue):not(.ink) .knock-ui div{background:var(--bg2)}.fx.tint .knock-ui div{background:#fff!important}
.fx:not(.dark):not(.blue):not(.ink) .knock-ui small{color:var(--t3)}.fx:not(.dark):not(.blue):not(.ink) .knock-ui b{color:var(--ink)}
.fx.blue .knock-ui div{background:rgba(255,255,255,.14)}.fx .knock-st{text-align:center}
.fx .ui{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:20px}
.fx .res{text-align:center;margin-top:20px;font-size:16px;font-weight:600;min-height:26px}.fx .res b{color:var(--blue)}.fx.blue .res b,.fx.dark .res b{color:#fff;font-weight:800}
.fx .cnt{font-size:14px;color:var(--t2);font-weight:600;padding:0 6px}.fx .cnt b{color:var(--ink);font-size:18px;font-weight:800;margin:0 2px}
.fx.dark .btn.line,.fx.ink .btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}.fx.dark .btn.line:hover,.fx.ink .btn.line:hover{box-shadow:inset 0 0 0 1.5px #fff}
.fx.blue .btn{background:#fff;color:var(--blue)}.fx.blue .btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.fx .chips{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:center}.fx .chips button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #D3D8E1;font-size:13.5px;font-weight:600;color:var(--t2)}.fx .chips button.on{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}.fx .chips i{width:16px;height:16px;border-radius:50%}
.fx .hint{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(18px,2.6vw,28px);font-weight:800;color:#C9C4AE;pointer-events:none;transition:opacity .3s;letter-spacing:-.03em}.fx .used .hint{opacity:0}
.fx .cv{position:relative;height:440px;border-radius:28px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background:#fff;cursor:crosshair}.fx .cv canvas{position:absolute;inset:0;width:100%;height:100%}
.fx .cv.sq{height:auto;aspect-ratio:1;max-width:560px;margin:0 auto;border-radius:50%;background:#071550;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.fx-kal .hint{color:rgba(255,255,255,.25)}
/* 목차 */
.idx{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.idx a{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:14px 16px;font-weight:600;font-size:14.5px;transition:.18s}.idx a b{font-size:11.5px;color:var(--blue);font-weight:800;font-variant-numeric:tabular-nums}.idx a:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}.idx a:hover b{color:#7EA2FF}
/* 문장 */
.fx-say{padding:170px 0;text-align:center}.fx-say p{font-size:clamp(36px,6.4vw,92px);font-weight:800;line-height:1.14;letter-spacing:-.05em}.fx-say em{font-style:normal;color:var(--blue)}.fx-say span{display:block;margin-top:28px;color:var(--t2);font-size:clamp(15px,1.5vw,19px)}
/* 10초 */
.t10{text-align:center}.t10 .bar{height:8px;border-radius:4px;background:#E6E9EF;overflow:hidden;max-width:420px;margin:0 auto 34px}.t10 .bar i{display:block;height:100%;width:100%;background:var(--blue);border-radius:4px}
.t10 .big{width:230px;height:230px;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 14px 0 #0032B8,0 30px 40px rgba(0,70,255,.3);transition:transform .05s,box-shadow .05s;-webkit-tap-highlight-color:transparent;user-select:none;touch-action:manipulation}
.t10 .big:active{transform:translateY(10px);box-shadow:0 4px 0 #0032B8,0 12px 20px rgba(0,70,255,.3)}.t10 .big b{display:block;font-size:54px;font-weight:800;letter-spacing:-.04em;line-height:1.1}.t10 .big small{font-size:12.5px;opacity:.85;display:block;padding:0 26px;line-height:1.4}.t10 .knock-ui{margin-top:44px}
/* 반응 */
.react{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:300px;border-radius:28px;background:#162C80;color:#fff;transition:background .08s;-webkit-tap-highlight-color:transparent;user-select:none;touch-action:manipulation}
.react b{font-size:clamp(32px,6vw,58px);font-weight:800;letter-spacing:-.04em}.react small{font-size:14px;opacity:.8;min-height:20px}.react[data-s=wait]{background:#2A2E38}.react[data-s=go]{background:var(--blue)}.react[data-s=early]{background:#8A2A33}
/* 비트 */
.beat{display:grid;gap:10px;max-width:640px;margin:0 auto}.beat .row{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.beat button{aspect-ratio:1;border-radius:14px;background:#1C2029;transition:.1s}.beat .row:nth-child(2) button{border-radius:50%}
.beat button.on{background:var(--blue)}.beat .row:nth-child(2) button.on{background:#7EA2FF}.beat button.cur{box-shadow:inset 0 0 0 2px #fff;transform:scale(1.08)}.beat button:nth-child(4n+1):not(.on){background:#262B36}
.fx-beat .tempo{display:flex;align-items:center;gap:10px;color:#A9B0BD;margin:0 0 0 8px;font-size:13px}.fx-beat .tempo .rng{width:130px}.fx-beat .rng::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--blue) var(--f),#2A2E38 var(--f))}
/* 원 */
.fx-circle .score{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.fx-circle .score b{font-size:clamp(44px,8vw,84px);font-weight:800;letter-spacing:-.05em;color:var(--ink);opacity:.9}.fx-circle .score small{color:var(--t3);font-size:14px;font-weight:600}
/* 도장 */
.fx-stamp .cv{background:#FFFDF6;box-shadow:inset 0 0 0 1px #EAE5D3;cursor:pointer}
/* 이름표 */
.tag{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:stretch}.tag .card{position:relative;overflow:hidden;background:var(--sky);border-radius:28px;padding:44px 44px 150px;min-height:340px}
.tag small{color:var(--blue);font-weight:700;font-size:14px}.tag strong{display:block;font-size:clamp(30px,4.6vw,58px);font-weight:800;letter-spacing:-.04em;line-height:1.15;margin:16px 0 10px;word-break:break-all}.tag em{font-style:normal;color:var(--t2);font-size:17px}
.tag .pen{position:absolute;left:5%;bottom:36px;width:96%;transform:rotate(-6deg);filter:drop-shadow(0 20px 16px rgba(11,31,102,.28))}.form2{background:#fff;border-radius:28px;padding:28px;display:flex;flex-direction:column;justify-content:center}
/* 결정 */
.decide{text-align:center}.wheel{position:relative;width:min(420px,84vw);aspect-ratio:1;margin:0 auto 30px;border-radius:50%;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.wheel input{position:absolute;width:118px!important;height:40px!important;margin:0!important;text-align:center;border:0!important;border-radius:999px!important;background:#fff!important;color:var(--ink);font-weight:700;font-size:14.5px!important;padding:0 8px!important;transition:.25s}
.wheel input[data-i="0"]{left:50%;top:-12px;transform:translateX(-50%)}.wheel input[data-i="1"]{right:-34px;top:50%;transform:translateY(-50%)}.wheel input[data-i="2"]{left:50%;bottom:-12px;transform:translateX(-50%)}.wheel input[data-i="3"]{left:-34px;top:50%;transform:translateY(-50%)}
.wheel input.hit{background:var(--ink)!important;color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.5)!important}.wheel .pen{position:absolute;left:50%;top:50%;width:70%;transform:translate(-50%,-50%);filter:brightness(1.1) drop-shadow(0 16px 14px rgba(0,16,80,.5));pointer-events:none}
/* 따라보는 펜 */
.compass{position:relative;height:min(520px,90vw);border-radius:32px;background:var(--bg2);overflow:hidden;touch-action:none;cursor:none}.compass .pen{position:absolute;left:50%;top:50%;width:min(460px,70%);transform:translate(-50%,-50%) rotate(20deg);filter:drop-shadow(0 20px 16px rgba(11,31,102,.25));pointer-events:none;transition:transform .08s linear}
.compass .dot{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--blue);opacity:0;pointer-events:none;box-shadow:0 0 0 8px rgba(0,70,255,.15)}
/* 색 */
.pal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pal button{aspect-ratio:1/1.05;border-radius:28px;padding:26px;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.pal button:hover{transform:translateY(-6px)}
.pal b{font-size:22px;font-weight:800}.pal span{font-size:15px;font-weight:600;opacity:.85;font-variant-numeric:tabular-nums}.pal small{font-size:12.5px;opacity:.7;margin-top:6px}
/* 진짜 찾기 */
.real{display:grid;grid-template-columns:1fr 1fr;gap:10px}.real button{background:var(--bg2);border-radius:20px;padding:14px 26px;transition:.2s}.real button:hover{background:#E9EDF5}.real .yes{background:#E3F6EC!important;box-shadow:inset 0 0 0 2px #0B8A4B}.real .no{background:#FDECEC!important;box-shadow:inset 0 0 0 2px var(--red)}
.v-noclip .p-clip{display:none}.v-nologo .p-logo{display:none}.v-long .p-knock{transform:translateX(18px)}.v-hue{filter:hue-rotate(26deg)}.v-tip .p-tip{filter:saturate(.25) brightness(1.5)}
/* 짝 */
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:520px;margin:0 auto}.mem button{aspect-ratio:1;position:relative;perspective:600px}.mem span{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;transition:transform .4s;overflow:hidden}
.mem .f{background:rgba(255,255,255,.1) url("/favicon.svg") center/34% no-repeat}.mem .b{background:#DCE7FF;transform:rotateY(180deg)}.mem .on .f{transform:rotateY(180deg)}.mem .on .b{transform:none}.mem .ok .b{box-shadow:inset 0 0 0 3px #7EA2FF}
.mem .b img{position:absolute;top:50%;left:0;width:700%;max-width:none}.m-tip img{transform:translate(1%,-50%)}.m-logo img{transform:translate(-43.3%,-50%)}.m-clip img{transform:translate(-64%,-64%)}.m-knock img{transform:translate(-86.5%,-50%)}
/* 눈대중 */
.count{text-align:center}.count .stage{position:relative;height:320px;border-radius:28px;background:#fff;overflow:hidden;margin-bottom:18px}.count .stage img{position:absolute;width:26%;max-width:none}.count .hint{color:#C3C8D2}
.count .opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.count .opts:empty{display:none}.count .opts button{height:58px;border-radius:16px;background:#fff;font-weight:700;font-size:16px}.count .opts .yes{background:#0B8A4B;color:#fff}.count .opts .no{background:var(--red);color:#fff}
/* 숫자 */
.fx-nums{padding:90px 0}.fx-nums ul{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.fx-nums li{border-top:2px solid #fff;padding-top:20px}.fx-nums b{display:block;font-size:clamp(44px,7vw,96px);font-weight:800;letter-spacing:-.05em;line-height:1}.fx-nums span{display:block;margin-top:12px;color:#A9B0BD;font-size:14.5px}
/* 긁기 */
.scratch{position:relative;height:220px;border-radius:28px;overflow:hidden;background:var(--sky);touch-action:none;user-select:none;-webkit-user-select:none}.scratch p{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 30px;font-size:clamp(20px,3.4vw,32px);font-weight:800;letter-spacing:-.03em;color:var(--navy)}.scratch canvas{position:absolute;inset:0;width:100%;height:100%;transition:opacity .5s;cursor:grab}
/* 뽑기 */
.prompt{text-align:center}.prompt p{min-height:130px;display:grid;place-items:center;font-size:clamp(26px,4.6vw,50px);font-weight:800;letter-spacing:-.04em;line-height:1.25;margin-bottom:26px}.prompt p.pop{animation:pp .35s cubic-bezier(.3,1.6,.5,1)}@keyframes pp{from{transform:scale(.86);opacity:.4}}.prompt small{display:block;margin-top:16px;color:#DCE7FF}
/* 유형 */
.type{background:#fff;border-radius:28px;padding:40px 34px;min-height:400px;display:grid;align-items:center}.type small{color:var(--blue);font-weight:700;font-size:13px}.type strong{display:block;font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.03em;margin:8px 0 22px}
.type .q button{display:block;width:100%;text-align:left;padding:17px 20px;border-radius:14px;background:var(--bg2);font-weight:600;margin-bottom:8px;transition:.15s}.type .q button:hover{background:var(--ink);color:#fff}
.type .r{text-align:center}.type .r strong{font-size:clamp(34px,6vw,58px);color:var(--blue);margin:10px 0 16px}.type .r p{color:var(--t2);font-size:16.5px;max-width:420px;margin:0 auto 26px}
/* 빙고 */
.bingo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:560px;margin:0 auto}.bingo button{aspect-ratio:1;border-radius:20px;background:var(--bg2);padding:12px;font-weight:600;font-size:14.5px;line-height:1.4;transition:.15s}.bingo button.on{background:var(--blue);color:#fff}.bingo button.ln{background:var(--ink);color:#fff}
/* 체크 */
.check{display:grid;gap:8px}.check label{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:18px 20px;margin:0;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s}.check input{width:22px;height:22px;accent-color:var(--blue);flex:0 0 22px}.check label:has(:checked){background:var(--ink);color:#fff}
.mq.rev>div{animation-direction:reverse}.mq.rev{background:var(--blue)}.mq.rev .sym{color:#fff}
/* 실시간 */
.fx-live{padding:100px 0 0}.live{text-align:center;position:relative}.live small{display:block;color:var(--t3);font-weight:600;font-size:13.5px}.live b{font-size:clamp(110px,22vw,240px);font-weight:800;letter-spacing:-.07em;line-height:1;color:var(--blue);font-variant-numeric:tabular-nums}.live b.pop{animation:pp .5s cubic-bezier(.3,1.6,.5,1)}.live i{font-style:normal;font-size:28px;font-weight:800;margin-left:6px}
.pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:#12B76A;margin-bottom:10px;box-shadow:0 0 0 0 rgba(18,183,106,.5);animation:pu 1.8s infinite}@keyframes pu{to{box-shadow:0 0 0 16px rgba(18,183,106,0)}}
.fx-live+.dt-pick{padding-top:60px}
/* 계산 */
.calc{background:#fff;border-radius:32px;padding:36px 34px}.fx:not(.tint) .calc{background:var(--bg2)}.calc .big{text-align:center}.calc .big b{font-size:clamp(48px,9vw,84px);font-weight:800;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.calc .big i{font-style:normal;font-size:20px;font-weight:700;margin-left:6px}
.calc .rng{margin:18px 0 14px!important}.calc .chips{display:flex;margin-bottom:22px}.fx-budget .chips button{background:var(--bg2);box-shadow:none}
.calc .out{text-align:center;font-size:18px;font-weight:600;margin-bottom:18px;min-height:27px}.calc .out b{font-size:30px;font-weight:800;color:var(--blue);margin-right:2px}.calc .out small{display:block;font-size:13px;color:var(--t3);font-weight:500;margin-top:4px}
.steppers{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}.steppers small{display:block;font-size:13px;color:var(--t3);font-weight:600;margin-bottom:8px}.stp{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:999px;padding:6px}.stp button{width:46px;height:46px;border-radius:50%;background:var(--bg2);font-size:22px}.stp b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.people{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:24px 0}.people i{width:22px;height:22px;border-radius:50%;background:var(--blue);animation:pp .25s}
.calc dl div{display:flex;justify-content:space-between;padding:5px 0;color:var(--t2)}.calc dl .t{border-top:1px solid #DDE1E8;margin-top:10px;padding-top:14px;color:var(--ink);font-weight:700;align-items:baseline}.calc dl .t dd{font-size:28px;font-weight:800;color:var(--blue)}.fx-team .out{font-size:13.5px;color:var(--t2);margin:12px 0 16px}
/* 단계 */
.steps4{position:relative}.steps4 .line{position:absolute;left:12.5%;right:12.5%;top:22px;height:2px;background:rgba(255,255,255,.18)}.steps4 .line i{display:block;height:100%;width:0;background:#7EA2FF;transition:width .4s}
.tabs4{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.tabs4 button{display:flex;flex-direction:column;align-items:center;gap:10px;color:#A9B7DB;font-weight:700;font-size:15px}.tabs4 b{width:46px;height:46px;border-radius:50%;background:#1D3187;display:grid;place-items:center;color:#fff;transition:.25s}.tabs4 .on b{background:#7EA2FF;color:var(--navy)}.tabs4 .cur{color:#fff}.tabs4 .cur b{transform:scale(1.18);background:#fff}
.panes{margin-top:34px;background:rgba(255,255,255,.08);border-radius:24px;padding:30px 30px;text-align:center;min-height:132px}.panes strong{font-size:22px;font-weight:800}.panes p{color:#A9B7DB;margin-top:8px}
/* 투표 */
.poll{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.poll button{position:relative;overflow:hidden;height:92px;border-radius:20px;background:rgba(255,255,255,.08);color:#fff;font-size:18px;font-weight:700;transition:background .2s,transform .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.poll button:hover{transform:translateY(-3px)}.poll i{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(126,162,255,.28);transition:width .8s cubic-bezier(.22,.7,.2,1),height .8s cubic-bezier(.22,.7,.2,1)}.poll span,.poll em{position:relative}.poll em{font-style:normal;font-size:12.5px;font-weight:600;color:#A9B7DB;display:none}.poll.done em{display:block}
.poll .mine{box-shadow:inset 0 0 0 2px #7EA2FF}.poll .mine i{background:rgba(0,70,255,.75)}.poll .mine em{color:#fff}.poll-m{color:#A9B7DB;text-align:center;font-size:14px;margin-top:20px}
.poll.light button{background:var(--bg2);color:var(--ink)}.fx.tint .poll.light button{background:#fff}.poll.light i{background:#DCE7FF}.poll.light em{color:var(--t3)}.poll.light .mine{box-shadow:inset 0 0 0 2px var(--blue)}.poll.light .mine i{background:#BFD2FF}.poll.light .mine em{color:var(--blue)}.poll.light+.poll-m{color:var(--t3)}
.poll.five{grid-template-columns:repeat(5,1fr)}.poll.five button{height:150px;font-size:34px;font-weight:800;justify-content:flex-end;padding-bottom:16px}.poll.five i{top:auto;right:0;width:100%!important;height:0}
.fx-share{text-align:center}.fx-share .btn{min-width:160px}
@media(max-width:960px){.idx{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
 .fx{padding:80px 0}.fx .cv{height:360px;border-radius:20px}.idx{grid-template-columns:1fr 1fr;gap:6px}.idx a{padding:12px;font-size:13.5px;gap:8px}
 .fx-say{padding:110px 0}.t10 .big{width:200px;height:200px}.react{height:240px;border-radius:20px}.beat .row{gap:5px}.beat button{border-radius:9px}.fx-beat .tempo{width:100%;justify-content:center;margin:8px 0 0}
 .tag{grid-template-columns:1fr}.tag .card{padding:30px 26px 110px;min-height:280px;border-radius:22px}.form2{border-radius:22px;padding:22px}
 .wheel{width:min(300px,66vw);margin-top:20px}.wheel input{width:96px!important;font-size:13px!important}.wheel input[data-i="1"]{right:-44px}.wheel input[data-i="3"]{left:-44px}
 .pal{grid-template-columns:1fr;gap:8px}.pal button{aspect-ratio:auto;padding:22px;border-radius:20px}.real{grid-template-columns:1fr;gap:8px}.real button{padding:6px 18px}
 .mem{gap:7px}.mem span{border-radius:12px}.count .stage{height:260px;border-radius:20px}.count .stage img{width:40%}.count .opts button{font-size:14px;height:52px}
 .fx-nums{padding:64px 0}.fx-nums ul{grid-template-columns:1fr 1fr;gap:30px 14px}.scratch{height:190px;border-radius:20px}.type{padding:28px 20px;border-radius:22px}.bingo button{font-size:12.5px;border-radius:14px;padding:6px}
 .check label{font-size:14.5px;padding:15px 16px}.calc{padding:26px 20px;border-radius:24px}.panes{padding:24px 18px}.tabs4 button{font-size:13px}.tabs4 b{width:40px;height:40px}.steps4 .line{top:19px}
 .poll{grid-template-columns:1fr 1fr}.poll button{height:78px;font-size:16px}.poll.five{grid-template-columns:repeat(5,1fr);gap:6px}.poll.five button{height:120px;font-size:26px}.poll.five em{font-size:10px}
 .fx-live{padding-top:70px}
}
.count .stage{aspect-ratio:auto;width:100%}.poll span,.poll em{z-index:1}

/* ── 홈·상세 공용 추가 칸 ── */
.slide.s-blue{background:var(--blue);color:#fff}.s-blue small{color:#C9D8FF}.s-blue .more{background:#fff;color:var(--blue)}.s-blue .art img{width:74%;right:-9%;top:46%;transform:rotate(-24deg);filter:brightness(1.1) drop-shadow(0 26px 22px rgba(0,16,80,.5))}
.fx-lv{padding:0}.fx-lv ul{display:grid;grid-template-columns:repeat(4,1fr)}.fx-lv li{padding:34px 24px;border-left:1px solid #23262F;position:relative}.fx-lv li:first-child{border-left:0;padding-left:0}
.fx-lv small{display:block;font-size:13px;color:#A9B0BD;font-weight:600}.fx-lv b{display:block;font-size:clamp(30px,4.2vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.15;font-variant-numeric:tabular-nums}.fx-lv .pulse{position:absolute;right:20px;top:38px}
.fx-ink{padding:170px 0;background:#fff;touch-action:pan-y;cursor:crosshair}.fx-ink canvas{position:absolute;inset:0;width:100%;height:100%}.fx-ink .in{position:relative;pointer-events:none;text-align:center}
.fx-ink small{font-weight:700;color:var(--blue);letter-spacing:.14em;font-size:12.5px}.fx-ink h2{font-size:clamp(40px,7.4vw,104px);font-weight:800;letter-spacing:-.055em;line-height:1.08;margin:16px 0 22px}.fx-ink p{color:var(--t2);font-size:clamp(15px,1.5vw,18px);max-width:460px;margin:0 auto}
.goal{text-align:center}.gbar{height:22px;border-radius:11px;background:#fff;overflow:hidden}.gbar i{display:block;height:100%;width:0;border-radius:11px;background:var(--blue);transition:width .5s cubic-bezier(.22,.7,.2,1)}
.gnum{margin:18px 0 22px;display:flex;justify-content:center;align-items:baseline;gap:8px}.gnum b{font-size:clamp(44px,8vw,80px);font-weight:800;letter-spacing:-.05em;color:var(--blue);font-variant-numeric:tabular-nums}.gnum span{color:var(--t3);font-weight:600}.gnum em{font-style:normal}.goal .res{font-size:13.5px;color:var(--t3);font-weight:500}
#goalT{color:var(--blue)}
.whack{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:480px;margin:0 auto}.whack button{aspect-ratio:1;border-radius:22px;background:#071550;position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.whack img{position:absolute;left:50%;top:100%;height:150%;width:auto;max-width:none;transform:translate(-50%,0) rotate(180deg);transition:top .16s cubic-bezier(.3,1.5,.5,1);filter:brightness(1.5);pointer-events:none}.whack .up img{top:8%}.whack .hit{background:#7EA2FF}
.stack{position:relative;height:340px;max-width:440px;margin:0 auto;border-radius:28px;background:var(--bg2);overflow:hidden;touch-action:none;cursor:pointer;user-select:none;-webkit-user-select:none}
.stack .lay{position:absolute;inset:0;transition:transform .25s}.stack .lay i{position:absolute;height:22px;border-radius:5px;background:#134487;box-shadow:inset 0 3px 0 rgba(255,255,255,.18),inset 0 -4px 0 rgba(0,0,0,.2)}.stack .lay i:nth-child(odd){background:#1B4C92}.stack .lay i.mv{background:var(--blue)}.stack .lay i.miss{background:var(--red)}
.stack .hint{color:#B3BAC6;align-items:start;padding-top:40px}.stack.used .hint{opacity:0}
.cmatch{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cmatch button{height:240px;border-radius:28px;transition:transform .15s,box-shadow .2s}.cmatch button:hover{transform:translateY(-4px)}.cmatch .yes{box-shadow:0 0 0 5px #0B8A4B}.cmatch .no{opacity:.45}
.puz{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-width:420px;margin:0 auto;aspect-ratio:1}.puz button{border-radius:12px;background:#DCE7FF url("/img/puz.jpg") 0 0/300% 300%;transition:transform .1s}.puz button:active{transform:scale(.96)}.puz .e{background:rgba(255,255,255,.06)}.puz.done{gap:0}.puz.done button{border-radius:0}.puz.done .e{background:#DCE7FF url("/img/puz.jpg") 100% 100%/300% 300%}
.quiz{background:var(--bg2);border-radius:28px;padding:40px 34px;min-height:330px;text-align:center;display:grid;align-content:center}.quiz small{color:var(--blue);font-weight:700;font-size:13px}.quiz strong{display:block;font-size:clamp(22px,3.2vw,32px);font-weight:800;letter-spacing:-.03em;margin:10px 0 26px}
.ox{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:380px;margin:0 auto;width:100%}.ox button{height:100px;border-radius:22px;background:#fff;font-size:44px;font-weight:800;transition:.15s}.ox button:first-child{color:var(--blue)}.ox button:last-child{color:var(--red)}.ox .yes{background:#0B8A4B;color:#fff!important}.ox .no{opacity:.35}
.quiz .ex{min-height:48px;margin-top:18px;color:var(--t2);display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.quiz .ex b{color:var(--ink)}.quiz .r strong{font-size:clamp(48px,9vw,88px);color:var(--blue);margin:6px 0 10px}.quiz .r p{color:var(--t2);margin-bottom:20px}
.typ{text-align:center}.typ .dots{display:flex;gap:10px;justify-content:center;margin-bottom:22px}.typ .dots i{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.25);transition:.2s}.typ .dots i.on{background:#fff;transform:scale(1.25)}
.typ input{width:min(460px,100%)!important;height:92px!important;border-radius:24px!important;border:0!important;text-align:center;font-size:clamp(30px,6vw,48px)!important;font-weight:800;letter-spacing:.02em;margin:0!important;background:#fff!important;color:var(--ink)}.typ input.bad{color:var(--red);box-shadow:0 0 0 4px rgba(229,52,58,.5)!important}.typ input::placeholder{color:#D3D8E1}
.lots{display:flex;justify-content:center;gap:clamp(14px,4vw,36px);height:260px;align-items:flex-end;overflow:hidden;background:#fff;border-radius:28px;padding:0 20px}.lots button{height:100%;transform:translateY(46%);transition:transform .5s cubic-bezier(.3,1.4,.5,1);-webkit-tap-highlight-color:transparent}.lots button:hover{transform:translateY(38%)}.lots .pick{transform:translateY(4%)!important}.lots img{height:100%;width:auto;transform:rotate(180deg)}
.dice{text-align:center}.die{width:150px;height:150px;border-radius:34px;background:var(--ink);color:#fff;box-shadow:0 12px 0 #2A2E38,0 26px 34px rgba(11,13,18,.25);transition:transform .08s,box-shadow .08s}.die:active{transform:translateY(8px);box-shadow:0 4px 0 #2A2E38}.die b{font-size:78px;font-weight:800;line-height:1}.die.roll{animation:rl .15s linear infinite}@keyframes rl{50%{transform:rotate(8deg) scale(1.04)}}.dice .res{margin:36px 0 18px}
.copy{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.ban{position:relative;overflow:hidden;border-radius:28px;padding:44px 44px 160px;min-height:340px;background:var(--sky);transition:background .3s,color .3s}.ban small{font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--blue)}
.ban strong{display:block;font-size:clamp(28px,4.4vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1.16;margin-top:16px;word-break:break-all}.ban .pen{position:absolute;left:5%;bottom:40px;width:96%;transform:rotate(-6deg);filter:drop-shadow(0 20px 16px rgba(0,10,60,.35))}
.ban[data-t=blue]{background:var(--blue);color:#fff}.ban[data-t=blue] small{color:#C9D8FF}.ban[data-t=ink]{background:var(--ink);color:#fff}.ban[data-t=ink] small{color:#7EA2FF}.ban[data-t=ink] .pen,.ban[data-t=blue] .pen{filter:brightness(1.3) drop-shadow(0 20px 16px rgba(0,0,0,.45))}.copy .chips{margin:4px 0 18px;justify-content:flex-start}.copy .chips button{background:var(--bg2);box-shadow:none}.copy .chips button.on{box-shadow:inset 0 0 0 2px var(--ink)}
.poll.two{grid-template-columns:1fr 1fr}.poll.two button{height:110px}.fx-vs .poll-m{margin:12px 0 34px}.fx-vs .poll-m:last-child{margin-bottom:0}
.idea{display:grid;grid-template-columns:1fr auto;gap:8px}.idea input:not([type=checkbox]){height:58px!important;margin:0!important;border-radius:999px!important;padding:0 24px!important;font-size:16px!important}.idea .btn{height:58px}.idea .agree{grid-column:1/-1;margin:8px 4px 0}.fx.blue .idea .agree{color:#DCE7FF}.fx.blue .idea input:not([type=checkbox]){border:0!important}.fx-idea .res,.fx-notify .res{font-size:14px;font-weight:500;color:var(--t3)}.fx-notify .res{color:#DCE7FF}
.att{text-align:center}.att .slots{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:26px}.att .slots i{aspect-ratio:1;border-radius:50%;border:2px dashed #D3D8E1;display:grid;place-items:center}.att .slots svg{width:52%;height:52%;color:var(--blue);stroke:none;opacity:0;transform:scale(.4) rotate(-30deg);transition:.35s cubic-bezier(.3,1.6,.5,1)}
.att .slots i.on{border:2px solid var(--blue);background:#EAF0FF}.att .slots i.on svg{opacity:1;transform:rotate(-12deg)}.att .res{font-size:14px;font-weight:500;color:var(--t3)}
.cap .old{background:#fff;border-radius:22px;padding:24px 26px;margin-bottom:14px;border-left:5px solid var(--blue)}.cap .old small{color:var(--blue);font-weight:700;font-size:12.5px}.cap .old p{font-size:19px;font-weight:700;margin-top:6px;white-space:pre-wrap;word-break:break-all}
.cap textarea{display:block;width:100%;height:130px;border:0;border-radius:22px;padding:22px 24px;font:inherit;font-size:16px;resize:none;outline:0;background:#fff}.cap textarea:focus{box-shadow:0 0 0 3px rgba(0,70,255,.2)}
.fx-more{padding:0}.fx-more .in{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:110px;padding-bottom:230px}.fx-more small{font-weight:700;letter-spacing:.12em;font-size:12.5px;color:#C9D8FF}.fx-more h2{font-size:clamp(30px,4.8vw,60px);font-weight:800;letter-spacing:-.045em;line-height:1.14;margin:12px 0 14px}.fx-more p{color:#DCE7FF}
.fx-more .btn{height:62px;padding:0 36px;position:relative;z-index:1}.fx-more .pen{position:absolute;left:-4%;bottom:44px;width:110%;transform:rotate(-5deg);filter:brightness(1.1) drop-shadow(0 30px 24px rgba(0,16,80,.5));pointer-events:none}
@media(max-width:640px){
 .s-blue .art img{width:128%;right:-28%;top:68%}
 .fx-lv ul{grid-template-columns:1fr 1fr}.fx-lv li{padding:22px 0 22px 18px}.fx-lv li:nth-child(odd){border-left:0;padding-left:0}.fx-lv li:nth-child(n+3){border-top:1px solid #23262F}.fx-lv .pulse{top:26px;right:10px}
 .fx-ink{padding:110px 0}.cmatch button{height:170px;border-radius:20px}.quiz{padding:30px 20px;border-radius:22px}.ox button{height:84px}.typ input{height:76px!important}
 .lots{height:210px;border-radius:20px;padding:0 10px}.copy{grid-template-columns:1fr}.ban{padding:30px 26px 110px;min-height:270px;border-radius:22px}.poll.two button{height:88px}
 .idea{grid-template-columns:1fr}.idea .btn{width:100%}.att .slots{gap:5px}.fx-more .in{padding-top:76px;padding-bottom:150px}.fx-more .pen{width:150%;bottom:34px}.stack{height:300px}
}

[hidden]{display:none!important}
