@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--jl-bg:#0b0b0c;--jl-surface:#151619;--jl-surface-2:#2e3033;--jl-border:#2b2e33;--jl-text:#fff;--jl-text-muted:#a7abb0;--jl-brand:#c3b5f5;--jl-on-brand:#0b0b0c;--jl-seg-off:#1e1e20;--jl-seg-off-2:#3a3d41;--jl-danger-text:#ff7a7e;--logo-main:#c3b5f5;--logo-knock:#0b0b0c;--acc-mint-s:#9fe3c4;--acc-yellow-s:#f6de86;--acc-lavender-s:#c3b5f5;--acc-muted-s:#a7abb0;--jl-yellow:#f6de86;--jl-mint:#9fe3c4;--jl-lavender:#c3b5f5;--jl-violet:#6c55c9;--jl-ink:#2a201d;--jl-danger:#e5484d;--jl-scale-low:#c9ccd0;--jl-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--r-s:8px;--r-m:14px;--r-l:18px;--t:.15s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--jl-bg:#ecedee;--jl-surface:#fff;--jl-surface-2:#f5f5f6;--jl-border:#d5d7da;--jl-text:#2a201d;--jl-text-muted:#5a5f64;--jl-brand:#6c55c9;--jl-on-brand:#fff;--jl-seg-off:#eee;--jl-seg-off-2:#dcdee0;--jl-danger-text:#c4262b;--logo-main:#6c55c9;--logo-knock:#2a201d;--acc-mint-s:#1e8c60;--acc-yellow-s:#8f6c00;--acc-lavender-s:#6c55c9;--acc-muted-s:#5a5f64;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{height:100%}*,:before,:after{box-sizing:inherit}body{background:var(--jl-bg);height:100%;color:var(--jl-text);font-family:var(--jl-mono);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;font-size:15px;line-height:1.4;overflow:hidden}#root{height:100%}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;transition:background-color var(--t), color var(--t), border-color var(--t), transform var(--t)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--jl-brand);outline-offset:2px}.app{flex-direction:column;height:100%;display:flex}.main{flex-direction:column;flex:1;min-height:0;display:flex}.eyebrow,.lab{text-transform:uppercase;letter-spacing:3px;color:var(--jl-text-muted);font-size:11px;font-weight:500}.ico{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.note{color:var(--jl-text-muted);margin:10px 0 0;font-size:12.5px}.hint{color:var(--jl-text-muted);font-size:12.5px}.top{background:var(--jl-surface);border-bottom:1px solid var(--jl-border);flex:none;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:8px 12px;display:grid}.brand svg{width:auto;height:38px;display:block}.hstat{justify-content:center;gap:22px;display:flex}.hstat .st{flex-direction:column;align-items:center;gap:4px;display:flex}.hright{align-items:center;gap:8px;display:flex}.meta{flex-direction:column;align-items:flex-end;min-width:0;margin-right:6px;display:flex}.meta .v{white-space:nowrap;font-size:13px;font-weight:700}.meta .jd{color:var(--jl-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:12px;overflow:hidden}.ib{border-radius:var(--r-m);border:1.5px solid var(--jl-border);min-width:44px;height:44px;color:var(--jl-text);background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.ib span{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;display:none}@media (width>=1280px){.ib span{display:inline}}@media (width<=900px){.meta{display:none}.hstat{gap:12px}}.ride{border:6px solid var(--jc);border-radius:var(--r-l);min-width:0;min-height:0;transition:border-color var(--t);flex:1;grid-template-rows:auto 1fr auto auto;grid-template-columns:minmax(0,1fr);gap:8px;margin:8px;padding:8px;display:grid}:root:not([data-theme=light]) .ride.edge{box-shadow:inset 0 0 0 1px var(--jl-text-muted)}.rhead{align-items:center;gap:12px;min-width:0;padding:2px 4px;display:flex}.lycra{border-radius:var(--r-s);letter-spacing:2px;text-transform:uppercase;background:var(--jc);color:var(--jt);flex:none;padding:6px 10px;font-size:11px;font-weight:700;box-shadow:inset 0 0 0 1px #7f7f7f59}.lycra.big{padding:8px 14px;font-size:14px}.rhead .nm{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(18px,2.4vw,24px);font-weight:700;line-height:1.1;overflow:hidden}.rhead .sp{flex:1}.dirb{border:1.5px solid var(--jl-border);height:44px;color:var(--jl-text-muted);border-radius:var(--r-m);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.dirb.unk{border-style:dashed}.nx{white-space:nowrap;align-items:center;gap:8px;display:flex}.nx .n{font-size:13px;font-weight:500}@media (width<=760px){.nx{display:none}}.dot{border-radius:50%;width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 1px #7f7f7f80}.rbody{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.mgrid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(72px,1fr);gap:8px;min-height:0;display:grid}@media (orientation:portrait){.mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.mb{background:var(--jl-surface-2);color:var(--jl-text);border-radius:var(--r-m);border:0;flex-direction:column;justify-content:flex-start;align-items:center;min-height:72px;padding:14px 6px 6px;display:flex;position:relative;overflow:hidden}.mb:before{content:"";background:var(--acc);height:4px;position:absolute;top:0;left:0;right:0}.mb b{z-index:1;font-size:26px;font-weight:700;line-height:1;position:relative}.mb span{color:var(--jl-text-muted);z-index:1;text-align:center;margin-top:4px;font-size:11.5px;line-height:1.15;position:relative}.mb svg{pointer-events:none;width:calc(100% - 16px);height:52%;position:absolute;bottom:6px;left:8px;right:8px;overflow:visible}.mb:active{transform:scale(.98)}.mb.cur{outline:3px solid var(--jl-brand);outline-offset:2px}:root[data-theme=light] .mb,:root[data-theme=light] .pb,:root[data-theme=light] .gcard{box-shadow:inset 0 0 0 1px var(--jl-border)}.mb.hit{animation:hit var(--t) steps(1, end)}@keyframes hit{0%{background:var(--acc);color:var(--jl-ink)}to{background:var(--jl-surface-2)}}.mb.hit span{color:var(--jl-ink)}.wv-icon{stroke:var(--acc-s);stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round}.wv-ter{stroke:var(--jl-text-muted);opacity:.4;fill:none;stroke-width:2px}.wv-curl{fill:var(--jl-text-muted);opacity:.4}.wv-board{fill:var(--jl-text)}.flip svg{transform:scaleX(-1)}.tl{background:var(--jl-surface);border:1px solid var(--jl-border);border-radius:var(--r-m);scrollbar-width:none;align-items:center;gap:6px;min-height:56px;padding:6px 8px;display:flex;overflow-x:auto}.chip{border-radius:var(--r-s);min-height:36px;color:var(--jl-ink);border:0;flex:none;align-items:center;gap:4px;padding:6px 10px;font-size:16px;font-weight:700;display:inline-flex}.chip i{font-style:normal;font-weight:700}.c-ok{background:var(--jl-mint)}.c-inc{background:var(--jl-yellow)}.c-pos{background:var(--jl-lavender)}.c-late{background:var(--jl-surface-2);color:var(--jl-text-muted);border:1.5px dashed var(--jl-text-muted)}.c-fall{color:var(--jl-danger-text);border:2px solid var(--jl-danger);background:0 0}.c-star{box-shadow:inset 0 0 0 2px var(--jl-brand)}.c-ok.c-star,.c-inc.c-star,.c-pos.c-star{box-shadow:0 0 0 2px var(--jl-brand)}.chip.sel{outline:2px solid var(--jl-brand);outline-offset:3px}.chip.c-unk{outline:2px dashed var(--jl-brand);outline-offset:2px}.chip.pressing{outline:3px solid var(--jl-text);outline-offset:3px;transform:scale(1.06)}.chip.new{animation:chipin var(--t) ease-out}@keyframes chipin{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.edcur{align-items:center;gap:12px;margin-bottom:6px;display:flex}.edcur .chip{min-height:48px;padding:8px 14px;font-size:22px}.edsug{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.edsug button{border-radius:var(--r-m);background:var(--acc);min-height:120px;color:var(--jl-ink);border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 6px;font-size:24px;font-weight:700;display:flex}.edsug small{font-size:11px;font-weight:500}.edsug .aico,.alts .aico{display:block}.edsug .aico{width:70%;height:40px}.edsug .aico svg,.alts .aico svg{width:100%;height:100%;display:block;overflow:visible}.aico.flip svg{transform:scaleX(-1)}.edsug .wv-icon,.alts .wv-icon{stroke:var(--jl-ink)}.edsug .wv-ter,.alts .wv-ter{stroke:var(--jl-ink);opacity:.35}.edsug .wv-curl,.alts .wv-curl{fill:var(--jl-ink);opacity:.25}.edgrid .mb{height:108px}.marks{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.mk{border-radius:var(--r-m);min-height:64px;color:var(--jl-ink);border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:flex}.mk .s{font-size:26px;font-weight:700;line-height:1}.mk .t{text-align:center;font-size:11px;font-weight:500;line-height:1.1}.m-ok{background:var(--jl-mint)}.m-inc{background:var(--jl-yellow)}.m-pos{background:var(--jl-lavender)}.m-late{background:var(--jl-surface-2);color:var(--jl-text-muted);border:1.5px dashed var(--jl-text-muted)}.m-fall{color:var(--jl-danger-text);border:2px solid var(--jl-danger);background:0 0}.m-star{color:var(--jl-brand);border:2px solid var(--jl-brand);background:0 0}.mk.on{outline:3px solid var(--jl-text);outline-offset:2px}.mk:disabled{opacity:.35;cursor:not-allowed}@media (width<=700px){.mk .t{display:none}}.rfoot{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:stretch;gap:8px;display:grid}.btn,.fbtn{border:1.5px solid var(--jl-text);color:var(--jl-text);border-radius:var(--r-m);letter-spacing:1.5px;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.fbtn{min-height:56px}.btn:disabled,.fbtn:disabled{opacity:.35;cursor:not-allowed}.fbtn.more{border:1.5px dashed var(--jl-text-muted);background:var(--jl-surface-2)}.fbtn.go,.btn.primary{background:var(--jl-brand);border-color:var(--jl-brand);color:var(--jl-on-brand)}.fbtn.go{min-width:180px}.btn.danger{border-color:var(--jl-danger);color:var(--jl-danger-text)}@media (width<=640px){.ib.opt{display:none}.brand svg{height:28px}.hstat .lab,.hstat .st:first-child{display:none}.top{gap:8px;padding:6px 8px}.hright{gap:6px}.ride{border-width:5px;margin:4px;padding:6px}.rhead{flex-wrap:wrap;gap:8px}.rhead .lab{display:none}.rfoot{grid-template-columns:repeat(3,minmax(0,1fr))}.rfoot .tl{grid-column:1/-1}.fbtn.go{min-width:0}.mb b{font-size:22px}.mb span{font-size:10.5px}.fbtn{letter-spacing:.5px;min-width:0;padding:0 6px;font-size:11px}}.flash{pointer-events:none;opacity:0;z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.flash .chip{border-radius:var(--r-l);min-height:0;padding:2vmin 5vmin;font-size:14vmin}.flash.go{animation:.6s ease-out fl}@keyframes fl{0%{opacity:.96}60%{opacity:.9}to{opacity:0}}.dwrap{border:1px solid var(--jl-border);border-radius:var(--r-m);background:var(--jl-bg);touch-action:none;min-height:0;position:relative;overflow:hidden}.dwrap canvas,.tpad canvas{touch-action:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.guidew{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.guidew text{font-family:var(--jl-mono);letter-spacing:3px;fill:var(--jl-text-muted);font-size:11px;font-weight:500}.dhint{bottom:0;left:0;right:0;top:calc(var(--lip,38%) + 30px);color:var(--jl-text-muted);pointer-events:none;text-align:center;z-index:2;white-space:pre-line;justify-content:center;align-items:flex-start;padding:6px 30px;font-size:14px;line-height:1.6;display:flex;position:absolute;overflow:hidden}.alts{z-index:3;background:var(--jl-surface);border:1px solid var(--jl-border);border-radius:var(--r-m);width:clamp(150px,20%,220px);animation:altin var(--t) ease-out;flex-direction:column;gap:8px;padding:8px;display:flex;position:absolute;top:10px;bottom:10px;right:10px}@keyframes altin{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.alts .lbl{letter-spacing:2px;text-transform:uppercase;color:var(--jl-text-muted);text-align:center;padding:4px 2px 2px;font-size:11px;font-weight:700}.alts .lbl.no{color:var(--jl-danger-text)}.alts .lbl.hintmark{letter-spacing:1px;text-transform:none;font-weight:500}.alts button{border-radius:var(--r-m);background:var(--acc);min-height:72px;max-height:150px;color:var(--jl-ink);border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 6px;font-size:clamp(24px,3vw,34px);font-weight:700;display:flex;position:relative}.alts button small{font-size:11px;font-weight:500}.alts .ab{line-height:1}.alts .aico{flex:1;width:88%;min-height:0;max-height:52px}.alts button:active{transform:scale(.97)}.alts .keep{border:1.5px solid var(--jl-border);min-height:48px;max-height:none;color:var(--jl-text-muted);letter-spacing:2px;text-transform:uppercase;background:0 0;flex:none;font-size:11px}.tpad{border:1px solid var(--jl-border);border-radius:var(--r-m);background:var(--jl-bg);touch-action:none;height:300px;margin-top:10px;position:relative;overflow:hidden}.tres{min-height:24px;margin-top:8px;font-size:13px;font-weight:500}.tprev{--acc-s:var(--jl-brand);flex:none;width:120px;height:64px}.tprev svg{width:100%;height:100%;overflow:visible}.tprog{align-items:center;gap:12px;margin-top:10px;display:flex}.pieces{gap:6px;display:flex}.pieces i{background:var(--jl-surface-2);border-radius:6px;width:22px;height:22px;display:block}.pieces i.f{background:var(--jl-mint)}.segsel{gap:6px;margin-top:10px;display:flex}.segsel button{border:1.5px solid var(--jl-border);border-radius:var(--r-s);letter-spacing:1px;background:0 0;flex:1;min-height:44px;font-size:12px;font-weight:700}.segsel button.on{background:var(--jl-brand);border-color:var(--jl-brand);color:var(--jl-on-brand)}.score{flex:1;grid-template-columns:minmax(280px,40%) 1fr;gap:8px;min-height:0;padding:8px;display:grid;overflow:auto}@media (width<=820px){.score{grid-template-columns:1fr}}.card{background:var(--jl-surface);border:1px solid var(--jl-border);border-radius:var(--r-l);min-width:0;padding:14px}.card h3{text-transform:uppercase;letter-spacing:3px;color:var(--jl-text-muted);margin:0 0 10px;font-size:11px;font-weight:500}.who{align-items:center;gap:10px;margin-bottom:14px;display:flex}.who .nm{font-size:20px;font-weight:700;line-height:1.1}.who .inf{color:var(--jl-text-muted);margin-top:2px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;min-height:40px;display:flex}.emarks{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.emarks button{border-radius:var(--r-s);min-height:44px;color:var(--jl-ink);border:0;padding:0 10px;font-size:13px;font-weight:700}.emarks .m-late{border:1.5px dashed var(--jl-text-muted);color:var(--jl-text-muted)}.emarks .m-fall{border:2px solid var(--jl-danger);color:var(--jl-danger-text)}.emarks .m-star{border:2px solid var(--jl-brand);color:var(--jl-brand)}.emarks button.on{outline:3px solid var(--jl-text);outline-offset:2px}.emarks .del{color:var(--jl-danger-text);border:2px solid var(--jl-danger);background:0 0}.chainc{background:var(--jl-bg);grid-column:1/-1;padding:12px 14px}.chainc .hd{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:6px;display:flex}.chainc .lg{color:var(--jl-text-muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.chainc .lg b{font-weight:700}.chain{width:100%;height:clamp(110px,19vh,190px);display:block}.chain .lbl{font-family:var(--jl-mono);fill:var(--jl-text);font-size:8px;font-weight:700}.chain .num{font-family:var(--jl-mono);fill:var(--jl-bg);font-size:5.5px;font-weight:700}.bigbox{border:2px solid var(--jl-brand);border-radius:var(--r-l);flex-direction:column;align-items:center;gap:10px;padding:10px 16px;display:flex}.scale{letter-spacing:3px;text-transform:uppercase;border-radius:var(--r-s);color:var(--jl-ink);background:var(--jl-surface-2);padding:5px 10px;font-size:11px;font-weight:700}.scale.s-none{color:var(--jl-text-muted);background:0 0;padding:5px 0}.scale.s-low{background:var(--jl-scale-low)}.scale.s-mid{background:var(--jl-yellow)}.scale.s-good{background:var(--jl-mint)}.scale.s-top{background:var(--jl-lavender)}.pad{gap:8px;margin-top:10px;display:grid}.pad .r{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.pad .r.d{grid-template-columns:repeat(5,1fr)}.pb{background:var(--jl-surface-2);color:var(--jl-text);border-radius:var(--r-m);border:0;height:clamp(46px,6vh,72px);font-size:clamp(20px,2.6vw,26px);font-weight:700}.pb.on{background:var(--jl-brand);color:var(--jl-on-brand)}.pb:disabled{opacity:.3}.sact{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.sact .go{grid-column:1/-1}.board{flex-direction:column;gap:6px;display:flex}.bhead{letter-spacing:3px;text-transform:uppercase;color:var(--jl-text-muted);grid-template-columns:6px 1fr auto auto;gap:10px;padding:0 4px 0 0;font-size:10.5px;display:grid}.bhead span:nth-child(3){text-align:right;min-width:74px}.bhead span:nth-child(4){text-align:right;min-width:36px}.row{border-radius:var(--r-m);background:var(--jl-surface);grid-template-columns:6px 1fr auto auto;align-items:center;gap:10px;padding:8px 4px 8px 0;display:grid}.row .bar{border-radius:0 4px 4px 0;align-self:stretch}.row .n{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.row .n small{letter-spacing:2px;color:var(--jl-text-muted);margin-left:8px;font-size:10.5px;font-weight:500}.cells{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.cell{border-radius:var(--r-s);background:var(--jl-surface-2);border:0;justify-content:center;align-items:center;min-width:44px;height:36px;padding:0 5px;display:inline-flex}.cell.counts{background:var(--jl-mint)}.cell.now{outline:2px solid var(--jl-brand);outline-offset:1px}.tot{justify-content:flex-end;min-width:74px;display:flex}.rk{flex-direction:column;align-items:flex-end;min-width:36px;display:flex}.done{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;overflow:auto}.done h2{margin:0;font-size:24px}.done .note{margin:0}dialog{border:1px solid var(--jl-border);border-radius:var(--r-l);background:var(--jl-surface);color:var(--jl-text);width:min(620px,94vw);max-height:92vh;padding:0;box-shadow:0 8px 30px #0000002e}dialog::backdrop{background:#05050699}.dlg{max-height:92vh;padding:18px;overflow:auto}.dlg h2{margin:4px 0 14px;font-size:20px;font-weight:700}.f{grid-template-columns:1fr 1fr;gap:12px;display:grid}.f label{letter-spacing:2.5px;text-transform:uppercase;color:var(--jl-text-muted);flex-direction:column;gap:6px;font-size:11px;font-weight:500;display:flex}.f .full{grid-column:1/-1}.f .ck{letter-spacing:0;text-transform:none;color:var(--jl-text);flex-direction:row;align-self:end;align-items:center;gap:10px;min-height:44px;font-size:13px}.f .ck input{width:22px;height:22px;min-height:0;accent-color:var(--jl-brand)}@media (width<=560px){.f{grid-template-columns:1fr}}input,select,textarea{font:inherit;color:var(--jl-text);background:var(--jl-surface-2);border:1px solid var(--jl-border);border-radius:var(--r-s);letter-spacing:0;text-transform:none;min-height:44px;padding:10px;font-size:15px}input:focus,select:focus,textarea:focus{border:2px solid var(--jl-brand);outline:none;padding:9px}textarea{resize:vertical;-webkit-user-select:text;user-select:text;min-height:220px;line-height:1.5}.names{gap:8px;display:grid}.names .nm{grid-template-columns:24px 1fr;align-items:center;gap:10px;display:grid}.da{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:16px;display:flex}.moregrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.moregrid .mb{height:116px}.guide{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.gcard{border-radius:var(--r-m);background:var(--jl-surface-2);padding:8px;position:relative;overflow:hidden}.gcard:before{content:"";background:var(--acc);height:4px;position:absolute;top:0;left:0;right:0}.gcard svg{border-radius:var(--r-s);width:100%;height:auto;margin-top:4px;display:block}.gcard b{margin-right:6px;font-size:16px;font-weight:700}.gcard span{color:var(--jl-text-muted);font-size:11.5px}.gnone{color:var(--jl-text-muted);padding:26px 6px;font-size:13px}.gsec{margin:16px 0 8px}.copyarea{width:100%;min-height:200px;margin-top:10px;font-size:13px}.wv-face{fill:var(--jl-surface)}.wv-lip{stroke:var(--jl-text-muted);fill:none;stroke-width:2px;stroke-dasharray:4 3}.wv-foam{fill:var(--jl-border)}.wv-trail{stroke:var(--acc-s);stroke-width:1.4px;fill:none;stroke-dasharray:3 3;opacity:.9}.wv-spray{fill:var(--jl-text-muted)}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--jl-mint);color:var(--jl-ink);border-radius:var(--r-s);letter-spacing:3px;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity var(--t);padding:10px 16px;font-size:12px;font-weight:700;position:fixed;transform:translate(-50%)}.toast.show{opacity:1}a.ib,a.btn{text-decoration:none}a.brand{display:block}.page{-webkit-user-select:text;user-select:text;flex-direction:column;height:100%;display:flex}.ptop{grid-template-columns:auto 1fr auto}.pnav{gap:8px;display:flex}.pwho{color:var(--jl-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;overflow:hidden}@media (width<=760px){.pwho{display:none}}.pbody{flex:1;min-height:0;padding:16px;overflow:auto}.pgrid{gap:12px;max-width:880px;margin:0 auto;display:grid}.phead{padding:8px 2px 4px}.phead h1{margin:6px 0 4px;font-size:clamp(22px,3vw,30px);line-height:1.15}.pcard{background:var(--jl-surface);border:1px solid var(--jl-border);border-radius:var(--r-l);min-width:0;padding:16px}.pcard h3{text-transform:uppercase;letter-spacing:3px;color:var(--jl-text-muted);margin:0 0 12px;font-size:11px;font-weight:500}.pcard p{margin:0 0 8px}.pcardh{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.pcardh h3{margin:0}.psub{border-top:1px solid var(--jl-border);margin-top:16px;padding-top:16px}.plist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pitem{border-radius:var(--r-m);background:var(--jl-surface-2);min-height:56px;color:var(--jl-text);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n a""d a";align-items:center;gap:2px 12px;padding:12px;text-decoration:none;display:grid}.pitem>b,.pitem>a{color:var(--jl-text);text-overflow:ellipsis;grid-area:n;font-weight:700;text-decoration:none;overflow:hidden}.pitem>.hint{grid-area:d}.pitem>.pact{grid-area:a}a.pitem:hover{outline:1.5px solid var(--jl-brand)}.pact{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.prow{gap:8px;display:flex}.prow input{flex:1;min-width:0}.pfs{border:1px solid var(--jl-border);border-radius:var(--r-m);margin:0;padding:12px}.pfs legend{letter-spacing:2.5px;text-transform:uppercase;color:var(--jl-text-muted);padding:0 6px;font-size:11px;font-weight:500}.pstate{text-align:center;padding:40px 16px}.perr{color:var(--jl-danger-text);margin:12px 0 0;font-size:13px}.perr p{margin:0 0 10px}.badge{letter-spacing:2px;text-transform:uppercase;border-radius:var(--r-s);border:1.5px dashed var(--jl-text-muted);color:var(--jl-text-muted);padding:6px 10px;font-size:11px;font-weight:700;display:inline-block}.badge.on{background:var(--jl-mint);color:var(--jl-ink);border:0}.login{max-width:480px;margin:6vh auto 0}.login h2{margin:8px 0;font-size:22px}.login .da .primary{flex:100%;order:-1;min-height:56px}.fl{letter-spacing:2.5px;text-transform:uppercase;color:var(--jl-text-muted);flex-direction:column;gap:6px;margin-top:16px;font-size:11px;font-weight:500;display:flex}.otp{letter-spacing:12px;text-align:center;min-height:64px;font-size:32px;font-weight:700}.otp:focus{padding:9px}@media (prefers-reduced-motion:reduce){.chip.new,.mb.hit,.flash.go,.alts{animation:none}.mb:active{transform:none}button,.toast,.ride{transition:none}}
