:root{--bg: #fff7ea;--paper: #fffdf8;--ink: #3a2e28;--dim: #75655b;--line: #ead9c2;--mint: #3f9e80;--mint-2: #d9f1e7;--coral: #e9775c;--coral-2: #fde3da;--sun: #f2b53a;--sun-2: #fff0c9;--sky: #4f93cf;--sky-2: #dcecfa;--plum: #8a6cc7;--ok: #2f9a5e;--no: #c9573e;--r: 18px;--r-s: 12px;--sh: 0 3px 0 rgba(90, 60, 30, .14), 0 8px 22px rgba(90, 60, 30, .1);--fs: 17px;--hz: 1;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,맑은 고딕,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-size:calc(var(--fs) * var(--hz));line-height:1.5;overscroll-behavior:none;background:var(--bg) radial-gradient(circle at 20% 0%,#fff1d6 0,transparent 50%) fixed}body.big{--hz: 1.25}@media(min-width:1600px){body.board{--hz: 1.45}}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}img{max-width:100%}.ic{width:1.25em;height:1.25em;vertical-align:-.22em;flex:none}#app{max-width:980px;margin:0 auto;min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;gap:14px;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}body.calm *,body.calm *:before{animation-duration:1ms!important;transition-duration:1ms!important}.topbar{display:flex;align-items:center;gap:8px;min-height:48px}.topbar h1{font-size:1.15em;margin:0;flex:1;display:flex;align-items:center;gap:8px;min-width:0}.topbar h1 span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ibtn{min-width:46px;min-height:46px;border-radius:14px;display:inline-grid;place-items:center;background:var(--paper);box-shadow:var(--sh);color:var(--ink)}.ibtn .ic{width:24px;height:24px}.ibtn.help{background:var(--coral-2);color:var(--no);padding:0 12px;display:inline-flex;gap:6px;font-weight:700;font-size:.9em;white-space:nowrap;flex:none}.card{background:var(--paper);border-radius:var(--r);box-shadow:var(--sh);padding:16px}.btn{min-height:52px;padding:10px 18px;border-radius:16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--paper);box-shadow:var(--sh);transition:transform .08s}.btn:active:not(:disabled){transform:translateY(2px) scale(.98)}.btn.main{min-height:60px;font-size:1.15em;background:var(--mint);color:#fff;box-shadow:0 4px #2d775f,0 10px 24px #3f9e8047;width:100%}.btn.alt{background:var(--sun-2)}.btn.ghost{background:transparent;box-shadow:none;text-decoration:underline;min-height:44px;font-weight:600}.btn:disabled{opacity:.5}.row{display:flex;gap:10px;flex-wrap:wrap}.row>.btn{flex:1 1 140px}.muted{color:var(--dim)}.small{font-size:.82em}.center{text-align:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat{background:var(--paper);border-radius:14px;padding:8px 6px;text-align:center;box-shadow:var(--sh)}.stat b{display:block;font-size:1.25em;color:var(--mint);font-variant-numeric:tabular-nums}.stat span{font-size:.74em;color:var(--dim)}.stats-note{font-size:.74em;color:var(--dim);text-align:center;margin-top:-6px}.hero{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;background:linear-gradient(135deg,#fffaf0,#eaf7f0)}.hero img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(60,120,80,.25));animation:bob 3s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px)}}.hero h2{margin:0 0 2px;font-size:1.2em}.goal{background:var(--sun-2);border-radius:12px;padding:6px 10px;font-weight:700;font-size:.92em;display:flex;gap:6px;align-items:center}.bar{height:12px;border-radius:99px;background:#efe3d2;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),#7fd2a9);border-radius:99px;transition:width .6s}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:640px){.grid{grid-template-columns:repeat(3,1fr)}}.tile{min-height:96px;border-radius:var(--r);background:var(--paper);box-shadow:var(--sh);padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.tile .ic{width:30px;height:30px;padding:5px;border-radius:10px;box-sizing:content-box}.tile b{font-size:1em}.tile small{color:var(--dim);font-size:.78em;line-height:1.35}.t-mint .ic{background:var(--mint-2);color:var(--mint)}.t-sun .ic{background:var(--sun-2);color:#b7811a}.t-coral .ic{background:var(--coral-2);color:var(--coral)}.t-sky .ic{background:var(--sky-2);color:var(--sky)}.t-plum .ic{background:#ece4fa;color:var(--plum)}.badge-dot{background:var(--coral);color:#fff;border-radius:99px;font-size:.7em;padding:1px 8px;font-weight:800}.site-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r);color:#fff;text-decoration:none;min-height:60px;background:linear-gradient(110deg,#6c5ce7,#e17bb4,#f6b04d,#6c5ce7);background-size:300% 100%;animation:flow 8s linear infinite;box-shadow:0 6px 18px #6c5ce74d}.site-link b{font-size:1.05em}.site-link small{display:block;opacity:.92;font-size:.8em}.site-link .go{margin-left:auto;background:#ffffff40;border-radius:99px;padding:4px 12px;font-weight:800;white-space:nowrap}@keyframes flow{to{background-position:300% 0}}body.calm .site-link{animation:none}.school-line{display:flex;align-items:center;gap:8px;font-size:.86em;color:var(--dim);justify-content:center;flex-wrap:wrap}.map{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);aspect-ratio:16 / 9;background:#bfe6ea center / cover no-repeat}.map .fog{position:absolute;inset:0;pointer-events:none;transition:opacity 1.2s;background:radial-gradient(ellipse at center,#ebeef28c,#c8cdd6d9)}.pin{position:absolute;transform:translate(-50%,-50%);min-width:64px;min-height:64px;display:grid;place-items:center;gap:2px;border-radius:20px;padding:6px 8px;background:#fffdf8f0;box-shadow:var(--sh);font-weight:800;font-size:.78em}.pin .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.9em}.pin.locked{filter:grayscale(1);opacity:.75}.pin.done .dot{box-shadow:0 0 0 4px #ffffffb3,0 0 14px 4px #ffd778e6}.zone-sheet{display:grid;gap:10px}.faces{display:flex;gap:8px}.faces img{width:84px;height:84px;object-fit:contain;background:#fff6e8;border-radius:16px}.dots{display:flex;gap:6px}.dots i{width:16px;height:16px;border-radius:50%;background:#e8dccb}.dots i.on{background:var(--mint)}.play-head{display:flex;align-items:center;gap:8px}.play-head .prog{flex:1;height:14px;border-radius:99px;background:#efe3d2;overflow:hidden}.play-head .prog i{display:block;height:100%;background:var(--sun);transition:width .4s}.starbox{display:inline-flex;align-items:center;gap:4px;font-weight:800;background:var(--sun-2);border-radius:99px;padding:6px 12px;min-height:40px;color:#8a5a00;font-variant-numeric:tabular-nums}.starbox .ic{color:var(--sun);fill:var(--sun)}.stage{flex:1;display:flex;flex-direction:column;gap:12px}.speaker{display:flex;gap:10px;align-items:flex-end}.speaker img{width:92px;height:92px;object-fit:contain;flex:none;transition:transform .2s}.speaker img.hop{animation:hop .5s}.speaker img.shake{animation:nope .45s}@keyframes hop{40%{transform:translateY(-14px) scale(1.06)}}@keyframes nope{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.bubble{position:relative;background:var(--paper);border-radius:18px;padding:12px 14px;box-shadow:var(--sh);flex:1;font-weight:600}.bubble:before{content:"";position:absolute;left:-9px;bottom:16px;border:9px solid transparent;border-right-color:var(--paper);border-left:0}.bubble .nm{display:block;font-size:.78em;color:var(--dim);font-weight:800}.qtext{font-size:1.12em;font-weight:800;margin:0;line-height:1.45}.choices{display:grid;gap:10px}@media(min-width:640px){.choices.two{grid-template-columns:1fr 1fr}}.choice{min-height:58px;border-radius:16px;background:var(--paper);box-shadow:var(--sh);padding:10px 14px;text-align:left;font-weight:700;display:flex;gap:10px;align-items:center;border:3px solid transparent;transition:transform .08s,background .2s}.choice .k{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f3eadc;font-weight:900;font-size:.85em;color:var(--dim)}.choice:active:not(:disabled){transform:scale(.98)}.choice.right{background:#e3f6ea;border-color:var(--ok)}.choice.right .k{background:var(--ok);color:#fff}.choice.wrong{background:#fbe9e3;border-color:var(--no);opacity:.75}.choice.wrong .k{background:var(--no);color:#fff}.choice.picked{border-color:var(--sky);background:var(--sky-2)}.choice:disabled{cursor:default}.why{border-radius:16px;padding:12px 14px;background:#eef8f2;border:2px dashed var(--ok);font-weight:700}.why.no{background:#fff1ec;border-color:var(--no)}.why .t{display:flex;gap:6px;align-items:center;font-weight:900;font-size:1.1em}.hint{font-weight:800;color:var(--no);text-align:center;animation:nope .4s}.next-row{display:flex;justify-content:flex-end}.sit{background:#fff3df;border-radius:14px;padding:10px 14px;font-weight:700;border-left:6px solid var(--sun)}.moments{display:grid;gap:10px}.moment{min-height:64px;text-align:left;border-radius:16px;background:var(--paper);box-shadow:var(--sh);padding:12px 14px 12px 44px;position:relative;font-weight:600;border:3px solid transparent}.moment:before{content:"";position:absolute;left:14px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;border:3px solid #d6c4ab}.moment.right{border-color:var(--ok);background:#e3f6ea}.moment.right:before{background:var(--ok);border-color:var(--ok)}.moment.wrong{border-color:var(--no);background:#fbe9e3;opacity:.7}.letter{background:#fffdf3 repeating-linear-gradient(0deg,transparent 0 31px,#f0e2c9 31px 32px);border-radius:14px;padding:14px 16px;box-shadow:var(--sh);min-height:120px;font-size:1.05em;font-weight:700;line-height:32px}.letter .blank{display:inline-block;min-width:90px;border-bottom:3px dashed var(--sun);color:var(--dim)}.letter .fill{color:var(--ink);background:var(--sun-2);border-radius:6px;padding:0 4px}.meter{display:flex;align-items:center;gap:10px;font-weight:800}.meter .m{flex:1;height:16px;border-radius:99px;background:#efe3d2;overflow:hidden}.meter .m i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f8c46b,#ef8a5a,#e65f8e);transition:width .5s}.slot-label{font-size:.85em;font-weight:900;color:var(--plum)}.bridge{display:flex;gap:6px;align-items:stretch;min-height:64px;padding:10px;border-radius:16px;background:linear-gradient(#bfe3f5,#8fcbe8)}.plank{flex:1;border-radius:10px;background:repeating-linear-gradient(90deg,#c9935a 0 14px,#b98249 14px 16px);color:#fff;font-weight:800;font-size:.78em;padding:6px;display:grid;place-items:center;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3);min-height:48px}.plank.empty{background:#ffffff59;border:3px dashed rgba(255,255,255,.9);color:#2a6a8a;text-shadow:none}.plank.fall{animation:fall .7s forwards}@keyframes fall{to{transform:translateY(60px) rotate(18deg);opacity:0}}.breath{display:grid;place-items:center;gap:8px;padding:10px}.breath .ring{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#d9f1e7,#9fd9bf);display:grid;place-items:center;font-weight:900;font-size:1.2em;color:#2d775f;transform:scale(.65);transition:transform 4s ease-in-out}.breath .ring.in{transform:scale(1)}.order{display:grid;gap:8px}.order .slotline{display:flex;gap:6px;align-items:center;font-weight:800;color:var(--dim)}.result{text-align:center;display:grid;gap:12px;align-content:start}.marks{display:flex;gap:8px;justify-content:center;margin-top:8px}.marks i{width:22px;height:22px;border-radius:50%;background:#e8dccb}.marks i.on{background:var(--mint)}.marks i.half{background:linear-gradient(90deg,var(--mint) 50%,#e8dccb 50%)}.bigstars{font-size:2.4em;font-weight:900;color:#c98a10;display:flex;justify-content:center;align-items:center;gap:6px}.bigstars .ic{width:1em;height:1em;color:var(--sun);fill:var(--sun)}.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kv div{background:var(--paper);border-radius:14px;padding:8px;box-shadow:var(--sh)}.kv b{display:block;font-size:1.2em}.kv span{font-size:.78em;color:var(--dim)}.modal{position:fixed;inset:0;z-index:50;background:#281e1473;display:grid;place-items:center;padding:16px;animation:fadeIn .2s}.modal .box{background:var(--bg);border-radius:22px;max-width:560px;width:100%;max-height:90dvh;overflow:auto;padding:18px;box-shadow:0 20px 50px #0000004d;display:grid;gap:12px}.modal h2{margin:0;font-size:1.2em;display:flex;gap:8px;align-items:center}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:99px;font-weight:700;z-index:60;box-shadow:var(--sh);animation:fadeIn .2s;max-width:92vw;text-align:center}.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pick{border-radius:16px;background:var(--paper);box-shadow:var(--sh);padding:8px;display:grid;place-items:center;gap:2px;min-height:64px;border:3px solid transparent;font-weight:700;font-size:.9em}.pick img{width:72px;height:72px;object-fit:contain}.pick.on{border-color:var(--mint);background:var(--mint-2)}.pick .pic{width:40px;height:40px}.slots{display:grid;gap:10px}.slotcard{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--paper);box-shadow:var(--sh);text-align:left;min-height:72px}.slotcard img{width:56px;height:56px;object-fit:contain}.secret{display:inline-flex;gap:4px}.secret .pic{width:22px;height:22px}.island{position:relative;aspect-ratio:16 / 10;border-radius:var(--r);overflow:hidden;background:#a9dcc4 center / cover;box-shadow:var(--sh)}.island .spot{position:absolute;width:15%;aspect-ratio:1;transform:translate(-50%,-60%);display:grid;place-items:center;border-radius:50%}.island .spot.empty{border:3px dashed rgba(255,255,255,.85);background:#ffffff2e}.island .spot img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.shop .item{background:var(--paper);border-radius:16px;box-shadow:var(--sh);padding:8px;display:grid;justify-items:center;gap:2px;font-weight:700;font-size:.82em;min-height:120px;border:3px solid transparent}.shop .item img{width:64px;height:64px;object-fit:contain}.shop .item.own{border-color:var(--mint)}.shop .item.sel{border-color:var(--sky);background:var(--sky-2)}.seedbox{display:inline-flex;gap:6px;align-items:center;font-weight:800;background:var(--mint-2);color:#2d775f;padding:6px 12px;border-radius:99px;min-height:40px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{min-height:44px;padding:6px 14px;border-radius:99px;background:var(--paper);box-shadow:var(--sh);font-weight:800}.tabs button.on{background:var(--ink);color:#fff}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:99px;background:var(--paper);box-shadow:var(--sh);font-weight:700;font-size:.9em;min-height:40px;display:inline-flex;align-items:center}.chip.off{background:#efe7db;color:#b4a596;box-shadow:none}.listbtn{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:14px;background:var(--paper);box-shadow:var(--sh);min-height:56px;width:100%;font-weight:700}.listbtn img{width:44px;height:44px;object-fit:contain}.listbtn.off{opacity:.5}.mission{background:linear-gradient(135deg,#fff4dc,#ffe6d9);text-align:center;display:grid;gap:10px}.mission .big{font-size:1.3em;font-weight:900}.stamp{width:110px;height:110px;margin:0 auto;border-radius:50%;border:6px double var(--coral);color:var(--coral);display:grid;place-items:center;font-weight:900;font-size:1.2em;transform:rotate(-12deg);animation:stampIn .5s cubic-bezier(.2,1.6,.5,1)}@keyframes stampIn{0%{transform:scale(2.4) rotate(-30deg);opacity:0}}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week i{aspect-ratio:1;border-radius:12px;background:#efe3d2;display:grid;place-items:center;font-style:normal;font-size:.75em;font-weight:800;color:var(--dim)}.week i.on{background:var(--coral);color:#fff}.week i.rest{background:var(--sky-2);color:var(--sky)}.duo{display:grid;grid-template-rows:auto auto;gap:8px}.duo .half{background:var(--paper);border-radius:var(--r);box-shadow:var(--sh);padding:10px;display:grid;gap:8px;align-content:start;justify-items:center}.duo .half.flip{transform:rotate(180deg)}.seawrap{position:relative;padding:22px 34px}.seawrap .edge{position:absolute;display:flex;align-items:center;gap:2px;font-size:12px;font-weight:700;color:var(--ink-2, #5b4a3a)}.seawrap .edge .ic{width:16px;height:16px}.seawrap .edge.up{top:0;left:50%;transform:translate(-50%)}.seawrap .edge.down{bottom:0;left:50%;transform:translate(-50%)}.seawrap .edge.left{left:0;top:50%;transform:translateY(-50%);flex-direction:column}.seawrap .edge.right{right:0;top:50%;transform:translateY(-50%);flex-direction:column}.sea{display:grid;gap:3px;width:min(72vw,300px,30vh);aspect-ratio:1;background:#8fcbe8;padding:4px;border-radius:12px}.sea i{border-radius:6px;background:#b7e0f2;display:grid;place-items:center;font-style:normal}.sea i.rock{background:#8a8f99}.sea i.path{background:#f6e8b5}.sea i.light{background:#fff3b0}.sea i.boat{background:#e9775c}.sea i .ic{width:70%;height:70%;color:#fff}.pad{display:grid;grid-template-columns:repeat(3,64px);gap:6px}.pad button small{font-size:11px;font-weight:700;color:var(--sky)}.pad button{min-height:60px;gap:0;border-radius:14px;background:var(--sky-2);box-shadow:var(--sh);display:grid;place-items:center}.pad button .ic{width:28px;height:28px;color:var(--sky)}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:320px;margin:0 auto}.numpad button{min-height:60px;border-radius:14px;background:var(--paper);box-shadow:var(--sh);font-size:1.3em;font-weight:900}.codebox{font-size:2em;font-weight:900;letter-spacing:.25em;text-align:center;background:var(--paper);border-radius:16px;padding:10px;box-shadow:inset 0 2px 6px #00000014;min-height:64px;font-variant-numeric:tabular-nums}.board{min-height:60dvh;border-radius:var(--r);background:linear-gradient(160deg,#2f5d50,#2b4b5f);color:#fff;position:relative;overflow:hidden;padding:18px}.board h2{margin:0;font-size:1.6em}.board .code{font-size:3.2em;font-weight:900;letter-spacing:.2em}.board .rain{position:absolute;inset:0;pointer-events:none;overflow:hidden}.board .fly{position:absolute;top:-140px;max-width:280px;background:#fffdf3;color:var(--ink);border-radius:14px;padding:10px 12px;font-weight:700;font-size:.95em;box-shadow:0 8px 20px #0000004d;animation:drop 7s linear forwards}@keyframes drop{to{transform:translateY(calc(70dvh + 200px)) rotate(var(--rot, 4deg))}}.board .who{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.board .who i{width:38px;height:38px;border-radius:10px;background:#ffffff2e;display:grid;place-items:center;font-style:normal;font-weight:900}.board .who i.in{background:#7fd2a9;color:#123}.cloudbar{display:flex;gap:8px;align-items:flex-end;height:160px;margin-top:10px}.cloudbar div{flex:1;background:#ffffffd9;border-radius:12px 12px 4px 4px;color:var(--ink);font-weight:800;font-size:.8em;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;padding:4px 2px;min-height:24px}body.board-mode #app{max-width:1600px}@media(max-width:560px){.pin{min-width:48px;min-height:48px;padding:3px 5px;font-size:12px;border-radius:14px;gap:0}.pin .dot{width:22px;height:22px}.pin>span:last-child{display:none}}.gbs{position:fixed;inset:0;z-index:900;display:block;font-family:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation}.gbs[hidden]{display:none}.gbs-dim{position:absolute;inset:0;background:linear-gradient(to top,#0a0614c7,#0a061459 45%,#0a061426)}.gbs-stage{position:absolute;left:0;right:0;bottom:0;height:100%;pointer-events:none}.gbs-face{position:absolute;bottom:calc(clamp(118px,26vh,190px) - 14px);height:min(62vh,520px);max-width:52vw;object-fit:contain;object-position:bottom;filter:brightness(.55) saturate(.8);transform:translateY(6px) scale(.97);transition:filter .18s,transform .18s}.gbs-face[hidden]{display:none}.gbs-face.left{left:max(2vw,8px);transform-origin:bottom left}.gbs-face.right{right:max(2vw,8px);transform-origin:bottom right}.gbs-face.speaking{filter:none;transform:none}.gbs-face.pop{animation:gbs-pop .22s ease-out}@keyframes gbs-pop{0%{transform:translateY(14px) scale(.94);opacity:.4}to{transform:none;opacity:1}}.gbs-box{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(860px,calc(100vw - 24px));min-height:clamp(104px,22vh,170px);box-sizing:border-box;padding:26px 22px 18px;border-radius:20px;background:var(--gbs-box, rgba(34, 22, 52, .95));color:var(--gbs-ink, #fff6e6);box-shadow:0 0 0 3px var(--gbs-accent, rgba(255, 214, 107, .75)),0 14px 34px #00000073}.gbs-name{position:absolute;left:18px;top:-18px;padding:5px 16px;border-radius:12px;background:var(--c, #ffd66b);color:#2a1a3d;font-weight:800;font-size:17px}.gbs-name[hidden]{display:none}.gbs-text{font-size:clamp(18px,2.6vw,23px);line-height:1.55;font-weight:700;min-height:2.2em;white-space:pre-line;word-break:keep-all}.gbs.narr .gbs-text{font-style:italic;color:var(--gbs-narr, #e5d8ff);text-align:center}.gbs-next{position:absolute;right:18px;bottom:10px;width:14px;height:14px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);opacity:0}.gbs.ready .gbs-next{opacity:.85;animation:gbs-bob .9s ease-in-out infinite}@keyframes gbs-bob{50%{translate:0 4px}}.gbs-choices{display:flex;flex-direction:column;gap:10px;margin-top:10px}.gbs-choices:empty{display:none}.gbs-choice{min-height:52px;border-radius:14px;border:2px solid var(--gbs-accent, #ffd66b);background:#ffffff14;color:inherit;font:inherit;font-size:19px;font-weight:800;cursor:pointer}.gbs-choice:hover,.gbs-choice:focus-visible{background:#ffd66b38;outline:none}.gbs.choosing .gbs-box{min-height:0;padding:16px}.gbs.choosing .gbs-text:empty{display:none}.gbs.choosing .gbs-text:empty+.gbs-choices{margin-top:0}.gbs.choosing .gbs-next{display:none}.gbs-tools{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;display:flex;gap:8px}.gbs-btn{min-height:44px;min-width:44px;padding:0 14px;border-radius:12px;border:0;background:#221634d9;color:#fff6e6;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.gbs-log{position:absolute;inset:8% 6%;z-index:2;padding:18px;border-radius:18px;background:#140c22f5;color:#fff6e6;display:flex;flex-direction:column;gap:10px}.gbs-log[hidden]{display:none}.gbs-log-in{flex:1;overflow:auto;font-size:17px;line-height:1.6}.gbs-log-in b{color:var(--gbs-accent, #ffd66b)}.gbs.out{opacity:0;transition:opacity .18s}@media(max-aspect-ratio:3/4){.gbs-face{height:min(46vh,420px);max-width:64vw}.gbs-face.left{left:-4vw}.gbs-face.right{right:-4vw}}@media(prefers-reduced-motion:reduce){.gbs-face,.gbs-face.pop,.gbs.ready .gbs-next{animation:none;transition:none}}.gbj-layer{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.gbj-pop{position:absolute;transform:translate(-50%,-50%) scale(var(--s));font:900 22px/1 system-ui,sans-serif;text-shadow:0 2px 0 #0008,0 0 12px currentColor;white-space:nowrap;animation:gbjPop .9s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes gbjPop{0%{opacity:0;transform:translate(-50%,-50%) scale(calc(var(--s)*.3))}15%{opacity:1;transform:translate(-50%,-80%) scale(calc(var(--s)*1.35))}35%{transform:translate(calc(-50% + var(--dx)),-120%) scale(var(--s))}to{opacity:0;transform:translate(calc(-50% + var(--dx)),-260%) scale(calc(var(--s)*.9))}}.gbj-punch{animation:gbjPunch .32s cubic-bezier(.2,2,.4,1)}@keyframes gbjPunch{0%{transform:scale(1)}30%{transform:scale(var(--gbj-p))}to{transform:scale(1)}}.gbj-flash{position:absolute;inset:0;opacity:0}.gbj-flash.gbj-go{animation:gbjFlash .35s ease-out forwards}@keyframes gbjFlash{to{opacity:0}}.gbj-banner{position:absolute;left:50%;top:var(--gbj-banner-top,40%);transform:translate(-50%,-50%);font:900 clamp(20px,6.4vw,40px)/1.1 system-ui,sans-serif;text-align:center;opacity:0;text-shadow:0 3px 0 #000a,0 0 24px currentColor;max-width:76vw;width:max-content}.gbj-banner.gbj-go{animation:gbjBan var(--d,1.4s) cubic-bezier(.2,1.5,.4,1) forwards}@keyframes gbjBan{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-8deg)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.25) rotate(2deg)}30%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%) scale(1.05)}}.gbj-squash,.gbj-knock,.gbj-hitflash{animation:var(--gbj-a1,none),var(--gbj-a2,none),var(--gbj-a3,none)}.gbj-squash{--gbj-a1:gbjSquash .28s cubic-bezier(.2,2.2,.4,1)}@keyframes gbjSquash{0%{transform:scale(1)}25%{transform:scale(1.3,.7)}55%{transform:scale(.88,1.12)}to{transform:scale(1)}}.gbj-knock{--gbj-a2:gbjKnock .4s cubic-bezier(.2,1.8,.4,1)}@keyframes gbjKnock{0%{translate:0 0}25%{translate:var(--kx,14px) var(--ky,0)}60%{translate:calc(var(--kx,14px)*-.25) calc(var(--ky,0px)*-.25)}to{translate:0 0}}.gbj-shake{animation:gbjShake .3s linear}@keyframes gbjShake{0%,to{translate:0 0}20%{translate:calc(var(--sh,5px)*-1) var(--sh,5px)}40%{translate:var(--sh,5px) calc(var(--sh,5px)*-.6)}60%{translate:calc(var(--sh,5px)*-.6) calc(var(--sh,5px)*-.4)}80%{translate:calc(var(--sh,5px)*.4) calc(var(--sh,5px)*.3)}}.gbj-hitflash{--gbj-a3:gbjWhite .16s steps(1,end)}@keyframes gbjWhite{0%{filter:brightness(0) invert(1)}to{filter:none}}@media(prefers-reduced-motion:reduce){.gbj-pop,.gbj-banner.gbj-go,.gbj-punch,.gbj-squash,.gbj-knock,.gbj-shake,.gbj-hitflash{animation-duration:.01s}}
