.landing{--m:clamp(16px, 2.2vw, 32px);--axis:42vw;--sec:clamp(120px, 13vw, 200px);--t1:13px;--t2:18px;--t3:24px;--t4:clamp(36px, 4vw, 56px);--t5:clamp(52px, 8vw, 124px);--ink-field:#1f201d;--ink-row:#2a2b27;--ink-row-hover:#34352f;--ink-on:#ecebe6;--ink-soft:#b9b8b0;--ink-step:#45463f;background:var(--chrome);color:var(--text);font-size:var(--t2);line-height:1.5;overflow-x:clip}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .landing{--ink-field:#22221f;--ink-row:#2c2c29;--ink-row-hover:#363632;--ink-step:#4a4a45}}:root[data-theme=dark] .landing{--ink-field:#22221f;--ink-row:#2c2c29;--ink-row-hover:#363632;--ink-step:#4a4a45}.landing h1,.landing h2{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;font-weight:400;line-height:.95}.landing h2{font-size:var(--t4);line-height:1}.landing h3{font-size:var(--t3);letter-spacing:-.01em;font-weight:600;line-height:1.25}.landing p{max-width:60ch}.l-btn{background:var(--text);height:44px;color:var(--ground);font:500 var(--t2)/1 var(--sans);cursor:pointer;white-space:nowrap;transition:background-color .15s, transform .12s var(--ease);border:0;border-radius:0;justify-content:center;align-items:center;padding:0 20px;display:inline-flex}.l-btn:hover{background:var(--primary-hover)}.l-btn:active{transform:scale(.98)}.l-btn:disabled{opacity:.4;cursor:default;transform:none}.l-btn.accent{background:var(--accent);color:var(--on-accent)}.l-btn.accent:hover{background:color-mix(in srgb, var(--accent) 86%, var(--text))}.l-btn.big{height:56px;padding:0 28px}.l-link{color:inherit;font:500 var(--t2)/1.3 var(--sans);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:6px;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s;display:inline-flex}.l-link:hover{text-decoration-color:currentColor}.l-link svg,.m-card svg{width:16px;height:16px;transition:transform .2s var(--ease);flex:none}.l-link:hover svg,.m-card:hover svg{transform:translate(3px)}.l-top{z-index:20;grid-template-columns:calc(var(--axis) - var(--m)) minmax(0, 1fr) auto;height:76px;padding:0 var(--m);background:var(--chrome);align-items:center;display:grid;position:sticky;top:0}.l-top .brand{white-space:nowrap;font-size:var(--t2);padding:0}.l-nav{gap:36px;display:flex}.l-nav a{color:var(--text);white-space:nowrap;align-items:baseline;gap:8px;transition:color .15s;display:inline-flex}.l-nav a .jp{font-family:var(--jp);color:var(--accent);font-size:20px;line-height:1}.l-nav a:hover{color:var(--accent)}.l-top-end{align-items:center;gap:20px;display:flex}.l-icon{min-width:44px;height:44px;color:var(--text);font:500 16px/1 var(--sans);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:background-color .15s;display:inline-grid}.l-icon:hover{background:color-mix(in srgb, var(--text) 7%, transparent)}.l-icon svg{width:18px;height:18px}.l-nav-acts,.l-top .l-menu-btn{display:none}@media (width<=1240px){.l-top{grid-template-columns:auto minmax(0,1fr) auto;column-gap:48px}}@media (width<=1000px){.l-top{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;height:64px}.l-top .brand{text-overflow:ellipsis;overflow:hidden}.l-top-end{gap:4px}.l-wide,.l-nav{display:none}.l-top .l-menu-btn{padding:0 14px;display:inline-grid}.l-top[data-menu=true] .l-nav{height:calc(100dvh - 64px);padding:8px var(--m) 32px;background:var(--chrome);align-content:start;gap:0;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.l-top[data-menu=true] .l-nav a{font-size:var(--t3);gap:16px;padding:16px 0;font-weight:500}.l-top[data-menu=true] .l-nav a .jp{width:36px;font-size:30px}.l-nav-acts{gap:10px;margin-top:24px;display:grid}.l-nav-acts .l-btn{width:100%;height:52px}}@media (width<=400px){.l-top .brand{gap:8px;font-size:16px}.l-top .l-menu-btn{padding:0 8px}}.axis{grid-template-columns:calc(var(--axis) - var(--m)) minmax(0, 1fr);padding:0 var(--m);display:grid}.axis>:not(.side){grid-column:2}.mast{grid-template-columns:repeat(6,minmax(0,1fr));height:clamp(260px,40svh,440px);display:grid;position:relative}.m-cell{min-width:0;position:relative;overflow:hidden}.m-cell img{object-fit:cover;width:100%;height:100%;display:block}.m-wide{grid-column:span 2}.m-wide img{animation:26s ease-in-out infinite alternate drift}@keyframes drift{0%{transform:scale(1.03)}to{transform:scale(1.1)translate(-2%)}}.m-tile{background:var(--accent);color:var(--on-accent);place-items:center;display:grid}.m-tile svg{width:62%;height:auto}.m-tile .jp{font-size:var(--t5)}.m-fade img{opacity:0;transition:opacity 1.6s;position:absolute;inset:0}.m-fade img[data-on=true]{opacity:1}.m-cards{right:var(--m);bottom:var(--m);gap:16px;display:flex;position:absolute}.m-card{background:var(--chrome);width:210px;display:grid;overflow:hidden}.m-card img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;transition:transform .5s var(--ease)}.m-card:hover img{transform:scale(1.05)}.m-card span{background:var(--chrome);justify-content:space-between;align-items:center;height:44px;padding:0 14px;font-weight:500;display:flex;position:relative}.hero-body{align-items:start;padding-top:clamp(32px,4.5vh,56px)}.hero-body .side{padding-right:48px}.l-hero h1{font-size:var(--t5)}.standfirst{font-size:var(--t3);margin-top:28px;line-height:1.4;max-width:34ch!important}.l-actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px;display:flex}.first{align-items:flex-start;gap:24px;display:flex}.first .genko-unit{flex:none;grid-template-columns:minmax(0,1fr);width:clamp(180px,15vw,230px)}.first .genko-tools{flex-wrap:wrap}.first .genko{max-width:none}.first figcaption{gap:16px;padding-top:4px;display:grid}.first figcaption p{max-width:26ch}.first .pill{font-size:var(--t1);vertical-align:2px;height:24px;margin-right:6px}.first-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.ghost-char:after{content:attr(data-c)}.ghost-char{font-family:var(--jp);color:var(--paper-ghost);place-items:center;font-size:400%;line-height:1;display:grid;position:absolute;inset:0}.l-board{margin-top:var(--sec);background:var(--ink-field);color:var(--ink-on);padding:72px 12px}.l-board h2{padding:0 calc(var(--m) - 12px + 20px) 40px}.board{gap:4px;margin:0;padding:0;list-style:none;display:grid}.board li{background:var(--ink-row);transition:background-color .2s}.b-row{width:100%;min-height:72px;color:inherit;font:400 var(--t3)/1.2 var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:0 16px;padding:0 20px;display:grid}.board li:not([data-open=true]):hover{background:var(--ink-row-hover)}.b-name{grid-column:span 4;font-weight:500}.b-fact{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;grid-column:span 2;overflow:hidden}.b-status{background:var(--ink-step);height:40px;font-size:var(--t2);white-space:nowrap;grid-column:span 2;justify-self:end;align-items:center;padding:0 14px;font-weight:500;display:inline-flex}.b-status.free,.board li[data-open=true]{background:var(--accent);color:var(--on-accent)}.board li[data-open=true] .b-row{min-height:88px}.board li[data-open=true] .b-name{font-family:var(--serif);font-weight:400;font-size:var(--t4);line-height:1}.board li[data-open=true] .b-fact{color:inherit}.board li[data-open=true] .b-status{background:var(--on-accent);color:var(--accent)}.b-detail{animation:open-row .35s var(--ease);grid-template-columns:repeat(12,minmax(0,1fr));gap:0 16px;padding:4px 20px 32px;display:grid}.b-detail p:first-child{grid-column:5/span 6}.b-detail .l-link{grid-column:11/span 2;place-self:end}.b-more{display:none}@keyframes open-row{0%{opacity:0;transform:translateY(-6px)}}.l-inside{padding:120px var(--m);background:var(--accent);color:var(--on-accent)}.inside-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:0 24px;display:grid}.l-inside .pin{font-size:var(--t5);grid-column:1/span 5;position:sticky;top:32px}.parts{grid-column:7/span 6;gap:72px;display:grid}.part h3{margin-bottom:20px}.part-row{grid-template-columns:clamp(160px,14vw,210px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.part-row img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto;display:block}.part.flip .part-row{grid-template-columns:minmax(0,1fr) clamp(160px,14vw,210px)}.part.flip .part-row img{order:2}.part ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.l-method{margin-top:var(--sec)}.l-method .axis p{max-width:52ch;margin-top:24px}.method-fig{padding:0 var(--m);margin-top:56px}.order{width:100%;height:auto;display:block}.order+.order{display:none}.o-pale{fill:var(--paper-guide)}.o-pale2{fill:var(--paper-line)}.o-mid{fill:var(--muted)}.o-done{fill:var(--accent);transform-box:fill-box;transform-origin:50%;transition:opacity .4s ease var(--d), transform .5s var(--ease) var(--d)}.reveal .method-fig:not(.in) .o-done{opacity:0;transform:scale(.3)}.method-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 0;padding:0;list-style:none;display:grid}.method-steps li{max-width:36ch}.method-steps b{font-size:var(--t3);margin-bottom:8px;font-weight:600;display:block}.l-faq{margin-top:var(--sec)}.faq-head{min-height:40svh;padding:40px var(--m);background:var(--accent);color:var(--on-accent);align-items:flex-end;display:flex;font-size:var(--t5)!important}.l-faq dl{margin:0}.faq-band{padding:56px var(--m);background:var(--chrome);grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;display:grid}.faq-band:nth-child(2n){background:var(--ground)}.faq-band dt{font-size:var(--t3);grid-column:1/span 5;font-weight:600;line-height:1.25}.faq-band dd{grid-column:7/span 6;max-width:60ch;margin:0}.l-close{padding:160px var(--m) 72px;background:var(--text);color:var(--ground);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:48px 24px;display:grid}.l-close h2{font-size:var(--t5);grid-column:1/span 7}.close-foot{grid-column:8/span 5;justify-items:start;gap:32px;display:grid}.close-foot p{font-size:var(--t3);line-height:1.4}.l-foot{padding:72px var(--m) 32px;overflow:hidden}.foot-name{font-family:var(--serif);letter-spacing:-.03em;white-space:nowrap;font-size:11.4vw;line-height:.9;max-width:none!important}.foot-row{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px;margin-top:72px;display:grid}.foot-places{grid-column:1/span 5;justify-items:start;gap:6px;display:grid}.foot-places a{font-size:var(--t3);color:var(--accent);transition:color .15s}.foot-places a:hover{color:var(--text)}.foot-cols{grid-column:7/span 6;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;display:grid}.foot-cols nav{align-content:start;justify-items:start;gap:8px;display:grid}.foot-cols nav button,.foot-cols nav a{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;transition:color .15s}.foot-cols nav button:hover,.foot-cols nav a:hover{color:var(--accent)}.credits{font-size:var(--t1);color:var(--muted)}.credits p{color:var(--text);margin-bottom:6px;font-weight:500}.credits ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.credits a{text-underline-offset:2px;text-decoration:underline}.foot-legal{font-size:var(--t1);color:var(--muted);justify-content:space-between;gap:16px;margin-top:96px;display:flex}.foot-legal a:hover{color:var(--text)}.reveal .landing [data-in]{opacity:0;transition:opacity .7s var(--ease), transform .8s var(--ease);transform:translateY(24px)}.reveal .landing [data-in]+[data-in]{transition-delay:80ms}.reveal .landing [data-in]+[data-in]+[data-in]{transition-delay:.16s}.reveal .landing [data-in].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.m-wide img{animation:none}.m-fade img{transition:none}}@media (width<=1100px){.landing{--axis:36vw}.first{flex-direction:column}.b-fact:nth-of-type(4){display:none}.b-name{grid-column:span 5}.b-fact{grid-column:span 2}.b-status{grid-column:span 3}}@media (width<=760px){.landing{--sec:96px}.axis{grid-template-columns:minmax(0,1fr)}.axis>:not(.side),.axis>.side{grid-column:1}.mast{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:30vw;height:auto}.m-cards{padding:12px var(--m) 0;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid;position:static}.m-card{width:auto}.hero-body{gap:32px;padding-top:32px}.hero-body .main{order:1}.hero-body .side{order:2;padding-right:0}.standfirst{font-size:var(--t2);margin-top:20px}.l-actions{justify-items:center;display:grid}.l-actions .l-btn{width:100%}.first .genko-unit{width:62vw}.l-board{padding:48px 8px}.l-board h2{padding:0 12px 28px}.b-row{grid-template-columns:minmax(0,1fr) auto;min-height:64px;padding:0 12px}.b-name{grid-column:1}.b-fact{display:none}.b-status{height:36px;font-size:var(--t1);grid-column:2;padding:0 10px}.board li[data-open=true] .b-row{min-height:72px}.b-detail{grid-template-columns:minmax(0,1fr);gap:10px;padding:0 12px 24px;display:grid}.b-detail p:first-child,.b-detail .l-link{grid-column:1;justify-self:start}.b-more{display:block}.l-inside{padding:0 var(--m) 72px}.inside-grid{display:block}.l-inside .pin{z-index:2;margin:0 calc(-1 * var(--m));padding:14px var(--m);background:var(--accent);font-size:10vw;top:0}.parts{gap:72px;padding-top:32px}.part-row,.part.flip .part-row{grid-template-columns:minmax(0,1fr)}.part-row img,.part.flip .part-row img{aspect-ratio:4/3;order:0}.method-fig{grid-template-columns:30vw minmax(0,1fr);gap:20px;display:grid}.order{display:none}.order+.order{display:block}.method-steps{grid-template-columns:minmax(0,1fr);align-content:space-between;gap:0;margin:0;padding:8px 0 24px}.faq-head{min-height:30svh;padding:24px var(--m);font-size:13vw!important}.faq-band{grid-template-columns:minmax(0,1fr);gap:12px;padding:32px 20px}.faq-band dt,.faq-band dd{grid-column:1}.l-close{padding:96px var(--m) 48px;grid-template-columns:minmax(0,1fr)}.l-close h2,.close-foot{grid-column:1}.l-close h2{font-size:15vw}.close-foot .l-btn{width:100%}.foot-row{grid-template-columns:minmax(0,1fr);margin-top:48px}.foot-places,.foot-cols{grid-column:1}.foot-cols{grid-template-columns:minmax(0,1fr)}.foot-legal{margin-top:56px}}:root{--ground:#fff;--chrome:#f4f2ec;--surface:#f7f5f0;--raised:#fff;--active:#e8e5dc;--border:#eaeaea;--rule:#efede7;--control:#d9d9d6;--text:#1f201d;--muted:#636361;--accent:#1b6e66;--accent-pale:#dcebe8;--positive:#2e7d32;--negative:#b42318;--warning:#92400e;--pill-positive-bg:#dcfae5;--pill-positive-ink:#04250e;--pill-negative-bg:#fdecea;--pill-negative-ink:#7a1d14;--pill-warning-bg:#fffbeb;--pill-warning-ink:#92400e;--pill-neutral-bg:#eeece6;--pill-neutral-ink:#3d3d3a;--radius-card:22px;--radius-control:999px;--gap:16px;--pad:20px;--control-height:38px;--sans:"Instrument Sans", "Klee One", system-ui, sans-serif;--serif:"Instrument Serif", Georgia, serif;--jp:"Klee One", "Hiragino Mincho ProN", "Yu Mincho", serif;--ease:cubic-bezier(.22, 1, .36, 1);--primary:#1f201d;--primary-ink:#fff;--primary-hover:#3a3b37;--on-accent:#fff;--hover:#00000009;--edge-hover:#cfccc2;--input-bg:#fff;--paper:#fff;--paper-line:#c9b9a6;--paper-guide:#e2d6c8;--paper-ghost:#d7cfc3;--lv1:#f6d9d5;--lv2:#cfe3df;--lv3:#8fbcb5;--lv4:var(--accent);--lv4-ink:#fff;--grid-line:#ecebe6;--axis:#c9c7c0;--bar-past:#9cc6bf;--explain:#3d3d3a;--bone:#e9e6de;--dialog-shadow:0 18px 50px #0000002e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#1a1a18;--chrome:#121211;--surface:#22221f;--raised:#2a2a27;--active:#34342f;--border:#2c2c29;--rule:#34342f;--control:#4a4a45;--text:#ecebe6;--muted:#a8a7a0;--accent:#5cbcae;--accent-pale:#1d3a36;--positive:#6fcf7a;--negative:#f08a7d;--warning:#e5b45a;--pill-positive-bg:#173322;--pill-positive-ink:#9be3a8;--pill-negative-bg:#3a1d19;--pill-negative-ink:#f6b0a6;--pill-warning-bg:#33290f;--pill-warning-ink:#ecc77a;--pill-neutral-bg:#31312d;--pill-neutral-ink:#dcdbd5;--primary:#ecebe6;--primary-ink:#141413;--primary-hover:#d2d1cb;--on-accent:#0f1f1d;--hover:#ffffff0d;--edge-hover:#58584f;--input-bg:#1f1f1d;--paper:#22221f;--paper-line:#6b6152;--paper-guide:#3f3b35;--paper-ghost:#4d4941;--lv1:#4d2b27;--lv2:#24413c;--lv3:#2f6a61;--lv4:#5cbcae;--lv4-ink:#0f1f1d;--grid-line:#2e2e2b;--axis:#4a4a45;--bar-past:#2f6a61;--explain:#cfcec8;--bone:#2e2e2a;--dialog-shadow:0 18px 50px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#1a1a18;--chrome:#121211;--surface:#22221f;--raised:#2a2a27;--active:#34342f;--border:#2c2c29;--rule:#34342f;--control:#4a4a45;--text:#ecebe6;--muted:#a8a7a0;--accent:#5cbcae;--accent-pale:#1d3a36;--positive:#6fcf7a;--negative:#f08a7d;--warning:#e5b45a;--pill-positive-bg:#173322;--pill-positive-ink:#9be3a8;--pill-negative-bg:#3a1d19;--pill-negative-ink:#f6b0a6;--pill-warning-bg:#33290f;--pill-warning-ink:#ecc77a;--pill-neutral-bg:#31312d;--pill-neutral-ink:#dcdbd5;--primary:#ecebe6;--primary-ink:#141413;--primary-hover:#d2d1cb;--on-accent:#0f1f1d;--hover:#ffffff0d;--edge-hover:#58584f;--input-bg:#1f1f1d;--paper:#22221f;--paper-line:#6b6152;--paper-guide:#3f3b35;--paper-ghost:#4d4941;--lv1:#4d2b27;--lv2:#24413c;--lv3:#2f6a61;--lv4:#5cbcae;--lv4-ink:#0f1f1d;--grid-line:#2e2e2b;--axis:#4a4a45;--bar-past:#2f6a61;--explain:#cfcec8;--bone:#2e2e2a;--dialog-shadow:0 18px 50px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--chrome);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,ul,ol,figure{margin:0}ul[class],ol[class]{padding:0;list-style:none}img,svg,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.num,table,.kpi-value,.timer{font-variant-numeric:tabular-nums}.jp{font-family:var(--jp)}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:224px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{flex-direction:column;gap:2px;height:100svh;padding:16px 12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 10px 20px;font-size:15px;font-weight:600;display:flex}.side-head{justify-content:space-between;align-items:center;gap:2px;padding-bottom:20px;display:flex}.side-head .brand{white-space:nowrap;gap:8px;min-width:0;padding:4px 0 4px 4px;overflow:hidden}.side-head .brand .nav-text{text-overflow:ellipsis;overflow:hidden}.rail-toggle{width:28px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;transition:background-color .15s,color .15s;display:grid}.rail-toggle:hover{background:var(--hover);color:var(--text)}.rail-toggle svg{width:16px;height:16px}.rail-only{display:none}.brand img{width:24px;height:24px}.nav a,.nav button{height:34px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;width:100%;padding:0 12px;transition:background-color .15s,color .15s;display:flex}.nav a:hover,.nav button:hover{color:var(--text);background:var(--hover)}.nav a[aria-current=page]{background:var(--active);color:var(--text)}.nav-group{color:var(--muted);margin-top:18px;padding:0 12px 6px;font-size:12px}.nav-foot{margin-top:auto}.nav:not(.nav-foot){min-height:0;overflow-y:auto}.nav .glyph{width:22px;font-family:var(--jp);text-align:center;color:var(--muted);transition:color .15s, transform .2s var(--ease);flex:none;margin-right:10px;font-size:15px}.nav a:hover .glyph{transform:translateY(-1px)}.nav a[aria-current=page] .glyph{color:var(--accent)}.nav .lock{width:14px;height:14px;color:var(--muted);margin-left:auto}.nav-section{margin-top:14px}.nav .nav-head{height:28px;color:var(--muted);justify-content:space-between;font-size:12px}.nav .nav-head svg{width:12px;height:12px;transition:transform .2s var(--ease)}.nav .nav-head[aria-expanded=false] svg{transform:rotate(-90deg)}.nav-items{animation:nav-open .22s var(--ease);gap:2px;display:grid}.nav-items[hidden]{display:none}@keyframes nav-open{0%{opacity:0;transform:translateY(-4px)}}.nav a.nav-live{background:var(--accent-pale);height:auto;min-height:48px;color:var(--text);margin-bottom:10px;padding:8px 12px}.nav a.nav-live .glyph{color:var(--accent);font-size:10px;animation:1.6s ease-in-out infinite pulse}.nav-label{min-width:0;line-height:1.3;display:grid}.nav-sub{color:var(--muted);font-size:12px}@keyframes pulse{50%{opacity:.35}}.nav-foot{border-top:1px solid var(--rule);gap:2px;padding-top:12px;display:grid}.nav .nav-icon{width:22px;color:var(--muted);flex:none;place-items:center;margin-right:10px;display:grid}.nav .nav-icon svg{width:16px;height:16px}.nav button:hover .nav-icon{color:var(--text)}.switch{background:var(--control);border-radius:999px;width:30px;height:18px;margin-left:auto;transition:background-color .2s;position:relative}.switch span{background:var(--raised);width:14px;height:14px;transition:transform .2s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.theme-switch[aria-checked=true] .switch{background:var(--accent)}.theme-switch[aria-checked=true] .switch span{transform:translate(12px)}.nav .account{height:auto;min-height:48px;margin:4px 0;padding:6px 12px}.account{color:var(--text);align-items:center;display:flex}div.account{padding:6px 12px}.account-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.account .nav-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account .nav-label{flex:1}.nav-chevron{width:14px;color:var(--muted);transition:transform .15s var(--ease);flex:none}.nav-chevron svg{width:14px;height:14px}.nav a.account:hover .nav-chevron{color:var(--text);transform:translate(2px)}.nav button.logout:hover,.nav button.logout:hover .nav-icon{color:var(--negative)}.avatar{background:var(--accent-pale);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;margin:0 10px 0 -4px;font-size:13px;font-weight:600;display:grid}@media (prefers-reduced-motion:reduce){.nav-items,.nav a.nav-live .glyph{animation:none}}.sheet{background:var(--ground);border:1px solid var(--border);border-radius:16px;min-width:0;margin:8px 8px 8px 0}.topbar{display:none}.page{max-width:1132px;margin:0 auto;padding:56px 16px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:28px;font-weight:600;line-height:1.15}.page-head p{color:var(--muted);max-width:640px;margin-top:6px;font-size:15px}.greeting{font-family:var(--serif);letter-spacing:-.01em;font-size:48px;font-weight:400;line-height:1.05}.greeting-line{color:var(--muted);margin-top:10px;font-size:16px}.grid{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s9{grid-column:span 9}.s12{grid-column:span 12}.grid+.grid,.grid+.panel,.panel+.grid,.panel+.panel{margin-top:var(--gap)}.grid>.panel{margin-top:0}.align-start{align-items:start}.panel{background:var(--surface);border-radius:var(--radius-card);padding:var(--pad);min-width:0}.panel.white{background:var(--raised);border:1px solid var(--border)}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{font-size:14px;font-weight:600}.panel-head .aside{color:var(--muted);font-size:13px}.panel-head a.aside:hover{color:var(--text)}.tile{background:var(--surface);border-radius:var(--radius-card);flex-direction:column;min-height:128px;padding:16px 18px;display:flex}.tile .label{color:var(--muted);font-size:13px}.tile .kpi-value{margin-top:8px;font-size:32px;font-weight:400;line-height:1.1}.tile .kpi-value small{color:var(--muted);margin-left:4px;font-size:15px}.tile .caption{color:var(--muted);margin-top:auto;font-size:13px}.btn{height:var(--control-height);border-radius:var(--radius-control);border:1px solid var(--control);background:var(--raised);cursor:pointer;white-space:nowrap;transition:transform .12s var(--ease), background-color .15s, border-color .15s;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--edge-hover)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.primary:hover{background:var(--primary-hover)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--text);background:var(--hover)}.btn.danger{color:var(--negative)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.sm{height:32px;padding:0 14px;font-size:13px}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}label.field{gap:8px;font-weight:500;display:grid}.input,select.input{border:1px solid var(--control);background:var(--input-bg);border-radius:10px;width:100%;height:40px;padding:0 14px}.input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.field-note{color:var(--muted);font-size:13px;font-weight:400}.form{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.error-text{color:var(--negative);font-size:14px}.pill{white-space:nowrap;background:var(--pill-neutral-bg);height:22px;color:var(--pill-neutral-ink);border-radius:999px;flex:none;align-items:center;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.pill.pos{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.pill.neg{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.pill.warn{background:var(--pill-warning-bg);color:var(--pill-warning-ink)}.rows{gap:8px;display:grid}.rowcard{background:var(--raised);border:1px solid var(--rule);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:63px;padding:10px 16px;transition:border-color .15s;display:flex}a.rowcard:hover{border-color:var(--edge-hover)}.rowcard .title{font-weight:500}.rowcard .sub{color:var(--muted);font-size:13px}.rowcard .end{text-align:right;flex:none;align-items:center;gap:10px;display:flex}table.data{border-collapse:collapse;width:100%}table.data th{text-align:left;color:var(--muted);padding:8px 10px;font-size:12px;font-weight:400}table.data td{border-top:1px solid var(--rule);vertical-align:middle;padding:10px}table.data .r{text-align:right}.table-wrap{overflow-x:auto}.kanamap{direction:rtl;grid-template-rows:repeat(5,auto);grid-template-columns:repeat(11,minmax(0,1fr));grid-auto-flow:column;gap:4px;display:grid}.kanamap .cell{aspect-ratio:1;background:var(--raised);font-family:var(--jp);direction:ltr;border-radius:8px;place-items:center;font-size:19px;display:grid;position:relative}.kanamap .cell.empty{visibility:hidden}.kanamap .cell[data-level="1"]{background:var(--lv1)}.kanamap .cell[data-level="2"]{background:var(--lv2)}.kanamap .cell[data-level="3"]{background:var(--lv3)}.kanamap .cell[data-level="4"]{background:var(--lv4);color:var(--lv4-ink)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.charboard{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.charcell{background:var(--raised);border:1px solid var(--rule);cursor:pointer;transition:border-color .15s, transform .12s var(--ease);border-radius:14px;place-items:center;gap:2px;padding:12px 4px 10px;display:grid}.charcell:hover{border-color:var(--edge-hover)}.charcell:active{transform:scale(.97)}.charcell[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.charcell .c{font-family:var(--jp);font-size:30px;line-height:1.1}.charcell .r{color:var(--muted);font-size:12px}.charcell .r.jp{color:var(--text);font-size:13px}.reading-list{gap:10px;margin:0 0 14px;display:grid}.readings dt{color:var(--muted);margin-bottom:4px;font-size:12px}.readings dd{flex-wrap:wrap;gap:6px;margin:0;display:flex}.reading{background:var(--raised);border:1px solid var(--rule);border-radius:999px;align-items:center;gap:6px;padding:2px 4px 2px 10px;display:inline-flex}.reading .jp{font-size:16px}.reading .say{width:28px;height:28px}.charcell .acc{background:var(--rule);border-radius:2px;width:28px;height:3px;overflow:hidden}.charcell .acc span{background:var(--accent);height:100%;display:block}.genko{aspect-ratio:1;background:var(--paper);border:1.5px solid var(--paper-line);touch-action:none;border-radius:4px;width:100%;max-width:280px;position:relative}.genko:before,.genko:after{content:"";pointer-events:none;position:absolute}.genko:before{border-left:1px dashed var(--paper-guide);top:6%;bottom:6%;left:50%}.genko:after{border-top:1px dashed var(--paper-guide);top:50%;left:6%;right:6%}.genko canvas{color:var(--text)}.genko canvas,.genko svg{width:100%;height:100%;position:absolute;inset:0}.genko-row{flex-wrap:wrap;gap:12px;display:flex}.genko-unit{gap:8px;width:min(280px,100%);display:grid}.genko-tools{gap:4px;display:flex}.char-side .char-panel{max-height:calc(100dvh - 48px);position:sticky;top:24px;overflow:auto}.char-panel .panel-head{align-items:center}.char-panel .close{background:var(--hover);width:36px;height:36px;color:var(--text);cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;margin-left:auto;display:grid}.char-panel .close svg{width:16px;height:16px}.trace{border-top:1px solid var(--rule);margin-top:20px;padding-top:16px}.trace h3{font-size:14px;font-weight:600}.trace-result{gap:8px;margin-top:12px;font-size:14px;list-style:none;display:grid}.trace-result .pill{margin-right:6px}.char-dialog .trace .genko-row,.char-dialog .trace .row-actions{justify-content:center}.char-dialog{overscroll-behavior:contain;width:min(440px,100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);padding:0;overflow:auto}.char-dialog .char-panel{background:var(--raised)}.char-panel .genko.order{max-width:190px;margin:0 auto}.runner{max-width:820px;margin:0 auto;padding:32px 16px 64px}.runner-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.runner-head h1{font-size:18px;font-weight:600}.timer{text-align:right;min-width:80px;font-size:22px}.timer.low{color:var(--negative)}.qnav{flex-wrap:wrap;gap:6px;margin:0 0 20px;display:flex}.qnav button{border:1px solid var(--rule);background:var(--raised);cursor:pointer;border-radius:10px;width:34px;height:34px;font-size:13px}.qnav button[data-answered=true]{background:var(--accent-pale);border-color:var(--accent-pale)}.qnav button[aria-current=true]{border-color:var(--text)}.question{background:var(--surface);border-radius:var(--radius-card);animation:q-in .25s var(--ease);padding:28px}@keyframes q-in{0%{opacity:0;transform:translate(12px)}}.progress{background:var(--rule);border-radius:2px;height:4px;margin:0 0 16px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .35s var(--ease);display:block}.keys-hint{margin-top:12px;font-size:13px}@media (hover:none){.keys-hint{display:none}}@media (prefers-reduced-motion:reduce){.question{animation:none}}.prompt{font-size:20px;line-height:1.6}.prompt.big{font-family:var(--jp);font-size:56px;line-height:1.2}.prompt ruby rt,.md ruby rt,.check-jp ruby rt,.words ruby rt,.rowcard .sample rt{color:var(--muted);letter-spacing:0;font-size:.5em;line-height:1.1}.md ruby,.check-jp ruby,.words ruby{ruby-align:center}.hint{color:var(--muted);margin-top:8px;font-size:15px}.context{background:var(--raised);border:1px solid var(--rule);border-radius:14px;margin-bottom:20px;padding:18px 20px;font-size:17px;line-height:1.9}.context blockquote{border-left:3px solid var(--rule);margin:10px 0 0;padding-left:14px}.qimage{border:1px solid var(--rule);background:#fff;border-radius:12px;margin:0 0 20px;overflow:hidden}.qimage img{object-fit:contain;width:100%;max-height:420px}.choices{gap:8px;margin-top:24px;display:grid}.choice{border:1px solid var(--rule);background:var(--raised);cursor:pointer;text-align:left;min-height:56px;transition:border-color .15s, transform .12s var(--ease);border-radius:14px;align-items:center;gap:14px;padding:10px 16px;font-size:17px;display:flex}.choice:hover{border-color:var(--edge-hover)}.choice:active{transform:scale(.99)}.choice[aria-checked=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice .key{background:var(--surface);width:26px;height:26px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.choice[aria-checked=true] .key{background:var(--accent);color:var(--on-accent)}.choice .txt{font-family:var(--sans)}.runner-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;display:flex}.audio{align-items:center;gap:12px;margin-bottom:20px;display:flex}.exam-sheet{gap:36px;scroll-margin-top:72px;display:grid}.sheet-part{font-family:var(--jp);color:var(--muted);margin-bottom:10px;font-size:14px}.sheet-title{font-family:var(--jp);font-size:18px;font-weight:600;line-height:1.75}.sheet-title span{margin-right:.4em}.sheet-gloss{color:var(--muted);margin-top:8px;font-size:14px}.sheet-q{gap:14px;scroll-margin-top:72px;display:grid}.exam-sheet .context,.exam-sheet .qimage,.exam-sheet .audio{margin-bottom:0}.sheet-prompt{align-items:baseline;gap:14px;display:flex}.sheet-q .prompt{font-size:19px}.sheet-ban{font-family:var(--jp);font-size:22px;font-weight:600;transition:color .15s}.sheet-q[data-active] .sheet-ban{color:var(--accent)}.qno,.blank-no{border:1.5px solid var(--text);font-family:var(--sans);border-radius:4px;place-items:center;font-weight:600;display:inline-grid}.qno{flex:none;min-width:32px;height:32px;padding:0 6px;font-size:15px;transition:background .15s,color .15s}.sheet-q[data-active] .qno{background:var(--text);color:var(--ground)}.blank-no{min-width:2.4em;margin:0 .25em;padding:0 .4em;line-height:1.5}.sheet-choices{gap:8px;display:grid}.sheet-choices.short{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr))}.sheet-choices.mid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-choices.short.marks{grid-template-columns:repeat(var(--n), minmax(0, 1fr))}@media (width<=640px){.sheet-choices.short{grid-template-columns:repeat(min(var(--n,4), 2), minmax(0, 1fr))}.sheet-choices.mid{grid-template-columns:none}}.review{gap:var(--gap);display:grid}.review-item{background:var(--surface);border-radius:var(--radius-card);padding:22px}.review-item .prompt{font-size:18px}.answer-line{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:10px;display:flex}.answer-line .k{color:var(--muted);min-width:104px;font-size:13px}.answer-line .v{font-family:var(--sans);font-size:17px}.answer-line .v.wrong{color:var(--negative)}.explain{border-top:1px solid var(--rule);color:var(--explain);white-space:pre-line;margin-top:14px;padding-top:14px}.script{font-family:var(--jp);white-space:pre-line;background:var(--raised);border:1px solid var(--rule);border-radius:12px;margin-top:12px;padding:14px 16px}.drawpair{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.drawpair figure{width:150px}.drawpair figcaption{color:var(--muted);margin-top:6px;font-size:12px}.reader{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:40px;display:grid}.reader aside{gap:var(--gap);display:grid;position:sticky;top:24px}.md{max-width:700px;font-size:16px;line-height:1.75}.md h3{margin:32px 0 10px;font-size:20px;font-weight:600;line-height:1.3}.md h4{margin:24px 0 8px;font-size:16px;font-weight:600}.md p{margin:0 0 14px}.md strong{font-weight:600}.md :lang(ja),.md strong{font-family:var(--sans)}.md table{border-collapse:collapse;width:100%;margin:12px 0 20px;font-size:15px}.md th{text-align:left;color:var(--muted);padding:6px 10px;font-size:13px;font-weight:400}.md td{border-top:1px solid var(--rule);padding:8px 10px}.md a{color:var(--accent)}.md ul,.md ol{margin:0 0 14px;padding-left:20px}.md h3{scroll-margin-top:72px}.md blockquote{background:var(--accent-pale);border-radius:14px;margin:18px 0;padding:14px 18px}.md blockquote p:last-child{margin:0}.md em{font-style:italic}.pola{background:var(--surface);border-radius:16px;margin:16px 0 20px;padding:16px 18px}.pola-label{color:var(--muted);font-size:12px;margin:0 0 8px!important}.pola ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pola li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;display:flex}.formula{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tok{background:var(--raised);border:1px solid var(--rule);border-radius:8px;align-items:center;min-height:30px;padding:0 10px;font-size:15px;line-height:1.3;display:inline-flex}.tok.jp{font-family:var(--jp);background:var(--accent-pale);color:var(--accent);border-color:#0000;font-size:17px}.tok.gap{color:var(--muted);border-style:dashed}.plus,.pola-note{color:var(--muted);font-size:13px}.examples{gap:8px;margin:12px 0 24px;display:grid}.ex{background:var(--raised);border:1px solid var(--rule);border-radius:16px;margin:0;padding:14px 16px;transition:border-color .15s}.ex:hover{border-color:var(--edge-hover)}.ex-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ex-jp{font-family:var(--jp);font-size:21px;line-height:1.5;margin:0!important}.say{background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:color .15s, background-color .15s, transform .12s var(--ease);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.say svg{width:16px;height:16px}.say:hover{color:var(--accent);background:var(--accent-pale)}.say:active{transform:scale(.92)}.ex-more{text-align:left;cursor:default;background:0 0;border:0;gap:2px;width:100%;margin-top:4px;padding:0;line-height:1.5;display:grid}.ex-ro{color:var(--muted);font-size:14px}.ex-id{font-size:15px}.ex-tap{color:var(--accent);font-size:13px;display:none}.hide-ro .ex-more[aria-expanded=false] .ex-ro,.hide-id .ex-more[aria-expanded=false] .ex-id{filter:blur(6px);opacity:.5;-webkit-user-select:none;user-select:none}.hide-ro .ex-more,.hide-id .ex-more{cursor:pointer}.hide-ro .ex-more[aria-expanded=false] .ex-tap,.hide-id .ex-more[aria-expanded=false] .ex-tap{display:block}.ex-more .ex-ro,.ex-more .ex-id{transition:filter .25s var(--ease), opacity .25s}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;display:flex}.toolbar.sticky{z-index:5;background:var(--ground);padding:10px 0;position:sticky;top:0}.chip{border:1px solid var(--control);background:var(--raised);cursor:pointer;border-radius:999px;height:32px;padding:0 14px;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--edge-hover)}.chip[aria-pressed=true],.chip[aria-current=page],.chip[aria-selected=true]{background:var(--text);border-color:var(--text);color:var(--ground)}a.chip{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.seg{gap:6px;display:flex}.toolbar .seg+.seg{margin-left:auto}.toc{gap:2px;padding:4px 0;display:grid}.toc-title{color:var(--muted);padding:0 12px 6px;font-size:12px}.toc a{color:var(--muted);border-left:2px solid #0000;border-radius:10px;padding:6px 12px;font-size:14px;line-height:1.35;transition:color .15s,background-color .15s}.toc a:hover{color:var(--text);background:var(--hover)}.toc a[aria-current=location]{color:var(--text);background:var(--active)}.check{border-radius:var(--radius-card);background:var(--surface);max-width:700px;margin-top:40px;padding:24px}.check .say{background:var(--raised)}.check h2{font-size:16px;font-weight:600}.check-jp{font-family:var(--jp);font-size:26px;line-height:1.5}.check .choices{margin-top:16px}.check-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.check-score{margin:8px 0 4px;font-size:22px}.check-score .num{font-size:32px}.choice[data-state=right]{border-color:var(--positive);box-shadow:inset 0 0 0 1px var(--positive);background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.choice[data-state=wrong]{border-color:var(--negative);box-shadow:inset 0 0 0 1px var(--negative);background:var(--pill-negative-bg);color:var(--pill-negative-ink);animation:.3s shake}.choice:disabled{cursor:default}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.chapter{margin-bottom:40px;scroll-margin-top:24px}.chapter-jump{flex-wrap:wrap;gap:6px;margin:-12px 0 32px;display:flex}.chapter-jump a{background:var(--surface);height:32px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:13px;transition:color .15s,background-color .15s;display:inline-flex}.chapter-jump a:hover{color:var(--text);background:var(--active)}.chapter-progress{align-items:center;gap:10px;display:inline-flex}.meter{background:var(--rule);border-radius:3px;width:80px;height:6px;display:block;overflow:hidden}.meter span{background:var(--accent);height:100%;transition:width .4s var(--ease);border-radius:3px;display:block}.rowcard.lesson{justify-content:flex-start}.rowcard.lesson .end{margin-left:auto}.rowcard:hover .pola-mark{background:var(--accent);color:var(--on-accent)}.pola-mark{background:var(--accent-pale);min-width:44px;height:44px;color:var(--accent);white-space:nowrap;border-radius:12px;flex:none;place-items:center;padding:0 8px;font-size:17px;transition:background-color .15s,color .15s;display:grid}.pola-mark.big{border-radius:18px;min-width:72px;height:72px;padding:0 14px;font-size:28px}.rowcard .sample{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:15px;display:block;overflow:hidden}.lesson-head{justify-content:flex-start;align-items:center;gap:18px}.crumb{font-size:13px;margin:0 0 4px!important}.crumb a{color:var(--muted)}.crumb a:hover{color:var(--text)}table.words td{height:56px}table.words td.jp{white-space:nowrap}.reveal{border:1px dashed var(--control);height:28px;color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;padding:0 12px;font-size:13px}.reveal:hover{border-style:solid}.flash{gap:14px;max-width:560px;display:grid}.flash .meter{width:100%}.flash-meta{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.flashcard{cursor:pointer;perspective:1200px;background:0 0;border:0;height:300px;padding:0;position:relative}.flashcard .face{border-radius:var(--radius-card);background:var(--surface);backface-visibility:hidden;transition:transform .5s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.flashcard .back{background:var(--accent-pale);transform:rotateY(180deg)}.flashcard[data-flip=true] .front{transform:rotateY(-180deg)}.flashcard[data-flip=true] .back{transform:rotateY(0)}.flashcard .big{font-size:64px;line-height:1.15}.flashcard .back .big{font-size:40px}.flashcard .kana{color:var(--muted);font-size:20px}.flashcard .ro{color:var(--muted);font-size:15px}.flashcard .arti{font-size:22px;font-weight:500}.flash-actions{justify-content:center;align-items:center;gap:8px;display:flex}.flash-keys{text-align:center;font-size:13px}.flash-done{border-radius:var(--radius-card);background:var(--surface);max-width:560px;padding:24px}@media (prefers-reduced-motion:reduce){.flashcard .face{transition:none}.choice[data-state=wrong]{animation:none}}.chart text{fill:var(--muted);font-size:12px;font-family:var(--sans)}.chart .grid-line{stroke:var(--grid-line)}.chart .base{stroke:var(--axis)}.chart .ref{stroke:var(--text);stroke-dasharray:3 3}.chart .bar{fill:var(--accent)}.chart .bar.past{fill:var(--bar-past)}.barlist{gap:12px;display:grid}.barlist .l{justify-content:space-between;font-size:13px;display:flex}.barlist .t{background:var(--rule);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.barlist .t span{background:var(--text);border-radius:3px;height:100%;display:block}.notice{background:var(--surface);border-radius:var(--radius-card);max-width:640px;padding:28px}.notice h2{margin-bottom:8px;font-size:20px;font-weight:600}.notice p{color:var(--muted);margin-bottom:18px;font-size:15px}dialog{background:var(--raised);max-width:420px;color:var(--text);box-shadow:var(--dialog-shadow);border:0;border-radius:18px;padding:24px}dialog::backdrop{background:#14141259}dialog h2{margin-bottom:8px;font-size:18px;font-weight:600}dialog p{color:var(--muted);margin-bottom:18px}.tabs{box-shadow:inset 0 -1px var(--border);scrollbar-width:none;gap:4px;margin-bottom:24px;display:flex;overflow-x:auto}.tabs a,.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px}.tabs [aria-current=page],.tabs [aria-selected=true]{color:var(--text);border-bottom-color:var(--text)}.theme-corner{position:absolute;top:16px;right:16px}.entry-form{background:var(--ground);border:1px solid var(--border);border-radius:16px;place-items:center;margin:8px;padding:32px;display:grid;position:relative}.entry-form .form{width:100%;max-width:360px}.wall-dialog{overscroll-behavior:contain;width:min(440px,100vw - 24px);max-height:calc(100dvh - 24px);padding:28px;overflow:auto}.wall-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141247}.wall{gap:20px;display:grid}.wall h2{font-family:var(--serif);text-wrap:balance;margin-bottom:8px;font-size:28px;font-weight:400;line-height:1.15}.wall p{color:var(--muted);margin:0}.wall-later{width:100%;margin-top:8px}.guest-wall{max-width:460px}.guest-wall h1{margin-bottom:8px}.guest-wall p{margin-bottom:20px}.google-btn{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;justify-content:center;min-height:40px;display:flex}.or-divider{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.or-divider:before,.or-divider:after{content:"";border-top:1px solid var(--border);flex:1}.bone{background:var(--bone);border-radius:6px;animation:.2s .15s both bone-in,1.6s ease-in-out .35s infinite bone;display:block}@keyframes bone-in{0%{opacity:0}}@keyframes bone{50%{opacity:.55}}.skel-text{align-content:start;gap:12px;display:grid}.skel-generic{padding-top:8px}.skel-card{pointer-events:none;justify-content:flex-start}.skel-card .mark{border-radius:10px;flex:none;width:44px;height:40px}.skel-lines{flex:1;gap:8px;display:grid}.skel-cell{cursor:default}.nav-bones{gap:20px;padding:10px 12px;display:grid}.nav-bones .bone{height:13px}.boot{place-items:center;min-height:100svh;display:grid}.boot img{width:40px;height:40px;animation:1.6s ease-in-out infinite bone}@media (prefers-reduced-motion:reduce){.bone,.boot img{animation:none}}@media (width>=761px){.app{transition:grid-template-columns .25s var(--ease)}.app.rail{grid-template-columns:68px minmax(0,1fr)}.sidebar{overflow:hidden}.rail .sidebar{padding-inline:10px}.rail .side-head{flex-direction:column;gap:8px}.rail .side-head .brand{padding:4px 0}.rail .nav-text,.rail .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail .nav-head,.rail .switch,.rail .nav-chevron,.rail .nav .lock{display:none}.rail .nav a,.rail .nav button{justify-content:center;padding:0}.rail .nav .glyph,.rail .nav .nav-icon{margin-right:0}.rail .nav .glyph{font-size:16px}.rail .nav-section{margin-top:12px}.rail .nav a.nav-live{min-height:40px}.rail .nav .account{min-height:44px}.rail .avatar{margin:0}.rail .side-login{padding:0}.rail .rail-only{font-family:var(--jp);font-size:16px;display:inline}.rail .nav-bones .bone{margin:0 auto;width:22px!important}}@media (prefers-reduced-motion:reduce){.app{transition:none}}@media (width<=960px){.s3{grid-column:span 6}.s4,.s5,.s6,.s7,.s8,.s9,.stack{grid-column:span 12}.reader{grid-template-columns:minmax(0,1fr)}.reader aside{position:static}.char-side{display:none}}@media (width<=760px){.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.sidebar{z-index:20;background:var(--chrome);width:100%;height:auto;padding-top:60px;display:none;position:fixed;inset:0}.app.nav-open .sidebar{display:flex}.sidebar .side-head{display:none}.sheet{border:0;border-radius:0;margin:0}.topbar{background:var(--chrome);z-index:30;justify-content:space-between;align-items:center;height:48px;padding:0 12px 0 16px;display:flex;position:sticky;top:0}.topbar .brand{padding:0}.page{padding:28px 16px 48px}.greeting{font-size:30px}.question{padding:20px}.prompt.big{font-size:44px}.kanamap .cell{border-radius:6px;font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}@keyframes draw{to{stroke-dashoffset:0}}polyline.draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .5s var(--ease) forwards}.rankboard ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rankboard li{border-radius:10px;grid-template-columns:24px minmax(0,1fr) auto 44px;align-items:baseline;gap:10px;padding:8px 10px;font-size:14px;display:grid}.rankboard li>:nth-child(n+3){text-align:right}.rankboard li[aria-current]{background:var(--accent-pale)}.rankboard li.gap{margin-top:10px}.rankboard .rank{color:var(--muted)}.rankboard li:nth-child(-n+3):not(.gap) .rank{color:var(--accent);font-weight:600}.rankboard .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rankboard .note{margin-top:10px;font-size:12px}
