@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_02e597{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_02e597{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}:root{color-scheme:dark;--bg-top:#131316;--bg-bottom:#080809;--ink:#0a0a0b;--white:#ffffff;--blue:#8ab4ff;--yellow:#ffd66b;--violet:#b9a6ff;--mint:#7ee7b6;--coral:#ff9a8a;--text-100:#ffffff;--text-85:rgb(255 255 255/0.85);--text-60:rgb(255 255 255/0.6);--text-45:rgb(255 255 255/0.45);--text-30:rgb(255 255 255/0.3);--fill-card:rgb(255 255 255/0.05);--fill-hover:rgb(255 255 255/0.09);--fill-active:rgb(255 255 255/0.1);--fill-ghost:rgb(255 255 255/0.08);--fill-ghost-hover:rgb(255 255 255/0.13);--fill-track:rgb(255 255 255/0.07);--fill-inset:rgb(255 255 255/0.04);--fill-menu:rgb(10 10 11/0.74);--fill-progress-track:rgb(255 255 255/0.12);--line:rgb(255 255 255/0.08);--dashed:rgb(255 255 255/0.16);--glass-border-top:rgb(255 255 255/0.26);--glass-border-mid:rgb(255 255 255/0.05);--glass-border-bottom:rgb(255 255 255/0.16);--glass-highlight:inset 0 1px 1.5px rgb(255 255 255/0.14);--glass-shadow:0 12px 32px rgb(0 0 0/0.35);--glass-blur:24px;--glow-white:0 0 24px rgb(255 255 255/0.18);--r-key:7px;--r-chip:10px;--r-btn:14px;--r-panel:18px;--r-card:22px;--r-lg:24px;--s-4:4px;--s-6:6px;--s-8:8px;--s-10:10px;--s-12:12px;--s-14:14px;--s-16:16px;--s-20:20px;--s-22:22px;--sidebar-w:220px;--gap:12px;--card-pad:16px;--tabbar-h:64px;--page-gutter:16px;--font-ui:var(--font-golos),var(--font-noto-jp),system-ui,sans-serif;--font-jp:var(--font-noto-jp),var(--font-golos),sans-serif;--font-mono:var(--font-jetbrains),ui-monospace,monospace;--ease-out:cubic-bezier(0.22,1,0.36,1);--t-fast:150ms;--t-base:200ms;--t-slow:250ms}@media (max-width:767px){:root{--glass-blur:14px;--page-gutter:16px}}.tint-blue,.tint-coral,.tint-mint,.tint-violet,.tint-yellow{background:color-mix(in srgb,var(--tint) 15%,transparent);border:1px solid color-mix(in srgb,var(--tint) 32%,transparent);color:var(--tint)}.tint-blue{--tint:var(--blue)}.tint-yellow{--tint:var(--yellow)}.tint-violet{--tint:var(--violet)}.tint-mint{--tint:var(--mint)}.tint-coral{--tint:var(--coral)}.tint-neutral{background:var(--fill-ghost);border:1px solid transparent;color:var(--text-85)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}html{background:var(--bg-bottom);text-size-adjust:100%}body{font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:1.45;color:var(--text-85);background:linear-gradient(180deg,var(--bg-top) 0,var(--bg-bottom) 100%) fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:hidden}.app-glows{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.app-glows span{position:absolute;border-radius:50%;background:#fff;filter:blur(110px)}.app-glows span:first-child{width:500px;height:500px;left:-160px;top:-140px;opacity:.07}.app-glows span:nth-child(2){width:500px;height:500px;right:-120px;bottom:-160px;opacity:.05}.app-glows span:nth-child(3){width:320px;height:320px;left:40%;top:34%;opacity:.04}@media (max-width:767px){.app-glows span:first-child{width:320px;height:320px;left:-120px;top:-120px}.app-glows span:nth-child(2){width:300px;height:300px}.app-glows span:nth-child(3){display:none}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid rgb(255 255 255/.7);outline-offset:2px}::selection{background:rgb(255 255 255/.22)}.t-page{font-size:30px;letter-spacing:-.02em;line-height:1.15}.t-page,.t-window{font-weight:700;color:var(--text-100);margin:0}.t-window{font-size:26px;letter-spacing:-.015em;line-height:1.2}.t-card{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.25;color:var(--text-100);margin:0}.t-large{font-size:17px}.t-block,.t-large{font-weight:600;line-height:1.35;color:var(--text-100);margin:0}.t-block{font-size:15px}.t-body{font-weight:500;line-height:1.5}.t-body,.t-body-regular{font-size:14px;color:var(--text-85)}.t-body-regular{font-weight:400;line-height:1.55}.t-caption{font-size:12px;font-weight:400;line-height:1.35;color:rgb(255 255 255/.55)}.t-label{font-size:11px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:var(--text-45)}.t-mono{font-family:var(--font-mono);font-size:12px}.jp{font-family:var(--font-jp)}@media (max-width:767px){.t-page{font-size:26px;letter-spacing:-.015em}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;transition-duration:1ms!important}}@media (pointer:coarse){input,select,textarea{font-size:16px}}.glass{position:relative;background:var(--fill-card);border-radius:var(--r-card);box-shadow:var(--glass-highlight),var(--glass-shadow);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));isolation:isolate}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,var(--glass-border-top) 0,var(--glass-border-mid) 50%,var(--glass-border-bottom) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.glass-menu{background:var(--fill-menu)}.panel{background:var(--fill-inset);border:1px solid var(--line);border-radius:var(--r-panel)}.dashed{border:1px dashed var(--dashed);border-radius:var(--r-panel);background:transparent}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-btn);font-size:13px;font-weight:600;line-height:1;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--t-fast) var(--ease-out)}.btn svg{flex:none;transition:transform var(--t-base) var(--ease-out)}.btn-primary{background:var(--white);color:var(--ink);box-shadow:var(--glow-white)}.btn-primary:hover:not(:disabled){background:#f2f2f3}.btn-ghost{background:var(--fill-ghost);color:var(--text-100)}.btn-ghost:hover:not(:disabled){background:var(--fill-ghost-hover)}.btn-plain{background:transparent;color:var(--text-85)}.btn-plain:hover:not(:disabled){background:var(--fill-ghost)}.btn-danger{background:color-mix(in srgb,var(--coral) 15%,transparent);border:1px solid color-mix(in srgb,var(--coral) 32%,transparent);color:var(--coral)}.btn-sm{height:32px;padding:0 12px;border-radius:12px;font-size:13px}.btn-block{width:100%}.btn:disabled{opacity:.4;box-shadow:none}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:12px;color:var(--text-60);transition:transform var(--t-fast) var(--ease-out)}.icon-btn:hover:not(:disabled){background:var(--fill-ghost);color:var(--text-100)}.icon-btn.is-primary{background:var(--white);color:var(--ink);box-shadow:var(--glow-white)}.icon-btn.is-ghost{background:var(--fill-ghost);color:var(--text-100)}.icon-btn.is-sm{width:28px;height:28px;border-radius:9px}.icon-btn:disabled{opacity:.4}.chip{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 8px;border-radius:7px;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent}.chip.tint-neutral{color:var(--text-85)}.chip-lg{height:26px;padding:0 10px;border-radius:var(--r-chip);font-size:12px}.chip-dashed{background:transparent;border:1px dashed var(--dashed);color:var(--text-60)}.pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--r-chip);background:var(--fill-ghost);color:var(--text-85);font-size:12px;font-weight:600;white-space:nowrap;transition:transform var(--t-fast) var(--ease-out)}.pill:hover{background:var(--fill-ghost-hover)}.pill[aria-pressed=true]{background:var(--white);color:var(--ink)}.segmented{display:inline-flex;padding:4px;gap:2px;border-radius:16px;background:var(--fill-track);border:1px solid var(--line)}.segmented button{height:32px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:600;color:var(--text-60);white-space:nowrap}.segmented button:hover:not([aria-pressed=true]){color:var(--text-100)}.segmented button[aria-pressed=true]{background:var(--white);color:var(--ink)}.segmented.is-sm button{height:26px;padding:0 10px;font-size:12px;border-radius:9px}.segmented.is-block{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%}.segmented.is-block button{padding:0 8px;overflow:hidden;text-overflow:ellipsis}.segmented.is-sm{padding:3px;border-radius:12px}.toggle{position:relative;width:38px;height:22px;flex:none;border-radius:11px;background:var(--fill-progress-track)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-85);transition:transform var(--t-base) var(--ease-out)}.toggle[aria-checked=true]{background:var(--white)}.toggle[aria-checked=true]:after{background:var(--ink);transform:translateX(16px)}.progress{height:5px;border-radius:3px;background:var(--fill-progress-track);overflow:hidden}.progress>span{display:block;height:100%;width:100%;border-radius:inherit;background:var(--white);transform-origin:left center;transition:transform var(--t-slow) var(--ease-out)}.keycap{place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-key);background:rgb(255 255 255/.1);box-shadow:inset 0 -1px 0 rgb(0 0 0/.35);font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-85)}.check,.keycap{display:inline-grid}.check{place-items:center;width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid rgb(255 255 255/.35);color:var(--ink);transition:transform var(--t-fast) var(--ease-out)}.check[aria-checked=true]{background:var(--white);border-color:var(--white)}.check svg{opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.check[aria-checked=true] svg{opacity:1}.field{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:var(--r-btn);background:var(--fill-ghost);border:1px solid var(--line);color:var(--text-45)}.field:focus-within{border-color:rgb(255 255 255/.28);color:var(--text-85)}.field input,.field select{flex:1 1;min-width:0;height:100%;background:none;border:0;outline:0;font-size:13px;font-weight:500;color:var(--text-100)}.field input::placeholder{color:var(--text-45)}.select-chip{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:26px;padding:0 24px 0 10px;border-radius:var(--r-chip);border:1px solid transparent;background-color:var(--fill-ghost);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-opacity='.6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;font-size:12px;font-weight:600;color:var(--text-85);cursor:pointer}.select-chip option{background:#1a1a1d;color:#fff}.icon-tile{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:var(--fill-ghost);color:var(--text-85)}.icon-tile[class*=tint-]{background:color-mix(in srgb,var(--tint) 18%,transparent);border:0;color:var(--tint)}.badge{display:inline-grid;place-items:center;min-width:28px;height:17px;padding:0 6px;border-radius:9px;background:var(--white);color:var(--ink);font-size:11px;font-weight:700}.divider{height:1px;background:var(--line);border:0;margin:0}@keyframes hb-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.appear{animation:hb-appear var(--t-slow) var(--ease-out) both}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-gap:var(--gap);gap:var(--gap);padding:var(--gap);min-height:100dvh}.main{min-width:0;gap:var(--gap)}.main,.sidebar{display:flex;flex-direction:column}.sidebar{position:-webkit-sticky;position:sticky;top:var(--gap);height:calc(100dvh - 2 * var(--gap));gap:4px;padding:14px;border-radius:20px}.brand{display:flex;align-items:center;gap:12px;padding:2px 2px 14px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--white);color:var(--ink);box-shadow:var(--glow-white)}.brand-name{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text-100)}.side-label{padding:0 2px 6px}.side-nav{display:flex;flex-direction:column;gap:4px}.side-link{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:var(--r-btn);font-size:14px;font-weight:500;color:var(--text-60);white-space:nowrap}.side-link svg{color:var(--text-45);transition:transform var(--t-base) var(--ease-out)}.side-link:hover{background:var(--fill-card);color:var(--text-100)}.side-link:hover svg{color:var(--text-85)}.side-link.is-active{background:var(--fill-hover);box-shadow:inset 0 0 0 1px rgb(255 255 255/.1),var(--glass-highlight);font-weight:600}.side-link.is-active,.side-link.is-active svg{color:var(--text-100)}.side-spacer{flex:1 1}.status-card{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:4px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line)}button.status-card{width:100%;text-align:left;color:inherit}button.status-card:hover{background:var(--fill-card)}.spin{animation:hb-spin 1s linear infinite}@keyframes hb-spin{to{transform:rotate(1turn)}}.status-card .icon-tile{width:32px;height:32px;border-radius:10px}.status-card.is-offline{border:1px dashed var(--dashed);background:transparent}.status-text{display:flex;flex-direction:column;min-width:0}.status-title{font-size:13px;font-weight:600;color:var(--text-100)}.offline-banner,.tabbar{display:none}@media (max-width:767px){.shell{grid-template-columns:minmax(0,1fr);padding:calc(env(safe-area-inset-top) + 12px) var(--page-gutter) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 28px)}.sidebar{display:none}.offline-banner{display:flex;align-items:center;gap:8px;min-height:34px;padding:8px 12px;border-radius:var(--r-btn);border:1px dashed var(--dashed);font-size:12px;font-weight:500;color:var(--text-85)}.tabbar{position:fixed;z-index:20;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 10px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--tabbar-h);padding:6px;border-radius:var(--r-lg)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;border-radius:var(--r-panel);font-size:11px;font-weight:600;color:var(--text-45);transition:transform var(--t-fast) var(--ease-out)}.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.is-active{color:var(--text-100);background:var(--fill-active)}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-16);padding:8px 4px 4px}.page-head-text{display:flex;flex-direction:column;gap:6px;min-width:0}.page-head-actions{display:flex;align-items:center;gap:8px;flex:none}@media (max-width:767px){.page-head{padding:4px 2px 2px}}.card{padding:var(--card-pad)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--gap);gap:var(--gap);align-items:stretch}@media (max-width:767px){.grid-2{grid-template-columns:minmax(0,1fr)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:40px 20px;min-height:240px}.empty p{margin:0;max-width:340px}.list-links{display:flex;flex-direction:column;padding:6px}.list-link{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 10px;border-radius:var(--r-panel);font-size:15px;font-weight:600;color:var(--text-100)}.list-link:hover{background:var(--fill-card)}.list-link .chev{margin-left:auto;color:var(--text-30)}.login{min-height:100dvh;display:grid;place-items:center;padding:calc(env(safe-area-inset-top) + 16px) var(--page-gutter) calc(env(safe-area-inset-bottom) + 16px)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 22px 22px;text-align:center}.login-mark{width:44px;height:44px;border-radius:14px}.login-head{display:flex;flex-direction:column;gap:6px}.login-head p{margin:0}.login-field{width:100%;height:44px;padding-right:6px}.login-field input{font-size:15px}.login-error{margin:-4px 0 0;font-size:12px;font-weight:500;color:var(--coral)}.login-card .btn{height:44px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.settings-row p{margin:4px 0 0}.settings-head{display:flex;gap:12px;align-items:center;min-width:0}.reminders-body{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.reminders-body p{margin:0}.reminders-review{display:grid;grid-template-columns:auto minmax(0,120px);align-items:center;grid-gap:8px;gap:8px}@media (max-width:767px){.reminders-review{grid-template-columns:minmax(0,1fr) 110px}}.nav-badge{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--white);color:var(--ink);font-size:11px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.side-link .nav-badge{margin-left:auto}.tab-icon{position:relative;display:inline-grid;place-items:center}.tab-icon .nav-badge{position:absolute;top:-6px;left:12px;min-width:18px;height:16px;padding:0 4px;font-size:10px;box-shadow:0 0 0 2px var(--ink)}.tab .nav-badge,.tab .tab-icon{overflow:visible;max-width:none}.settings-actions{margin-top:14px}.restore-summary{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.restore-summary div{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--r-chip);background:var(--fill-inset);border:1px solid var(--line);font-size:13px}.restore-summary dt{color:var(--text-60)}.restore-summary dd{margin:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--gap);gap:var(--gap);align-items:start}@media (max-width:1023px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.settings-field{margin-top:14px;height:44px}.settings-lines{display:flex;flex-direction:column;gap:10px;margin-top:14px}.settings-line{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-85)}.loading{display:flex;flex-direction:column;gap:10px}.skeleton{display:block;height:64px;border-radius:var(--r-panel);background:var(--fill-card);border:1px solid var(--line);animation:hb-pulse 1.1s var(--ease-out) infinite alternate}.skeleton:first-of-type{height:96px}@keyframes hb-pulse{0%{opacity:.45}to{opacity:1}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.state-page{min-height:60dvh;display:grid;place-items:center}.state-page .empty{width:100%;max-width:480px}.not-found{min-height:100dvh;padding:16px}ul.settings-lines{margin-bottom:0;padding:0;list-style:none}ul.settings-lines .settings-line>:first-child{flex:1 1;min-width:0;overflow-wrap:anywhere}ul.settings-lines .settings-line{justify-content:flex-start}.login-alt{margin:0;text-align:center}.notes{display:grid;grid-template-columns:268px minmax(0,1fr);grid-gap:14px;gap:14px;height:calc(100dvh - 2 * var(--gap))}.notes-list{display:flex;flex-direction:column;gap:10px;min-height:0;padding:15px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.notes-list::-webkit-scrollbar{display:none}@media (min-width:768px){.notes-list{position:relative;background:var(--fill-card);border-radius:var(--r-card);box-shadow:var(--glass-highlight),var(--glass-shadow);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid rgb(255 255 255/.1)}}.notes-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}.notes-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--text-100)}.notes-list .field input[type=search]::-webkit-search-cancel-button{filter:invert(1) opacity(.5)}.filters{display:flex;gap:6px;flex-wrap:wrap}.chip-scroll{display:flex;gap:6px;margin:0 -15px;padding:0 15px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.chip-scroll::-webkit-scrollbar{display:none}.chip-scroll .pill{flex:none;gap:7px}.pill-add{gap:6px;color:var(--text-60);background:transparent;border:1px dashed var(--dashed)}.pill-add:hover{color:var(--text-100)}.pill-sm{height:24px;padding:0 10px;font-size:11px;border-radius:8px}.note-pin{flex:none;margin-right:6px;vertical-align:-1px;color:var(--text-60)}.note-item-folder{display:inline-flex;align-items:center;gap:5px;margin-left:8px;color:var(--text-60)}.note-item-folder:before{content:"·";margin-right:3px;color:var(--text-30)}.notes-hint{margin:4px 2px 0;font-size:11px;color:var(--text-30)}.note-items{list-style:none;margin:0;padding:0;gap:10px}.note-item,.note-items{display:flex;flex-direction:column}.note-item{gap:4px;padding:12px 13px;border-radius:var(--r-panel);border:1px solid transparent;transition:transform var(--t-fast) var(--ease-out)}.note-item:hover{background:var(--fill-card)}.note-item.is-active{background:var(--fill-hover);border-color:rgb(255 255 255/.12);box-shadow:var(--glass-highlight)}.note-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.note-item-title{min-width:0;font-size:14px;font-weight:600;color:var(--text-100)}.note-item-preview,.note-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-item-preview{font-size:12px;font-weight:400;color:var(--text-60)}.note-item-date{font-size:11px;font-weight:400;color:var(--text-45)}.notes-none{display:flex;align-items:center;gap:10px;padding:14px;color:var(--text-45)}.notes-detail{min-width:0;min-height:0;display:flex}.note-editor{flex:1 1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head top" "body body" "ai ai";grid-template-rows:auto 1fr auto;align-content:start;grid-column-gap:16px;column-gap:16px;grid-row-gap:16px;row-gap:16px;padding:22px;overflow-y:auto;overscroll-behavior:contain;container-type:inline-size}.note-empty{flex-direction:column;justify-content:center;gap:10px}.ed-top,.note-empty{display:flex;align-items:center}.ed-top{grid-area:top;gap:8px;align-self:start}.ed-back,.ed-top-spacer{display:none}.ed-head{grid-area:head;display:flex;flex-direction:column;gap:8px;min-width:0}.ed-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ed-edited{padding:0 2px}.ed{display:block;width:100%;resize:none;overflow:hidden;padding:4px 8px;margin:0 0 0 -8px;width:calc(100% + 16px);border:0;border-radius:10px;background:transparent;outline:0}.ed:hover{background:rgb(255 255 255/.03)}.ed:focus{background:rgb(255 255 255/.06)}.ed::placeholder{color:var(--text-30)}.ed-title{font-size:26px;font-weight:700;letter-spacing:-.015em;line-height:1.2;color:var(--text-100)}.ed-heading{font-size:15px;font-weight:600;line-height:1.35;color:var(--text-100)}.ed-text{font-size:14px;font-weight:400;line-height:1.6;color:var(--text-85)}.ed-body{grid-area:body;display:grid;grid-template-columns:minmax(0,1fr) 236px;grid-gap:16px;gap:16px;align-items:stretch;min-height:0}.words-editor{grid-area:body;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.words-editor>.examples{align-self:stretch}.words-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:32px}ruby{ruby-position:over;ruby-align:center}rt{font-family:var(--font-jp);font-size:.5em;font-weight:400;color:var(--text-60);letter-spacing:0}.furi-toggle{gap:6px;height:26px}.furi-toggle .jp{font-size:13px;line-height:1}.ed-read{white-space:pre-wrap;line-height:2.1;cursor:text}.ex-ruby{display:flex;align-items:flex-end;min-width:0;height:40px;padding:0 8px;border-radius:9px;text-align:left;cursor:text;overflow:hidden;white-space:nowrap}.ex-ruby:hover{background:rgb(255 255 255/.07)}.ex-ruby rt{font-size:.48em}.vocab-word.has-ruby{line-height:1.9}.blocks{display:flex;flex-direction:column;gap:12px;min-width:0}.block{position:relative}.block-heading{margin-top:4px}.block-tools{position:absolute;z-index:2;right:0;top:-36px;display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--fill-menu);border:1px solid var(--line);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.block:focus-within .block-tools{opacity:1;transform:none;pointer-events:auto}.add-blocks{display:flex;flex-wrap:wrap;gap:4px;margin-left:-12px}.add-blocks .btn{color:var(--text-45)}.add-blocks .btn:hover{color:var(--text-100)}.callout{display:flex;gap:10px;padding:14px 15px;border:1px dashed var(--dashed);border-radius:var(--r-panel);color:var(--text-60)}.callout>svg{flex:none;margin-top:4px}.callout .ed{padding-top:2px;padding-bottom:2px}.examples{display:flex;flex-direction:column;gap:2px;padding:7px}.ex-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:46px;padding:0 7px 0 4px;border-radius:12px}.ex-row.has-check{grid-template-columns:20px minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) auto;padding-left:10px}.ex-row:focus-within,.ex-row:hover{background:rgb(255 255 255/.06)}.ex-row input{min-width:0;width:100%;height:34px;padding:0 8px;border:0;border-radius:9px;background:transparent;outline:0}.ex-row input:focus{background:rgb(255 255 255/.07)}.ex-row input::placeholder{color:var(--text-30)}.ex-word{font-size:15px;font-weight:600;color:var(--text-100)}.ex-word.jp{font-size:20px;font-weight:700}.ex-reading{font-size:13px;font-weight:400;color:var(--text-45)}.ex-tr{font-size:14px;font-weight:500;color:var(--text-85)}.ex-actions{display:flex;align-items:center;gap:2px}.ex-remove{opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.ex-row:focus-within .ex-remove,.ex-row:hover .ex-remove{opacity:1}@media (hover:none){.ex-remove{opacity:1}}.ex-row.is-new input::placeholder{color:var(--text-30)}.check-placeholder{width:20px;height:20px;border-radius:6px;border:1.5px dashed rgb(255 255 255/.2)}.ex-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 0}.ex-foot .btn{color:var(--text-60)}.romaji-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.vocab{flex-direction:column;padding:15px;min-height:100%}.vocab,.vocab-head{display:flex;gap:8px}.vocab-head{align-items:baseline;justify-content:space-between;margin-bottom:2px}.vocab-head .t-block{font-size:14px}.vocab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.vocab-item{display:grid;grid-template-columns:20px minmax(0,auto) minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:30px}.vocab-word{font-size:14px;font-weight:600;color:var(--text-100)}.vocab-tr,.vocab-word{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vocab-tr{font-weight:400}.vocab-suggest,.vocab-tr{font-size:12px;color:var(--text-60)}.vocab-suggest{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;margin-top:4px;border-radius:10px;border:1px dashed var(--dashed);font-weight:600}.vocab-suggest:hover{color:var(--text-100);background:var(--fill-card)}.vocab-empty{margin:0}.ai-bar{grid-area:ai;padding:10px;min-width:0}.ai-bar,.ai-label{display:flex;align-items:center;gap:8px}.ai-label{padding:0 8px 0 4px;font-size:13px;font-weight:600;color:var(--text-100);white-space:nowrap}.ai-label>span:last-child{display:flex;flex-direction:column;line-height:1.2}.ai-hint{font-size:11px;font-weight:400}.ai-spark{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--fill-ghost)}.ai-actions{display:flex;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}.ai-actions::-webkit-scrollbar{display:none}@container (max-width: 580px){.ed-body{grid-template-columns:minmax(0,1fr)}.vocab{display:none}}@container (max-width: 560px){.ex-row,.ex-row.has-check{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"word word actions" "reading tr actions";row-gap:0;padding:6px 4px}.ex-row.has-check{grid-template-columns:20px minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"check word word actions" "check reading tr actions";padding-left:10px}.ex-row>.check,.ex-row>.check-placeholder{grid-area:check}.ex-word{grid-area:word}.ex-reading{grid-area:reading}.ex-tr{grid-area:tr}.ex-actions{grid-area:actions;flex-direction:column}.ex-row input{height:30px}.ai-bar{flex-direction:column;align-items:stretch}.ai-label{padding:2px 4px}.ai-actions{flex-wrap:wrap;overflow:visible}.ai-actions .btn{flex:1 1 auto}.ai-actions .btn-primary{flex-basis:100%}}@media (max-width:767px){.notes{display:block;height:auto}.notes-list{padding:4px 0 0;overflow:visible;gap:12px}.notes-title{font-size:26px;letter-spacing:-.015em}.note-item{padding:13px 14px}.note-item,.note-item.is-active:not(.is-selected){background:var(--fill-card);border-color:var(--line)}.note-item.is-active:not(.is-selected){box-shadow:none}.notes-detail,.notes.is-open .notes-list{display:none}.notes.is-open .notes-detail{display:flex}.note-editor{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "head" "body" "ai";padding:12px 16px 16px;overflow:visible;row-gap:14px}.ed-top{margin:0 -6px}.ed-back{display:inline-grid}.ed-top-spacer{display:block;flex:1 1}.ed-title{font-size:24px}}.ctx-menu{position:fixed;z-index:90;display:flex;flex-direction:column;padding:6px;border-radius:var(--r-panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.ctx-menu.is-popover{min-width:220px;max-width:300px;max-height:min(70dvh,520px);overflow-y:auto;animation:hb-appear var(--t-base) var(--ease-out) both}.ctx-backdrop{position:fixed;inset:0;z-index:89;background:rgb(0 0 0/.45);animation:ctx-fade var(--t-base) var(--ease-out) both}.ctx-menu.is-sheet{left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom) + 8px);max-height:75dvh;overflow-y:auto;padding:8px 8px 10px;border-radius:var(--r-lg);background:rgb(22 22 25/.94);animation:ctx-sheet var(--t-slow) var(--ease-out) both}@keyframes ctx-fade{0%{opacity:0}}@keyframes ctx-sheet{0%{opacity:0;transform:translateY(24px)}}.ctx-grip{align-self:center;width:36px;height:4px;margin:2px 0 8px;border-radius:2px;background:rgb(255 255 255/.2)}.ctx-title{padding:6px 12px 8px;font-size:12px;font-weight:600;color:var(--text-45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-item{display:flex;align-items:center;gap:12px;width:100%;min-height:36px;padding:0 12px;border-radius:10px;font-size:13px;font-weight:500;color:var(--text-100);text-align:left}.ctx-item svg{flex:none;color:var(--text-60)}.ctx-item:focus-visible,.ctx-item:hover:not(:disabled){background:var(--fill-hover);outline:none}.ctx-item:disabled{opacity:.4}.ctx-item.is-danger,.ctx-item.is-danger svg{color:var(--coral)}.ctx-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-end{margin-left:auto}.ctx-back{color:var(--text-60)}.ctx-dot{width:10px;height:10px;margin:0 3px;flex:none;border-radius:50%}.ctx-dot.is-empty{background:transparent;border:1.5px dashed rgb(255 255 255/.3)}.ctx-sep{height:1px;margin:4px 6px;border:0;background:var(--line)}.is-sheet .ctx-item{min-height:48px;font-size:15px;border-radius:14px}.has-menu{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dialog-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:rgb(0 0 0/.45);animation:ctx-fade var(--t-base) var(--ease-out) both}.dialog{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:var(--r-card);background:rgb(22 22 25/.98);animation:hb-appear var(--t-slow) var(--ease-out) both}.dialog>*{flex-shrink:0}.dialog.glass:before{display:none}.dialog{border:1px solid rgb(255 255 255/.14)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog .field{height:44px}.dialog .field input{font-size:15px}.dialog .btn{height:44px}@media (max-width:767px){.dialog-backdrop{place-items:end stretch;padding:8px 8px calc(env(safe-area-inset-bottom) + 8px)}.dialog{max-width:none;border-radius:var(--r-lg);animation-name:ctx-sheet}}.swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.swatch{display:grid;place-items:center;width:100%;height:36px;border-radius:12px;background:color-mix(in srgb,var(--sw) 18%,transparent);border:1px solid color-mix(in srgb,var(--sw) 35%,transparent);color:var(--sw);transition:transform var(--t-fast) var(--ease-out)}.swatch.is-neutral{background:transparent;border:1px dashed var(--dashed)}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--white)}.folder-dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%}.toast-host{position:fixed;z-index:100;left:50%;bottom:20px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:flex;align-items:center;gap:14px;min-height:44px;padding:6px 6px 6px 16px;border-radius:var(--r-btn);font-weight:500;pointer-events:auto}.toast,.toast-action{font-size:13px;color:var(--text-100)}.toast-action{height:32px;padding:0 12px;border-radius:10px;background:var(--fill-ghost);font-weight:600}.toast-action:hover{background:var(--fill-ghost-hover)}@media (max-width:767px){.toast-host{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 20px)}}.today{display:flex;flex-direction:column;gap:var(--gap)}.today-summary{margin:0;font-size:13px;min-height:18px}.today-add-icon{display:none}.today-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"timeline side";grid-gap:14px;gap:14px;align-items:start}.today-side{grid-area:side;display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:var(--gap)}.timeline{grid-area:timeline;padding:17px;min-width:0}.timeline-list{list-style:none;margin:0;padding:0;gap:8px}.timeline-empty,.timeline-list{display:flex;flex-direction:column}.timeline-empty{align-items:center;gap:6px;padding:32px 16px;text-align:center;color:var(--text-45)}.timeline-empty p{margin:0}.tl-row{display:grid;grid-template-columns:80px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.tl-time{display:flex;flex-direction:column;gap:1px;line-height:1.2}.tl-time b{font-size:15px;font-weight:600;color:var(--text-100);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-time span{font-size:12px;color:var(--text-45);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-card{--c:rgb(255 255 255/0.6);position:relative;display:flex;align-items:center;gap:12px;min-height:55px;padding:10px 13px;border-radius:16px;background:color-mix(in srgb,var(--c) 8%,transparent);border:1px solid color-mix(in srgb,var(--c) 24%,transparent);cursor:pointer;transition:transform var(--t-fast) var(--ease-out)}.tl-card:hover{background:color-mix(in srgb,var(--c) 12%,transparent)}.tl-blue{--c:var(--blue)}.tl-yellow{--c:var(--yellow)}.tl-violet{--c:var(--violet)}.tl-mint{--c:var(--mint)}.tl-card.is-dashed{background:transparent;border:1px dashed var(--dashed)}.tl-card.is-dashed:hover{background:var(--fill-inset)}.tl-card .icon-tile{width:32px;height:32px;border-radius:10px}.tl-card .icon-tile svg{width:16px;height:16px}.tl-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.tl-title{font-size:14px;font-weight:600;color:var(--text-100);overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tl-sub{font-size:12px;font-weight:400;color:rgb(255 255 255/.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-card.is-done .tl-title{color:var(--text-60)}.tl-card.is-done .icon-tile{opacity:.7}.tl-check{--c:rgb(255 255 255/0.85);flex:none;place-items:center;width:36px;height:36px;margin:-6px -7px -6px 0;color:transparent;transition:transform var(--t-fast) var(--ease-out)}.tl-check,.tl-ring{display:grid;border-radius:50%}.tl-ring{place-items:center;width:23px;height:23px;border:1.5px solid rgb(255 255 255/.22)}.tl-check:hover .tl-ring{border-color:rgb(255 255 255/.45)}.tl-check-blue{--c:var(--blue)}.tl-check-yellow{--c:var(--yellow)}.tl-check-violet{--c:var(--violet)}.tl-check-mint{--c:var(--mint)}.tl-check[aria-pressed=true]{color:var(--c)}.tl-check[aria-pressed=true] .tl-ring{border-color:transparent;background:color-mix(in srgb,var(--c) 22%,transparent)}.tl-card.is-now{background:var(--white);border-color:var(--white);box-shadow:var(--glow-white)}.tl-card.is-now .tl-title{color:var(--ink)}.tl-card.is-now .tl-sub{color:rgb(10 10 11/.55)}.tl-card.is-now .icon-tile{background:rgb(10 10 11/.08);color:var(--ink)}.tl-card.is-now .tl-ring{border-color:rgb(10 10 11/.25)}.tl-card.is-now .tl-check[aria-pressed=true]{color:var(--white)}.tl-card.is-now .tl-check[aria-pressed=true] .tl-ring{background:var(--ink)}.tl-left{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:130px;font-size:12px;font-weight:600;color:var(--ink)}.tl-left .progress{width:100%;background:rgb(10 10 11/.12)}.tl-left .progress>span{background:var(--ink)}.now-card{display:flex;flex-direction:column;gap:8px;padding:17px}.now-title{margin:2px 0 0;font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text-100)}.now-sub{margin:0 0 4px}.now-next{margin:4px 0 0;font-size:12px;font-weight:600;color:var(--text-100)}.now-next span{margin-right:6px;font-weight:400;color:var(--text-45)}.now-free{border-radius:var(--r-card)}.now-free p{margin:0;color:var(--text-60)}.dialog-lg{max-width:460px;max-height:calc(100dvh - 32px);overflow-y:auto}.type-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));grid-gap:6px;gap:6px}.type-opt{display:inline-flex;align-items:center;justify-content:center;min-width:0;white-space:nowrap;overflow:hidden;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-chip);border:1px solid transparent;background:var(--fill-ghost);font-size:12px;font-weight:600;color:var(--text-60);transition:transform var(--t-fast) var(--ease-out)}.type-opt svg{flex:none}.type-opt[class*=tint-]{background:color-mix(in srgb,var(--tint) 15%,transparent);border-color:color-mix(in srgb,var(--tint) 32%,transparent);color:var(--tint)}.type-opt[aria-checked=true]:not([class*=tint-]){background:var(--fill-hover);border:1px dashed var(--dashed);color:var(--text-100)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.form-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.span-2{grid-column:1/-1}.input{width:100%;min-width:0;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--fill-ghost);font-size:14px;font-weight:500;color:var(--text-100);color-scheme:dark;outline:0}.input:focus{border-color:rgb(255 255 255/.28)}.input::placeholder{color:var(--text-30)}.repeat-box{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line)}.repeat-box .form-grid{width:100%}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.weekday{min-width:0;height:34px;padding:0;justify-content:center}.category-editor>.t-label,.repeat-box>.t-label{margin-bottom:-4px}.sheet-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.tl-check-coral,.tl-coral{--c:var(--coral)}.picker-field{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.picker-field.is-empty .picker-text{color:var(--text-30)}.picker-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.picker-icon{flex:none;color:var(--text-45)}.picker-wrap{position:relative;display:block}.picker-input{padding-right:36px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.picker-wrap .picker-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.picker-pop{position:fixed;z-index:80;padding:10px;border-radius:var(--r-panel);background:rgb(22 22 25/.98);animation:hb-appear var(--t-base) var(--ease-out) both}.calendar{width:296px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cal-title{font-size:14px;font-weight:600;color:var(--text-100)}.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.cal-dow span{padding:4px 0;text-align:center;font-size:11px;font-weight:600;color:var(--text-45)}.cal-day{height:36px;border-radius:10px;font-size:13px;font-weight:500;color:var(--text-85);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-day:hover{background:var(--fill-hover)}.cal-day.is-other{color:var(--text-30)}.cal-day.is-today{box-shadow:inset 0 0 0 1px rgb(255 255 255/.35)}.cal-day.is-selected{background:var(--white);color:var(--ink);font-weight:700;box-shadow:none}.cal-foot{display:flex;gap:6px;margin-top:8px}.time-pop{display:flex;align-items:stretch;gap:4px}.time-col{display:flex;flex-direction:column;gap:2px;width:64px;max-height:228px;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.time-col::-webkit-scrollbar{display:none}.time-colon{align-self:center;font-weight:700;color:var(--text-45)}.time-opt{flex:none;height:34px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-85);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-opt:hover{background:var(--fill-hover)}.time-opt.is-selected{background:var(--white);color:var(--ink);font-weight:700}.category-picker{display:flex;flex-direction:column;gap:8px}.type-add{background:transparent;border:1px dashed var(--dashed);color:var(--text-60)}.type-add:hover,.type-add[aria-expanded=true]{color:var(--text-100)}.picker-hint{margin:0;font-size:11px;color:var(--text-30)}.category-editor{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line);animation:hb-appear var(--t-base) var(--ease-out) both}.icon-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:6px;gap:6px}.icon-choice{display:grid;place-items:center;height:36px;border-radius:10px;background:var(--fill-ghost);color:var(--text-60)}.icon-choice:hover{color:var(--text-100)}.icon-choice[aria-checked=true]{background:var(--white);color:var(--ink)}.category-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.week{display:flex;flex-direction:column;gap:14px}.week-nav{display:flex;gap:6px}.week-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}:where(.stat-card){--c:rgb(255 255 255/0.6)}.stat-card{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 15px;border-radius:18px;background:color-mix(in srgb,var(--c) 7%,rgb(255 255 255/.03));border:1px solid color-mix(in srgb,var(--c) 22%,transparent)}.stat-card .icon-tile{width:36px;height:36px}.stat-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.stat-label{font-size:12px;color:var(--text-60)}.stat-value{font-size:17px;font-weight:700;color:var(--text-100);white-space:nowrap}.stat-hours{font-size:13px;font-weight:600;color:var(--c);white-space:nowrap}.week-grid-card{padding:17px;min-width:0}.week-legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:12px;color:var(--text-60)}.legend-item{display:inline-flex;align-items:center;gap:7px}:where(.legend-swatch){--c:rgb(255 255 255/0.6)}.legend-swatch{width:14px;height:14px;border-radius:4px;background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}.legend-swatch.is-now{background:var(--white);border-color:var(--white)}.legend-note{margin-left:auto}.week-grid{--axis:44px}.wg-head{display:grid;grid-template-columns:var(--axis) repeat(7,minmax(0,1fr));height:44px}.wg-day{display:flex;flex-direction:column;align-items:center;gap:2px}.wg-dow{font-size:12px;color:var(--text-45)}.wg-num{display:grid;place-items:center;min-width:34px;height:24px;border-radius:12px;font-size:15px;font-weight:600;color:var(--text-85)}.wg-day.is-today .wg-num{background:var(--white);color:var(--ink)}.wg-day.is-today .wg-dow{color:var(--text-100)}.wg-body{display:grid;grid-template-columns:var(--axis) repeat(7,minmax(0,1fr))}.wg-axis,.wg-body{position:relative}.wg-hour{left:0;color:var(--text-45);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wg-hour,.wg-now-chip{position:absolute;transform:translateY(-50%);font-size:11px}.wg-now-chip{left:-2px;z-index:3;padding:2px 6px;border-radius:7px;background:var(--white);color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wg-lines{position:absolute;inset:0 0 0 var(--axis);pointer-events:none}.wg-lines span{position:absolute;left:0;right:0;height:1px;background:var(--line)}.wg-col{position:relative;border-radius:12px}.wg-col.is-today{background:rgb(255 255 255/.04)}.wg-now-line{left:0;right:0;z-index:2;height:2px;margin-top:-1px;pointer-events:none}.wg-now-line,.wg-now-line:before{position:absolute;background:var(--white)}.wg-now-line:before{content:"";left:-4px;top:-3px;width:8px;height:8px;border-radius:50%}:where(.wg-block){--c:rgb(255 255 255/0.6)}.wg-block{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;padding:5px 20px 5px 11px;overflow:hidden;border-radius:9px;background:color-mix(in srgb,var(--c) 14%,rgb(20 20 23/.6));border:1px solid color-mix(in srgb,var(--c) 30%,transparent);cursor:pointer;transition:transform var(--t-fast) var(--ease-out)}.wg-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}.wg-block:hover{background:color-mix(in srgb,var(--c) 20%,rgb(20 20 23/.6))}.wg-title{font-size:12px;font-weight:600;line-height:1.25;color:var(--text-100);overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines,1);flex:none}.wg-block.is-narrow{padding-right:6px}.wg-block.is-stacked{background:color-mix(in srgb,var(--c) 16%,rgb(20 20 23));box-shadow:-4px 0 8px rgb(0 0 0/.35)}.wg-time{font-size:11px;color:var(--c);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.wg-icon{position:absolute;top:6px;right:6px;color:var(--c)}.wg-block.is-done{opacity:.55}.wg-block.is-now{background:var(--white);border-color:var(--white);box-shadow:var(--glow-white)}.wg-block.is-now:before{display:none}.wg-block.is-now .wg-title{color:var(--ink)}.wg-block.is-now .wg-icon,.wg-block.is-now .wg-time{color:rgb(10 10 11/.6)}.week-list{gap:18px}.week-list,.wl-day{display:flex;flex-direction:column}.wl-day{scroll-margin-top:calc(env(safe-area-inset-top) + 12px);gap:8px}.wl-head{display:flex;align-items:center;gap:8px;margin:0;padding:0 2px;font-size:15px;font-weight:600;color:var(--text-85)}.wl-head.is-today{color:var(--text-100)}.wl-today{padding:2px 8px;border-radius:8px;background:var(--white);color:var(--ink);font-size:11px;font-weight:700}.wl-free{margin:0;padding:12px 14px;border-radius:16px;border:1px dashed var(--dashed)}@media (max-width:1100px){.week-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.today-add,.today-seg{display:none}.today-add-icon{display:inline-grid}.today-cols{grid-template-columns:minmax(0,1fr);grid-template-areas:"side" "timeline";gap:var(--gap)}.today-side{position:static}.timeline{padding:12px}.tl-row{grid-template-columns:46px minmax(0,1fr);gap:8px}.tl-time b{font-size:14px}.tl-time span{font-size:11px}.tl-card{gap:10px;padding:10px 10px 10px 11px}.tl-card .chip{display:none}.tl-card.is-now{flex-wrap:wrap;row-gap:8px}.tl-card.is-now .tl-left{order:5;flex:1 0 100%;flex-direction:row;align-items:center;gap:10px;width:auto;padding-left:42px;font-size:11px;white-space:nowrap}.tl-card.is-now .tl-left .progress{flex:1 1}.week-stats{gap:10px}.stat-card{flex-wrap:wrap;gap:6px 10px;padding:12px}.stat-card .icon-tile{width:32px;height:32px}.stat-text{flex-basis:calc(100% - 42px)}.stat-value{font-size:15px}.stat-hours{padding-left:42px;font-size:12px}.week-this{display:none}}@media (min-width:768px) and (max-width:1100px){.today-cols{grid-template-columns:minmax(0,1fr);grid-template-areas:"side" "timeline"}.today-side{position:static}}.timetable{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.tt-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--gap);gap:var(--gap)}.tt-day{display:flex;flex-direction:column;gap:8px;min-width:0}.tt-day-title{margin:0}.tt-slots{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.tt-slot{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:stretch;grid-gap:8px;gap:8px;min-height:40px}.tt-slot-time{display:flex;flex-direction:column;justify-content:center;font-size:12px;color:var(--text-45)}.tt-slot-time b{font-size:13px;color:var(--text-85)}.tt-add{display:grid;place-items:center;border:1px dashed var(--dashed);border-radius:12px;background:none;color:var(--text-45);cursor:pointer}.tt-add:hover{color:var(--text-85);background:var(--fill-hover)}.tt-lessons{gap:6px}.tt-lesson,.tt-lessons{display:flex;flex-direction:column;min-width:0}.tt-lesson{gap:4px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:12px;background:var(--fill-card);color:inherit;text-align:left;font:inherit;cursor:pointer}.tt-lesson:hover{background:var(--fill-hover)}.tt-lesson-title{font-size:14px;font-weight:600;overflow-wrap:anywhere}.tt-lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;color:var(--text-60)}.tt-setup{gap:14px;max-width:640px}.tt-bells,.tt-setup{display:flex;flex-direction:column}.tt-bells{margin:0 0 8px;padding:0;list-style:none;gap:6px}.tt-bell{display:grid;grid-template-columns:20px minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.tt-kinds{display:flex;flex-wrap:wrap;gap:6px}@media (max-width:767px){.timetable .page-head{flex-wrap:wrap}.timetable .page-head-text{flex:1 1 100%}.timetable .page-head-actions{width:100%}.timetable .page-head-actions .segmented{flex:1 1}}.week-parity{margin:2px 0 0;color:var(--blue)}.goals-card{display:flex;flex-direction:column;gap:10px;padding:17px}.goals-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.goals-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goals-empty{margin:0}.goals-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.goal-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:32px}.goal-title{min-width:0;font-size:13px;font-weight:500;color:var(--text-85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.goal-counter,.goal-row.is-done .goal-title{color:var(--text-60)}.goal-counter{height:26px;padding:0 9px;border-radius:8px;background:var(--fill-ghost);font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.goal-counter:hover{background:var(--fill-ghost-hover);color:var(--text-100)}.goal-row.is-done .goal-counter{color:var(--text-45)}.goals-add{align-self:flex-start;margin-left:-10px;color:var(--text-60)}.goal-form{display:flex;flex-direction:column;gap:10px;margin:4px 0;padding:12px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line);animation:hb-appear var(--t-base) var(--ease-out) both}.goal-form>.t-label{margin-bottom:-4px}.goal-target{display:flex;align-items:center;justify-content:space-between;gap:10px}.stepper{display:grid;grid-template-columns:28px 64px 28px;align-items:center;grid-gap:6px;gap:6px}.stepper-input{height:32px;padding:0;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.streak-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line)}.streak-card .icon-tile{width:32px;height:32px;border-radius:10px}.side-streak{margin-bottom:4px}.streak-today{display:none}@media (max-width:767px){.streak-today{display:flex}}.goal-auto{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis}.goal-counter.is-auto{display:inline-flex;align-items:center;background:transparent;border:1px dashed var(--dashed)}.goal-row:has(.goal-auto) .check,.goal-row:has(.goal-auto) .goal-title{cursor:default}.goal-counting .segmented.is-block{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-text{margin:-6px 0 0}.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stepper-value{text-align:center;font-size:17px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dialog .t-label{margin-bottom:-6px}.dialog-actions-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.import-area{min-height:200px;max-height:40dvh;resize:vertical;padding:12px;font-family:var(--font-mono);font-size:12px;line-height:1.5}.import-errors{list-style:none;margin:0;padding:10px 12px;display:flex;flex-direction:column;gap:6px;border-radius:var(--r-panel);font-size:13px;line-height:1.4;color:var(--text-85);background:color-mix(in srgb,var(--coral) 10%,transparent);border:1px solid color-mix(in srgb,var(--coral) 30%,transparent)}.import-errors code{font-family:var(--font-mono);font-size:12px;color:var(--coral)}@media (max-width:767px){.dialog-actions-2{grid-template-columns:minmax(0,1fr)}}.results,.run,.tests{display:flex;flex-direction:column;gap:var(--gap)}.run-sub{margin:0;font-size:13px}.run-progress{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:0 4px}.run-counter{font-size:13px;font-weight:600;color:var(--text-85);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.run-timer{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;color:var(--text-60)}.run-cols{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:var(--gap);gap:var(--gap);align-items:start}.run-main,.run-side{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.question-card{display:flex;flex-direction:column;gap:12px}.question-prompt{margin:0;font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.01em}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.option{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:52px;padding:8px 12px 8px 8px;border-radius:var(--r-panel);border:1px solid var(--line);background:var(--fill-inset);color:var(--text-100);text-align:left;font:inherit;cursor:pointer;transition:opacity var(--t-base) var(--ease-out)}.option:hover:not(:disabled){background:var(--fill-hover)}.option:disabled{cursor:default}.option-letter{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-key);background:var(--fill-ghost);font-size:12px;font-weight:600;color:var(--text-60)}.option-text{font-family:var(--font-jp);font-size:16px;line-height:1.35;overflow-wrap:anywhere}.option-mark{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}.option-ring{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid}.option.is-right{background:var(--white);border-color:var(--white);color:var(--ink)}.option.is-right .option-letter{background:rgb(0 0 0/.08);color:var(--ink)}.option.is-wrong{border:1px dashed var(--dashed);background:transparent}.option.is-wrong .option-mark{color:var(--text-60)}.option.is-dim{opacity:.45}.typed{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.typed-field{height:48px}.typed-field input{font-family:var(--font-jp);font-size:16px}.matching{display:flex;flex-direction:column;gap:8px}.match-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 18px;align-items:center;grid-gap:10px;gap:10px;padding:6px 6px 6px 12px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line)}.match-left{font-family:var(--font-jp);font-size:16px}.match-select{width:100%;min-width:0}.match-ok{color:var(--mint)}.match-bad{color:var(--coral)}.matching>.btn{align-self:flex-start}.explain-card{display:flex;flex-direction:column;gap:10px}.explain-title{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600}.explain-more,.explain-right,.explain-text{margin:0;font-size:14px;line-height:1.55;color:var(--text-85)}.explain-right b{font-family:var(--font-jp);font-weight:600;color:var(--text-100)}.explain-more{padding:10px 12px;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line);white-space:pre-wrap}.explain-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.explain-next{margin-left:auto}.explain-hint{margin:0}.qmap-card,.sofar-card{display:flex;flex-direction:column;gap:12px}.qmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px}.qmap-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--fill-inset);color:var(--text-60);font:inherit;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.qmap-cell:hover{background:var(--fill-hover)}.qmap-cell.is-right{--tint:var(--mint)}.qmap-cell.is-wrong{--tint:var(--coral)}.qmap-cell.is-right,.qmap-cell.is-wrong{background:color-mix(in srgb,var(--tint) 15%,transparent);border-color:color-mix(in srgb,var(--tint) 32%,transparent);color:var(--tint)}.qmap-cell.is-current{outline:2px solid var(--white);outline-offset:1px}.sofar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;grid-gap:8px;gap:8px}.sofar dt{grid-row:2;font-size:12px;color:var(--text-45)}.sofar dd{grid-row:1;margin:0;font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weak{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.weak p{margin:0;font-size:13px;color:var(--text-85)}@media (max-width:1023px){.run-cols{grid-template-columns:minmax(0,1fr)}.run-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width:767px){.run-head .page-head-actions .run-source{display:none}.question-prompt{font-size:18px}.options,.run-side{grid-template-columns:minmax(0,1fr)}.qmap{grid-template-columns:repeat(8,minmax(0,1fr))}.explain-actions>.btn{flex:1 1 100%}.explain-next{margin-left:0;order:-1}}.results-top{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:var(--gap);gap:var(--gap);align-items:stretch}.score-card{display:flex;flex-direction:column;gap:10px}.score-card p{margin:0}.score-card .btn{margin-top:auto}.score{font-size:56px;font-weight:700;line-height:1;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topics{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:12px}.topics li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 12px;gap:6px 12px}.topics li .progress{grid-column:1/-1}.topic-name{font-size:14px}.topic-score{font-size:13px;color:var(--text-60);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topics li.is-weak .topic-name{color:var(--coral)}.review{list-style:none;margin:12px 0 0;padding:0}.review-row{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.review-row:first-child{border-top:0}.review-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid color-mix(in srgb,var(--tint) 32%,transparent);background:color-mix(in srgb,var(--tint) 15%,transparent);color:var(--tint)}.review-row.is-right{--tint:var(--mint)}.review-row.is-wrong{--tint:var(--coral)}.review-text{display:flex;flex-direction:column;gap:2px;min-width:0}.review-q{font-size:14px;line-height:1.4}@media (max-width:767px){.results-top{grid-template-columns:minmax(0,1fr)}.score{font-size:48px}}.history,.test-list{list-style:none;margin:10px -6px -6px;padding:0;display:flex;flex-direction:column}.history-row,.test-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;min-height:56px;padding:8px 10px;border:0;border-radius:var(--r-panel);background:transparent;color:var(--text-100);font:inherit;text-align:left;cursor:pointer}.history-row{grid-template-columns:minmax(0,1fr) auto}.history-row:hover,.test-row:hover{background:var(--fill-hover)}.test-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.test-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-result,.test-title{font-size:14px;font-weight:600}.test-result{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.test-result.is-new{font-weight:400;color:var(--text-45)}@media (max-width:767px){.test-row .chip{display:none}}.cards-screen,.decks{display:flex;flex-direction:column;gap:var(--gap)}@media (min-width:1024px){.cards-screen{display:grid;grid-template-columns:252px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}}.deck-list{display:flex;flex-direction:column;gap:8px;padding:14px}@media (min-width:1024px){.deck-list{position:-webkit-sticky;position:sticky;top:0;min-height:min(640px,calc(100dvh - 48px))}}.deck-list-title{margin:2px 2px 6px;font-size:20px;font-weight:700;letter-spacing:-.01em}.deck-list ul{list-style:none;margin:0;padding:0}.deck-list ul,.deck-row{display:flex;flex-direction:column;gap:8px}.deck-row{width:100%;padding:12px 14px;border-radius:var(--r-panel);border:1px solid transparent;background:var(--fill-inset);color:var(--text-100);font:inherit;text-align:left;cursor:pointer}.deck-row:hover{background:var(--fill-hover)}.deck-row.is-current{background:var(--fill-active);border-color:var(--line)}.deck-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-counts{display:flex;gap:12px;font-size:11px;color:var(--text-45)}.deck-count b{font-size:12px;font-weight:700;color:var(--text-100);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.deck-count.is-zero b{color:var(--text-30)}@media (max-width:1023px){.cards-screen.has-deck .deck-list,.deck-list .side-spacer{display:none}.deck-list .btn{margin-top:4px}}.review{display:flex;flex-direction:column;gap:14px;min-width:0}.review-head{display:flex;align-items:flex-start;gap:12px;padding:4px 4px 0}.review-title{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px}.review-title p{margin:0;font-size:13px}.review-counters{display:flex;gap:6px;flex:none}.review-counter{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:12px;background:var(--fill-ghost);border:1px solid transparent;font-size:12px;color:var(--text-60)}.review-counter b{font-size:14px;color:var(--text-100);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-counter.is-current{background:var(--fill-active);border-color:var(--glass-border-top);color:var(--text-100)}.review-stage{width:100%;max-width:640px;margin:24px auto 0;gap:14px}.flashcard,.review-stage{display:flex;flex-direction:column}.flashcard{align-items:center;gap:12px;padding:28px 24px;min-height:300px;justify-content:center;text-align:center}.flashcard-chips{display:flex;gap:6px;justify-content:center}.flashcard-front{margin:4px 0;font-size:56px;font-weight:700;line-height:1.15;letter-spacing:-.01em;overflow-wrap:anywhere}.flashcard-front:not(.jp){font-size:40px}.flashcard-back{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.flashcard-back p{margin:0}.flashcard-reading{font-size:22px;color:var(--text-85)}.flashcard-meaning{font-size:18px;font-weight:600}.flashcard-example{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--text-85)}.ratings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.rating{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:var(--r-panel);border:1px solid var(--line);background:var(--fill-inset);color:var(--text-100);font:inherit;cursor:pointer}.rating:hover:not(:disabled){background:var(--fill-hover)}.rating:disabled{opacity:.6}.rating-when{order:-1;font-size:11px;color:var(--text-45);white-space:nowrap}.rating-label{font-size:15px;font-weight:600}.rating.is-primary{background:var(--white);border-color:var(--white);color:var(--ink);box-shadow:var(--glow-white)}.rating.is-primary .rating-when{color:rgb(10 10 11/.66)}.rating.is-primary .keycap{background:rgb(0 0 0/.08);color:var(--ink);box-shadow:none}.reveal{height:52px}.review-done{margin-top:24px}@media (max-width:767px){.review-head{flex-wrap:wrap}.review-title{flex-basis:calc(100% - 56px)}.review-counters{width:100%}.review-counter{flex:1 1;justify-content:center;padding:0 8px}.review-stage{margin-top:4px}.flashcard{min-height:260px;padding:24px 16px}.flashcard-front{font-size:44px}.flashcard-front:not(.jp){font-size:32px}.rating{padding:10px 4px}.rating-label{font-size:14px}.rating .keycap{display:none}}.flashcard{position:relative;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:transform var(--t-base) var(--ease-out)}.flashcard.is-revealed{cursor:-webkit-grab;cursor:grab;touch-action:none}.flashcard.is-dragging{transition:none;cursor:-webkit-grabbing;cursor:grabbing}.flashcard-menu{position:absolute;top:14px;right:14px}.flashcard-speak{position:absolute;top:14px;right:54px}.swipe-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);padding:6px 14px;border-radius:12px;background:var(--white);color:var(--ink);font-size:14px;font-weight:700;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out)}.swipe-help{margin:-4px 0 0;text-align:center}.flashcard-front.has-ruby{line-height:1.5}.flashcard-front rt{font-size:.32em;font-weight:500;color:var(--text-60)}.flashcard-example rt{font-size:.6em;color:var(--text-60)}.flashcard-furi{position:absolute;top:14px;left:14px;width:32px;height:32px;display:grid;place-items:center;border-radius:12px;border:1px solid transparent;background:var(--fill-ghost);color:var(--text-60);font-size:15px;cursor:pointer}.flashcard-furi:hover{color:var(--text-100)}.flashcard-furi[aria-pressed=true]{background:var(--fill-active);border-color:var(--glass-border-top);color:var(--text-100)}.deck-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.deck-list-head .deck-list-title{margin:2px}.review-views{display:flex;justify-content:center}.card-list ul{list-style:none;margin:-6px;padding:0}.card-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 6px 8px 10px;border-radius:var(--r-panel)}.card-row+.card-row{border-top:1px solid var(--line);border-radius:0}.card-row-main{display:flex;align-items:baseline;gap:12px;min-width:0}.card-row-front{font-size:16px;font-weight:600;white-space:nowrap}.card-row-back{min-width:0;font-size:14px;color:var(--text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-row-when{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.form-item{display:flex;flex-direction:column;gap:6px}.form-select{width:100%;height:44px}.form-warn{color:var(--yellow)}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.ai-cards{list-style:none;margin:0;padding:4px 0;display:flex;flex-direction:column;max-height:46dvh;overflow-y:auto;border-radius:var(--r-panel);background:var(--fill-inset);border:1px solid var(--line)}.ai-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 12px}.ai-card+.ai-card{border-top:1px solid var(--line)}.ai-card.is-off .ai-card-main{opacity:.45}.ai-card-main{display:flex;flex-direction:column;gap:2px;min-width:0}.ai-card-front{display:flex;align-items:baseline;gap:8px;font-size:15px;font-weight:600}.ai-card-reading{font-size:12px;font-weight:400;color:var(--text-45)}.ai-card-back{font-size:13px;color:var(--text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-today{display:flex;flex-direction:column;gap:12px}.review-today-head{display:flex;align-items:center;gap:10px}.review-today-head h2{margin:0}.review-views{position:relative;align-items:center}.review-add{position:absolute;right:0}@media (min-width:1024px){.review-add{display:none}}