:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.end-screen{--co:"co-headline", "co-text", "Trebuchet MS", "Arial Rounded MT Bold", sans-serif;z-index:5;font-family:var(--co);letter-spacing:0;color:#222;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#003c4240;font-weight:700;position:absolute;inset:0;overflow:hidden}.end-stage{transform:translate(-50%, -50%) scale(var(--fit,1));flex-direction:column;align-items:center;gap:22px;width:max-content;display:flex;position:absolute;top:50%;left:50%}.end-title{color:#fff;white-space:nowrap;text-shadow:0 3px #00707b,0 6px 18px #00000040;font-size:46px;line-height:1.1}.end-cards{align-items:stretch;gap:32px;display:flex}.end-card{box-sizing:border-box;-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);text-align:center;background:#ffffffb8;border:4px solid #fff;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 34px;animation:.5s cubic-bezier(.34,1.56,.64,1) both end-card-in;display:flex;box-shadow:0 12px 32px #003c4240}.end-prize{width:560px;animation-delay:.12s}@keyframes end-card-in{0%{opacity:0;transform:translateY(24px)scale(.92)}}.end-detail{color:#00707b;font-size:30px;line-height:1.2}.end-detail.is-small{color:#0098a6;margin-top:-6px;font-size:20px}.end-heading{color:#0098a6;margin-top:8px;font-size:30px;line-height:1.2}.end-board{flex-direction:column;gap:4px;width:440px;display:flex}.end-row{border:3px solid #0000;border-radius:16px;align-items:center;gap:14px;padding:6px 16px;font-size:28px;line-height:1.2;display:flex}.end-row.is-mine{color:#00707b;background:#0098a61f;border-color:#0098a6}.end-medal{width:36px}.end-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.end-time{font-variant-numeric:tabular-nums}.end-text{color:#00707b;margin:0;font-size:22px;font-weight:400;line-height:1.35}.end-label{color:#ff4757;margin-top:6px;font-size:24px}.end-recap{color:#00707b;white-space:pre;font-size:26px}.end-code{color:#00707b;letter-spacing:1px;cursor:text;-webkit-user-select:all;user-select:all;background:#fff;border:3px dashed #0098a6;border-radius:14px;padding:6px 26px;font-size:46px;line-height:1.2}.end-code::selection{color:#fff;background:#0098a6}.end-hint{color:#5b6b70;font-size:18px;font-weight:400}.end-shop,.end-continue{color:#fff;font:inherit;cursor:pointer;background:#009aa8;border:0;border-radius:28px;text-decoration:none;display:inline-block;box-shadow:0 5px #00707b}.end-shop{margin-top:6px;padding:12px 34px;font-size:26px}.end-continue{padding:14px 34px;font-size:24px;animation:1.3s ease-in-out infinite end-pulse}.end-shop:hover,.end-continue:hover{background:#00a9b8}.end-shop:active,.end-continue:active{transform:translateY(3px);box-shadow:0 2px #00707b}.end-shop:focus-visible,.end-continue:focus-visible{outline-offset:3px;outline:3px solid #fff}@keyframes end-pulse{50%{transform:scale(1.05)}}.intro-overlay{--co:"co-headline", "co-text", "Trebuchet MS", "Arial Rounded MT Bold", sans-serif;z-index:10;opacity:0;touch-action:pan-x pan-y;font-family:var(--co);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;background:#00000080;justify-content:center;align-items:center;font-weight:700;transition:opacity .3s;display:flex;position:fixed;inset:0;overflow:auto}.intro-overlay.is-open{opacity:1}.intro-fit{flex:none;margin:auto;position:relative}.intro-stage{transform-origin:0 0;color:#222;position:absolute;top:0;left:0}.intro-panel{background:#f5f6f7;border-radius:48px;position:absolute;inset:0 16px 16px 0;box-shadow:14px 12px #0098a6}.intro-cloud{pointer-events:none;position:absolute;overflow:visible}.intro-abs,.intro-label,.intro-play{position:absolute}.intro-abs{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform:translate(-50%,-50%)}.intro-center{transform:translate(-50%,-50%)}.intro-label{white-space:nowrap;line-height:1.1;transform:translate(-50%,-50%)}.intro-title{font-family:var(--co);letter-spacing:0;white-space:nowrap;color:#0098a6;margin:0;font-size:56px;font-weight:700;line-height:1;position:absolute}.intro-subtitle{white-space:nowrap;color:#00707b;font-size:22px;line-height:1.1;position:absolute}.intro-hint{color:#5b6b70;font-size:18px;font-weight:400}.intro-play{color:#fff;width:240px;height:52px;font:inherit;cursor:pointer;background:#009aa8;border:0;border-radius:26px;font-size:26px;transform:translate(-50%,-50%);box-shadow:0 6px #00707b}.intro-play:hover{background:#00a9b8}.intro-play:active{transform:translate(-50%,calc(3px - 50%));box-shadow:0 3px #00707b}.intro-play:focus-visible{outline-offset:3px;outline:3px solid #fff}.intro-nick{-webkit-user-select:text;user-select:text;box-sizing:border-box;color:#222;width:300px;height:46px;font:inherit;text-align:center;background:#fff;border:3px solid #009aa8;border-radius:23px;outline:none;padding:0 18px;font-size:24px;position:absolute;transform:translate(-50%,-50%)}.intro-nick::placeholder{color:#93a4a8;font-weight:400}.intro-nick:focus{border-color:#00707b;box-shadow:0 0 0 4px #009aa840}.intro-nick.is-shake{border-color:#ff4757;animation:.35s intro-shake}@keyframes intro-shake{0%,to{transform:translate(-50%,-50%)}20%,60%{transform:translate(calc(-50% - 8px),-50%)}40%,80%{transform:translate(calc(8px - 50%),-50%)}}.intro-play[data-disabled=true]{cursor:not-allowed;background:#9fbcc0;box-shadow:0 6px #7d9599}html,body{background:#1a1a1a}.app{inset:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;background:#1a1a1a;position:fixed;overflow:hidden}.rotate-hint{display:none}@media (orientation:portrait) and (hover:none) and (pointer:coarse){.rotate-hint{z-index:50;color:#fff;text-align:center;background:#0b3d45;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-family:co-headline,co-text,Trebuchet MS,sans-serif;font-size:22px;font-weight:700;display:flex;position:fixed;inset:0}.rotate-hint p{max-width:16em;margin:0}.rotate-hint-icon{font-size:64px;animation:1.8s ease-in-out infinite rotate-hint}}@keyframes rotate-hint{0%,20%{transform:rotate(0)}50%,70%{transform:rotate(-90deg)}to{transform:rotate(0)}}.app canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;display:block}
