:root{--paper:#eef0ee;--sheet:#f7f7f5;--raise:#fff;--sumi:#1a1a18;--nezumi:#5c5c56;--rule:#d4d5d0;--aisumi:#1e2a3a;--shu:#8f3330;--ink-on-aisumi:#f4f5f2;--hero-from:#000;--hero-to:#666;--sans:"Geist", "Noto Sans TC", "PingFang TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--r-card:12px;--r-sheet:16px;--r-btn:8px;--r-chip:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);background:var(--paper);color:var(--sumi)}html[data-theme=dark]{--paper:#181818;--sheet:#1f1f1f;--raise:#272727;--sumi:#e7e6e1;--nezumi:#a4a49c;--rule:#313131;--aisumi:#d7dde6;--shu:#e09a96;--ink-on-aisumi:#181818;--hero-from:#fff;--hero-to:#9b9b9b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;margin:0}body{background:var(--paper);min-height:100dvh;color:var(--sumi);-webkit-user-select:none;user-select:none;font-size:18px;font-weight:400;line-height:28px}h1,h2,h3{text-wrap:balance}p,li,dd{text-wrap:pretty}button,input{font:inherit;color:inherit}button{cursor:pointer}a,button,input,.plan{transition:background-color .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease)}button:active,.tip-cell:active,.plan:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--aisumi);outline-offset:2px}::selection{background:color-mix(in srgb, var(--aisumi) 18%, transparent)}.skip{z-index:50;border-radius:var(--r-btn);background:var(--aisumi);color:var(--ink-on-aisumi);padding:8px 12px;font-size:16px;font-weight:600;line-height:24px;text-decoration:none;position:fixed;top:16px;left:16px;transform:translateY(-64px)}.skip:focus-visible{transform:none}#sky{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.shell{z-index:1;flex-direction:column;gap:16px;width:min(1280px,100%);min-height:100dvh;margin:0 auto;padding:12px 24px 24px;display:flex;position:relative}body[data-phase=countdown] .shell,body[data-phase=playing] .shell,body[data-phase=paused] .shell,body[data-phase=over] .shell,body[data-phase=menu] .shell{height:100dvh;overflow:hidden}.bar{z-index:10;border:1px solid var(--rule);border-radius:var(--r-sheet);background:color-mix(in srgb, var(--sheet) 72%, transparent);-webkit-backdrop-filter:blur(12px);align-self:center;align-items:center;gap:24px;max-width:100%;min-height:48px;padding:4px 8px 4px 16px;display:flex;position:sticky;top:12px}.brand{color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;text-decoration:none;display:flex}.brand-name{letter-spacing:.04em;font-size:20px;font-weight:600;line-height:28px}.seal{background:var(--shu);border-radius:2px;width:8px;height:8px}.tools{gap:4px;display:flex}.tool{border-radius:var(--r-btn);color:var(--nezumi);background:0 0;border:0;padding:4px 12px;font-size:16px;font-weight:600;line-height:24px;text-decoration:none}.tool:hover{color:var(--sumi);background:color-mix(in srgb, var(--sumi) 6%, transparent)}.tool[aria-pressed=true]{color:var(--sumi);background:color-mix(in srgb, var(--sumi) 8%, transparent)}.hud{flex-wrap:wrap;align-items:center;gap:4px 24px;display:flex}.stat{background:0 0;border:0;min-width:0;padding:0}.stat .k{color:var(--nezumi);font-size:14px;line-height:20px;display:block}.stat .v{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:600;line-height:28px;display:block}.stat.hot .v,.stat.blaze .v,.stat.danger .v{color:var(--shu)}.v.bump{animation:bump .3s var(--ease)}.hearts{align-items:center;gap:2px;display:inline-flex}.heart{color:var(--rule);display:inline-flex}.heart svg{display:block}.heart.on{color:var(--shu)}.heart.pop{animation:popheart .3s var(--ease)}#ad-banner{margin:0 0 8px}#stage{flex:1;grid-template-columns:minmax(0,1fr) 64px 200px;align-items:stretch;gap:0;min-height:0;display:grid;position:relative}#rail{grid-column:3}body[data-phase=menu] #world{overflow:auto}body[data-phase=countdown] #stage,body[data-phase=playing] #stage,body[data-phase=paused] #stage,body[data-phase=over] #stage{grid-template-columns:176px minmax(0,1fr) 48px 200px}body[data-phase=countdown] #log,body[data-phase=playing] #log,body[data-phase=paused] #log,body[data-phase=over] #log{grid-column:1}body[data-phase=countdown] .playcol,body[data-phase=playing] .playcol,body[data-phase=paused] .playcol,body[data-phase=over] .playcol{grid-column:2}body[data-phase=countdown] #rail,body[data-phase=playing] #rail,body[data-phase=paused] #rail,body[data-phase=over] #rail{grid-column:4}.playcol{flex-direction:column;min-width:0;min-height:0;padding:0 0 0 24px;display:flex;position:relative}body[data-phase=menu] .playcol{padding:0}#world{flex-direction:column;flex:1;min-height:0;display:flex}#overlay{z-index:4;display:none;position:absolute;inset:0}#log{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--sheet);min-width:0;min-height:0;padding:16px;display:none;overflow:hidden}body[data-phase=countdown] #log,body[data-phase=playing] #log,body[data-phase=paused] #log,body[data-phase=over] #log{flex-direction:column;display:flex}#log h2{color:var(--nezumi);margin:0 0 8px;font-size:16px;font-weight:600;line-height:24px}#log-list{flex-direction:column;flex:1;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}#log li{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:8px 0;font-size:18px;line-height:28px;display:flex}#log li:first-child{border-top:0}#log .who{width:100%;color:var(--shu);font-size:14px;line-height:20px}#log .said{color:var(--sumi);text-decoration:none}#log a.said{text-decoration:underline;-webkit-text-decoration-color:var(--shu);text-decoration-color:var(--shu);text-underline-offset:4px}#log a.said:hover{color:var(--shu)}#log .logo{object-fit:contain;width:16px;height:16px}#log-empty{color:var(--nezumi);margin:0;font-size:16px;line-height:24px}#rail{flex-direction:column;align-self:stretch;gap:24px;min-width:0;min-height:0;padding:0 0 4px;display:flex}.tip{flex-direction:column;gap:8px;margin-top:auto;display:flex}.tip-title{margin:0;font-size:16px;font-weight:600;line-height:24px}.tip-grid{border:1px solid var(--sumi);border-radius:var(--r-btn);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.tip-cell{aspect-ratio:1;background:var(--sheet);font-variant-numeric:tabular-nums;border:0;border-radius:0;place-items:center;padding:0;font-size:30px;font-weight:600;line-height:36px;display:grid}.tip-cell+.tip-cell{box-shadow:inset 1px 0 0 var(--rule)}.tip-cell:hover,.tip-cell:focus-visible{background:var(--aisumi);color:var(--ink-on-aisumi)}.tip-cell:focus-visible{outline-offset:-4px;outline-color:var(--ink-on-aisumi)}.tip-note{color:var(--nezumi);margin:0;font-size:14px;line-height:20px}.tip-sponsor{color:var(--shu);margin-top:8px;font-size:16px;font-weight:600;line-height:24px;text-decoration:none}.tip-sponsor:hover{text-underline-offset:4px;text-decoration:underline}body[data-phase=playing] .tip-sponsor,body[data-phase=countdown] .tip-sponsor{display:none}.ad-slot.placeholder{border:1px dashed var(--rule);border-radius:var(--r-card);color:var(--nezumi);background:0 0;padding:12px 16px}.ad-slot.banner.placeholder{flex-wrap:wrap;align-items:baseline;gap:0 12px;min-height:48px;display:flex}.ad-slot.sidebar.placeholder,.ad-slot.sidebar.live{min-height:176px}body[data-phase=countdown] .ad-slot.sidebar,body[data-phase=playing] .ad-slot.sidebar,body[data-phase=paused] .ad-slot.sidebar,body[data-phase=over] .ad-slot.sidebar{flex:1}.ad-slot.live{border-radius:var(--r-card);overflow:hidden}.ad-slot.live iframe,.ad-slot.live img{max-width:100%}.ad-kicker{color:var(--nezumi);margin:0;font-size:14px;line-height:20px}.ad-title{color:var(--sumi);margin:4px 0 0;font-size:16px;font-weight:600;line-height:24px}.ad-note{margin:4px 0 0;font-size:14px;line-height:20px}.ad-slot.banner .ad-title,.ad-slot.banner .ad-note{margin:0}.lang,.diff{border:1px solid var(--rule);border-radius:var(--r-btn);background:var(--sheet);gap:4px;padding:4px;display:inline-flex}.lang{margin-top:40px}.start-row{margin-top:32px}.lang button,.diff button{color:var(--nezumi);background:0 0;border:0;border-radius:4px;padding:4px 12px;font-size:16px;font-weight:600;line-height:24px}.lang button:hover,.diff button:hover{color:var(--sumi)}.lang button[aria-pressed=true],.diff button[aria-pressed=true]{background:var(--aisumi);color:var(--ink-on-aisumi)}#ime-dock{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--sheet);align-items:center;gap:12px;margin-top:12px;padding:4px 4px 4px 16px;display:flex}#ime-dock[hidden]{display:none}#ime-dock label{color:var(--nezumi);white-space:nowrap;font-size:16px;line-height:24px}#ime{border-radius:var(--r-btn);-webkit-user-select:text;user-select:text;background:0 0;border:0;flex:1;min-width:0;padding:8px 12px;font-size:24px;line-height:32px}#ime:focus{background:var(--raise);box-shadow:0 0 0 2px var(--aisumi);outline:none}#ime-preview{min-width:64px;color:var(--nezumi);white-space:nowrap;margin:0 12px 0 0;font-size:16px;line-height:24px}#overlay.show{background:color-mix(in srgb, var(--paper) 72%, transparent);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;overflow:auto}#overlay.show.countdown{background:color-mix(in srgb, var(--paper) 48%, transparent);align-items:center;overflow:hidden}.menu{width:min(760px,100%);margin:0;padding:40px 0 48px}.eyebrow{color:var(--nezumi);margin:0 0 8px;font-size:16px;line-height:24px}h1{letter-spacing:.02em;background:linear-gradient(90deg, var(--hero-from), var(--hero-to));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:680px;margin:0;padding-bottom:4px;font-size:60px;font-weight:600;line-height:1}h2{margin:0;font-size:24px;font-weight:600;line-height:32px}h3{margin:0 0 8px;font-size:18px;font-weight:600;line-height:28px}.lede{max-width:680px;color:var(--nezumi);margin:16px 0 0;font-size:20px;line-height:28px}.ime{max-width:680px;color:var(--nezumi);margin:12px 0 0;font-size:16px;line-height:24px}.modes{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.mode{text-align:left;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--sheet);padding:16px 24px 24px;position:relative}.mode:hover{border-color:var(--nezumi)}.mode[aria-pressed=true]{border-color:var(--aisumi);box-shadow:0 0 0 1px var(--aisumi);background:var(--raise)}.kicker{color:var(--nezumi);font-size:14px;line-height:20px;display:block}.mode-name{margin-top:4px;font-size:30px;font-weight:600;line-height:36px;display:block}.mode-copy{max-width:448px;color:var(--nezumi);margin-top:8px;font-size:16px;line-height:24px;display:block}.diff-block{margin-top:24px}.diff-hint{color:var(--nezumi);min-height:20px;margin:8px 0 0;font-size:16px;line-height:24px}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.primary,.ghost{border-radius:var(--r-btn);padding:8px 12px;font-size:18px;font-weight:600;line-height:28px}.primary{background:var(--aisumi);color:var(--ink-on-aisumi);border:1px solid var(--aisumi)}.primary:hover{background:color-mix(in srgb, var(--aisumi) 86%, var(--paper))}.primary.start{border-radius:var(--r-card);min-width:240px;box-shadow:0 8px 24px color-mix(in srgb, var(--aisumi) 24%, transparent);justify-content:center;align-items:center;gap:12px;padding:16px 32px;font-size:24px;line-height:32px;display:inline-flex}.primary.start:hover{box-shadow:0 12px 32px color-mix(in srgb, var(--aisumi) 32%, transparent);transform:translateY(-2px)}.primary.start:active{transform:translateY(1px)scale(.98)}.primary.start kbd{border-color:color-mix(in srgb, var(--ink-on-aisumi) 40%, transparent);color:var(--ink-on-aisumi);background:0 0;font-weight:400}.ghost{border:1px solid var(--rule);color:var(--sumi);background:0 0}.ghost:hover{border-color:var(--sumi);background:color-mix(in srgb, var(--sumi) 4%, transparent)}.best{color:var(--nezumi);margin:0;font-size:16px;line-height:24px}.board{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--sheet);margin-top:32px;padding:16px 24px}.board-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.board-head p,.fine,.empty{color:var(--nezumi)}.board-head p{margin:0;font-size:16px;line-height:24px}.fine{margin:8px 0 0;font-size:14px;line-height:20px}.empty{margin:12px 0 8px;font-size:16px;line-height:24px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:16px;line-height:24px}th,td{text-align:right;border-top:1px solid var(--rule);padding:8px 4px}th{color:var(--nezumi);border-top:0;font-size:14px;font-weight:400;line-height:20px}td:first-child,th:first-child{text-align:left}tr.fresh td{color:var(--shu);font-weight:600}.keys{color:var(--nezumi);margin-top:24px;font-size:16px;line-height:24px}.keys.tight{margin-top:16px;padding-left:16px}kbd{border:1px solid var(--rule);background:var(--raise);min-width:24px;font-family:var(--sans);text-align:center;border-radius:4px;margin:0 2px;padding:0 4px;font-size:14px;line-height:20px;display:inline-block}.field,.desk{flex:1;min-height:0;position:relative;overflow:hidden}.field{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--sheet)}.field.hurt{border-color:var(--shu);box-shadow:0 0 0 1px var(--shu)}.wash{display:none}.ground{background:var(--shu);opacity:.85;height:1px;position:absolute;bottom:16px;left:16px;right:16px}.ramp,.field-hint{z-index:2;color:var(--nezumi);margin:0;font-size:14px;line-height:20px;position:absolute}.ramp{font-variant-numeric:tabular-nums;top:12px;right:16px}.field-hint{text-align:left;bottom:24px;left:16px;right:16px}.fallword{border-radius:var(--r-chip);background:var(--sheet);font-weight:600;font-size:var(--word-size,30px);letter-spacing:.04em;white-space:nowrap;will-change:transform;color:var(--sumi);padding:2px 8px 4px;line-height:1.2;position:absolute;top:0;left:0}.fallword.active{background:var(--raise);box-shadow:0 0 0 1px var(--rule)}.fallword.low .next{border-bottom-color:var(--shu);color:var(--shu)}.fallword.peril{color:var(--shu)}.fallword .typed{color:var(--nezumi)}.fallword .next{color:var(--sumi);border-bottom:2px solid var(--aisumi)}.fallword .rest{color:var(--sumi)}.field[data-script=zh] .fallword{letter-spacing:.08em}.fallword.sponsored{box-shadow:0 0 0 1px color-mix(in srgb, var(--shu) 40%, transparent)}.fallword .badge{letter-spacing:.04em;background:var(--shu);color:var(--sheet);border-radius:4px;padding:0 4px;font-size:14px;font-weight:600;line-height:20px;position:absolute;top:-8px;right:-8px}.fallword.shake .glyphs{animation:shake .2s var(--ease)}.fallword.gone{animation:gone .3s var(--ease) forwards}.fallword.crash{animation:gone .2s var(--ease) forwards}.floater{z-index:3;color:var(--sumi);pointer-events:none;animation:rise .7s var(--ease) forwards;align-items:baseline;gap:4px;font-weight:600;display:flex;position:absolute}.floater i{color:var(--shu);font-size:14px;font-style:normal;line-height:20px}.desk{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--sheet);flex-direction:column;padding:16px 24px 0;display:flex}.desk.waiting .paper{opacity:.72}.meter{background:var(--rule);border-radius:2px;height:2px;margin-bottom:16px;overflow:hidden}.meter span{transform-origin:0;background:var(--aisumi);width:100%;height:100%;display:block}.paper{flex-direction:column;flex:1;min-height:0;display:flex}.paper.shake{animation:shake .2s var(--ease)}.caps{width:fit-content;color:var(--shu);margin:0 0 8px;font-size:16px;line-height:24px;display:none}body[data-caps=on][data-script=en][data-mode=sprint][data-diff=hard] .caps{display:block}.passage{white-space:pre-wrap;min-height:0;color:var(--sumi);flex:1;margin:0;font-size:30px;line-height:36px;position:relative;overflow:auto}.passage[lang=zh-Hant]{letter-spacing:.06em}.passage .w{white-space:nowrap}.passage .w.active{box-shadow:inset 0 -1px 0 var(--rule)}.passage .sp{white-space:pre-wrap}.passage .done{color:var(--nezumi)}.passage .caret{background:var(--aisumi);color:var(--ink-on-aisumi);border-radius:2px}.passage .sp.caret{width:12px;display:inline-block}.passage .bad{background:var(--shu);color:var(--sheet);border-radius:2px}.desk .field-hint{text-align:left;margin:12px 0 16px;position:static}.count{font-variant-numeric:tabular-nums;color:var(--sumi);animation:count-in .4s var(--ease);font-size:96px;font-weight:600;line-height:1}.sheet{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r-sheet);width:min(640px,100%);animation:sheet-in .5s var(--ease);margin:auto;padding:24px 32px 32px}.sheet.slim{width:min(448px,100%)}.help-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;display:grid}.help-grid ul,.keys.tight{color:var(--nezumi);margin:0;padding-left:16px;font-size:16px;line-height:24px}.help-grid li+li,.keys.tight li+li{margin-top:8px}.keys.tight{box-shadow:inset 0 1px 0 var(--rule);margin-top:24px;padding-top:16px;padding-left:0;list-style:none}.result-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.place{color:var(--nezumi);font-size:16px;line-height:24px}.stamp{background:var(--shu);color:var(--sheet);border-radius:4px;padding:2px 8px;font-size:16px;font-weight:600;line-height:24px}.big-score{font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:60px;font-weight:600;line-height:1}.metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 0;display:grid}.metrics div{border:1px solid var(--rule);border-radius:var(--r-btn);background:var(--raise);padding:8px 12px}.metrics dt{color:var(--nezumi);font-size:14px;line-height:20px}.metrics dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:600;line-height:28px}.sheet .board{box-shadow:inset 0 1px 0 var(--rule);background:0 0;border:0;border-radius:0;padding:16px 0 0}.toast{z-index:30;border-radius:var(--r-btn);background:var(--sumi);color:var(--sheet);animation:toast .9s var(--ease) forwards;pointer-events:none;padding:8px 12px;font-size:16px;font-weight:600;line-height:24px;position:fixed;top:16%;left:50%;transform:translate(-50%)}.toast.linger{animation-duration:3.2s}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes bump{40%{transform:translateY(-2px)}}@keyframes popheart{40%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake{25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-2px)}}@keyframes gone{to{opacity:0;transform:translateY(-4px)}}@keyframes rise{to{opacity:0;transform:translateY(-12px)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}20%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}@keyframes count-in{0%{opacity:0;transform:scale(.92)}}@media (width<=980px){.shell{gap:12px;padding:12px 16px 16px}.ad-slot.banner.placeholder{min-height:0;padding:8px 12px}#rail,body[data-phase=countdown] #log,body[data-phase=playing] #log,body[data-phase=paused] #log,body[data-phase=over] #log,body[data-phase=countdown] .playcol,body[data-phase=playing] .playcol,body[data-phase=paused] .playcol,body[data-phase=over] .playcol,body[data-phase=countdown] #rail,body[data-phase=playing] #rail,body[data-phase=paused] #rail,body[data-phase=over] #rail{grid-column:auto}#stage,body[data-phase=countdown] #stage,body[data-phase=playing] #stage,body[data-phase=paused] #stage,body[data-phase=over] #stage{grid-template-columns:1fr}body[data-phase=countdown] #stage,body[data-phase=playing] #stage,body[data-phase=paused] #stage,body[data-phase=over] #stage{grid-template-rows:minmax(240px,1fr) auto auto;gap:12px}.playcol,body[data-phase] .playcol{order:1;min-height:0;padding:0}#log{order:2;max-height:96px;padding:8px 12px}#rail{order:3;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-self:stretch;gap:16px;margin-top:24px;padding:0;display:grid}.tip{place-self:start end;width:min(200px,100%);margin-top:0}.ad-slot.sidebar.placeholder,.ad-slot.sidebar.live{min-height:80px}#ad-banner{max-height:64px;margin-bottom:0;overflow:auto}.modes{grid-template-columns:1fr}}@media (width<=800px){.bar{flex-wrap:wrap;justify-content:space-between;align-self:stretch;gap:8px 16px}.hud{flex-basis:100%;order:3;grid-template-columns:repeat(5,auto);justify-content:space-between;gap:4px 12px;width:100%;display:grid}.help-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}h1{font-size:48px}.menu{padding-top:24px}}@media (width<=560px){.hide-sm{display:none}.shell{gap:8px;padding-inline:16px}.bar{padding:4px 4px 4px 12px}.hud{gap:2px 8px}.ad-note{display:none}#ad-banner{max-height:48px}#log{max-height:72px}.ad-slot.sidebar.placeholder,.ad-slot.sidebar.live{min-height:64px}#ime-dock{margin-top:8px}.sheet{padding:24px 16px}.lede{font-size:18px;line-height:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-property:opacity,background-color,color,border-color!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (hover:none){.primary.start kbd{display:none}}
