.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}:root,[data-theme=dusk]{--bg-a:#2b1d55;--bg-b:#3d2468;--bg-c:#1b2d57;--blob1:#ff80964d;--blob2:#5ec8ff29;--blob3:#ffb07842;--rails:#ffffff0e;--sparkle:#ffe3f0;--surface:#33286a;--surface-2:#3b2f78;--surface-3:#463889;--text:#fff6fb;--dim:#c1b5e6;--line:#ffe6f529;--ink:#140d2c;--shadow:#140d2c;--pink:#ff5fa8;--pink-soft:#6b2f67;--violet:#a98cff;--violet-soft:#4a3b8e;--sky:#6ecbff;--lemon:#ffd76a;--mint:#5ef2c8;--red:#ff5d7a;--board:#140d2c;--board-cell:#231a48;--board-text:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=candy]{--bg-a:#fff6fb;--bg-b:#f3ebff;--bg-c:#e3f5ff;--blob1:#ff3d9a38;--blob2:#29b6ff33;--blob3:#ffcc1a38;--rails:#1d14330f;--sparkle:#ff9fcd;--surface:#fff;--surface-2:#faf6ff;--surface-3:#f1e8ff;--text:#1d1433;--dim:#7c6f9e;--line:#1d14331f;--ink:#1d1433;--shadow:#1d1433;--pink:#ff3d9a;--pink-soft:#ffd3e8;--violet:#7c4dff;--violet-soft:#e5dbff;--sky:#29b6ff;--lemon:#ffcc1a;--mint:#1fd6a0;--red:#ff3b5c;--board:#1d1433;--board-cell:#2a2050;--board-text:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=night]{--bg-a:#120d29;--bg-b:#1c1446;--bg-c:#0d1a36;--blob1:#ff4fa83d;--blob2:#3ee0ff24;--blob3:#9b6bff38;--rails:#ffffff0d;--sparkle:#fff;--surface:#1c1639;--surface-2:#231b4a;--surface-3:#2d2360;--text:#fff;--dim:#a99fd2;--line:#c9a8ff29;--ink:#07050f;--shadow:#07050f;--pink:#ff4fa8;--pink-soft:#5a2448;--violet:#9b6bff;--violet-soft:#33265f;--sky:#3ee0ff;--lemon:#ffe14d;--mint:#3dffc0;--red:#ff4d6d;--board:#0b0918;--board-cell:#181432;--board-text:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--display:"ArchivoX", system-ui, sans-serif;--bold:"ArchivoB", system-ui, sans-serif;--label:"ArchivoM", system-ui, sans-serif;--round:"M PLUS Rounded 1c", ui-rounded, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--jp:"Dela Gothic One", sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-back:cubic-bezier(.34, 1.8, .64, 1);--sticker:0 0 0 3px var(--ink), 0 6px 0 3px var(--shadow);--sticker-sm:0 0 0 2.5px var(--ink), 0 4px 0 2.5px var(--shadow)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-a);color:var(--text);font-family:var(--round);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;cursor:var(--cursor,default);font-weight:700;overflow:hidden}button,a,[role=button]{cursor:var(--cursor-hover,pointer)}button{font:inherit;color:inherit;background:0 0;border:0;padding:0}textarea,input[type=text]{cursor:var(--cursor-text,text)}textarea,input{font:inherit;color:inherit}::selection{background:var(--pink);color:#fff}kbd{font-family:var(--mono);background:var(--surface-3);color:var(--text);border:1.5px solid var(--line);border-radius:6px;padding:1px 6px;font-size:11px}.fx-canvas{z-index:50;pointer-events:none;position:fixed;inset:0}.world{position:fixed;inset:0}.screen{flex-direction:column;display:flex;position:absolute;inset:0}.backdrop{background:linear-gradient(160deg, var(--bg-a) 0%, var(--bg-b) 55%, var(--bg-c) 100%);position:absolute;inset:0;overflow:hidden}.backdrop .tracks{position:absolute;inset:-45% -20%;transform:rotate(-12deg)}.backdrop .track{height:60px;position:absolute;left:0;right:0;overflow:hidden}.backdrop .track:before,.backdrop .track:after{content:"";background:var(--rails);height:8px;position:absolute;left:0;right:0}.backdrop .track:before{top:0}.backdrop .track:after{bottom:0}.backdrop .ties{will-change:transform;background:repeating-linear-gradient(90deg, var(--rails) 0 16px, transparent 16px 64px);animation:tie-run var(--dur,5s) linear infinite var(--dir,normal);position:absolute;inset:8px -64px}@keyframes tie-run{to{transform:translate(-64px)}}.backdrop .blob{will-change:transform;border-radius:50%;position:absolute}.backdrop .b1{background:radial-gradient(circle, var(--blob1), transparent 62%);width:60vmax;height:60vmax;animation:18s ease-in-out infinite alternate drift1;top:-22vmax;left:-18vmax}.backdrop .b2{background:radial-gradient(circle, var(--blob2), transparent 60%);width:70vmax;height:70vmax;animation:22s ease-in-out infinite alternate drift2;bottom:-30vmax;right:-25vmax}.backdrop .b3{background:radial-gradient(circle, var(--blob3), transparent 60%);width:44vmax;height:44vmax;animation:26s ease-in-out infinite alternate-reverse drift1;top:-12vmax;right:8vmax}@keyframes drift1{to{transform:translate(8vmax,6vmax)scale(1.1)}}@keyframes drift2{to{transform:translate(-6vmax,-8vmax)scale(.92)}}.backdrop .beatglow{background:radial-gradient(70% 55% at 50% 45%, var(--blob1), transparent 70%);opacity:0;will-change:opacity;position:absolute;inset:0}.backdrop .sparkles i{background:var(--sparkle);opacity:0;border-radius:50%;animation:3.6s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:.9;transform:scale(1)}}.topbar{z-index:5;align-items:center;gap:10px;padding:14px 20px;display:flex;position:relative}.brand{font-family:var(--display);letter-spacing:-.01em;align-items:center;gap:8px;font-size:19px;display:flex}.brand .mark{background:var(--pink);width:26px;height:26px;box-shadow:var(--sticker-sm);color:#fff;border-radius:8px;place-items:center;font-size:14px;display:grid}.brand small{font-family:var(--label);color:var(--dim);letter-spacing:.2em;border:1.5px solid var(--line);border-radius:99px;padding:2px 7px;font-size:9px}.topbar .spacer{flex:1}.chip{background:var(--surface);height:30px;box-shadow:0 0 0 2px var(--line);color:var(--dim);white-space:nowrap;border-radius:99px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:inline-flex}.chip .dot{background:var(--dim);border-radius:50%;width:8px;height:8px}.chip .dot.ok{background:var(--mint)}.chip .dot.warn{background:var(--lemon)}.chip .dot.bad{background:var(--red)}.chip.gold{color:#6b4a00;background:linear-gradient(100deg,#fff3b0,#ffcc1a);box-shadow:0 0 0 2px #6b4a00}.nowplaying .eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.nowplaying .eq i{background:var(--pink);transform-origin:bottom;will-change:transform;border-radius:2px;width:3px;height:100%}.sticker{background:var(--surface);box-shadow:var(--sticker);border-radius:20px}.btn{cursor:var(--cursor-hover,pointer);justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.btn:disabled{cursor:var(--cursor,default)}.btn-primary{background:var(--pink);color:#fff;height:50px;font-family:var(--display);letter-spacing:.03em;box-shadow:var(--sticker-sm);border-radius:99px;padding:0 24px;font-size:17px}.btn-primary:disabled{background:var(--surface-3);color:var(--dim)}.btn-primary.btn-sm{height:36px;padding:0 14px;font-size:13px}.btn-ring{border-radius:inherit;border:3px solid var(--pink);opacity:0;pointer-events:none;will-change:transform, opacity;position:absolute;inset:-5px}.btn-chip{background:var(--surface);height:30px;box-shadow:0 0 0 2px var(--line);color:var(--dim);white-space:nowrap;border-radius:99px;padding:0 12px;font-size:12px}.btn-chip:hover{color:var(--text);box-shadow:0 0 0 2px var(--ink)}.btn-icon{background:var(--surface-2);width:28px;height:28px;box-shadow:0 0 0 2px var(--line);color:var(--text);border-radius:9px;font-size:13px;line-height:1}.btn-icon:hover{box-shadow:0 0 0 2px var(--ink)}.btn-icon.on{background:var(--pink);color:#fff;box-shadow:0 0 0 2px var(--ink)}.btn-icon.btn-sm{border-radius:8px;width:24px;height:24px;font-size:12px}.gate-screen{justify-content:center;align-items:center;overflow:hidden}.gate-world{flex-direction:column;align-items:center;margin-top:-170px;display:flex;position:relative}.gate-sign{background:var(--board);color:#fff;box-shadow:var(--sticker);font-family:var(--display);border-radius:14px;align-items:center;gap:12px;margin-bottom:26px;padding:10px 22px;font-size:20px;display:flex}.gate-sign .jp{font-family:var(--round);color:var(--lemon);letter-spacing:.12em;font-size:16px;font-weight:800}.gate-sign .en{font-family:var(--label);letter-spacing:.3em;color:#b8aee0;font-size:10px}.gate{align-items:flex-end;gap:0;height:300px;display:flex;position:relative}.cab{background:linear-gradient(180deg, var(--surface) 0%, var(--surface-3) 100%);width:132px;height:250px;box-shadow:var(--sticker);z-index:2;border-radius:26px 26px 12px 12px;position:relative}.cab:before{content:"";background:var(--violet-soft);border-radius:8px;height:8px;position:absolute;top:16px;left:14px;right:14px}.cab .lamp{background:var(--board);width:58px;height:58px;font-family:var(--display);box-shadow:0 0 0 3px var(--ink);color:var(--red);border-radius:14px;place-items:center;margin-left:-29px;font-size:26px;transition:color .15s;display:grid;position:absolute;bottom:26px;left:50%}.cab .lamp.go{color:var(--mint)}.cab .screenlet{background:var(--board);height:64px;box-shadow:0 0 0 3px var(--ink);color:var(--lemon);font-family:var(--mono);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex;position:absolute;top:40px;left:20px;right:20px}.cab .screenlet b{font-family:var(--display);color:#fff;font-size:16px}.aisle{width:250px;height:250px;position:relative}.flap{background:linear-gradient(180deg, #ff7fbd, var(--pink));width:118px;height:64px;box-shadow:var(--sticker-sm);z-index:1;border-radius:32px;position:absolute;top:88px}.flap:after{content:"";background:#ffffffbf;border-radius:10px;height:10px;position:absolute;top:26px;left:16px;right:16px}.flap.l{transform-origin:0;left:4px}.flap.r{transform-origin:100%;right:4px}.floor{background:repeating-linear-gradient(90deg, var(--lemon) 0 14px, #ffe27a 14px 28px);width:560px;height:18px;box-shadow:0 0 0 3px var(--ink);opacity:.9;border-radius:12px;margin-left:-280px;position:absolute;bottom:-34px;left:50%}.reader{background:var(--board);width:96px;height:96px;box-shadow:var(--sticker);z-index:3;border-radius:50%;place-items:center;margin-left:-48px;display:grid;position:absolute;top:-52px;left:50%}.reader svg{width:calc(100% - 12px);height:calc(100% - 12px);position:absolute;inset:6px;transform:rotate(-90deg)}.reader .ic{font-family:var(--display);color:#fff;letter-spacing:.06em;text-align:center;font-size:16px;line-height:1}.reader .ic small{font-family:var(--round);color:var(--lemon);letter-spacing:.1em;margin-top:4px;font-size:9px;font-weight:800;display:block}.reader .halo{border:4px solid var(--mint);opacity:0;border-radius:50%;position:absolute;inset:-10px}.gate-status{font-family:var(--mono);letter-spacing:.22em;color:var(--dim);text-transform:uppercase;margin-top:64px;font-size:12px}.gate-hint{text-align:center;color:var(--dim);font-size:14px;position:absolute;bottom:38px;left:0;right:0}.gate-hint b{color:var(--text)}.pass-wrap{z-index:8;perspective:900px;width:0;height:0;position:absolute;top:50%;left:50%}.pass{width:300px;height:190px;cursor:var(--cursor-hover,pointer);transform-style:preserve-3d;background:linear-gradient(135deg, #ff7fbd 0%, var(--pink) 38%, #8b5cff 100%);box-shadow:var(--sticker);color:#fff;border-radius:20px;position:absolute;top:-95px;left:-150px;overflow:hidden}.pass.gold{color:#5a3a00;background:linear-gradient(135deg,#fff7c2 0%,#ffd23f 35%,#ff9f1c 70%,#ffe27a 100%)}.pass .pattern{background:repeating-linear-gradient(-55deg,#ffffff1a 0 12px,#0000 12px 24px);position:absolute;inset:0}.pass .glare{background:radial-gradient(circle at var(--gx,30%) var(--gy,20%), #ffffff8c, transparent 45%);mix-blend-mode:soft-light;pointer-events:none;position:absolute;inset:0}.pass .name{font-family:var(--display);letter-spacing:-.01em;text-shadow:0 2px #1d143340;font-size:26px;position:absolute;top:16px;left:20px}.pass .name small{font-family:var(--round);letter-spacing:.2em;opacity:.9;margin-top:2px;font-size:10px;font-weight:800;display:block}.pass .chip-ic{background:linear-gradient(135deg,#fff3b0,#e6b422);border-radius:8px;width:46px;height:36px;position:absolute;top:82px;left:22px;box-shadow:inset 0 0 0 2px #5a3a0059}.pass .chip-ic:before{content:"";border-top:2px solid #5a3a0066;border-bottom:2px solid #5a3a0066;position:absolute;inset:9px 6px}.pass .no{font-family:var(--mono);letter-spacing:.12em;opacity:.95;font-size:12px;position:absolute;bottom:16px;left:20px}.pass .face{filter:drop-shadow(0 4px #1d143340);pointer-events:none;width:170px;position:absolute;bottom:-34px;right:-14px}.pass .lucky{font-family:var(--display);color:#b8860b;background:#fff;border-radius:99px;padding:3px 10px;font-size:12px;position:absolute;top:14px;right:14px;box-shadow:0 0 0 2px #5a3a00}.menu-body{flex-direction:column;flex:1;justify-content:center;align-items:center;padding-bottom:60px;display:flex;position:relative}.wordmark{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(72px,11vw,150px);line-height:1;display:flex}.wordmark .letter{padding:0 .005em;display:inline-block}.wordmark .letter span{color:var(--text);-webkit-text-stroke:.05em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);display:inline-block}.wordmark .letter:nth-child(7n+1) span{color:#ffd0e6}.wordmark .letter:nth-child(7n+2) span{color:#ffe3a3}.wordmark .letter:nth-child(7n+3) span{color:#c9f7e6}.wordmark .letter:nth-child(7n+4) span{color:#cfe9ff}.wordmark .letter:nth-child(7n+5) span{color:#e5d8ff}.wordmark .letter:nth-child(7n+6) span{color:#ffd0e6}.wordmark .letter:nth-child(7n) span{color:#ffe3a3}.tagline{color:var(--dim);margin-top:18px;font-size:17px}.tagline em{color:var(--pink);font-style:normal}.cards{perspective:1000px;gap:26px;margin-top:44px;display:flex}.mcard{text-align:left;background:linear-gradient(150deg, color-mix(in srgb, var(--c) 78%, #fff) 0%, var(--c) 55%, color-mix(in srgb, var(--c) 70%, #3b1d6e) 100%);color:#fff;width:min(300px,38vw);height:190px;box-shadow:var(--sticker);transform-style:preserve-3d;border-radius:26px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.mcard:before{content:"";background:repeating-linear-gradient(-55deg,#ffffff1a 0 12px,#0000 12px 24px);position:absolute;inset:0}.mcard .glare{background:radial-gradient(circle at var(--gx,30%) var(--gy,20%), #ffffff80, transparent 50%);mix-blend-mode:soft-light;pointer-events:none;position:absolute;inset:0}.mcard .ico{width:56px;height:56px;color:var(--c);box-shadow:0 0 0 3px var(--ink);background:#fff;border-radius:18px;place-items:center;font-size:26px;display:grid;position:absolute;top:20px;left:22px}.mcard .t{font-family:var(--display);letter-spacing:-.02em;text-shadow:0 3px #140d2c59;font-size:40px;line-height:1;position:relative}.mcard .s{opacity:.92;font-size:14px;position:relative}.mcard .key{font-family:var(--mono);background:#140d2c47;border-radius:7px;padding:2px 8px;font-size:11px;position:absolute;top:18px;right:18px}.mcard .soon{background:#140d2c59;border-radius:99px;padding:4px 10px;font-size:12px;position:absolute;bottom:20px;right:18px}.mcard.active{box-shadow:0 0 0 3px var(--ink), 0 6px 0 3px var(--shadow), 0 0 0 9px color-mix(in srgb, var(--c) 45%, transparent)}.mcard.locked{filter:saturate(.55)}.menu-hint{color:var(--dim);gap:14px;font-size:12px;display:flex;position:absolute;bottom:22px;left:24px}.raila-char{pointer-events:none;will-change:transform;position:absolute}.raila-char img{width:100%;height:auto;display:block}.raila-char.bust img{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 13% 87%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 13% 87%,#0000 100%)}.raila-char .ground{background:radial-gradient(closest-side, color-mix(in srgb, var(--ink) 55%, transparent), transparent);border-radius:50%;height:22px;position:absolute;bottom:-6px;left:22%;right:22%}.bubble{color:#1d1433;z-index:6;isolation:isolate;width:max-content;max-width:320px;padding:12px 16px;font-size:15px;line-height:1.4;position:absolute}.raila-char .bubble{transform-origin:100% 80%;pointer-events:auto;bottom:58%;right:80%}.bubble .expand{z-index:1;opacity:.55;position:absolute;bottom:8px;right:8px}.bubble:hover .expand{opacity:1}.stagebox .bubble{cursor:var(--cursor-hover,pointer);padding-right:40px}.raila-char.full .bubble{bottom:76%;right:74%}.bubble-shape{z-index:-1;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.compose-body{flex:1;grid-template-columns:minmax(0,1fr) 360px;gap:36px;min-height:0;padding:8px 40px 40px;display:grid;position:relative}.compose-main{flex-direction:column;justify-content:center;min-width:0;max-width:900px;display:flex}.eyebrow{font-family:var(--label);letter-spacing:.32em;color:var(--pink);text-transform:uppercase;align-items:center;gap:10px;font-size:12px;display:flex}.eyebrow .jp{font-family:var(--round);letter-spacing:.1em;color:var(--violet);font-weight:800}.headline{font-family:var(--display);letter-spacing:-.025em;margin:10px 0 22px;font-size:clamp(34px,4.6vw,64px);line-height:.95}.headline em{color:var(--pink);font-style:normal}.prompt{color:#1d1433;box-shadow:var(--sticker);transition:transform .2s var(--ease-out);background:#fff;border-radius:22px;position:relative}.prompt.focus{box-shadow:0 0 0 3px var(--ink), 0 6px 0 3px var(--shadow), 0 0 0 9px var(--pink-soft)}.prompt .field{min-height:112px;padding:20px 24px;font-size:22px;font-weight:800;line-height:1.45;position:relative}.prompt.compact .field{min-height:0;padding:14px 18px;font-size:17px}.prompt .mirror,.prompt textarea{font:inherit;line-height:inherit;letter-spacing:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;font-kerning:none;font-variant-ligatures:none;font-feature-settings:"kern" 0, "liga" 0;border:0;margin:0;padding:0}.prompt .mirror{pointer-events:none;color:#1d1433;min-height:1.45em;position:relative}.prompt textarea{resize:none;color:#0000;caret-color:#0000;background:0 0;outline:none;width:calc(100% - 48px);height:calc(100% - 40px);position:absolute;inset:20px 24px;overflow:hidden}.prompt textarea::selection{color:#0000;background:#ff3d9a47}.prompt.compact textarea{width:calc(100% - 36px);height:calc(100% - 28px);inset:14px 18px}.prompt .ch.fresh{animation:pop .26s var(--ease-back);animation-fill-mode:backwards;display:inline-block}.prompt .ch.fresh.sp{animation:none;display:inline}@keyframes pop{0%{color:#ff3d9a;transform:translateY(-7px)scale(1.8)}55%{color:#ff3d9a}to{color:#1d1433;transform:none}}.prompt .caret{vertical-align:-.22em;width:0;height:1.2em;display:inline-block;position:relative}.prompt .caret:before{content:"";opacity:0;background:#ff3d9a;border-radius:3px;width:3.5px;height:100%;position:absolute;top:0;left:-1px}.prompt .caret.on:before{opacity:1;animation:1s steps(2,end) infinite caret}@keyframes caret{50%{opacity:.15}}.prompt .placeholder{color:#b3a8cf;pointer-events:none;position:absolute;top:20px;left:24px;right:24px}.prompt.compact .placeholder{top:14px;left:18px}.prompt .foot{color:#8b80ad;border-top:2px dashed #eee6ff;align-items:center;gap:10px;padding:10px 12px 12px 22px;font-size:12px;display:flex}.prompt .foot kbd{color:#1d1433;background:#f3edff;border-color:#e6dcff}.prompt .foot .grow{flex:1}.maps{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:24px;display:grid}.map{background:var(--surface);box-shadow:var(--sticker-sm);text-align:left;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:14px 14px 12px 20px;display:flex;position:relative;overflow:hidden}.map:before{content:"";background:var(--c);width:7px;position:absolute;top:0;bottom:0;left:0}.map .t{font-size:15px}.map .s{color:var(--dim);margin-top:3px;font-size:12px}.map .stars{font-family:var(--bold);color:#e0a800;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.side{flex-direction:column;justify-content:flex-start;gap:16px;min-width:0;padding-top:7vh;display:flex}.card{background:var(--surface);box-shadow:var(--sticker);border-radius:20px;padding:16px 18px}.card h4{font-family:var(--label);letter-spacing:.3em;color:var(--dim);text-transform:uppercase;justify-content:space-between;margin:0 0 12px;font-size:11px;display:flex}.card h4 span:last-child{letter-spacing:.05em;text-transform:none;font-family:var(--mono)}.boarding .track{height:62px;margin:4px 8px 6px;position:relative}.boarding .line{background:var(--surface-3);border-radius:8px;height:8px;position:absolute;top:20px;left:14px;right:14px;overflow:hidden}.boarding .line i{background:linear-gradient(90deg, var(--pink), var(--mint));transform-origin:0;transform:scaleX(var(--p,0));transition:transform .35s var(--ease-out);position:absolute;inset:0}.boarding .stations{justify-content:space-between;display:flex;position:absolute;inset:0}.boarding .st{flex-direction:column;align-items:center;width:30px;display:flex;position:relative}.boarding .st .pin{background:var(--surface);width:30px;height:30px;box-shadow:0 0 0 3px var(--line);transition:transform .25s var(--ease-back), background .15s;border-radius:50%;place-items:center;margin-top:9px;font-size:12px;display:grid}.boarding .st.on .pin{background:var(--pink);color:#fff;box-shadow:0 0 0 3px var(--ink);transform:scale(1.14)}.boarding .st.done .pin{background:var(--mint);color:#1d1433;box-shadow:0 0 0 3px var(--ink)}.boarding .st .lbl{font-family:var(--label);letter-spacing:.18em;color:var(--dim);white-space:nowrap;font-size:9px;position:absolute;top:48px;left:50%;transform:translate(-50%)}.boarding .status{color:var(--dim);justify-content:space-between;gap:8px;margin-top:16px;font-size:13px;display:flex}.boarding .status b{color:var(--text)}.boarding .status .ms{font-family:var(--mono);color:var(--mint)}.typing-hud{z-index:3;pointer-events:none;position:absolute;bottom:26px;left:36px}.combo{font-family:var(--display);letter-spacing:-.02em;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);transform-origin:0 100%;font-size:64px;line-height:1}.combo small{margin-left:2px;font-size:.45em}.combo.big{font-size:80px}.acc{font-family:var(--bold);color:var(--dim);letter-spacing:.08em;margin-top:6px;font-size:13px}.hud-top{z-index:4;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:4px 20px 10px;display:grid;position:relative}.hp{background:var(--surface);height:14px;box-shadow:0 0 0 2.5px var(--ink);border-radius:14px;overflow:hidden}.hp i{background:linear-gradient(90deg, var(--mint), var(--sky) 50%, var(--pink));transform-origin:0;height:100%;transition:transform .6s var(--ease-out);display:block}.song{align-items:baseline;gap:12px;min-width:0;margin-top:10px;display:flex}.song .title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:18px;overflow:hidden}.song .meta{font-family:var(--mono);color:var(--dim);white-space:nowrap;font-size:11px}.scorebox{text-align:right}.score{font-family:var(--display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);font-size:40px;line-height:.9}.score .z{opacity:.35}.scorebox .accline{font-family:var(--bold);color:var(--pink);font-variant-numeric:tabular-nums;margin-top:6px;font-size:15px}.playfield{z-index:3;flex:1;grid-template-columns:300px minmax(0,1fr);gap:18px;min-height:0;padding:4px 22px;display:grid;position:relative}.panel{background:var(--surface);box-shadow:var(--sticker);border-radius:18px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.panel-head{min-height:40px;font-family:var(--label);letter-spacing:.3em;color:var(--dim);text-transform:uppercase;align-items:center;gap:8px;padding:8px 10px 6px 14px;font-size:10px;display:flex}.panel-title{white-space:nowrap}.panel-meta{text-align:right;letter-spacing:.06em;text-transform:none;min-width:0;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.panel-actions{gap:6px;margin-left:auto;display:flex}.panel-meta+.panel-actions{margin-left:4px}.leftcol{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:18px;min-height:0;display:grid}.files{padding:0 6px 10px;overflow:auto}.file{height:28px;font-family:var(--mono);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 8px;font-size:12px;display:flex;position:relative}.file .ic{text-align:center;width:16px;color:var(--violet);font-size:11px}.file .nm{text-overflow:ellipsis;overflow:hidden}.file .dir{color:var(--dim)}.file .tag{font-family:var(--label);letter-spacing:.12em;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:9px}.file.new .tag{background:var(--mint);color:#1d1433}.file.mod .tag{background:var(--sky);color:#1d1433}.file.writing .tag{background:var(--pink);color:#fff;animation:.5s steps(2,end) infinite blink}.file.writing,.file.new,.file.mod{background:var(--surface-3)}.file.dir-row{text-align:left;width:100%;color:var(--dim);font-family:var(--mono);font-size:12px}.file.dir-row:hover{background:var(--surface-2);color:var(--text)}.file.dir-row .caret{width:10px;font-size:10px}.file.dir-row .count{opacity:.6;margin-left:auto;font-size:10px}.sheet-layer{z-index:30;background:color-mix(in srgb, var(--bg-a) 70%, transparent);place-items:center;padding:6vh 6vw;display:grid;position:fixed;inset:0}.sheet{background:var(--board);color:#e9e3ff;width:min(1100px,100%);height:min(760px,100%);box-shadow:var(--sticker);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.sheet-head{background:color-mix(in srgb, var(--board) 80%, #fff 6%);border-bottom:2.5px solid var(--ink);flex:none;align-items:center;gap:12px;height:46px;padding:0 12px 0 16px;display:flex}.sheet-head .lights{gap:6px;display:flex}.sheet-head .lights i{background:#ff3d9a;border-radius:50%;width:11px;height:11px}.sheet-head .lights i:nth-child(2){background:#ffcc1a}.sheet-head .lights i:nth-child(3){background:#1fd6a0}.sheet-head .t{font-family:var(--label);letter-spacing:.3em;text-transform:uppercase;color:#b8aee0;font-size:11px}.sheet-head .m{font-family:var(--mono);color:#8f86b8;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.sheet-body{overscroll-behavior:contain;-webkit-user-select:text;user-select:text;flex:1;padding:16px 20px;overflow:auto}.sheet-body.code{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.6}.sheet.log{width:min(760px,100%)}.log-body{flex-direction:column;gap:12px;font-size:15px;line-height:1.55;display:flex}.log-msg{align-items:flex-start;gap:10px;display:flex}.log-msg .who{width:34px;height:34px;box-shadow:0 0 0 2px var(--ink);background:#2f2566;border-radius:50%;flex:none;overflow:hidden}.log-msg .who img{width:150%;margin:-8% 0 0 -25%}.log-msg .say{color:#1d1433;box-shadow:0 0 0 2px var(--ink), 0 3px 0 2px var(--ink);background:#fff;border-radius:14px;max-width:calc(100% - 50px);padding:10px 14px}.log-msg.is-user{justify-content:flex-end}.log-msg.is-user .say{color:#fff;background:#ff3d9a}.log-msg.latest .say{box-shadow:0 0 0 2px var(--ink), 0 3px 0 2px var(--ink), 0 0 0 6px color-mix(in srgb, var(--pink) 45%, transparent)}@keyframes blink{50%{opacity:.4}}.code{font-family:var(--mono);white-space:pre;color:var(--text);opacity:.85;flex:1;padding:0 14px 12px;font-size:11.5px;line-height:1.55;position:relative;overflow:hidden}.code .inner{position:absolute;bottom:12px;left:14px;right:14px}.code .cursor{background:var(--pink);vertical-align:-2px;width:7px;height:14px;animation:.6s steps(2,end) infinite blink;display:inline-block}.code:before{content:"";background:linear-gradient(var(--surface), transparent);z-index:1;height:60px;position:absolute;top:0;left:0;right:0}.code .empty{color:var(--dim);font-family:var(--round);white-space:normal;text-align:center;place-items:center;padding:20px;font-size:13px;display:grid;position:absolute;inset:0}.preview{min-height:0;box-shadow:var(--sticker);background:#fff;border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.preview .chrome{color:#1d1433;background:#f6f1ff;border-bottom:2.5px solid #1d1433;flex:none;align-items:center;gap:10px;height:42px;padding:0 12px;display:flex}.preview .lights{gap:6px;display:flex}.preview .lights i{background:#ff3d9a;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1.5px #1d1433}.preview .lights i:nth-child(2){background:#ffcc1a}.preview .lights i:nth-child(3){background:#1fd6a0}.preview .url{min-width:0;height:26px;font-family:var(--mono);color:#6c6190;white-space:nowrap;background:#fff;border-radius:99px;flex:1;align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex;overflow:hidden;box-shadow:0 0 0 1.5px #d9cff5}.preview .url .lock{color:#16a34a}.preview .url a{color:inherit;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.preview .status{font-family:var(--label);letter-spacing:.14em;align-items:center;gap:6px;font-size:10px;display:flex}.preview iframe{background:#fff;border:0;flex:1;width:100%}.preview .placeholder{text-align:center;color:#8b80ad;background:repeating-linear-gradient(45deg,#fbf8ff 0 16px,#f6f1ff 16px 32px);flex:1;place-items:center;padding:30px;display:grid}.preview .placeholder b{font-family:var(--display);color:#1d1433;margin-bottom:8px;font-size:22px;display:block}.preview .err{color:#7a1030;font-family:var(--mono);white-space:pre-wrap;background:#fff0f3;border-radius:12px;max-height:40%;padding:10px 14px;font-size:11px;position:absolute;bottom:12px;left:12px;right:12px;overflow:auto;box-shadow:0 0 0 2.5px #ff3b5c}.hud-bottom{z-index:4;grid-template-columns:220px minmax(0,1fr) 300px;align-items:end;gap:16px;padding:12px 22px 18px;display:grid;position:relative}.lane{justify-content:flex-end;align-items:center;gap:8px;height:54px;margin-bottom:8px;padding:0 4px;display:flex;position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 12%);mask:linear-gradient(90deg,#0000,#000 12%)}.note-row{background:var(--surface);height:34px;box-shadow:var(--sticker-sm);white-space:nowrap;border-radius:99px;flex:none;align-items:center;gap:8px;max-width:280px;padding:0 12px 0 5px;font-size:12px;display:flex}.note-row .note{background:var(--c);width:24px;height:24px;box-shadow:0 0 0 2px var(--ink);font-family:var(--display);color:#fff;border-radius:50%;flex:none;place-items:center;font-size:10px;display:grid}.note-row .sum{text-overflow:ellipsis;overflow:hidden}.note-row.miss{color:var(--red)}.note-row.miss .note{background:#8b8198}.dock{flex-direction:column;gap:8px;min-width:0;display:flex}.queued{flex-wrap:wrap;gap:6px;display:flex}.queued span{background:var(--pink-soft);color:var(--text);border-radius:99px;padding:3px 10px;font-size:11px}.stagebox{height:0;position:relative}.stagebox .raila-char{width:260px;bottom:-18px;right:-22px}.stagebox .bubble{width:300px;font-size:14px}.stagebox .bubble .txt{max-height:10.5em;overflow:hidden}.stagebox .bubble .txt.overflow{-webkit-mask-image:linear-gradient(#0000 0,#000 2.2em);mask-image:linear-gradient(#0000 0,#000 2.2em)}.spinner{pointer-events:none;width:120px;height:120px;position:absolute;bottom:150px;right:225px}.spinner .disc{will-change:transform;box-shadow:0 0 0 4px var(--ink), 0 0 0 9px #fff, 0 0 0 12px var(--ink);background:conic-gradient(#ff3d9a,#c9a8ff,#29b6ff,#1fd6a0,#ffcc1a,#ff3d9a);border-radius:50%;position:absolute;inset:0}.spinner .disc:after{content:"";background:var(--board);border:4px solid #fff;border-radius:50%;position:absolute;inset:22%}.spinner .lbl{text-align:center;font-family:var(--display);letter-spacing:.1em;color:#fff;place-items:center;font-size:11px;line-height:1.2;display:grid;position:absolute;inset:0}.spinner .lbl small{font-family:var(--mono);color:var(--lemon);letter-spacing:0;font-size:10px;display:block}.results{z-index:20;background:color-mix(in srgb, var(--bg-a) 82%, transparent);grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(200px,.55fr);align-items:center;gap:30px;padding:40px 3vw 40px 5vw;display:grid;position:fixed;inset:0}.results-char{align-self:stretch;position:relative}.results .rank{font-family:var(--display);letter-spacing:-.04em;-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:0 12px 0 var(--ink);justify-self:center;font-size:min(34vh,300px);line-height:.8;position:relative}.results .rank.SS,.results .rank.S{color:#ffcc1a}.results .rank.A{color:#1fd6a0}.results .rank.B,.results .rank.C,.results .rank.D{color:#29b6ff}.results .fc{white-space:nowrap;background:var(--pink);color:#fff;box-shadow:var(--sticker-sm);letter-spacing:.12em;font-size:20px;font-family:var(--display);border-radius:99px;padding:6px 16px;position:absolute;bottom:-54px;left:50%;transform:translate(-50%)rotate(-6deg)}.results .panel{padding:22px 26px}.results .ptitle{color:var(--dim);margin-bottom:4px;font-size:13px}.results .pname{margin-bottom:16px;font-size:22px}.results .bigscore{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:54px;line-height:1}.results .grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.results .stat{background:var(--surface-2);box-shadow:0 0 0 2px var(--line);border-radius:12px;padding:10px 12px}.results .stat .k{font-family:var(--label);letter-spacing:.22em;color:var(--dim);text-transform:uppercase;font-size:9px}.results .stat .v{font-family:var(--bold);font-variant-numeric:tabular-nums;margin-top:4px;font-size:20px}.results .stat .v.c300{color:var(--sky)}.results .stat .v.cmiss{color:var(--red)}.results .summary{color:var(--dim);overscroll-behavior:contain;-webkit-user-select:text;user-select:text;max-height:9em;margin-top:14px;padding-right:6px;font-size:13px;line-height:1.5;overflow:auto}.results .cont{font-family:var(--display);letter-spacing:.24em;color:var(--pink);margin-top:18px;font-size:13px}.ask-layer{z-index:25;background:color-mix(in srgb, var(--bg-a) 35%, transparent);pointer-events:auto;position:fixed;inset:0}.ask{color:#1d1433;isolation:isolate;transform-origin:100% 85%;width:min(640px,100vw - 300px);padding:18px 20px 16px;position:absolute;bottom:150px;right:250px}.ask-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.ask-chip{font-family:var(--label);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:#ff3d9a;border-radius:99px;padding:3px 10px;font-size:10px}.ask-hint{color:#8b80ad;font-size:12px}.ask-dots{gap:5px;margin-left:auto;display:flex}.ask-dots i{background:#e6dcff;border-radius:50%;width:8px;height:8px}.ask-dots i.on{background:#ff3d9a}.ask-dots i.done{background:#1fd6a0}.ask-q{font-family:var(--display);letter-spacing:-.01em;margin:2px 0 14px;font-size:clamp(18px,1.9vw,24px);line-height:1.2}.ask-opts{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:12px;display:grid}.ask-opt{color:#1d1433;text-align:left;background:#faf6ff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:3px;min-height:64px;padding:10px 12px 10px 44px;display:flex;position:relative;box-shadow:0 0 0 2.5px #1d1433,0 4px 0 2.5px #1d1433}.ask-opt:hover{background:#fff0f8}.ask-opt .n{color:#fff;width:24px;height:24px;font-family:var(--display);background:#ff3d9a;border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;top:10px;left:10px;box-shadow:0 0 0 2px #1d1433}.ask-opt .l{font-size:15px}.ask-opt .d{color:#7c6f9e;font-size:12px;line-height:1.35}.ask-opt.picked{background:#ffe0f0}.ask-opt.picked .n{color:#1d1433;background:#1fd6a0}.ask-custom{height:46px;cursor:var(--cursor-text,text);background:#faf6ff;border-radius:14px;align-items:center;gap:10px;margin-top:16px;padding:0 12px 0 10px;display:flex;box-shadow:0 0 0 2.5px #1d1433,0 4px 0 2.5px #1d1433}.ask-custom:focus-within,.ask-custom.filled{background:#fff;box-shadow:0 0 0 2.5px #ff3d9a,0 4px 0 2.5px #1d1433}.ask-custom .n{color:#fff;background:#7c4dff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid;box-shadow:0 0 0 2px #1d1433}.ask-custom input{color:#1d1433;caret-color:#ff3d9a;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px;font-weight:800}.ask-custom input::placeholder{color:#a99fcc;font-weight:700}.ask-foot{color:#8b80ad;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.ask-foot kbd{color:#1d1433;background:#f3edff;border-color:#e6dcff}.md p{margin:0 0 .45em}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:.2em 0 .45em;padding-left:1.2em}.md li{margin:.1em 0}.md code{font-family:var(--mono);background:color-mix(in srgb, currentColor 10%, transparent);border-radius:5px;padding:.05em .35em;font-size:.88em}.md strong{font-weight:800}@media (prefers-reduced-motion:reduce){.backdrop .ties,.backdrop .blob,.backdrop .sparkles i{animation:none}}.code.shell-panel{opacity:1;white-space:normal;padding:4px 6px 6px 10px}.code.shell-panel:before{display:none}.shell-view{width:100%;height:100%}.shell-view .xterm{height:100%}.shell-view .xterm-viewport{background:0 0!important}.sheet-body.shell-body{background:var(--board);padding:10px 6px 10px 14px;overflow:hidden}.mobile-screen{justify-content:safe center;align-items:center;padding:24px 16px;overflow-y:auto}.mobile-logo{font-family:var(--display);letter-spacing:-.02em;color:var(--text);text-shadow:0 4px 0 var(--ink);margin-bottom:8px;font-size:40px}.mobile-stage{aspect-ratio:640/661;flex:none;width:220px;position:relative}.mobile-stage .raila-char{bottom:0;left:0;right:0}.mobile-card{background:var(--surface);width:min(100%,380px);box-shadow:var(--sticker);text-align:center;border-radius:20px;padding:20px 18px 18px;position:relative}.mobile-card h1{font-family:var(--display);letter-spacing:-.01em;margin:0 0 8px;font-size:24px;font-weight:400}.mobile-card p{color:var(--dim);margin:0 0 14px;font-size:14px;line-height:1.5}.mobile-url{background:var(--board);color:var(--board-text);font-family:var(--mono);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:10px;margin:0 auto 16px;padding:8px 12px;font-size:12px}.mobile-card .btn{width:100%}
