.k-jp{font-family:var(--font-mincho);overflow-wrap:anywhere}.k-jp-sentence{font-size:1.375rem;font-weight:500;line-height:2.75rem}.k-jp ruby{ruby-position:over}.k-jp rt{font-family:var(--font-jp);color:var(--text-subtle);letter-spacing:0;font-size:.5em;font-weight:500}.k-jp .k-em{color:var(--text);background:linear-gradient(transparent 62%, var(--primary-subtle) 62%);padding:0 1px;font-weight:700}.k-jp .k-drop{text-decoration:line-through;-webkit-text-decoration-color:var(--shu);text-decoration-color:var(--shu);color:var(--text-subtle);text-decoration-thickness:2px}.k-jp--hide rt{visibility:hidden}.k-jp--hide ruby{cursor:pointer;border-bottom:1px dotted var(--border-strong)}.k-jp--hide ruby.is-shown rt{visibility:visible}:root,[data-theme=light]{--bg:#f3eee2;--surface:#fbf8f1;--surface-raised:#fffdf8;--surface-sunken:#eae3d3;--text:#23211c;--text-muted:#585348;--text-subtle:#6a6457;--border:#dcd3c1;--border-strong:#8a8270;--focus-ring:#234a7c;--primary:#234a7c;--primary-hover:#1c3d67;--primary-pressed:#163153;--on-primary:#fbf8f1;--primary-subtle:#e2e8f1;--primary-text:#1f4372;--moss:#4a6a2c;--moss-subtle:#e4ead6;--moss-text:#3a5622;--moss-soft:#8ea866;--kuchiba:#9a6418;--kuchiba-subtle:#f4e6cc;--kuchiba-text:#7c4f10;--mizu:#2b6f7e;--mizu-subtle:#ddebec;--mizu-text:#215a66;--shu:#b23a26;--shu-subtle:#f6e0d8;--shu-text:#9c3220;--on-shu:#fffdf8;--kin:#7a5f14;--kin-subtle:#f1ead2;--wc-verb:#2f67a0;--wc-verb-subtle:#e1eaf4;--wc-i:#a1480f;--wc-i-subtle:#f7e3d5;--wc-na:#2d7550;--wc-na-subtle:#ddeee3;--wc-noun:#714596;--wc-noun-subtle:#ece2f3;--wc-plain:#655f53;--wc-plain-subtle:#e8e3d8;--scrim:#23211c80;--shadow-card:0 1px 0 #dcd3c1, 0 2px 6px #3c30180f;--shadow-sheet:0 -10px 30px #3c301824;--shadow-press:0 3px 0 #163153;--shadow-press-neutral:0 3px 0 #8a8270}[data-theme=dark]{--bg:#13161b;--surface:#1b1f26;--surface-raised:#232833;--surface-sunken:#0f1216;--text:#eee8dc;--text-muted:#b9b2a3;--text-subtle:#a29b8c;--border:#323845;--border-strong:#737b8c;--focus-ring:#9dbbe6;--primary:#9dbbe6;--primary-hover:#b4cbec;--primary-pressed:#7fa2d6;--on-primary:#0e1a2c;--primary-subtle:#1e2b40;--primary-text:#b4cbec;--moss:#a9c67c;--moss-subtle:#1f2a18;--moss-text:#bcd596;--moss-soft:#6f8a4c;--kuchiba:#e0ae5e;--kuchiba-subtle:#2e2414;--kuchiba-text:#edc27c;--mizu:#7cc3cf;--mizu-subtle:#15282c;--mizu-text:#9ad3dc;--shu:#f08a72;--shu-subtle:#361a14;--shu-text:#f5a592;--on-shu:#2a0e08;--kin:#dcc27a;--kin-subtle:#2a2512;--wc-verb:#86b4e8;--wc-verb-subtle:#18263a;--wc-i:#f2a06b;--wc-i-subtle:#33200f;--wc-na:#7fcca0;--wc-na-subtle:#14281d;--wc-noun:#c4a0e6;--wc-noun-subtle:#271a33;--wc-plain:#b3ad9f;--wc-plain-subtle:#262a31;--scrim:#000000a6;--shadow-card:0 1px 0 #2a2f3a, 0 2px 8px #00000059;--shadow-sheet:0 -10px 30px #00000080;--shadow-press:0 3px 0 #5a7fb5;--shadow-press-neutral:0 3px 0 #4a5160}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--size-touch:44px;--size-control:52px;--size-plant:56px;--size-icon:24px;--size-content:480px;--duration-fast:.12s;--duration-base:.22s;--duration-slow:.42s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-stamp:cubic-bezier(.34, 1.56, .64, 1);--font-sans:"Plus Jakarta Sans", "Zen Kaku Gothic New", system-ui, sans-serif;--font-jp:"Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-mincho:"Zen Old Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--font-hand:"Klee One", "Zen Kaku Gothic New", cursive}.display{font-family:var(--font-sans);letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:38px}.h1{font-family:var(--font-sans);letter-spacing:-.015em;font-size:26px;font-weight:800;line-height:32px}.h2{font-family:var(--font-sans);letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:26px}.h3{font-family:var(--font-sans);font-size:17px;font-weight:700;line-height:24px}.body{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:24px}.body-strong{font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:24px}.label{font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:20px}.caption{font-family:var(--font-sans);font-size:14px;font-weight:500;line-height:20px}.overline{font-family:var(--font-sans);letter-spacing:.08em;font-size:13px;font-weight:700;line-height:16px}.numeric{font-family:var(--font-sans);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:32px}.jp-sentence{font-family:var(--font-mincho);font-size:22px;font-weight:500;line-height:44px}.jp-sentence-sm{font-family:var(--font-mincho);font-size:18px;font-weight:500;line-height:34px}.jp-pattern-xl{font-family:var(--font-mincho);font-size:44px;font-weight:700;line-height:52px}.jp-pattern{font-family:var(--font-jp);font-size:18px;font-weight:700;line-height:24px}.jp-ruby{font-family:var(--font-jp);font-size:11px;font-weight:500;line-height:12px}.jp-title{font-family:var(--font-mincho);font-size:20px;font-weight:600;line-height:28px}.hand{font-family:var(--font-hand);font-size:17px;font-weight:600;line-height:26px}.hand-lg{font-family:var(--font-hand);font-size:24px;font-weight:600;line-height:30px}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-old-mincho-500.624e98c9.woff2)format("woff2")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/zen-old-mincho-600.4b4d0a7c.woff2)format("woff2")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/zen-old-mincho-700.6a87d788.woff2)format("woff2")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zen-kaku-gothic-new-400.38fe6573.woff2)format("woff2")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-kaku-gothic-new-500.752e6c46.woff2)format("woff2")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/zen-kaku-gothic-new-700.7b2bde9d.woff2)format("woff2")}@font-face{font-family:Klee One;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/klee-one-600.ed706c59.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-400-800.7cf00b6b.woff2)format("woff2")}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);margin:0}#root{min-height:100dvh}.k-ruled{background-image:repeating-linear-gradient(to bottom, transparent 0 43px, var(--border) 43px 44px);background-position:0 2px}.k-screen{width:100%;max-width:var(--size-content);background:var(--bg);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}.k-screen__body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex}.k-screen__body--tab{padding-bottom:96px}.k-screen__nav{width:100%;max-width:var(--size-content);z-index:10;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.k-app{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:24px}.k-app *,.k-app :before,.k-app :after{box-sizing:border-box}:where(.k-app) button{font:inherit;color:inherit}.k-nowrap{white-space:nowrap}.k-num{font-variant-numeric:tabular-nums}.k-muted{color:var(--text-muted)}.k-subtle{color:var(--text-subtle)}.k-stack{gap:var(--space-3);flex-direction:column;display:flex}.k-row{align-items:center;gap:var(--space-2);display:flex}.k-spread{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}:where(.k-app) :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.k-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.k-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5)}.k-card--flat{box-shadow:none;border:1px solid var(--border)}.k-overline{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:13px;font-weight:700;line-height:16px}.k-plot{border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3) var(--space-3);background-color:var(--surface-sunken);background-image:repeating-linear-gradient(170deg, transparent 0 9px, var(--bg) 9px 10.5px);position:relative}.k-plot__head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space-1) var(--space-3);display:flex}.k-plot__title{flex-direction:column;min-width:0;display:flex}.k-plot__nav{gap:2px;display:flex}.k-plot__beds{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.k-bed{background:var(--surface);box-shadow:var(--shadow-card);border-radius:16px 16px 14px 18px;flex-direction:column;align-items:center;min-width:0;padding:6px 2px 4px;display:flex}.k-bed__day{color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:6px;max-width:100%;padding:0 6px;font-size:12px;font-weight:700;line-height:16px;display:flex;overflow:hidden}.k-bed__day b{font-family:var(--font-mincho);color:var(--text);text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.k-bed__grid{grid-template-columns:repeat(2,1fr);justify-items:center;width:100%;display:grid}.k-bed__grid .k-plant{width:100%;min-width:0;padding:0 2px}.k-bed__grid .k-plant__label{letter-spacing:-.02em;white-space:normal;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;min-height:28px;font-size:12px;line-height:14px;display:-webkit-box;overflow:hidden}.k-gate{align-items:center;gap:var(--space-3);margin-top:var(--space-2);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px 12px;font-size:14px;line-height:20px;display:flex}.k-gate b{font-weight:700}@media (prefers-reduced-motion:reduce){.k-app *,.k-stamp-in,.k-piece.is-shake,.k-skel:after{transition:none!important;animation:none!important}}.k-btn{min-height:var(--size-control);padding:0 var(--space-5);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);border:1.5px solid #0000;font-size:15px;font-weight:700;line-height:20px;text-decoration:none;display:inline-flex}.k-btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-press);margin-bottom:3px}.k-btn--primary:hover{background:var(--primary-hover)}.k-btn--primary:active,.k-btn--primary.is-pressed{background:var(--primary-pressed);box-shadow:none;transform:translateY(3px)}.k-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-press-neutral);margin-bottom:3px}.k-btn--secondary:active,.k-btn--secondary.is-pressed{box-shadow:none;transform:translateY(3px)}.k-btn--ghost{color:var(--primary-text);padding:0 var(--space-3);background:0 0}.k-btn--ghost:hover{background:var(--primary-subtle)}.k-btn--danger{background:var(--shu);color:var(--on-shu)}.k-btn--block{width:100%;display:flex}.k-btn--sm{min-height:var(--size-touch);padding:0 var(--space-4);font-size:14px}.k-btn[disabled],.k-btn.is-disabled{background:var(--surface-sunken);color:var(--text-subtle);box-shadow:none;cursor:not-allowed;border-color:#0000;transform:none}.k-btn .k-spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite k-spin}.k-btn__meta{opacity:.85;font-weight:500}@keyframes k-spin{to{transform:rotate(360deg)}}.k-iconbtn{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.k-iconbtn:hover{background:var(--surface-sunken);color:var(--text)}.k-iconbtn[disabled]{opacity:.35;cursor:default;background:0 0}.k-chip{border-radius:var(--radius-sm);white-space:nowrap;background:var(--surface-sunken);min-height:28px;color:var(--text-muted);align-items:center;gap:6px;padding:3px 10px;font-size:14px;font-weight:600;line-height:20px;display:inline-flex}.k-chip .k-icon{width:16px;height:16px}.k-chip--mizu{background:var(--mizu-subtle);color:var(--mizu-text)}.k-chip--moss{background:var(--moss-subtle);color:var(--moss-text)}.k-chip--kuchiba{background:var(--kuchiba-subtle);color:var(--kuchiba-text)}.k-chip--shu{background:var(--shu-subtle);color:var(--shu-text)}.k-chip--kin{background:var(--kin-subtle);color:var(--kin)}.k-chip--primary{background:var(--primary-subtle);color:var(--primary-text)}.k-chip--line{border:1.5px solid var(--border-strong);color:var(--text);background:0 0}.k-nuance{border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;font-weight:600;line-height:20px;display:inline-flex;overflow:hidden}.k-nuance>span{white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.k-nuance>span+span{border-left:1.5px solid var(--border)}.k-nuance small{color:var(--text-subtle);letter-spacing:.04em;font-size:12px;font-weight:700}.k-choices{gap:var(--space-3);flex-direction:column;display:flex}.k-choice{align-items:center;gap:var(--space-3);text-align:left;background:var(--surface);width:100%;min-height:56px;color:var(--text);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-press-neutral);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);margin-bottom:3px;padding:12px 16px;font-size:16px;font-weight:500;line-height:22px;display:flex}.k-choice:active{box-shadow:none;transform:translateY(3px)}.k-choice__mark{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);width:28px;height:28px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.k-choice__body{flex:1;min-width:0}.k-choice__state{white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:14px;font-weight:700;display:inline-flex}.k-choice--jp .k-choice__body{font-family:var(--font-jp);font-size:18px;font-weight:700}.k-choice.is-selected{background:var(--primary-subtle);border-color:var(--primary);box-shadow:0 3px 0 var(--primary)}.k-choice.is-selected .k-choice__mark{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.k-choice.is-correct{background:var(--moss-subtle);border-color:var(--moss);box-shadow:0 3px 0 var(--moss)}.k-choice.is-correct .k-choice__mark{background:var(--moss);border-color:var(--moss);color:var(--surface)}.k-choice.is-correct .k-choice__state{color:var(--moss-text)}.k-choice.is-wrong{background:var(--kuchiba-subtle);border-color:var(--kuchiba);box-shadow:0 3px 0 var(--kuchiba)}.k-choice.is-wrong .k-choice__mark{background:var(--kuchiba);border-color:var(--kuchiba);color:var(--surface)}.k-choice.is-wrong .k-choice__state{color:var(--kuchiba-text)}.k-choice.is-dim{opacity:.55;box-shadow:none;transform:translateY(3px)}.k-choice[disabled]{cursor:default}.k-sheet{background:var(--surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);padding:var(--space-5) var(--space-5) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.k-sheet__head{align-items:center;gap:var(--space-3);display:flex}.k-sheet__title{letter-spacing:-.01em;font-size:20px;font-weight:800;line-height:26px}.k-sheet--tepat .k-sheet__title{color:var(--moss-text)}.k-sheet--belum .k-sheet__title{color:var(--kuchiba-text)}.k-sheet__hint{color:var(--text-muted);font-size:14px;line-height:20px}.k-diag{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--kuchiba-subtle);color:var(--kuchiba-text);align-items:center;font-size:14px;font-weight:600;line-height:20px;display:flex}.k-diag--moss{background:var(--moss-subtle);color:var(--moss-text)}.k-diag>svg{flex:none}.k-answer{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.k-answer .k-overline{font-size:12px}.k-report{color:var(--text-muted);min-height:var(--size-touch);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.k-stamp-in{animation:k-stamp var(--duration-slow) var(--ease-stamp) both}@keyframes k-stamp{0%{opacity:0;transform:scale(1.6)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}.k-steps{align-items:center;gap:var(--space-3);display:flex}.k-steps__bar{flex:1;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.k-steps__bar>i{border-radius:var(--radius-full);background:var(--surface-sunken);height:6px}.k-steps__bar>i.is-done{background:var(--moss)}.k-steps__bar>i.is-now{background:var(--primary)}.k-steps__count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.k-steps__name{letter-spacing:.08em;text-transform:uppercase;color:var(--primary-text);font-size:13px;font-weight:700;line-height:16px}.k-plant{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:0;min-width:64px;padding:2px 6px 4px;display:inline-flex}.k-plant:hover{background:var(--surface)}.k-plant__label{font-family:var(--font-jp);color:var(--text);white-space:nowrap;font-size:13px;font-weight:700;line-height:16px}.k-plant__state{color:var(--text-subtle);white-space:nowrap;font-size:11px;font-weight:600;line-height:14px}.k-plant--layu .k-plant__state{color:var(--kuchiba-text)}.k-plant--haus .k-plant__state{color:var(--mizu-text)}.k-plant--benih .k-plant__label{color:var(--text-subtle)}.k-plant-art{flex:none;display:inline-block;position:relative}.k-plant-art>img{object-fit:contain;width:100%;height:100%;display:block}.k-plant-art.is-layu>img{filter:saturate(.35)sepia(.5)brightness(.97);transform-origin:50% 94%;transform:rotate(9deg)}.k-plant-art .k-drop-badge{width:34%;height:34%;position:absolute;top:0;right:-4%}.k-bun-art{object-fit:contain;flex:none;display:block}.k-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.k-brand{font-family:var(--font-mincho);letter-spacing:.04em;color:var(--text);align-items:baseline;gap:8px;font-size:22px;font-weight:700;display:inline-flex}.k-brand small{font-family:var(--font-sans);letter-spacing:.08em;color:var(--text-subtle);text-transform:uppercase;font-size:12px;font-weight:700}.k-streak{min-height:var(--size-touch);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 4px 0 0;display:inline-flex}.k-streak__num{font-variant-numeric:tabular-nums;color:var(--text);font-size:20px;font-weight:800;line-height:22px}.k-streak__txt{text-align:left;flex-direction:column;display:flex}.k-streak__txt small{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600;line-height:14px}.k-stampcard{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.k-stampcard__cell{flex-direction:column;align-items:center;gap:4px;display:flex}.k-stampcard__slot{border-radius:var(--radius-full);border:1.5px dashed var(--border-strong);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.k-stampcard__slot.is-today{border-style:solid;border-color:var(--primary);background:var(--primary-subtle)}.k-stampcard__slot.is-stamped{border-color:#0000}.k-stampcard__day{color:var(--text-muted);font-size:12px;font-weight:700;line-height:14px}.k-stampcard__cell.is-today .k-stampcard__day{color:var(--primary-text)}.k-bun{align-items:flex-end;gap:var(--space-2);display:flex}.k-bun__bubble{background:var(--surface-raised);border:1.5px solid var(--border-strong);font-family:var(--font-hand);color:var(--text);border-radius:16px 16px 16px 4px;max-width:280px;padding:8px 14px;font-size:17px;font-weight:600;line-height:24px;position:relative}.k-plan{gap:var(--space-4);flex-direction:column;display:flex}.k-plan__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.k-plan__item{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:48px;padding:10px 0;display:flex}.k-plan__item:last-child{border-bottom:0}.k-plan__ic{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.k-plan__ic--mizu{background:var(--mizu-subtle);color:var(--mizu-text)}.k-plan__ic--moss{background:var(--moss-subtle);color:var(--moss-text)}.k-plan__ic--shu{background:var(--shu-subtle);color:var(--shu-text)}.k-plan__txt{flex:1;min-width:0;font-size:16px;line-height:22px}.k-plan__txt b{font-weight:700}.k-plan__txt small{color:var(--text-muted);font-size:14px;line-height:20px;display:block}.k-plan__val{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:800}.k-plan__actions{gap:var(--space-2);align-items:center;display:flex}.k-plan__actions .k-btn--primary{flex:1}.k-yotsuba{gap:var(--space-4);grid-template-columns:auto 1fr;align-items:center;display:grid}.k-yotsuba__legend{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:6px 12px;min-width:0;font-size:14px;line-height:18px;display:grid}.k-yotsuba__legend span{white-space:nowrap;align-items:center;gap:6px;display:flex}.k-yotsuba__legend i{border:1.2px solid var(--text);border-radius:3px 8px;flex:none;width:12px;height:12px}.k-yotsuba__legend em{color:var(--text-muted);font-style:normal;font-weight:500}.k-lv-kuat{background:var(--moss)}.k-lv-sedang{background:var(--moss-soft)}.k-lv-lemah{background:var(--kuchiba)}.k-lv-kosong{background:var(--surface-sunken);border-style:dashed!important}.k-leafsum{grid-template-columns:88px 1fr;align-items:center;gap:8px 10px;margin:0;font-size:14px;line-height:18px;display:grid}.k-leafsum__row{display:contents}.k-leafsum dt{white-space:nowrap}.k-leafsum dd{flex-direction:column;gap:3px;min-width:0;margin:0;display:flex}.k-leafsum__bar{border-radius:var(--radius-full);background:var(--surface-sunken);height:10px;display:flex;overflow:hidden}.k-leafsum__bar i{height:100%;display:block}.k-leafsum__txt{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px;line-height:16px}.k-piece{border-radius:var(--radius-md);border:1.5px solid var(--border-strong);background:var(--surface);min-height:52px;box-shadow:var(--shadow-press-neutral);font-family:var(--font-mincho);color:var(--text);white-space:nowrap;cursor:grab;align-items:center;gap:8px;margin-bottom:3px;padding:8px 12px 8px 14px;font-size:20px;font-weight:600;line-height:28px;display:inline-flex}.k-piece small{font-family:var(--font-sans);color:var(--text-muted);font-size:12px;font-weight:700}.k-piece--V{background:var(--wc-verb-subtle);border-color:var(--wc-verb)}.k-piece--A{background:var(--wc-i-subtle);border-color:var(--wc-i)}.k-piece--na{background:var(--wc-na-subtle);border-color:var(--wc-na)}.k-piece--N{background:var(--wc-noun-subtle);border-color:var(--wc-noun)}.k-piece--plain{background:var(--wc-plain-subtle);border-color:var(--wc-plain)}.k-piece.is-selected{box-shadow:0 7px 0 var(--primary);outline:2px solid var(--primary);outline-offset:2px;transform:translateY(-4px)}.k-piece.is-gone{opacity:.35;box-shadow:none;border-style:dashed;transform:translateY(3px)}.k-piece.is-shake{border-color:var(--kuchiba);animation:.36s ease-in-out k-shake}@keyframes k-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.k-socket{border-radius:var(--radius-lg);background:var(--surface);border:2px solid var(--text);box-shadow:0 4px 0 var(--text);align-items:stretch;display:inline-flex;overflow:hidden}.k-socket__holes{background:var(--surface-sunken);border-right:2px dashed var(--border-strong);flex-direction:column;justify-content:center;gap:6px;padding:10px;display:flex}.k-socket__pattern{flex-direction:column;justify-content:center;padding:10px 18px;display:flex}.k-socket__pattern b{font-family:var(--font-mincho);font-size:32px;font-weight:700;line-height:40px}.k-socket__pattern small{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600;line-height:16px}.k-socket.is-ready{border-color:var(--primary);box-shadow:0 4px 0 var(--primary)}.k-socket.is-joined{border-color:var(--moss);box-shadow:0 4px 0 var(--moss)}.k-joined{font-family:var(--font-mincho);font-size:30px;font-weight:600;line-height:44px}.k-joined .k-tail{color:var(--moss-text);font-weight:700}.k-bank{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.k-bank .k-piece{justify-content:space-between}.k-vs{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.k-vs__p{font-family:var(--font-mincho);white-space:nowrap;font-size:30px;font-weight:700;line-height:38px}.k-vs__x{font-family:var(--font-hand);color:var(--shu);font-size:18px;font-weight:600}.k-dots{gap:6px;display:flex}.k-dots i{border-radius:var(--radius-full);background:var(--surface-sunken);width:22px;height:6px}.k-dots i.is-ok{background:var(--moss)}.k-dots i.is-no{background:var(--kuchiba)}.k-dots i.is-now{background:var(--primary)}.k-blank{text-align:center;border-bottom:2px solid var(--text);min-width:3.2em;color:var(--text-subtle);font-family:var(--font-jp);margin:0 .15em;display:inline-block}.k-key{background:var(--surface);border:1.5px solid var(--text);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex;position:relative}.k-key__head{align-items:center;gap:var(--space-2);letter-spacing:.08em;text-transform:uppercase;color:var(--shu-text);font-size:13px;font-weight:700;line-height:16px;display:flex}.k-key__cols{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.k-key__cols>div{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken)}.k-key__cols b{font-family:var(--font-mincho);margin-bottom:4px;font-size:20px;display:block}.k-rival{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);grid-template-columns:1fr auto;align-items:center;display:grid}.k-rival__pair{font-family:var(--font-mincho);flex-wrap:wrap;align-items:center;gap:8px;font-size:22px;font-weight:700;line-height:30px;display:flex}.k-rival__pair em{font-style:normal;font-family:var(--font-hand);color:var(--shu);font-size:15px}.k-rival__meta{color:var(--text-muted);margin-top:2px;font-size:14px;line-height:20px}.k-wins{gap:4px;display:flex}.k-wins i{border:1.5px dashed var(--border-strong);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.k-rival--takluk{background:var(--kin-subtle);box-shadow:none;border:1.5px solid var(--kin)}.k-timer{border-radius:var(--radius-full);background:var(--surface-sunken);height:8px;position:relative;overflow:hidden}.k-timer>i{background:var(--shu);border-radius:var(--radius-full);position:absolute;inset:0 auto 0 0}.k-paper{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6) var(--space-5);position:relative}.k-seg{font-family:var(--font-mincho);font-size:22px;line-height:44px;display:inline}.k-seg button{font:inherit;color:var(--text);cursor:pointer;border:0;border-bottom:2px dotted var(--border-strong);background:0 0;border-radius:4px;margin:0;padding:2px 1px}.k-seg button.is-wrong{background:var(--shu-subtle);color:var(--shu-text);border-bottom:2.5px solid var(--shu);text-decoration:line-through;-webkit-text-decoration-color:var(--shu);text-decoration-color:var(--shu);text-decoration-thickness:2px}.k-seg button.is-miss{background:var(--kuchiba-subtle)}.k-redpen{font-family:var(--font-hand);color:var(--shu-text);font-size:18px;font-weight:600;line-height:26px}.k-judge{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.k-judge .k-btn{min-height:64px;font-size:17px}.k-judge__salah{background:var(--surface);color:var(--shu-text);border:2px solid var(--shu);box-shadow:0 3px 0 var(--shu);margin-bottom:3px}.k-judge__benar{background:var(--surface);color:var(--moss-text);border:2px solid var(--moss);box-shadow:0 3px 0 var(--moss);margin-bottom:3px}.k-path{flex-direction:column;gap:0;display:flex;position:relative}.k-node{gap:var(--space-3);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:56px 1fr auto;align-items:center;width:100%;padding:10px 0;display:grid;position:relative}.k-node:before{content:"";background-image:repeating-linear-gradient(to bottom, var(--border-strong) 0 4px, transparent 4px 9px);width:2px;position:absolute;top:0;bottom:0;left:27px}.k-node:first-child:before{top:50%}.k-node:last-child:before{bottom:50%}.k-node__stone{z-index:1;background:var(--surface);border:1.5px solid var(--border-strong);font-variant-numeric:tabular-nums;border-radius:48% 52% 46% 54%/56% 50% 50% 44%;justify-content:center;align-items:center;width:56px;height:48px;font-size:16px;font-weight:800;display:flex;position:relative}.k-node__body{min-width:0}.k-node__title{font-family:var(--font-mincho);font-size:18px;font-weight:600;line-height:26px}.k-node__sub{color:var(--text-muted);font-size:14px;line-height:20px}.k-node__count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.k-node.is-done .k-node__stone{background:var(--moss-subtle);border-color:var(--moss);color:var(--moss-text)}.k-node.is-next .k-node__stone{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 3px 0 var(--primary-pressed)}.k-node.is-next .k-node__count{color:var(--primary-text)}.k-node--torii .k-node__stone{background:var(--surface)}.k-nav{background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);padding:6px 8px 10px;display:grid}.k-nav__tab{min-height:52px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:700;line-height:14px;display:flex}.k-nav__tab .k-nav__pill{border-radius:var(--radius-full);justify-content:center;align-items:center;width:56px;height:30px;display:inline-flex}.k-nav__tab.is-active{color:var(--primary-text)}.k-nav__tab.is-active .k-nav__pill{background:var(--primary-subtle)}.k-nav__dot{position:relative}.k-nav__dot:after{content:"";background:var(--mizu);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:14px}.k-banner{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);padding:10px 14px;font-size:14px;font-weight:600;line-height:20px;display:flex}.k-banner--mizu{background:var(--mizu-subtle);color:var(--mizu-text)}.k-banner--info{background:var(--primary-subtle);color:var(--primary-text)}.k-banner--warn{background:var(--kuchiba-subtle);color:var(--kuchiba-text)}.k-banner--shu{background:var(--shu-subtle);color:var(--shu-text)}.k-banner__text{flex:1;min-width:0}.k-banner .k-meter{border-radius:var(--radius-full);background:var(--surface);height:6px;margin-top:6px;overflow:hidden}.k-banner .k-meter>i{background:var(--mizu);border-radius:var(--radius-full);height:100%;display:block}.k-toast{align-items:center;gap:var(--space-3);border-radius:var(--radius-full);background:var(--text);color:var(--bg);box-shadow:var(--shadow-sheet);white-space:nowrap;padding:10px 18px 10px 10px;font-size:15px;font-weight:700;display:inline-flex}.k-dialog{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-sheet);padding:var(--space-6) var(--space-5) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.k-dialog h3{margin:0;font-size:20px;font-weight:800;line-height:26px}.k-dialog p{color:var(--text-muted);margin:0}.k-field{flex-direction:column;gap:6px;display:flex}.k-field label{font-size:14px;font-weight:700}.k-input{border-radius:var(--radius-md);border:1.5px solid var(--border-strong);background:var(--surface);min-height:52px;font:600 18px/24px var(--font-sans);letter-spacing:.12em;color:var(--text);padding:0 14px}.k-input.is-ok{border-color:var(--shu)}.k-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);flex-direction:column;display:flex}.k-empty h3{text-wrap:balance;margin:0;font-size:18px;font-weight:800;line-height:24px}.k-empty p{color:var(--text-muted);text-wrap:pretty;max-width:300px;margin:0}.k-skel{background:var(--surface-sunken);border-radius:var(--radius-sm);position:relative;overflow:hidden}.k-skel:after{content:"";background:linear-gradient(90deg, transparent, var(--surface), transparent);opacity:.7;animation:1.4s infinite k-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes k-shimmer{to{transform:translate(100%)}}.k-options{gap:var(--space-3);flex-direction:column;display:flex}.k-option{align-items:center;gap:var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--border-strong);background:var(--surface);min-height:64px;box-shadow:var(--shadow-press-neutral);text-align:left;cursor:pointer;width:100%;margin-bottom:3px;padding:14px 16px;display:flex}.k-option__big{font-family:var(--font-mincho);min-width:48px;font-size:26px;font-weight:700}.k-option__txt{flex:1;min-width:0}.k-option__txt b{font-size:16px;line-height:22px;display:block}.k-option__txt small{color:var(--text-muted);font-size:14px;line-height:20px;display:block}.k-option.is-selected{border-color:var(--primary);background:var(--primary-subtle);box-shadow:0 3px 0 var(--primary)}.k-radio{border:2px solid var(--border-strong);border-radius:50%;flex:none;width:22px;height:22px;position:relative}.k-option.is-selected .k-radio{border-color:var(--primary)}.k-option.is-selected .k-radio:after{content:"";background:var(--primary);border-radius:50%;position:absolute;inset:4px}.k-seg-ctl{background:var(--surface-sunken);border-radius:var(--radius-md);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.k-seg-ctl button{min-height:44px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;font-size:15px;font-weight:700}.k-seg-ctl button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}@media (prefers-reduced-motion:reduce){.k-app *,.k-stamp-in,.k-piece.is-shake,.k-skel:after{transition:none!important;animation:none!important}}.k-scrim{z-index:50;background:var(--scrim);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.k-dialog{width:100%;max-width:360px}.k-dialog h2{margin:0;font-size:20px;font-weight:800;line-height:26px}.k-dialog__body{color:var(--text-muted)}.k-dialog__actions{gap:var(--space-3);display:flex}.k-dialog__actions>*{flex:1;margin-bottom:0}.k-toasts{z-index:60;align-items:center;gap:var(--space-2);pointer-events:none;padding:0 var(--space-4);flex-direction:column;display:flex;position:fixed;bottom:96px;left:0;right:0}.k-toasts .k-toast{white-space:normal;pointer-events:auto;max-width:420px}.k-spacer{flex:1}.k-sheet--dock{width:100%;max-width:var(--size-content);z-index:20;max-height:80dvh;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.k-stepprogress{gap:var(--space-2);flex-direction:column;display:flex}.k-plant__label{text-align:center}.k-spacer-top{margin-top:auto}.k-kepingan{flex-direction:column;flex:1;gap:18px;display:flex}.k-kepingan__result{flex-direction:column;align-items:center;gap:0;display:flex}.k-piece{touch-action:none;-webkit-user-select:none;user-select:none}.k-piece--ghost{z-index:70;pointer-events:none;opacity:.92;box-shadow:var(--shadow-sheet);cursor:grabbing;position:fixed;transform:translate(-50%,-50%)}.k-socket{cursor:pointer;font:inherit;color:inherit;padding:0}.k-question{flex-direction:column;flex:1;gap:18px;display:flex}.k-sheet-spacer{flex:none;height:240px}.k-lesson-card{gap:var(--space-4);flex-direction:column;display:flex}.k-bed__grid .k-plant__state{display:none}.k-topbar .k-brand{white-space:nowrap;flex:none}.k-topbar .k-streak{min-width:0}.k-topbar .k-streak__txt small{white-space:normal}@media (width<=400px){.k-topbar .k-brand small{display:none}}
