:root{--bg:#04060b;--panel:#0a0f1cb8;--line:#78aaff33;--text:#e6f0ff;--dim:#7f90b3;--cyan:#19e3ff;--violet:#8b5cff;--magenta:#ff3df2;--green:#3dffa1;--font:"Segoe UI", Inter, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;overflow:hidden}.webgl{touch-action:none;outline:none;width:100%;height:100%;position:fixed;inset:0}.hidden{display:none!important}body:after{content:"";pointer-events:none;z-index:5;background:radial-gradient(at 50% 45%,#0000 52%,#0203089e 100%);position:fixed;inset:0}.hud{padding:calc(14px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) 0 calc(18px + env(safe-area-inset-left));pointer-events:none;z-index:20;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.brand{font-family:var(--mono);letter-spacing:.12em;color:var(--text);text-shadow:0 0 18px #19e3ff80;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.brand .dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 12px var(--green);border-radius:50%;animation:2.4s ease-in-out infinite pulse}.brand .slash{color:var(--cyan)}.hud-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.chip{font:600 12px var(--mono);letter-spacing:.04em;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:9px 14px;transition:border-color .2s,box-shadow .2s,transform .2s}.chip:hover,.chip:focus-visible{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan), 0 0 24px #19e3ff40;outline:none}.chip:active{transform:scale(.97)}#labels{pointer-events:none;z-index:10;position:fixed;inset:0}.label{font:600 13px var(--font);color:var(--text);background:var(--panel);white-space:nowrap;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);will-change:transform;border:1px solid #19e3ff80;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 8px;transition:opacity .3s,border-color .2s,box-shadow .2s;display:none;position:absolute;top:0;left:0;box-shadow:0 0 22px #19e3ff2e}.label.on{animation:.6s both labelIn;display:inline-flex}.label:hover,.label:focus-visible{border-color:var(--magenta);outline:none;box-shadow:0 0 28px #ff3df259}.label .n{font:700 11px var(--mono);color:#04060b;background:var(--cyan);border-radius:999px;padding:3px 7px}.dock{left:50%;bottom:calc(54px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);z-index:20;border-radius:999px;gap:6px;max-width:calc(100vw - 24px);padding:6px;display:flex;position:fixed;overflow-x:auto;transform:translate(-50%)}.dock-btn{font:600 13px var(--font);color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:9px 16px;transition:color .2s,background .2s}.dock-btn:hover,.dock-btn:focus-visible{color:var(--text);outline:none}.actions a.dock-btn{color:var(--text);text-decoration:none;display:inline-block}.cta.alt{border-color:var(--magenta);margin-top:6px;font-size:13px;box-shadow:0 0 24px #ff3df233}.dock-btn.active{color:var(--text);background:#19e3ff29;box-shadow:inset 0 0 0 1px #19e3ff8c}a.chip.cv,.cv-dl{color:#04101c;background:linear-gradient(100deg, var(--cyan,#19e3ff), var(--violet,#8b5cff));cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 0 20px #19e3ff59}a.chip.cv:hover,a.chip.cv:focus-visible,.cv-dl:hover,.cv-dl:focus-visible{filter:brightness(1.12);outline:none}.cv-dl{border-radius:14px;width:100%;min-height:46px;margin-bottom:14px;font-size:15px}.avatar-bubble{z-index:18;max-width:min(260px,70vw);font:600 13px/1.35 var(--font);color:var(--text);pointer-events:none;opacity:0;will-change:transform;background:#080e1ceb;border:1px solid #19e3ff8c;border-radius:14px;padding:9px 13px;transition:opacity .25s;position:fixed;top:0;left:0;box-shadow:0 6px 26px #00000073,0 0 18px #19e3ff2e}.avatar-bubble.show{opacity:1}.avatar-bubble:after{content:"";background:#080e1ceb;border-bottom:1px solid #19e3ff8c;border-right:1px solid #19e3ff8c;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}body.rec .avatar-bubble{display:none}.hud .chip.aura{color:#1b0716;background:linear-gradient(100deg,#ff2fd6,#ffb02e);border:0;font-weight:800;box-shadow:0 0 18px #ff2fd673}.hud .chip.aura:hover,.hud .chip.aura:focus-visible{filter:brightness(1.12);outline:none}.hud .chip.aura.on{animation:.47s ease-in-out infinite alternate auraBtn}@keyframes auraBtn{to{filter:brightness(1.25)saturate(1.3);box-shadow:0 0 30px #ffb02ecc}}.hud .chip.interview-chip{color:#04141a;background:linear-gradient(100deg,#19e3ff,#3dffa1);border:0;font-weight:800;box-shadow:0 0 16px #19e3ff59}.hud .chip.interview-chip:hover,.hud .chip.interview-chip:focus-visible{filter:brightness(1.1);outline:none}.interview{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:min(560px,100vw - 32px);color:var(--text);opacity:0;pointer-events:none;background:#080e1cf0;border:1px solid #19e3ff8c;border-radius:16px;padding:14px 16px 12px;transition:opacity .3s,transform .3s;position:fixed;transform:translate(-50%,14px);box-shadow:0 10px 34px #0000008c,0 0 22px #19e3ff2e}.interview.on{opacity:1;pointer-events:auto;transform:translate(-50%)}.interview-who{font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan,#19e3ff);margin-bottom:4px}.interview-txt{min-height:3.9em;font:600 15px/1.45 var(--font);margin:0}.interview-bar{background:#ffffff1f;border-radius:2px;height:3px;margin:10px 0 8px;overflow:hidden}.interview-bar span{transform-origin:0;background:linear-gradient(90deg,#19e3ff,#3dffa1);height:100%;transition:transform .5s;display:block}.interview-foot{justify-content:space-between;align-items:center;display:flex}.interview-count{font:600 12px var(--mono);color:#fff9}.interview-skip,.interview-go,.interview-keep{font:700 13px var(--font);color:var(--text);cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;padding:8px 14px}.interview-go{color:#04141a;background:linear-gradient(100deg,#19e3ff,#3dffa1);border:0}.interview-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.interview-actions[hidden],.interview-skip[hidden],body.rec .interview{display:none}.aura-fx{z-index:26;pointer-events:none;opacity:0;transition:opacity .4s;position:fixed;inset:0;overflow:hidden}.aura-fx.on{opacity:1}.aura-fx:before{content:"";animation:.9375s ease-in-out infinite alternate auraVig;position:absolute;inset:0;box-shadow:inset 0 0 140px 30px #ff2fd654,inset 0 0 300px 70px #8b5cff40}@keyframes auraVig{to{box-shadow:inset 0 0 200px 60px #ffb02e59,inset 0 0 340px 90px #ff2fd647}}.aura-meter{text-align:center;font:800 clamp(13px, 2vw, 20px) var(--mono);letter-spacing:.34em;color:#ffd266;text-shadow:0 0 14px #ffc233cc;position:absolute;top:5vh;left:50%;transform:translate(-50%)}.aura-score{font:900 clamp(34px, 6vw, 66px) var(--font);letter-spacing:.02em;background:linear-gradient(90deg,#ffd266,#ff2fd6);color:#0000;filter:drop-shadow(0 0 18px #ff78dc99);font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;display:block}.aura-title{font:900 clamp(26px, 5.2vw, 74px) var(--font);letter-spacing:.06em;color:#fff;text-shadow:0 0 20px #ff2fd6,0 0 50px #8b5cff;white-space:nowrap;opacity:0;transition:opacity .3s;position:absolute;top:19vh;left:50%;transform:translate(-50%)}.aura-title.show{opacity:1;animation:.9375s ease-in-out infinite alternate auraTitle}@keyframes auraTitle{to{text-shadow:0 0 30px #ffb02e,0 0 70px #ff2fd6;transform:translate(-50%)scale(1.07)}}.aura-move{font:900 clamp(30px, 7vw, 96px) var(--font);color:#fff;text-shadow:0 0 22px #19e3ff,0 0 60px #ff2fd6;white-space:nowrap;animation:1.4s ease-out forwards auraMove;position:absolute;bottom:15vh;left:50%;transform:translate(-50%)}@keyframes auraMove{0%{opacity:0;transform:translate(-50%)scale(.5)}14%{opacity:1;transform:translate(-50%)scale(1.15)}70%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.1)translateY(-14px)}}.aura-pop{font:900 clamp(15px, 2.6vw, 32px) var(--font);color:#ffd266;text-shadow:0 0 14px #ff2fd6,0 2px #0009;white-space:nowrap;animation:1.3s ease-out forwards auraPop;position:absolute}@keyframes auraPop{0%{opacity:0;transform:translateY(14px) rotate(var(--r,0deg)) scale(.6)}18%{opacity:1;transform:translateY(0) rotate(var(--r,0deg)) scale(1.18)}to{opacity:0;transform:translateY(-46px) rotate(var(--r,0deg)) scale(1)}}.aura-flash{opacity:0;background:#fff;position:absolute;inset:0}.aura-flash.go{animation:.55s ease-out auraFlash}@keyframes auraFlash{0%{opacity:.75}to{opacity:0}}.aura-hint{font:600 12px var(--mono);color:#ffffffb3;white-space:nowrap;position:absolute;bottom:3.5vh;left:50%;transform:translate(-50%)}body.rec .aura-fx{display:none}.aura-yt{z-index:60;opacity:0;pointer-events:none;background:#000;border:1px solid #ffffff2e;border-radius:10px;width:200px;transition:opacity .4s,transform .4s;position:fixed;bottom:12px;left:12px;overflow:hidden;transform:translateY(8px);box-shadow:0 6px 24px #00000080}.aura-yt.on{opacity:1;transform:none}.aura-yt-slot{width:200px;height:113px}.aura-yt-slot iframe{border:0;width:200px;height:113px;display:block}.aura-yt-cap{font:600 10px var(--mono);color:#ffffffbf;padding:4px 8px}body.rec .aura-yt{display:none}@media (prefers-reduced-motion:reduce){.aura-fx:before,.aura-title.show,.hud .chip.aura.on{animation:none}}.uw-pan{left:50%;bottom:calc(112px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);z-index:20;border-radius:999px;align-items:center;gap:10px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.uw-pan.hidden{display:none}.uw-pan-btn{width:48px;height:44px;color:var(--text);font:600 26px/1 var(--font);cursor:pointer;background:#19e3ff1a;border:1px solid #19e3ff73;border-radius:999px}.uw-pan-btn:disabled{opacity:.35;cursor:default}.uw-pan-dots{gap:7px;padding:0 4px;display:flex}.uw-pan-dots span{background:#7f90b366;border-radius:99px;width:8px;height:8px;transition:width .25s,background .25s}.uw-pan-dots span.on{background:var(--cyan,#19e3ff);width:22px}.hint{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));font:500 12px var(--mono);color:var(--dim);text-align:center;z-index:15;pointer-events:none;text-shadow:0 1px 12px #000;max-width:calc(100vw - 32px);position:fixed;transform:translate(-50%)}.textpanel{z-index:30;border-left:1px solid var(--line);-webkit-backdrop-filter:blur(22px);background:#060912e6;width:min(480px,100vw);padding:72px 28px 40px;transition:transform .55s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(102%)}.textpanel.open{transform:none}.textpanel,.sheet-nav,.dock{scrollbar-width:thin;scrollbar-color:#19e3ff59 transparent}.sheet-nav{z-index:2;background:linear-gradient(#060912 70%,#0000);gap:6px;padding:0 0 14px;display:flex;position:sticky;top:-52px;overflow-x:auto}.sheet-nav button{font:600 12px var(--mono);color:var(--text);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:7px 12px}.sheet-nav button:hover{border-color:var(--cyan)}.sheet-body section{border-top:1px solid var(--line);margin-top:14px;padding:22px 0 10px}.sheet-body h2{font-size:13px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}.sheet-body h3{margin:18px 0 4px;font-size:16px;line-height:1.3}.sheet-body h3 span{font:500 12px var(--mono);color:var(--dim);margin-top:3px;display:block}.sheet-body p,.sheet-body li{color:#cfdcf5;margin-top:8px;font-size:14.5px;line-height:1.6}.sheet-body ul{padding-left:18px}.sheet-body li::marker{color:var(--cyan)}.sheet-body .lead{color:var(--text);font-size:17px}.sheet-body .dim{color:var(--dim)}.sheet-body .stats{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding:0;list-style:none;display:grid}.sheet-body .stats li{border:1px solid var(--line);color:var(--dim);background:#101828e6;border-radius:14px;margin:0;padding:12px;font-size:12.5px}.sheet-body .stats b{color:var(--cyan);font-size:22px;display:block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{font:600 12px var(--mono);color:var(--c,var(--cyan));border:1px solid color-mix(in srgb, var(--c,var(--cyan)) 55%, transparent);background:color-mix(in srgb, var(--c,var(--cyan)) 10%, transparent);border-radius:999px;padding:5px 10px}.cta{font:700 14px var(--mono);color:var(--text);border:1px solid var(--cyan);border-radius:14px;padding:14px 18px;text-decoration:none;display:inline-block;box-shadow:0 0 24px #19e3ff40}.stations{left:12px;right:12px;bottom:calc(46px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);z-index:20;border-radius:22px;flex-wrap:wrap;justify-content:center;gap:6px;padding:8px;display:flex;position:fixed}.stations .dock-btn{border:1px solid var(--line)}.boot{z-index:100;-webkit-backdrop-filter:blur(10px);background:radial-gradient(1200px 700px at 50% 40%,#19e3ff1a,#0000 60%),#04060bf0;place-items:center;transition:opacity 1.2s,visibility 1.2s;display:grid;position:fixed;inset:0}.boot.done{opacity:0;visibility:hidden;pointer-events:none}.boot-inner{text-align:center;width:min(420px,86vw)}.boot-logo{font:800 44px var(--mono);letter-spacing:.06em;text-shadow:0 0 28px #19e3ffb3}.boot-logo span{color:var(--cyan)}.boot-bar{background:#7f90b333;border-radius:4px;height:4px;margin:28px 0 14px;overflow:hidden}#boot-fill{background:linear-gradient(90deg, var(--cyan), var(--violet), var(--magenta));transform-origin:0;height:100%;box-shadow:0 0 18px var(--cyan);transition:transform .25s ease-out;transform:scaleX(0)}#boot-text{font:500 13px var(--mono);color:var(--dim);min-height:20px}.start{font:800 20px var(--mono);letter-spacing:.3em;color:var(--text);border:1px solid var(--cyan);cursor:pointer;background:0 0;border-radius:14px;margin-top:26px;padding:16px 44px;transition:opacity .4s,transform .2s,box-shadow .2s;box-shadow:0 0 28px #19e3ff47,inset 0 0 22px #19e3ff1a}.start:disabled{opacity:.25;cursor:progress}.start:not(:disabled){animation:2.2s ease-in-out infinite pulse}.start:not(:disabled):hover{transform:scale(1.03);box-shadow:0 0 44px #19e3ff8c,inset 0 0 30px #19e3ff33}.boot-note{font:500 11px var(--mono);color:#4a5877;margin-top:22px}@keyframes pulse{50%{opacity:.55}}@keyframes labelIn{0%{opacity:0;margin-top:12px}}@media (max-width:700px),(orientation:portrait){.hud{flex-direction:column;align-items:flex-start}.hud-actions{justify-content:flex-start}.textpanel{border-left:0;border-top:1px solid var(--line);border-radius:22px 22px 0 0;width:100vw;height:58vh;padding-top:22px;top:auto;transform:translateY(102%)}.textpanel.open{transform:none}.sheet-nav{top:-6px}.dock{display:none!important}.hint{font-size:11px}body.text-open .hint{display:none}body.uw-split .textpanel{height:46vh}body.text-open .uw-pan{padding:4px;bottom:calc(46vh + 8px)}body.text-open .uw-pan-btn{width:44px;height:36px}}@media (prefers-reduced-motion:reduce){.brand .dot,.start:not(:disabled){animation:none}.textpanel{transition:none}}.label.light{color:var(--text);gap:7px;padding:6px 12px 6px 10px;font-size:12px}.label.light svg{filter:drop-shadow(0 0 4px #ffd27a73);flex:none}.music-embed{z-index:30;border-radius:14px;width:300px;position:fixed;bottom:18px;left:18px;overflow:hidden;box-shadow:0 10px 40px #0000008c}.music-embed.hidden{display:none}.music-embed iframe{border:0;display:block}@media (max-width:760px){.music-embed{width:min(320px,100vw - 24px);bottom:132px;left:12px}}.memo{z-index:60;opacity:0;background:radial-gradient(#08080c80,#000000d9);place-items:center;padding:16px;transition:opacity .3s;display:grid;position:fixed;inset:0}.memo[hidden]{display:none}.memo.open{opacity:1}.pad{color:#1f3a8a;transform-origin:35% 80%;background:linear-gradient(90deg,#0000 50px,#d9534fbf 50px 52px,#0000 52px),repeating-linear-gradient(#0000 0 31px,#466eaa59 31px 32px),#f7e47c;border-radius:4px 4px 8px 8px;width:min(480px,100%);max-height:92dvh;padding:58px 26px 24px 64px;font-family:Segoe Print,Bradley Hand,Comic Sans MS,Chalkboard SE,cursive;animation:.5s cubic-bezier(.2,.9,.3,1) both padIn;position:relative;overflow:auto;transform:rotate(-1.2deg);box-shadow:0 30px 80px #000000b3,inset 0 0 40px #966e1440}.pad:before{content:"";background:#2a2f45;border-radius:4px 4px 0 0;height:30px;position:absolute;inset:0 0 auto}@keyframes padIn{0%{opacity:0;transform:translateY(40px)scale(.55)rotate(6deg)}}.pad h2{text-underline-offset:5px;margin:0 0 6px;font-size:24px;line-height:32px;-webkit-text-decoration:underline wavy #d9534fb3;text-decoration:underline wavy #d9534fb3}.pad ul{margin:0;padding:0;list-style:none}.pad li{align-items:flex-start;gap:10px;min-height:32px;font-size:16px;line-height:32px;display:flex}.pad li .box{color:#1a8a3a;text-align:center;border:2px solid #1f3a8a;border-radius:3px;flex:none;width:17px;height:17px;margin-top:7px;font-size:17px;font-weight:700;line-height:14px}.pad li.done .t{opacity:.6;text-decoration:line-through}.pad .ps{color:#b3202a;margin:14px 0 0;font-size:15px;line-height:32px;transform:rotate(-1deg)}.memo-x{color:#f1e9c4;cursor:pointer;z-index:1;background:0 0;border:0;width:36px;height:30px;font:700 24px/1 Courier New,monospace;position:absolute;top:0;right:6px}.memo-x:hover{color:#ff8a80}html[lang=ja] .pad{font-family:Segoe Print,Yu Gothic UI,Yu Gothic,Meiryo,Hiragino Sans,Noto Sans JP,cursive}@media (max-width:700px),(max-height:520px){.pad{padding:50px 16px 18px 52px}.pad li{font-size:14.5px}.pad h2{font-size:21px}}.note{z-index:60;opacity:0;background:radial-gradient(#0806048c,#000000e0);place-items:center;padding:16px;transition:opacity .35s;display:grid;position:fixed;inset:0}.note[hidden]{display:none}.note.open{opacity:1}.paper{color:#2b2118;clip-path:polygon(0 1.2%,6% 0,14% 1%,26% 0,38% 1.2%,52% 0,66% 1%,80% 0,92% 1.2%,100% 0,99% 12%,100% 28%,99% 46%,100% 64%,99% 82%,100% 100%,90% 99%,76% 100%,62% 98.8%,48% 100%,34% 99%,20% 100%,8% 98.8%,0 100%,1% 84%,0 66%,1% 48%,0 30%,1% 14%);background:radial-gradient(circle at 82% 14%,#78461e38 0 38px,#0000 40px),radial-gradient(circle at 12% 88%,#6e140a2e 0 22px,#0000 24px),linear-gradient(135deg,#e9dcc0 0%,#dccaa3 55%,#cfb98c 100%);width:min(580px,100%);max-height:92vh;padding:34px 38px 30px;font-family:Special Elite,Courier New,Courier,monospace;animation:.5s cubic-bezier(.2,.9,.3,1) both paperIn;position:relative;overflow:auto;transform:rotate(-.8deg);box-shadow:0 30px 80px #000000b3,inset 0 0 70px #5a371459}@keyframes paperIn{0%{opacity:0;transform:translateY(24px)scale(.92)rotate(-4deg)}}.paper h2{letter-spacing:.08em;border-bottom:2px solid #2b21188c;margin:0 0 14px;padding-bottom:8px;font-size:17px}.paper p{margin:0 0 12px;font-size:14.5px;line-height:1.55}.paper blockquote{background:#3c230f14;border-left:4px solid #7a1f14;margin:14px 0 18px;padding:12px 14px;font-size:15px;line-height:1.55}.paper .stamp{color:#a01810c7;letter-spacing:.18em;pointer-events:none;border:3px solid #a01810bf;padding:3px 10px;font-size:13px;font-weight:700;position:absolute;top:18px;right:22px;transform:rotate(7deg)}.paper-x{color:#2b2118a6;cursor:pointer;background:0 0;border:0;width:30px;height:30px;font:700 24px/1 Courier New,monospace;position:absolute;top:8px;left:12px}.paper-x:hover{color:#7a1f14}.paper .lock label{letter-spacing:.2em;color:#6b4a2a;margin-bottom:6px;font-size:12.5px;display:block}.paper .lock .row{gap:10px;display:flex}.paper input{color:#2b2118;letter-spacing:.06em;background:#fffaeba6;border:2px solid #3a2a1a;flex:1;min-width:0;padding:10px 12px;font:600 16px Courier New,monospace}.paper input:focus{outline-offset:2px;outline:2px solid #7a1f14}.paper button[type=submit],.paper .cta{color:#f1e4c4;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#3a2a1a;border:2px solid #3a2a1a;padding:10px 18px;font:700 14px Courier New,monospace;text-decoration:none}.paper button[type=submit]:hover,.paper .cta:hover{background:#7a1f14;border-color:#7a1f14}.paper .msg{color:#7a1f14;min-height:1.4em;margin:10px 0 0;font-size:13.5px}.paper .lock.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.paper .unlocked .ok{color:#1f5a2c;letter-spacing:.18em;margin-bottom:10px;font-weight:700}.paper .unlocked .mail{margin:4px 0 14px;font-size:19px;font-weight:700}.paper .unlocked .mail a{color:#7a1f14}@media (max-width:560px){.paper{padding:30px 22px 24px}.paper .stamp{font-size:11px;top:10px;right:12px}}.term{z-index:60;opacity:0;background:radial-gradient(#02080e80,#000000d1);place-items:center;padding:16px;transition:opacity .3s;display:grid;position:fixed;inset:0}.term[hidden]{display:none}.term.open{opacity:1}.term-win{width:min(760px,100%);height:min(520px,80vh);font:13.5px/1.55 var(--mono);color:#b9ffd9;background:#040c0af0;border:1px solid #3dffa159;border-radius:12px;flex-direction:column;transition:transform .3s cubic-bezier(.2,.9,.3,1);display:flex;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 0 0 1px #19e3ff14,0 30px 80px #000000b3,0 0 60px #3dffa11f}.term.open .term-win{transform:none}.term-bar{color:var(--dim);background:#14221ee6;border-bottom:1px solid #3dffa12e;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.term-bar .d{border-radius:50%;width:10px;height:10px}.term-bar .r{background:#ff5f57}.term-bar .y{background:#febc2e}.term-bar .g{background:#28c840}.term-bar .t{text-align:center;flex:1}.term-bar .x{color:var(--dim);font:700 20px/1 var(--mono);cursor:pointer;background:0 0;border:0}.term-bar .x:hover{color:#fff}.term-out{flex:1;padding:12px 16px 4px;overflow-y:auto}.term-out .ln{word-break:break-word;margin-bottom:6px}.term-out .pre{white-space:pre;overflow-x:auto}.term-out .pre.wrap{white-space:pre-wrap}.term-out .dim{color:#5f8a79}.term-out .k{color:var(--cyan)}.term-out .ok{color:var(--green)}.term-out .p{color:var(--magenta)}.term-out a{color:var(--cyan)}.term-line{border-top:1px solid #3dffa11f;align-items:center;gap:9px;padding:8px 16px 12px;display:flex}.term-line .p{color:var(--magenta);white-space:nowrap}.term-line input{color:#e9fff4;min-width:0;font:inherit;caret-color:var(--green);background:0 0;border:0;outline:none;flex:1}.toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));z-index:70;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);max-width:min(560px,100vw - 32px);color:var(--text);font:600 13px/1.45 var(--mono);text-align:center;pointer-events:none;opacity:0;background:#0a0f1ce0;border-radius:14px;padding:11px 18px;transition:opacity .3s,transform .3s;position:fixed;transform:translate(-50%,14px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.special{border-color:var(--green);box-shadow:0 0 28px #3dffa140}body.rec #hud,body.rec #dock,body.rec #stations,body.rec #hint,body.rec #labels,body.rec .toast{display:none!important}body.rec,body.rec canvas{cursor:none}.quake-banner{z-index:75;text-align:center;pointer-events:none;opacity:0;width:min(760px,100vw - 28px);transition:opacity .3s,transform .3s;position:fixed;top:26%;left:50%;transform:translate(-50%,-50%)scale(.9)}.quake-banner.show{opacity:1;animation:.14s linear infinite quake-jitter;transform:translate(-50%,-50%)scale(1)}.quake-banner b{font:800 clamp(22px, 5.2vw, 46px) / 1.15 var(--mono);color:#fff;letter-spacing:.01em;text-shadow:0 2px #b3202a,0 0 22px #ff5a468c,0 4px 18px #000000b3;display:block}.quake-banner span{font:600 clamp(11px, 2.4vw, 15px) / 1.4 var(--mono);color:#ffd9d4;text-shadow:0 2px 10px #000c;margin-top:8px;display:block}@keyframes quake-jitter{0%{translate:0}25%{translate:-3px 2px}50%{translate:2px -3px}75%{translate:-2px -1px}to{translate:3px 2px}}@media (prefers-reduced-motion:reduce){.quake-banner.show{animation:none}}html[lang=ja] .quake-banner span{font-family:var(--mono), "Yu Gothic UI", "Yu Gothic", Meiryo, "Hiragino Sans", "Noto Sans JP", monospace}.chip.secrets{color:var(--green)}.chip.secrets.done{border-color:var(--green);box-shadow:0 0 18px #3dffa14d}@media (max-width:700px),(orientation:portrait){.chip{padding:7px 11px;font-size:11px}.hud-actions{gap:6px;max-width:100%}.hint{display:none}.toast{bottom:calc(168px + env(safe-area-inset-bottom));font-size:12px}.term{padding:calc(10px + env(safe-area-inset-top)) 10px 10px;align-items:start}.term-win{height:min(420px,52dvh);font-size:12.5px}.term-line input{font-size:16px}}.lang-wrap{position:relative}.lang-btn{align-items:center;gap:7px;display:inline-flex}.lang-btn .lang-code{display:none}.lang-btn .chev{opacity:.7;transition:transform .2s}.lang-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.lang-menu{z-index:40;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#0a0f1cf0;border-radius:14px;min-width:168px;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 48px #0000008c}.lang-menu[hidden]{display:none}.lang-menu li{color:var(--text);font:600 14px var(--font);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.lang-menu li small{color:var(--dim);font:600 11px var(--mono);letter-spacing:.06em}.lang-menu li:hover,.lang-menu li:focus-visible{background:#19e3ff1f;outline:none}.lang-menu li[aria-selected=true]{color:var(--cyan)}.lang-menu li[aria-selected=true]:after{content:"✓";margin-left:auto}@media (max-width:700px),(orientation:portrait){.lang-btn .lang-full{display:none}.lang-btn .lang-code{display:inline}.lang-menu{left:0;right:auto}}html[lang=ja] body{font-family:var(--font), "Yu Gothic UI", "Yu Gothic", Meiryo, "Hiragino Sans", "Noto Sans JP", sans-serif}html[lang=ja] .chip,html[lang=ja] .label,html[lang=ja] .hint,html[lang=ja] .toast,html[lang=ja] .dock-btn,html[lang=ja] .term-win{font-family:var(--mono), "Yu Gothic UI", "Yu Gothic", Meiryo, "Hiragino Sans", "Noto Sans JP", monospace}html,body,.webgl{height:100dvh}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}.textpanel,.term-out,.paper,input,textarea{-webkit-user-select:text;user-select:text}.hud-menu{display:contents}.menu-btn{display:none}@media (max-width:700px),(max-height:520px){.hud{padding-top:calc(10px + env(safe-area-inset-top));flex-flow:row;justify-content:space-between;align-items:center}.brand-long,.brand .slash{display:none}.hud-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;position:relative}.chip{white-space:nowrap;justify-content:center;align-items:center;min-height:40px;padding:0 13px;font-size:12px;display:inline-flex}.menu-btn{width:40px;padding:0;display:inline-flex}#btn-overview .ov-text{display:none}.hud-menu{z-index:40;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#0a0f1cf2;border-radius:16px;flex-direction:column;gap:2px;min-width:220px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 48px #0000008c}.hud.menu-open .hud-menu{display:flex}.hud-menu .chip{-webkit-backdrop-filter:none;background:0 0;border-color:#0000;border-radius:10px;justify-content:flex-start;min-height:46px;padding:0 14px;font-size:14px}.hud-menu .chip:active{background:#19e3ff24}.lang-menu{left:auto;right:0}.lang-menu li{min-height:46px;font-size:15px}.dock-btn{min-height:40px;padding:0 16px}.stations{gap:6px}.stations .dock-btn{min-height:42px;font-size:13px}}@media (max-height:520px){.hint{display:none}.label{padding:4px 9px;font-size:11px}.label .n{display:none}.toast{bottom:calc(14px + env(safe-area-inset-bottom))}.term{padding:calc(8px + env(safe-area-inset-top)) 10px 8px;align-items:start}.term-win{height:min(300px,84dvh)}.textpanel{width:min(440px,60vw)}.music-embed{width:260px;bottom:8px;left:8px}}.music-embed{border:1px solid var(--line);background:#0a0f1cf0}.me-bar{font:600 12px var(--mono);color:var(--text);align-items:center;gap:4px;padding:4px 6px 4px 12px;display:flex}.me-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.me-btn{width:36px;height:36px;color:var(--text);font:700 18px/1 var(--mono);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none}.me-btn:hover,.me-btn:focus-visible{background:#19e3ff24;outline:none}.music-embed.collapsed #spotify-iframe,.music-embed.collapsed iframe{pointer-events:none;min-height:0;overflow:hidden;height:1px!important}.music-embed.collapsed{width:min(250px,100vw - 24px)}@media (max-width:700px),(max-height:520px){.music-embed.collapsed{top:calc(58px + env(safe-area-inset-top));border-radius:999px;bottom:auto;left:12px}.music-embed.collapsed .me-bar{padding-left:14px}}
