@font-face{font-family:Sora;src:url(../fonts/Sora-VF.subset.woff2)format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:Figtree;src:url(../fonts/Figtree-VF.subset.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(../fonts/NotoSansSC-VF.subset.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--sky:#2a43b8;--sky-deep:#16246e;--ink:#111b46;--cloud:#f7f8fc;--mist:#ecf0ffc7;--ribbon:#d8323f;--ribbon-soft:#ff6b6f;--glass:#14215c61;--glass-strong:#101a4ea3;--line:#ffffff42;--line-strong:#ffffff9e;--display:"Noto Sans SC", "Sora", system-ui, sans-serif;--body:"Noto Sans SC", "Figtree", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--ease:cubic-bezier(.22, .8, .26, 1)}:root:lang(en){--display:"Sora", "Noto Sans SC", system-ui, sans-serif;--body:"Figtree", "Noto Sans SC", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body{background:radial-gradient(120% 90% at 30% 10%, #3552cc 0%, var(--sky) 45%, var(--sky-deep) 100%);width:100%;height:100%;color:var(--cloud);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#game{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}button{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--line-strong);outline-offset:3px}.screen{opacity:0;visibility:hidden;transition:opacity .7s var(--ease), visibility 0s linear .7s;position:fixed;inset:0}.screen.is-active{opacity:1;visibility:visible;transition:opacity .7s var(--ease), visibility 0s}.screen.is-active :is(button,input,label){pointer-events:auto}.screen-boot{background:radial-gradient(120% 90% at 30% 10%, #3552cc 0%, var(--sky) 45%, var(--sky-deep) 100%);pointer-events:auto;place-content:center;justify-items:center;gap:22px;display:grid}.boot-title{font-family:var(--display);letter-spacing:.5em;text-shadow:0 2px 30px #0a145066;margin-right:-.5em;font-size:clamp(30px,5vw,46px);font-weight:200}.boot-bar{background:#ffffff2e;border-radius:2px;width:min(240px,60vw);height:2px;overflow:hidden}.boot-bar i{background:linear-gradient(90deg, var(--cloud), var(--ribbon-soft));transform-origin:0;height:100%;transition:transform .5s var(--ease);display:block;transform:scaleX(.04)}.boot-label{letter-spacing:.2em;opacity:.72;font-size:13px}.title-shade{background:linear-gradient(90deg,#0c164e80 0%,#0c164e2e 34%,#0c164e00 58%),linear-gradient(#0c164e00 70%,#0c164e47 100%);position:absolute;inset:0}.title-block{left:calc(max(5.5vw, 28px) + var(--safe-l));max-width:min(520px,86vw);position:absolute;top:50%;transform:translateY(-50%)}.screen-title.is-active .title-block>*{animation:rise 1.4s var(--ease) both}.screen-title.is-active .title-block>:nth-child(2){animation-delay:80ms}.screen-title.is-active .title-block>:nth-child(3){animation-delay:.2s}.screen-title.is-active .title-block>:nth-child(4){animation-delay:.32s}.screen-title.is-active .title-block>:nth-child(5){animation-delay:.46s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title-mark{width:132px;height:18px;margin-bottom:18px;position:relative}.title-mark:before,.title-mark i{content:"";border-radius:4px;height:4px;position:absolute;top:7px}.title-mark:before{background:var(--ribbon);width:38px;left:0;box-shadow:0 0 18px #d8323f8c}.title-mark i{background:linear-gradient(90deg, var(--ribbon), #d8323f00);clip-path:polygon(0 0,100% 20%,84% 50%,100% 80%,0 100%);transform-origin:0;width:98px;height:6px;animation:3.6s ease-in-out infinite flutter;top:6px;left:34px}@keyframes flutter{0%,to{transform:rotate(-2deg)scaleX(1)}50%{transform:rotate(3deg)scaleX(.9)}}.title-name{font-family:var(--display);letter-spacing:.16em;text-shadow:0 4px 40px #08124673;margin:0;font-size:clamp(52px,8.4vw,112px);font-weight:250;line-height:1.04}:lang(en) .title-name{letter-spacing:.03em;font-weight:300}.title-sub{letter-spacing:.62em;opacity:.8;margin:14px 0 0 4px;font-size:13px}.title-tagline{letter-spacing:.08em;max-width:25em;color:var(--mist);text-shadow:0 1px 14px #0812468c;margin:26px 0 36px 2px;font-size:clamp(15px,1.3vw,17px);line-height:1.9}:lang(en) .title-tagline{letter-spacing:.02em}.title-foot{left:calc(max(5.5vw, 28px) + var(--safe-l));bottom:calc(18px + var(--safe-b));letter-spacing:.06em;opacity:.5;font-size:11px;position:absolute}.menu{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.menu-row{flex-direction:row;justify-content:center;margin-top:26px}.btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px)saturate(1.2);min-width:212px;font-family:var(--display);letter-spacing:.22em;text-align:left;cursor:pointer;transition:transform .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease), padding .35s var(--ease);border-radius:999px;padding:14px 30px 14px 28px;font-size:16px;font-weight:400;position:relative}:lang(en) .btn{letter-spacing:.05em}.btn:before{content:"";background:var(--ribbon);width:0;height:2px;transition:width .35s var(--ease);border-radius:2px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.btn:hover,.btn:focus-visible{border-color:var(--line-strong);background:#1e2e7880;outline:none;padding-left:42px}.btn:hover:before,.btn:focus-visible:before{width:16px}.btn:active{transform:scale(.98)}.btn-primary{color:var(--ink);background:#fafbfff0;border-color:#ffffffe6;font-weight:500;box-shadow:0 10px 34px #08124647}.btn-primary:hover,.btn-primary:focus-visible{background:#fff;box-shadow:0 14px 40px #08124657,0 0 0 4px #ffffff29}.account{letter-spacing:.04em;align-items:center;gap:10px;font-size:13px;display:flex}.account-corner{top:calc(20px + var(--safe-t));right:calc(22px + var(--safe-r));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:6px;position:absolute}.screen-title.is-active .account-corner{animation:rise 1.2s var(--ease) .6s both}.account-corner:is([data-status=loading],[data-status=offline],[data-status=pending]){padding:8px 16px}.account-inline{border-top:1px solid var(--line);justify-content:center;margin-top:24px;padding-top:18px}.account-login{cursor:pointer;letter-spacing:.08em;transition:background .3s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:9px;padding:8px 16px 8px 10px;display:flex}.account-login:hover,.account-login:focus-visible{background:#ffffff24}.account-mark{background:conic-gradient(from 210deg, var(--cloud), #b9c6ff, var(--cloud));border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 5px #14215cbf}.account-avatar{background:var(--cloud);width:32px;height:32px;color:var(--ink);font-family:var(--display);border-radius:50%;place-items:center;font-size:14px;font-weight:600;display:grid}.account-text{padding-right:4px;line-height:1.25;display:grid}.account-text small{opacity:.7;font-size:11px}.account-text b{text-overflow:ellipsis;white-space:nowrap;max-width:14em;font-weight:500;overflow:hidden}.account-link{border:1px solid var(--line);cursor:pointer;transition:background .3s var(--ease);background:0 0;border-radius:999px;padding:6px 12px;font-size:12px}.account-link:hover,.account-link:focus-visible{background:#ffffff24}.account-status{opacity:.75}.reticle{background:#ffffff8c;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #0a144666}body[data-input=touch] .reticle{display:none}.hint{left:50%;bottom:calc(30px + var(--safe-b));opacity:0;width:max-content;max-width:92vw;transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:absolute;transform:translate(-50%,8px)}.note-key{right:calc(22px + var(--safe-r));bottom:calc(24px + var(--safe-b));border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);white-space:nowrap;opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);pointer-events:none;background:#0e1a5457;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex;position:absolute;transform:translateY(6px)}.note-key.is-active{opacity:.92;transform:none}.note-key kbd{color:#1b2a6b;min-width:24px;height:24px;font-family:var(--display);background:#ffffffe6;border-radius:7px;place-items:center;padding:0 6px;font-size:12px;font-weight:600;display:grid}.note-key span{font-family:var(--display);letter-spacing:.1em;text-shadow:0 1px 8px #08124699;font-size:13px}:lang(en) .note-key span{letter-spacing:.03em}body[data-input=touch] .note-key{display:none}@media (max-width:900px){.note-key{bottom:calc(78px + var(--safe-b))}}.hint.is-active{opacity:1;transform:translate(-50%)}.hint span{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);letter-spacing:.08em;white-space:pre;border-radius:999px;padding:7px 14px;font-size:13px}.caption{text-align:center;opacity:0;filter:blur(6px);width:max-content;max-width:86vw;transition:opacity 1.6s var(--ease), filter 1.6s var(--ease);position:absolute;top:68%;left:50%;transform:translate(-50%)}.caption.is-active{opacity:1;filter:none}.caption span{font-family:var(--display);letter-spacing:.24em;text-shadow:0 2px 18px #081246b3,0 0 2px #0812468c;font-size:clamp(17px,1.8vw,24px);font-weight:300}:lang(en) .caption span{letter-spacing:.05em;font-style:italic}.hud-pause{top:calc(18px + var(--safe-t));right:calc(18px + var(--safe-r));border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;display:none;position:absolute}.hud-pause i{background:var(--cloud);border-radius:2px;width:4px;height:15px}body.has-touch .hud-pause{display:flex}.touch{display:none}body.has-touch .touch{display:block}.touch-stick{border:1px solid var(--line-strong);opacity:0;background:#14215c38;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .2s;position:absolute}.touch-stick.is-active{opacity:1}.touch-stick i{background:#fffc;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.touch-btn{border:1px solid var(--line-strong);background:var(--glass);-webkit-backdrop-filter:blur(10px);width:72px;height:72px;font-family:var(--display);letter-spacing:.1em;touch-action:none;border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute}.touch-btn.is-down{background:#fff6}.touch-jump{right:calc(26px + var(--safe-r));bottom:calc(34px + var(--safe-b))}.touch-sprint{right:calc(112px + var(--safe-r));bottom:calc(24px + var(--safe-b));width:58px;height:58px;font-size:13px}.screen-modal{pointer-events:auto;background:radial-gradient(90% 90%,#0c164e47,#0c164e8c);place-items:center;padding:24px;display:grid}.modal{border:1px solid var(--line);background:var(--glass-strong);-webkit-backdrop-filter:blur(22px)saturate(1.2);width:min(400px,100%);max-height:calc(100dvh - 48px);transition:transform .6s var(--ease);border-radius:28px;padding:34px 34px 30px;overflow:auto;transform:translateY(10px)scale(.985);box-shadow:0 30px 80px #060c3266}.screen-modal.is-active .modal{transform:none}.modal-wide{width:min(900px,100%)}.modal-title{font-family:var(--display);letter-spacing:.3em;text-align:center;margin:0;font-size:30px;font-weight:300}:lang(en) .modal-title{letter-spacing:.06em}.modal-sub{text-align:center;letter-spacing:.14em;color:var(--mist);margin:10px 0 26px;font-size:14px}.modal .menu{align-items:stretch}.modal .menu .btn{text-align:center;min-width:0;padding-left:30px}.modal .menu .btn:before{display:none}.modal .menu-row .btn{min-width:180px}.settings-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px;display:grid}fieldset{border:1px solid var(--line);background:#ffffff0a;border-radius:18px;min-width:0;margin:0;padding:16px 18px 8px}legend{letter-spacing:.3em;opacity:.72;padding:0 8px;font-size:12px}:lang(en) legend{letter-spacing:.14em;text-transform:uppercase}.row{letter-spacing:.04em;justify-content:space-between;align-items:center;gap:12px;min-height:48px;font-size:14px;display:flex}.row>span:first-child{flex:1}input[type=range]{--fill:50%;appearance:none;cursor:pointer;background:0 0;width:118px;height:22px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--cloud) var(--fill), #fff3 var(--fill));border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--cloud) var(--fill), #fff3 var(--fill));border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-6px;transition:box-shadow .25s;box-shadow:0 2px 8px #060c3266}input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:16px;height:16px}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #d8323f99,0 2px 8px #060c3266}.toggle{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:13px;display:flex}.toggle i{width:40px;height:22px;transition:background .3s var(--ease);background:#fff3;border-radius:999px;position:relative}.toggle i:after{content:"";width:16px;height:16px;transition:transform .3s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle[aria-pressed=true] i{background:var(--ribbon)}.toggle[aria-pressed=true] i:after{transform:translate(18px)}.toggle span{text-align:left;opacity:.8;min-width:2em}.seg{background:#ffffff1a;border-radius:999px;padding:3px;display:flex}.seg button{letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:background .3s var(--ease), color .3s var(--ease);background:0 0;border:0;border-radius:999px;padding:6px 11px;font-size:12px}.seg button[aria-pressed=true]{background:var(--cloud);color:var(--ink)}.fatal{text-align:center;background:var(--sky-deep);pointer-events:auto;place-items:center;padding:24px;font-size:15px;line-height:1.7;display:grid;position:fixed;inset:0}@media (max-width:860px){.settings-grid{grid-template-columns:1fr}.modal-wide{width:min(460px,100%)}}@media (max-width:640px),(max-height:460px){.title-block{top:auto;bottom:calc(64px + var(--safe-b));transform:none}.title-shade{background:linear-gradient(#0c164e00 30%,#0c164e33 55%,#0c164e99 100%)}.title-tagline{margin:16px 0 22px}.title-mark{margin-bottom:10px}.btn{min-width:180px;padding:12px 24px;font-size:15px}.account-corner{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r))}.modal{padding:26px 22px 22px}}@media (max-height:460px){.title-block{bottom:calc(40px + var(--safe-b))}.title-name{font-size:44px}.title-tagline{display:none}.title-sub{margin-bottom:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.2s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.stars{top:calc(24px + var(--safe-t));left:calc(26px + var(--safe-l));pointer-events:none;transition:opacity .5s var(--ease);gap:8px;display:flex;position:absolute}.stars i{width:14px;height:14px;transition:transform 1.2s var(--ease), filter 1.2s var(--ease);position:relative}.stars i:before{content:"";clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);transition:background 1.2s var(--ease);background:#ffffff57;position:absolute;inset:0}.stars i.is-lit{filter:drop-shadow(0 0 4px #ffd282f2);transform:scale(1.3)}.stars i.is-lit:before{background:#ffe4a6}.prompt{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);white-space:nowrap;opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);pointer-events:none;background:#0e1a546b;border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 7px;display:flex;position:absolute;top:calc(50% + 30px);left:50%;transform:translate(-50%,6px)}.prompt.is-active{opacity:1;transform:translate(-50%)}.prompt kbd{color:#1b2a6b;min-width:26px;height:26px;font-family:var(--display);background:#ffffffeb;border-radius:8px;place-items:center;padding:0 6px;font-size:13px;font-weight:600;display:grid}.prompt span{font-family:var(--display);letter-spacing:.12em;text-shadow:0 1px 8px #08124699;font-size:15px}:lang(en) .prompt span{letter-spacing:.03em}body[data-input=touch] .prompt kbd{display:none}body[data-input=touch] .prompt{padding-left:16px}.talk{left:50%;bottom:calc(40px + var(--safe-b));border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);opacity:0;width:min(720px,100vw - 48px);transition:opacity .45s var(--ease), transform .45s var(--ease);pointer-events:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#16246899,#0c1546c2);border-radius:20px;padding:20px 30px 24px;position:absolute;transform:translate(-50%,14px);box-shadow:0 20px 60px #060c3061}.talk.is-active{opacity:1;pointer-events:auto;transform:translate(-50%)}.talk-name{border-bottom:2px solid var(--ribbon);font-family:var(--display);letter-spacing:.32em;color:#ffe0da;margin-bottom:10px;padding-bottom:5px;font-size:13px;display:inline-block}.talk.is-narration .talk-name{display:none}.talk-text{min-height:3.6em;font-family:var(--display);letter-spacing:.08em;margin:0;font-size:clamp(16px,1.55vw,20px);line-height:1.8}:lang(en) .talk-text{letter-spacing:.01em;line-height:1.6}.talk.is-narration .talk-text{color:#f0f3ffeb;font-weight:300}:lang(en) .talk.is-narration .talk-text{font-style:italic}.talk-next{opacity:0;border-top:8px solid #ffffffd9;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:opacity .3s;position:absolute;bottom:16px;right:22px}.talk.is-done .talk-next{opacity:1;animation:1.2s ease-in-out infinite talk-next}@keyframes talk-next{50%{transform:translateY(4px)}}body[data-talking] .caption,body[data-talking] .hint,body[data-talking] .reticle,body[data-talking] .stars{opacity:0!important}body[data-input=touch] .talk{top:calc(14px + var(--safe-t));width:min(620px,100vw - 150px);padding:14px 22px 18px;bottom:auto}body[data-input=touch] .talk-text{min-height:3.2em;font-size:15px}.touch-talk{right:calc(33px + var(--safe-r));bottom:calc(122px + var(--safe-b));opacity:0;pointer-events:none;width:60px;height:60px;transition:opacity .3s var(--ease), transform .3s var(--ease);background:#d6403a80;font-size:13px;transform:scale(.8)}body[data-focus] .touch-talk,body[data-talking] .touch-talk{opacity:1;pointer-events:auto;transform:none}@media (prefers-reduced-motion:reduce){.talk.is-done .talk-next{animation:none}}.title-namefield{max-width:340px;margin:-12px 0 26px 2px;display:block}.namefield-label{letter-spacing:.18em;color:var(--cloud);text-shadow:0 1px 12px #08124680;margin-bottom:10px;font-size:14px;display:block}:lang(en) .namefield-label{letter-spacing:.04em}.name-input{box-sizing:border-box;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px)saturate(1.2);color:#fff;width:100%;font-family:var(--body);letter-spacing:.12em;caret-color:var(--ribbon-soft);transition:border-color .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);border-radius:999px;outline:none;padding:12px 24px;font-size:17px;display:block}:lang(en) .name-input{letter-spacing:.03em}.name-input::placeholder{color:#ecf0ff80}.name-input:hover{border-color:var(--line-strong)}.name-input:focus,.name-input:focus-visible{border-color:var(--line-strong);background:#1e2e7880;box-shadow:0 0 0 4px #ffffff1f}.namefield-hint{letter-spacing:.1em;color:var(--mist);opacity:.85;margin-top:9px;padding-left:24px;font-size:12.5px;display:block}:lang(en) .namefield-hint{letter-spacing:.02em}.screen-title.is-active .title-block>:nth-child(6){animation-delay:.6s}@media (max-width:640px),(max-height:460px){.title-namefield{max-width:min(300px,80vw);margin:-6px 0 18px}.name-input{padding:10px 20px;font-size:16px}}@media (max-height:460px){.title-namefield{margin:0 0 14px}.namefield-label{margin-bottom:6px;font-size:13px}.namefield-hint{display:none}}.presence{top:calc(48px + var(--safe-t));left:calc(22px + var(--safe-l));border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);color:#ffffffe6;font:500 12px/1.3 var(--body);letter-spacing:.03em;pointer-events:none;transition:opacity .5s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:4px 11px 4px 9px;display:flex;position:absolute}.presence[data-status=idle]{opacity:0}.presence i{background:#ffffff80;border-radius:50%;width:7px;height:7px}.presence[data-status=online] i{background:#a6ecb0;animation:2.6s ease-in-out infinite presence-pulse;box-shadow:0 0 8px #a6ecb0}.presence[data-status=connecting] i{background:#ffe29a;animation:1s ease-in-out infinite presence-pulse}@keyframes presence-pulse{50%{opacity:.35}}body[data-talking] .presence{opacity:0}.touch-note{right:calc(116px + var(--safe-r));bottom:calc(104px + var(--safe-b));width:52px;height:52px;font-size:13px}.notepad{z-index:40;padding:calc(14px + var(--safe-t)) calc(14px + var(--safe-r)) calc(14px + var(--safe-b)) calc(14px + var(--safe-l));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease), visibility 0s linear .35s;background:radial-gradient(#0c14403d,#0c144094);place-items:center;display:grid;position:absolute;inset:0}.notepad.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s var(--ease)}.notepad [hidden]{display:none!important}.np-card{width:min(440px,100%);max-height:100%;color:var(--ink);transition:transform .45s var(--ease);background:#fbf8effa;border-radius:22px;flex-direction:column;gap:10px;padding:18px 18px 16px;display:flex;transform:translateY(14px)scale(.98);box-shadow:0 24px 64px #080e3661,inset 0 0 0 1px #ffffffb3}.notepad.is-open .np-card{transform:none}.np-title{font:600 18px/1.3 var(--display);letter-spacing:.04em;margin:0}.np-sub{font:400 13px/1.55 var(--body);color:#111b46a3;margin:4px 0 0}.np-sheet-wrap{aspect-ratio:1;background-color:#fffdf7;background-image:radial-gradient(#111b4617 1px,#0000 1.3px);background-size:16px 16px;border-radius:14px;align-self:center;width:min(100%,50vh);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #111b461f,inset 0 2px 12px #111b460f}.np-sheet{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.notepad:not([data-mode=draw]) .np-sheet{cursor:default}.np-gate{text-align:center;background:#fffdf7eb;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:none;position:absolute;inset:0}.notepad[data-mode=login] .np-gate{display:flex}.np-gate-text{max-width:260px;font:500 14px/1.65 var(--body);margin:0}.np-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notepad:not([data-mode=draw]) .np-tools,.notepad:not([data-mode=draw]) .np-meter,.notepad:not([data-mode=draw]) [data-np=save]{display:none}.np-inks,.np-widths{gap:7px;display:flex}.np-ink{background:var(--ink);cursor:pointer;width:26px;height:26px;transition:transform .2s var(--ease);border:0;border-radius:50%;padding:0}.np-ink.is-on{outline-offset:2px;outline:2px solid #111b468c;transform:scale(1.08)}.np-width{cursor:pointer;background:0 0;border:1px solid #111b4624;border-radius:9px;place-items:center;width:30px;height:30px;padding:0;display:grid}.np-width i{width:var(--w);height:var(--w);background:#111b46c7;border-radius:50%}.np-width.is-on{background:#111b4614;border-color:#111b4673}.np-tool{color:var(--ink);font:500 13px/1 var(--body);cursor:pointer;background:0 0;border:1px solid #111b4629;border-radius:9px;padding:6px 11px}.np-tools .np-tool:first-of-type{margin-left:auto}.np-meter{background:#111b461a;border-radius:2px;height:3px;overflow:hidden}.np-meter i{background:var(--ribbon);transform-origin:0;height:100%;transition:transform .2s linear;display:block}.np-msg{min-height:1.4em;font:500 13px/1.4 var(--body);color:var(--ribbon);margin:0}.np-actions{justify-content:flex-end;gap:10px;display:flex}.np-btn{color:var(--ink);font:500 14px/1 var(--body);letter-spacing:.04em;cursor:pointer;transition:background .2s var(--ease), transform .15s var(--ease);background:0 0;border:1px solid #111b4633;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.np-btn:hover{background:#111b460f}.np-btn:active{transform:scale(.97)}.np-primary{border-color:var(--ribbon);background:var(--ribbon);color:#fff}.np-primary:hover{background:#c42a36}.notepad button:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.notepad.is-busy .np-actions,.notepad.is-busy .np-tools{opacity:.55;pointer-events:none}@media (max-height:520px) and (orientation:landscape){.np-card{grid-template-rows:auto auto auto 1fr auto;grid-template-columns:auto 1fr;gap:8px 16px;width:min(660px,100%);padding:14px;display:grid}.np-sheet-wrap{grid-area:1/1/-1;width:min(76vh,300px)}.np-head,.np-tools,.np-meter,.np-msg,.np-actions{grid-column:2}.np-sub{font-size:12px}.np-actions{align-self:end}}.title-presence{letter-spacing:.02em;color:#ffffffdb;text-shadow:0 1px 8px #14285a59;align-items:center;gap:9px;max-width:30em;margin:16px 0 0;font-size:13px;line-height:1.45;display:flex}.title-presence[hidden]{display:none}.title-presence i{background:#7fe08a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px #7fe08a38}.title-presence[data-count="0"] i{background:#dfe8ff;box-shadow:0 0 0 3px #dfe8ff33}@media (prefers-reduced-motion:no-preference){.title-presence:not([data-count="0"]) i{animation:2.4s ease-in-out infinite title-presence-pulse}}@keyframes title-presence-pulse{50%{box-shadow:0 0 0 6px #7fe08a0f}}.like-toast{top:calc(20px + var(--safe-t));border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);color:#fff;white-space:nowrap;opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);pointer-events:none;background:#0e1a547a;border-radius:999px;align-items:center;gap:12px;padding:8px 16px 8px 11px;display:flex;position:absolute;left:50%;transform:translate(-50%,-10px)scale(.96)}.like-toast.is-active{opacity:1;transform:translate(-50%)scale(1)}.like-heart{flex:none;place-items:center;width:30px;height:30px;display:grid;position:relative}.like-heart svg{fill:#ff6f8e;filter:drop-shadow(0 0 8px #ff6f8ea6);width:26px;height:26px}.like-toast.is-active .like-heart>svg{animation:like-beat 1.1s var(--ease) 2}.like-heart s{opacity:0;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%;left:50%}.like-heart s svg{fill:#ffb3c4;filter:none;width:12px;height:12px}.like-toast.is-active .like-heart s{animation:1.8s ease-out forwards like-float}.like-toast.is-active .like-heart s:nth-of-type(2){--drift:-14px;animation-delay:.25s}.like-toast.is-active .like-heart s:nth-of-type(3){--drift:13px;animation-delay:.5s}@keyframes like-beat{0%,to{transform:scale(1)}18%{transform:scale(1.28)}36%{transform:scale(.94)}52%{transform:scale(1.14)}}@keyframes like-float{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(var(--drift,2px), -34px) scale(1)}}.like-text{flex-direction:column;gap:2px;display:flex}.like-text b{font:600 15px/1.25 var(--display);letter-spacing:.08em;text-shadow:0 1px 8px #0812468c}:lang(en) .like-text b{letter-spacing:.02em}.like-text span{font:500 12px/1.3 var(--body);letter-spacing:.06em;color:#ffffffd1}.like-text span:empty{display:none}.like-arrow{background:#ffffff24;border-radius:50%;flex:none;width:26px;height:26px;position:relative}.like-arrow:before{content:"";border-bottom:10px solid #ffd0db;border-left:6px solid #0000;border-right:6px solid #0000;margin-left:-6px;position:absolute;top:4px;left:50%}.like-arrow[hidden]{display:none}.presence-likes{font:600 12px/1 var(--body);border-left:1px solid #ffffff38;align-items:center;gap:4px;margin-left:2px;padding-left:8px;display:inline-flex}.presence-likes[hidden]{display:none}.presence-likes svg{fill:#ff7f9b;width:12px;height:12px}.presence-likes em{font-style:normal}.presence-likes.is-pop svg{animation:like-beat .9s var(--ease)}@media (prefers-reduced-motion:reduce){.like-toast.is-active .like-heart>svg,.like-toast.is-active .like-heart s,.presence-likes.is-pop svg{animation:none}}@media (max-width:640px){.like-toast{top:calc(82px + var(--safe-t))}}
