@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#eef1f4;--surface:#fff;--surface-2:#f6f8fa;--board:#e2e7ec;--grid:#cdd5dd;--tile:#fff;--tile-edge:#b7c1cc;--tile-back:#5a3416;--fg:#1b232c;--muted:#5b6774;--faint:#9aa6b3;--accent:#c25f17;--accent-soft:#fbe6d4;--accent-fg:#fff;--focus:#0e94b5;--ok:#1f9d55;--warn:#d97706;--bad:#d64545;--mark-learning:#f0b429;--mark-learning-fg:#8a5a00;--mark-known:#2fa36b;--shadow:0 1px 2px #141e2814, 0 6px 20px #141e281a;--font-ui:"IBM Plex Sans", "BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--font-word:"IBM Plex Sans", system-ui, sans-serif;--font-head:"Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--font-ja:"BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;--font-ja-head:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--radius:10px;--tile-size:104px;--tile-gap:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14171b;--surface:#1e2329;--surface-2:#262c33;--board:#1a1f25;--grid:#2e363f;--tile:#272e36;--tile-edge:#3d4752;--tile-back:#f3d7bd;--fg:#e8ecf1;--muted:#9aa6b3;--faint:#66727f;--accent:#f0a15e;--accent-soft:#432a16;--accent-fg:#2a1505;--focus:#5ccfee;--ok:#3fbf79;--warn:#f0a640;--bad:#ef6b6b;--mark-learning:#f0b429;--mark-learning-fg:#f0b429;--mark-known:#3fbf79;--shadow:0 1px 2px #0006, 0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14171b;--surface:#1e2329;--surface-2:#262c33;--board:#1a1f25;--grid:#2e363f;--tile:#272e36;--tile-edge:#3d4752;--tile-back:#f3d7bd;--fg:#e8ecf1;--muted:#9aa6b3;--faint:#66727f;--accent:#f0a15e;--accent-soft:#432a16;--accent-fg:#2a1505;--focus:#5ccfee;--ok:#3fbf79;--warn:#f0a640;--bad:#ef6b6b;--mark-learning:#f0b429;--mark-learning-fg:#f0b429;--mark-known:#3fbf79;--shadow:0 1px 2px #0006, 0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{height:100%;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-rows:auto auto 1fr auto;display:grid;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--grid);align-items:center;gap:6px;min-width:0;padding:8px 12px 6px;display:flex}.topbar .field-btn{text-align:left;border-radius:8px;flex-direction:column;flex:1;min-width:0;padding:2px 6px;display:flex}.topbar .field-btn:active{background:var(--surface-2)}.field-title{font-family:var(--font-ja-head);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;font-size:21px;font-weight:700;line-height:1.15;display:flex;overflow:hidden}.field-title .chev{color:var(--faint);font-size:12px}.field-sub{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.iconbtn{width:38px;height:38px;color:var(--muted);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{background:var(--surface-2)}.iconbtn.on{background:var(--accent-soft);color:var(--accent)}.iconbtn:disabled{opacity:.35;cursor:default}.iconbtn.text-btn{width:auto;min-width:34px;padding:0 6px}.iconbtn.text-btn span{font-family:var(--font-ja);letter-spacing:-.02em;white-space:nowrap;font-size:12px;font-weight:700}@media (max-width:420px){.iconbtn{width:34px;height:36px}.topbar{gap:2px;padding:8px 8px 6px}}.iconbtn svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.xaxis{background:var(--surface);border-bottom:1px solid var(--grid);gap:3px;padding:6px 12px 6px 72px;display:grid}.xaxis-row{color:var(--fg);font-size:16px;font-weight:700;font-family:var(--font-ja);letter-spacing:.02em;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:8px;display:grid}.xaxis-row .l{text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.xaxis-row .r{text-align:right;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.xaxis-row .c{color:var(--muted);letter-spacing:.06em;white-space:nowrap;font-size:11px;font-weight:700}.xaxis-bar{align-items:center;height:6px;display:flex}.xaxis-bar .track{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 25%, var(--grid)), var(--accent));flex:1;height:2px}.xaxis-bar .arrow-l,.xaxis-bar .arrow-r{border-top:3px solid #0000;border-bottom:3px solid #0000;width:0;height:0}.xaxis-bar .arrow-l{border-right:5px solid color-mix(in srgb, var(--accent) 40%, var(--grid))}.xaxis-bar .arrow-r{border-left:5px solid var(--accent)}.viewport{background:var(--board);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:relative;overflow:hidden}.viewport.dragging{cursor:grabbing}.viewport.editing{outline:2px dashed var(--accent);outline-offset:-2px}.board-wrap{min-height:0;display:grid;position:relative}.scale-label{color:var(--faint);font-variant-numeric:tabular-nums;pointer-events:none;font-size:10px;position:absolute;top:6px;right:10px}.board-minimap{box-shadow:var(--shadow);touch-action:none;cursor:pointer;background:var(--surface);border-radius:6px;position:absolute;bottom:10px;right:10px}.board-minimap .bg{fill:var(--board)}.board-minimap .t{fill:var(--tile-edge)}.board-minimap .vp{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke:var(--accent);stroke-width:1.5px}.band-stripe{background:0 0;border-radius:4px;position:absolute}.band-stripe.alt{background:color-mix(in srgb, var(--fg) 4%, transparent)}.board{transform-origin:0 0;position:absolute;top:0;left:0}.board.animate{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.board.animate,.board.moving{will-change:transform}.grid{gap:var(--tile-gap);padding:var(--tile-gap);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:calc(var(--tile-size) + var(--tile-gap)) calc(var(--tile-size) + var(--tile-gap));background-position:0 0;border-radius:6px;display:grid}.cell{width:var(--tile-size);height:var(--tile-size);border-radius:8px;position:relative}.cell.empty{border:1px dashed var(--grid);background:0 0;padding:0}.cell.empty.target{border:2px dashed var(--accent);cursor:pointer}.cell.over{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.cell.dragging-src .tile{opacity:.35}.viewport.editing .tile{cursor:grab;touch-action:none}.drag-ghost{background:var(--tile);border:2px solid var(--accent);box-shadow:var(--shadow);font-family:var(--font-word);pointer-events:none;z-index:5;opacity:.95;border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%)}.cell.hidden-tile{border:1px solid var(--grid);background:repeating-linear-gradient(45deg, transparent 0 6px, var(--grid) 6px 7px);opacity:.6}.yaxis{pointer-events:none;background:var(--surface);border-right:1px solid var(--grid);width:72px;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.yaxis .band{border-left:4px solid var(--accent);box-sizing:border-box;justify-content:center;align-items:center;padding:0 4px 0 6px;display:flex;position:absolute;left:0}.yaxis .band.alt{background:color-mix(in srgb, var(--fg) 4%, transparent);border-left-color:color-mix(in srgb, var(--accent) 45%, var(--grid))}.yaxis .band span{color:var(--fg);letter-spacing:.02em;text-align:center;word-break:normal;overflow-wrap:anywhere;width:100%;font-size:13px;font-weight:700;line-height:1.25;font-family:var(--font-ja);display:block;overflow:hidden}.yaxis-title{color:var(--muted);text-align:center;background:var(--surface);border-top:1px solid var(--grid);letter-spacing:.04em;white-space:nowrap;padding:3px 4px;font-size:9px;position:absolute;bottom:0;left:0;right:0}.tile{background:var(--tile);border:1px solid var(--tile-edge);text-align:center;width:100%;height:100%;transform-style:preserve-3d;color:var(--fg);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:4px;transition:transform .5s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px #0000000f,0 2px 6px #141e2814}.tile.flipped{background:var(--tile-back);color:var(--tile);border-color:var(--tile-back);transform:rotateY(180deg)}.tile.flipped>*{transform:rotateY(180deg)}.tile .word{font-family:var(--font-word);letter-spacing:-.01em;white-space:nowrap;max-width:100%;font-size:15px;font-weight:600;line-height:1.1}.tile .short{font-family:var(--font-ja);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:3px;font-size:10px;line-height:1.2;overflow:hidden}.tile.flipped .short{color:var(--tile);opacity:.8}.tile .short.only{color:var(--fg);white-space:normal;margin-top:0;font-weight:600;line-height:1.25}.tile.selected{box-shadow:0 0 0 3px var(--accent), 0 6px 16px #0003;z-index:2;transform:scale(1.06)}.tile .initial{font-family:var(--font-head);font-size:40px;font-weight:600;line-height:1}.tile .dot{border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:6px}.tile .fav{color:var(--mark-learning);font-size:12px;line-height:1;position:absolute;top:3px;right:5px}.tile .reg{color:var(--faint);font-size:9px;line-height:1;font-family:var(--font-ja);position:absolute;bottom:4px;right:5px}.tile .mark{border:14px solid #0000;border-width:14px 14px 0 0;border-top-left-radius:8px;width:0;height:0;position:absolute;top:0;left:0}.tile .initials{font-family:var(--font-head);align-items:baseline;gap:2px;font-weight:600;line-height:1;display:flex}.tile .initials .initial{font-size:44px}.tile .initials .second{color:var(--muted);font-size:20px}.tile .review{color:var(--bad);font-size:9px;line-height:1;position:absolute;bottom:4px;left:5px}.tile.tinted{background:color-mix(in srgb, var(--tint) 22%, var(--tile));border-color:color-mix(in srgb, var(--tint) 55%, var(--tile-edge))}.tile .prepdots{justify-content:center;gap:3px;display:flex;position:absolute;bottom:5px;left:0;right:0}.tile .prepdots i{border:1px solid #fff9;border-radius:50%;width:7px;height:7px;display:block}.tile.custom{border-style:dashed}.tile .qmark{font-family:var(--font-head);color:var(--accent);font-size:44px;font-weight:600;line-height:1}.tile.quiz-target{background:var(--accent-soft);border:2px solid var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent)}.tile.dim{opacity:.3}.tile.focus-blink{box-shadow:0 0 0 3px var(--focus);animation:1.2s ease-in-out 3 blink}@keyframes blink{0%,to{box-shadow:0 0 0 3px var(--focus)}50%{box-shadow:0 0 0 0 var(--focus)}}.tile.quiz-hidden .word,.tile.quiz-hidden .short{visibility:hidden}.tile.quiz-hidden .initial{color:var(--faint)}.tile.quiz-right{background:color-mix(in srgb, var(--ok) 22%, var(--tile));border-color:var(--ok)}.tile.quiz-wrong{background:color-mix(in srgb, var(--bad) 22%, var(--tile));border-color:var(--bad);animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.bottombar{background:var(--surface);border-top:1px solid var(--grid);align-items:center;gap:8px;min-width:0;padding:6px 12px;display:flex}.bottombar input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.legend{background:var(--surface);border-top:1px solid var(--grid);color:var(--muted);flex-wrap:wrap;gap:6px 10px;padding:6px 12px;font-size:11px;display:flex}.legend button{border-radius:6px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.legend button.on{background:var(--accent-soft);color:var(--accent)}.legend button.off{opacity:.4}.legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.scrim{z-index:30;background:#0a0e1473;animation:.2s fade;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);max-height:85%;box-shadow:var(--shadow);z-index:31;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:16px 16px 0 0;flex-direction:column;animation:.25s cubic-bezier(.2,.7,.2,1) rise;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.sheet-head{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;padding:12px 16px 8px;display:flex}.sheet-head h2{font-size:16px;font-weight:700;font-family:var(--font-ja-head);align-items:center;margin:0;display:flex}.sheet-body{padding:8px 16px 16px;overflow:auto}.field-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.field-item{background:var(--surface-2);text-align:left;border:1px solid #0000;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;width:100%;padding:10px 12px;display:grid}.field-item.current{border-color:var(--accent)}.field-item .t{font-family:var(--font-ja-head);font-size:17px;font-weight:700}.field-item .s{color:var(--muted);grid-column:1;font-size:11px}.field-item .p{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;grid-row:1/span 2;font-size:11px}.field-item .bar{background:var(--grid);border-radius:2px;grid-column:1/-1;height:4px;margin-top:4px;overflow:hidden}.field-item .bar i{background:var(--mark-known);height:100%;display:block}.setting-row{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.setting-row label{font-size:14px}.setting-row .hint{color:var(--muted);font-size:11px;display:block}.setting-row select,.setting-row input[type=checkbox]{accent-color:var(--accent)}.setting-row select{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;padding:6px 8px}.btn{background:var(--surface-2);border:1px solid var(--grid);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:500;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.4;cursor:default}.btn-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.card-layer{z-index:20;perspective:1200px;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.card-layer .scrim-soft{background:#0a0e1447;position:absolute;top:0;bottom:0;left:0;right:0}.card{background:var(--surface);width:min(100%,560px);max-height:78%;box-shadow:var(--shadow);transform-origin:50% 100%;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:16px 16px 0 0;flex-direction:column;animation:.5s cubic-bezier(.2,.7,.2,1) flipin;display:flex;position:relative}.card.closing{animation:.35s ease-in forwards flipout}@keyframes flipin{0%{opacity:0;transform:rotateY(-90deg)translateY(10px)}to{opacity:1;transform:none}}@keyframes flipout{to{opacity:0;transform:rotateY(90deg)translateY(10px)}}@media (min-width:640px){.card-layer{align-items:center;padding:24px}.card{transform-origin:50%;border-radius:16px;max-height:90%}}.card-head{align-items:flex-start;gap:10px;padding:14px 16px 8px;display:flex}.card-head .hw{flex:1;min-width:0}.card-head .lemma{font-family:var(--font-head);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:30px;font-weight:600;line-height:1.05;display:flex}.card-head .lemma .pos{font-family:var(--font-ui);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500}.card-head .ja{font-family:var(--font-ja-head);margin-top:2px;font-size:16px;font-weight:500}.badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.badge{background:var(--surface-2);border:1px solid var(--grid);color:var(--muted);letter-spacing:.03em;border-radius:999px;padding:2px 7px;font-size:10px}.badge.lv{font-variant-numeric:tabular-nums}.badge.unverified{color:var(--warn);border-color:var(--warn)}.card-body{gap:14px;padding:0 16px 16px;display:grid;overflow:auto}.card-body h3{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 4px;font-size:10px;font-weight:600}.card-body p{margin:0}.card-body .en-def{color:var(--muted);font-size:13px}.patterns{gap:4px;margin:0;padding:0;list-style:none;display:grid}.patterns li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.patterns .form{font-family:var(--font-word);font-size:14px;font-weight:600}.patterns .form b{color:var(--prep-color,var(--accent));border-bottom:2px solid var(--prep-color,var(--accent));padding:0 1px;font-weight:700}.patterns .note{color:var(--muted);font-size:12px}.nuance{font-family:var(--font-ja);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:8px 10px;font-size:13px}.examples{gap:8px;margin:0;padding:0;list-style:none;display:grid}.examples li{border-left:2px solid var(--grid);padding-left:10px}.examples .en{font-size:15px;line-height:1.45}.examples .ja{color:var(--muted);font-size:12px;font-family:var(--font-ja)}.wlink{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent);border-radius:3px;padding:0 1px}.wlink:hover{background:var(--accent-soft)}.card-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--grid);background:var(--surface-2);border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip.known.on{border-color:var(--mark-known);color:var(--mark-known);background:color-mix(in srgb, var(--mark-known) 15%, var(--surface))}.chip.learning.on{border-color:var(--mark-learning);color:var(--mark-learning-fg);background:color-mix(in srgb, var(--mark-learning) 20%, var(--surface))}.chip svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.related{flex-wrap:wrap;gap:6px;display:flex}.related button{font-family:var(--font-word);background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;padding:4px 9px;font-size:13px;font-weight:500}.related button .f{color:var(--faint);font-size:10px;font-family:var(--font-ja);margin-left:4px}textarea.note{resize:vertical;border:1px solid var(--grid);background:var(--surface-2);width:100%;min-height:56px;font-family:var(--font-ja);border-radius:8px;padding:8px;font-size:13px}.minimap-wrap{grid-template-columns:auto 1fr;align-items:start;gap:10px;display:grid}.minimap{background:var(--board);touch-action:manipulation;border-radius:6px;display:block}.minimap rect.c{fill:var(--tile);stroke:var(--grid);stroke-width:1px;cursor:pointer}.minimap rect.c.empty{fill:#0000;stroke-dasharray:2 2;cursor:default}.minimap rect.c.near{fill:color-mix(in srgb, var(--accent) 35%, var(--tile))}.minimap rect.c.here{fill:var(--accent);stroke:var(--accent)}.minimap-caption{color:var(--muted);font-size:12px;font-family:var(--font-ja)}.minimap-caption b{color:var(--fg);font-weight:600}.quiz-bar{background:var(--surface);border-bottom:1px solid var(--grid);gap:6px;padding:10px 12px;display:grid}.quiz-bar .q-progress,.flash .q-progress{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;justify-content:space-between;gap:12px;font-size:11px;display:flex}.quiz-bar .q-prompt{font-family:var(--font-ja-head);font-size:19px;font-weight:700;line-height:1.3}.quiz-bar .q-sub{color:var(--muted);font-size:12px}.quiz-bar .q-feedback{font-size:13px;font-weight:600}.quiz-bar .q-feedback.ok{color:var(--ok)}.quiz-bar .q-feedback.bad{color:var(--bad)}.quiz-panel{gap:12px;padding:12px 16px 16px;display:grid}.quiz-panel h2{font-size:18px;font-family:var(--font-head);margin:0}.quiz-mode-list{gap:8px;display:grid}.quiz-mode{text-align:left;background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.quiz-mode b{font-size:15px}.quiz-mode span{color:var(--muted);font-size:12px}.quiz-mode.core{border-color:var(--accent)}.choices{gap:8px;display:grid}.choice{text-align:left;background:var(--surface);border:1px solid var(--grid);border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.35}.choice .en{font-family:var(--font-word);font-weight:600}.choice.right{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 15%, var(--surface))}.choice.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 15%, var(--surface))}.choice:disabled{cursor:default}.quiz-result{gap:10px;display:grid}.quiz-result .score{font-family:var(--font-head);font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:1}.quiz-result .score small{color:var(--muted);font-size:16px;font-family:var(--font-ui);font-weight:400}.result-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.result-list li{font-family:var(--font-word);border:1px solid var(--grid);border-radius:6px;padding:3px 8px;font-size:13px}.result-list li.ok{border-color:var(--ok);color:var(--ok)}.result-list li.bad{border-color:var(--bad);color:var(--bad)}.blank{border-bottom:2px solid var(--accent);text-align:center;min-width:3.5em;color:var(--accent);font-weight:700;display:inline-block}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);z-index:40;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100% - 32px);padding:8px 14px;font-size:13px;animation:.2s fade;position:fixed;overflow:hidden;transform:translate(-50%)}.empty-state{color:var(--muted);pointer-events:none;text-align:center;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.nb-wrap{gap:4px;margin-top:6px;display:grid}.nb-xaxis{color:var(--muted);font-size:11px;font-weight:600;font-family:var(--font-ja);justify-content:space-between;padding-left:58px;display:flex}.nb-body{grid-template-columns:54px 1fr;gap:4px;display:grid}.nb-yaxis{grid-template-rows:repeat(3,1fr);gap:6px;display:grid}.nb-yaxis span{color:var(--muted);font-size:10px;font-family:var(--font-ja);overflow-wrap:anywhere;align-items:center;padding-right:4px;line-height:1.2;display:flex}.nb-yaxis span.here{color:var(--fg);font-weight:600}.nb-grid{aspect-ratio:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:6px;max-width:320px;display:grid}.nb-cell{background:var(--tile);border:1px solid var(--tile-edge);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:4px;display:flex;overflow:hidden}.nb-cell .w{font-family:var(--font-word);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.1}.nb-cell .j{font-family:var(--font-ja);color:var(--muted);font-size:10px;line-height:1.2}.nb-cell.empty{border:1px dashed var(--grid);background:0 0}.nb-cell.outside{background:repeating-linear-gradient(45deg, transparent 0 6px, var(--grid) 6px 7px);opacity:.5;border:0}.nb-cell.target{border:2px solid var(--accent);background:var(--accent-soft)}.nb-cell.target .q{font-family:var(--font-head);color:var(--accent);font-size:32px;font-weight:600}.nb-cell.target.reveal{background:color-mix(in srgb, var(--ok) 15%, var(--tile));border-color:var(--ok)}.choices.two-col{grid-template-columns:1fr 1fr}.choices.two-col .choice{text-align:center;padding:10px 8px}.quiz-mode b small{color:var(--muted);letter-spacing:.04em;margin-left:6px;font-size:10px;font-weight:500}.settings-h{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:14px 0 2px;font-size:10px;font-weight:600}.settings-h:first-child{margin-top:4px}.settings-p{color:var(--muted);margin:0 0 6px;font-size:12px}.layout-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.layout-list li{background:var(--surface-2);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.layout-list li.off label{color:var(--faint);text-decoration:line-through}.layout-list input{accent-color:var(--accent)}.layout-list .mv{gap:2px;display:flex}.layout-list .mv .iconbtn{width:30px;height:30px;font-size:11px}.topbar.editbar{background:var(--accent-soft)}.filter-strip{background:var(--surface);border-bottom:1px solid var(--grid);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.filter-strip .lbl{color:var(--muted);margin-right:2px;font-size:11px}.filter-strip .sep{background:var(--grid);width:1px;height:20px;margin:0 2px}.lv-chip{border:1px solid var(--grid);background:var(--surface-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.lv-chip small{opacity:.8;margin-top:2px;font-size:9px;font-weight:500;line-height:1;display:block}.lv-chip.on{background:color-mix(in srgb, var(--lv,var(--accent)) 22%, var(--surface));border-color:var(--lv,var(--accent));color:var(--fg)}.lv-chip.reset{color:var(--accent)}.seg{border:1px solid var(--grid);background:var(--surface-2);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);white-space:nowrap;padding:8px 12px;font-size:13px;font-weight:500}.seg button.on{background:var(--accent);color:var(--accent-fg)}.seg button:disabled{opacity:.4}.seg small{margin-left:3px;font-size:10px}.scope-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scope-picker select{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;padding:6px 8px}.scope-picker .hint{color:var(--muted);font-size:11px}.answer-panel{background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.answer-panel.compact{background:0 0;border:0;gap:6px;padding:6px 0 0}.answer-word{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.answer-word .w{font-family:var(--font-head);font-size:26px;font-weight:600;line-height:1}.answer-word .j{font-family:var(--font-ja);color:var(--muted);font-size:14px}.sense-actions{gap:6px;display:grid}.chip small{color:var(--muted);font-size:10px}.deck-picker{background:var(--surface);border:1px dashed var(--grid);border-radius:10px;flex-wrap:wrap;gap:6px;width:100%;padding:8px;display:flex}.deck-picker .hint{color:var(--muted);width:100%;margin:0;font-size:12px}.deck-new{gap:6px;width:100%;display:flex}.deck-new input{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;flex:1;min-width:0;padding:7px 10px}.flash{gap:10px;display:grid}.flash-card{background:var(--tile);border:1px solid var(--tile-edge);width:100%;min-height:220px;box-shadow:var(--shadow);text-align:center;border-radius:16px;justify-content:center;align-items:center;padding:18px;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex}.flash-card.back{background:var(--surface-2)}.flash-card .face{justify-items:center;gap:6px;display:grid}.flash-card .w{font-family:var(--font-head);overflow-wrap:anywhere;font-size:34px;font-weight:600;line-height:1.1}.flash-card .front .w{font-size:38px}.flash-card .j{font-family:var(--font-ja);font-size:16px}.flash-card .e{color:var(--muted);font-size:13px}.flash-card .p{font-family:var(--font-word);color:var(--accent);font-size:14px;font-weight:600}.flash-card .ex{margin-top:4px;font-size:14px}.flash-card .tap{color:var(--faint);margin-top:10px;font-size:11px}.flash-grade{grid-template-columns:auto 1fr 1fr auto;gap:8px;display:grid}.btn.grade.ok.on{background:color-mix(in srgb, var(--ok) 20%, var(--surface));border-color:var(--ok);color:var(--ok)}.btn.grade.bad.on{background:color-mix(in srgb, var(--bad) 20%, var(--surface));border-color:var(--bad);color:var(--bad)}.quiz-mode.review{border-style:dashed}.quiz-mode:disabled{opacity:.5}.word-list{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.word-list li{align-items:center;gap:4px;display:flex}.word-list .w{background:var(--surface-2);text-align:left;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.word-list .lemma{font-family:var(--font-word);font-size:15px;font-weight:600}.word-list .short{font-family:var(--font-ja);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mark-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.mark-dot.learning{background:var(--mark-learning)}.mark-dot.known{background:var(--mark-known)}.word-form{background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;gap:8px;margin-top:10px;padding:12px;display:grid}.word-form label{color:var(--muted);gap:3px;font-size:12px;display:grid}.word-form input,.word-form select{background:var(--surface);border:1px solid var(--grid);color:var(--fg);border-radius:8px;padding:8px 10px;font-size:14px}.sortable{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sortable li{background:var(--surface-2);border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:6px 8px;display:grid;position:relative}.sortable li.dragging{z-index:3;box-shadow:var(--shadow);background:var(--surface);border:1px solid var(--accent)}.sortable .handle{cursor:grab;touch-action:none;color:var(--faint);letter-spacing:-2px;-webkit-user-select:none;user-select:none;border-radius:6px;padding:4px 6px;font-size:14px}.sortable .handle:active{cursor:grabbing;background:var(--accent-soft);color:var(--accent)}.sortable label.off{color:var(--faint);text-decoration:line-through}.sortable input{accent-color:var(--accent)}table.stats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.stats th{text-align:left;color:var(--faint);letter-spacing:.06em;border-bottom:1px solid var(--grid);padding:4px 6px;font-size:10px;font-weight:600}table.stats td{border-bottom:1px solid var(--grid);padding:5px 6px}.cell.ext{border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--grid));background:color-mix(in srgb, var(--accent) 6%, transparent);color:color-mix(in srgb, var(--accent) 60%, var(--grid));cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:28px;display:flex}.cell.ext.over{background:color-mix(in srgb, var(--accent) 18%, transparent)}.cell.ghost .tile{opacity:.28;box-shadow:none}.cell.ghost .tile:hover{opacity:.6}.tile.quiz-focus{box-shadow:0 0 0 4px var(--accent), 0 0 0 9px color-mix(in srgb, var(--accent) 25%, transparent);border-color:var(--accent)}.scrim.light{background:#0a0e141f}.sheet.compact{max-height:62%}.sheet.compact .flash-card{min-height:150px;padding:12px}.sheet.compact .flash-card .front .w{font-size:30px}.sheet.compact .flash-card .w{font-size:26px}.wl-group h3{letter-spacing:.06em;color:var(--muted);border-left:3px solid var(--accent);margin:10px 0 4px;padding-left:6px;font-size:11px;font-weight:600}.wl-group ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.wl-group li .w{background:var(--surface-2);text-align:left;border-radius:8px;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.wl-group li.dim .w{opacity:.4}.wl-group .lemma{font-family:var(--font-word);font-size:15px;font-weight:600}.wl-group .short{font-family:var(--font-ja);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.wl-group .lv{background:color-mix(in srgb, var(--lv) 22%, var(--surface));color:var(--fg);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.wl-group .fav{color:var(--mark-learning);font-size:12px}.guide{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide li{grid-template-columns:32px 1fr;align-items:start;gap:10px;display:grid}.guide .n{background:var(--accent);width:32px;height:32px;color:var(--accent-fg);font-family:var(--font-head);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.guide b{font-size:15px}.guide p{color:var(--muted);font-size:13px;font-family:var(--font-ja);margin:2px 0 6px}.word-form textarea{background:var(--surface);border:1px solid var(--grid);color:var(--fg);font-size:14px;font-family:var(--font-ja);resize:vertical;border-radius:8px;padding:8px 10px}.word-form .hint{color:var(--faint);font-size:11px}.icon-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.icon-tools .tool{border:1px solid var(--grid);background:var(--surface-2);width:40px;height:36px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-tools .tool svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .15s}.icon-tools .tool:active svg{transform:scale(1.2)}.icon-tools .tool.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.icon-tools .tool.on.fav{color:#d9930d;background:color-mix(in srgb, #f0b429 20%, var(--surface));border-color:#d9930d}.icon-tools .tool.on.review{color:var(--bad);border-color:var(--bad);background:color-mix(in srgb, var(--bad) 14%, var(--surface))}.icon-tools .tool.open{box-shadow:0 0 0 2px var(--accent-soft)}.icon-tools .tool .cnt{background:var(--accent);min-width:16px;height:16px;color:var(--accent-fg);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.mark-seg{border:1px solid var(--grid);background:var(--surface-2);border-radius:10px;height:36px;display:inline-flex;overflow:hidden}.mark-seg button{color:var(--muted);align-items:center;gap:3px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.mark-seg button svg{stroke:currentColor;fill:none;stroke-width:2.2px;width:13px;height:13px}.mark-seg button.on{background:var(--fg);color:var(--bg)}.mark-seg button.learning.on{background:var(--mark-learning);color:#3a2600}.mark-seg button.known.on{background:var(--mark-known);color:#fff}.deck-picker .pk-title{letter-spacing:.06em;width:100%;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.deck-picker .pk-title svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:14px;height:14px}.minimap g.c rect{fill:var(--tile);stroke:var(--grid);stroke-width:1px}.minimap g.c{cursor:pointer}.minimap g.c.empty rect{fill:#0000;stroke-dasharray:2 2}.minimap g.c.empty{cursor:default}.minimap g.c.near rect{fill:color-mix(in srgb, var(--accent) 30%, var(--tile))}.minimap g.c.here rect{fill:var(--accent);stroke:var(--accent)}.minimap text{font-family:var(--font-word);fill:var(--fg);pointer-events:none}.minimap text.ini{font-weight:700}.minimap text.sec{fill:var(--muted)}.minimap g.c.here text{fill:var(--accent-fg)}.card-body.editing{gap:8px}.card-body.editing .edit-hint{color:var(--muted);margin:0;font-size:12px}.sec-wrap{border:1px dashed var(--grid);background:var(--surface);border-radius:10px;padding:6px 8px 8px;position:relative}.sec-wrap.off{opacity:.45}.sec-wrap.dragging{z-index:3;border:1px solid var(--accent);box-shadow:var(--shadow);opacity:1}.sec-bar{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sec-bar .handle{cursor:grab;touch-action:none;color:var(--accent);letter-spacing:-2px;background:var(--accent-soft);-webkit-user-select:none;user-select:none;border-radius:6px;padding:6px 8px;font-size:16px}.sec-bar .sec-name{letter-spacing:.06em;color:var(--muted);flex:1;font-size:11px;font-weight:600}.sec-content{pointer-events:none}.sec-content h3{display:none}.menu-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.menu-item{background:var(--surface-2);text-align:left;border-radius:12px;grid-template-columns:40px 1fr;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.menu-item:disabled{opacity:.45}.menu-item .ic{background:var(--surface);border:1px solid var(--grid);width:36px;height:36px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.menu-item .ic svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.menu-item .tx{gap:1px;display:grid}.menu-item b{font-size:15px}.menu-item small{color:var(--muted);font-size:11px}.menu-arrange{gap:6px;margin-bottom:12px;display:grid}.menu-arrange .lbl{letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.menu-arrange .hint{color:var(--faint);font-size:11px}.seg.wrap{flex-wrap:wrap;display:flex}.seg.wrap button{flex:1}.field-group{margin-bottom:8px}.field-group h3.settings-h small{margin-left:4px;font-weight:500}.field-cards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.field-cards li{align-items:stretch;gap:6px;display:flex}.field-cards .edit{flex:none;align-self:center}.field-card{background:var(--surface-2);border:1px solid var(--grid);text-align:left;border-radius:14px;flex:1;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:grid}.field-card.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.field-card .preview{border-radius:4px;display:block}.field-card .preview .bg{fill:var(--board)}.field-card .preview .t{fill:var(--tile-edge)}.field-card .preview .t.learning{fill:var(--mark-learning)}.field-card .preview .t.known{fill:var(--mark-known)}.field-card .body{gap:3px;min-width:0;display:grid}.field-card .t{font-family:var(--font-ja-head);align-items:baseline;gap:8px;font-size:18px;font-weight:700;line-height:1.15;display:flex}.field-card .t .now{font-family:var(--font-ui);color:var(--accent);letter-spacing:.06em;font-size:10px;font-weight:600}.field-card .s{color:var(--muted);letter-spacing:.02em;font-size:11px}.field-card .axes{color:var(--muted);font-size:11px;font-family:var(--font-ja);display:grid}.field-card .axes span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.field-card .bar{background:var(--grid);border-radius:2px;height:4px;margin-top:2px;display:flex;overflow:hidden}.field-card .bar i{background:var(--mark-known);height:100%;display:block}.field-card .p{color:var(--faint);font-variant-numeric:tabular-nums;font-size:10px}.deck-modes{grid-template-columns:1fr 1fr;gap:6px;display:grid}.quiz-mode.small{padding:9px 10px}.quiz-mode.small b{font-size:14px}.quiz-mode.small span{font-size:11px}.recall-seg{border:1px solid var(--grid);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.recall-seg button{color:var(--muted);border-left:1px solid var(--grid);font-size:12px;font-weight:600;font-family:var(--font-ja);align-items:center;gap:3px;padding:8px 9px;display:inline-flex}.recall-seg button:first-child{border-left:0}.recall-seg button svg{stroke:currentColor;fill:none;stroke-width:2.2px;width:13px;height:13px}.recall-seg button.on{background:var(--rc);color:#fff;text-shadow:0 1px 1px #0003}.recall-grade{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.btn.recall{border-top:4px solid var(--rc);text-align:center;font-family:var(--font-ja);gap:1px;padding:8px 4px;display:grid}.btn.recall b{font-size:12px;font-weight:600;line-height:1.2}.btn.recall small{color:var(--muted);font-size:10px}.btn.recall.on{background:color-mix(in srgb, var(--rc) 22%, var(--surface));border-color:var(--rc)}.flash-nav{grid-template-columns:auto 1fr;gap:8px;display:grid}.recall-settings{gap:6px;display:grid}.recall-row{grid-template-columns:12px 1fr 72px auto;align-items:center;gap:8px;display:grid}.recall-row i{background:var(--rc);border-radius:50%;width:12px;height:12px}.recall-row input{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;min-width:0;padding:6px 8px}.recall-row span{color:var(--muted);font-size:12px}.group-tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.group-tabs .chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.group-tabs .chip svg{stroke:currentColor;fill:none;stroke-width:2px}.field-tools{grid-template-columns:1fr auto auto;align-items:center;gap:6px;margin-bottom:8px;display:grid}.field-tools .search{background:var(--surface-2);border:1px solid var(--grid);border-radius:10px;min-width:0;padding:8px 10px}.field-tools select{background:var(--surface-2);border:1px solid var(--grid);border-radius:10px;padding:8px 6px;font-size:12px}.field-tools .seg button{padding:6px 8px}.tag-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.field-cards.grid{grid-template-columns:1fr 1fr}.field-cards.grid li{flex-direction:column}.field-cards.grid .edit{z-index:1;align-self:flex-end;margin-top:-36px;position:relative}.field-card.compact{text-align:center;grid-template-columns:1fr;justify-items:center;padding:12px 10px}.field-card.compact .body{justify-items:center;width:100%}.field-card.compact .t{justify-content:center;font-size:15px}.field-card.compact .s{white-space:normal;text-align:center}.field-card .tags{color:var(--accent);font-size:11px}.field-card .desc{color:var(--muted);font-size:11px;font-family:var(--font-ja)}.field-pick{flex-wrap:wrap;gap:6px;width:100%;display:flex}.field-pick .hint{width:100%}.tpl-fields li{grid-template-columns:auto 1fr}.img-input{gap:6px;display:grid}.img-input img{border:1px solid var(--grid);border-radius:8px;max-width:200px}.tpl-values{gap:10px;display:grid}.tpl-field img{border:1px solid var(--grid);border-radius:10px;max-width:100%}.tpl-field p{margin:0}.field-actions{background:var(--surface);border-bottom:1px solid var(--grid);scrollbar-width:none;gap:6px;padding:6px 12px;display:flex;overflow-x:auto}.field-actions::-webkit-scrollbar{display:none}.field-actions .act{border:1px solid var(--grid);background:var(--surface-2);color:var(--fg);font-size:12px;font-weight:700;font-family:var(--font-ja);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 10px;display:inline-flex}.field-actions .act:disabled{opacity:.4}.field-actions .act svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.field-actions .act.sel{padding:2px 6px 2px 10px}.field-actions .act.sel select{color:var(--accent);background:0 0;border:0;padding:4px 2px;font-size:12px;font-weight:700}.preview-box{flex:none;justify-content:center;align-items:center;width:92px;height:64px;display:flex}.field-card.compact .preview-box{width:124px;height:74px}.field-card{grid-template-columns:92px 1fr}.field-card.compact{grid-template-columns:1fr}.tpl-legend{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.tpl-legend span{align-items:center;gap:3px;display:inline-flex}.tpl-legend svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:2px}.tpl-fields li{background:var(--surface);border:1px solid var(--grid);grid-template-columns:auto 1fr;align-items:start;padding:8px}.tpl-row{grid-template-columns:auto 1fr;align-items:center;gap:6px;display:grid}.tpl-row .opts,.tpl-row .roles{grid-column:1/-1}.tpl-row .kinds{border:1px solid var(--grid);background:var(--surface-2);border-radius:8px;width:max-content;display:inline-flex;overflow:hidden}.tpl-row .kinds button{width:34px;height:30px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.tpl-row .kinds button svg{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.tpl-row .kinds button.on{background:var(--accent);color:var(--accent-fg)}.tpl-row input.label,.tpl-row input.opts{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;width:100%;min-width:0;padding:7px 9px;font-size:14px}.tpl-row input.label{font-weight:700}.tpl-row .roles{flex-wrap:wrap;gap:4px;display:flex}.tpl-row .role{border:1px solid var(--grid);background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:3px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.tpl-row .role svg{stroke:currentColor;fill:none;stroke-width:2px;width:13px;height:13px}.tpl-row .role.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tpl-row .role.del{color:var(--bad);margin-left:auto}.tpl-row .role input{accent-color:var(--accent);margin:0}@media (min-width:900px){.sheet,.sheet.compact{border-left:1px solid var(--grid);border-radius:0;width:480px;max-height:none;animation:.22s cubic-bezier(.2,.7,.2,1) slidein;top:0;bottom:0;left:auto;right:0}@keyframes slidein{0%{opacity:0;transform:translate(40px)}}.scrim,.scrim.light{background:#0a0e1414}.card-layer{justify-content:flex-end;align-items:stretch;padding:0}.card-layer .scrim-soft{background:#0a0e140f}.card{border-left:1px solid var(--grid);transform-origin:100%;border-radius:0;width:480px;max-height:none;animation:.25s cubic-bezier(.2,.7,.2,1) slidein}.card.closing{animation:.2s ease-in forwards slideout}@keyframes slideout{to{opacity:0;transform:translate(40px)}}.topbar{padding:8px 20px 6px}.iconbtn.text-btn span{font-size:13px}.field-actions{padding:6px 20px}.xaxis{padding-right:20px}.toast{bottom:24px}}.level-bar{background:var(--grid);border-radius:3px;width:100%;max-width:160px;height:5px;display:flex;overflow:hidden}.level-bar i{height:100%;display:block}.field-card .lv{align-items:center;gap:6px;margin-top:3px;display:flex}.field-card .lv small{color:var(--muted);white-space:nowrap;font-size:10px}.field-card.compact .lv small{display:none}.tag-row .lbl{color:var(--muted);align-self:center;margin-right:2px;font-size:11px}.select-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 8px;font-size:12px;display:flex}.select-bar b{color:var(--fg)}.field-card .check{border:1.5px solid var(--tile-edge);background:var(--surface);color:#fff;z-index:1;border-radius:6px;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:8px;left:8px}.field-card .check.on{background:var(--accent);border-color:var(--accent)}.field-card.checked{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.field-card{position:relative}.scope-list{gap:6px;width:100%;display:grid}.scope-list .field-cards{max-height:46vh;padding-right:2px;overflow:auto}.deck-list .field-item{grid-template-columns:1fr auto}.deck-list .field-item .level-bar{grid-column:1/-1;margin:4px 0 2px}.deck-list .field-item .tags{color:var(--accent);grid-column:1/-1;font-size:11px}.deck-list .field-item .t .now{color:var(--accent);margin-left:6px;font-size:10px;font-weight:500}.deck-list .field-item .t{grid-area:1/1}.deck-list .field-item .p{grid-area:1/2}.deck-list .field-item .s{grid-column:1/-1}.act.auto{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.act.auto small{opacity:.85;font-variant-numeric:tabular-nums;margin-left:2px;font-size:10px}.auto-card{grid-template-columns:1fr auto;align-items:start;gap:8px;display:grid}.auto-main{text-align:left;border-radius:var(--radius);border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));width:100%;color:var(--fg);font:inherit;cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.auto-main .icon{background:var(--accent);width:44px;height:44px;color:var(--accent-fg);border-radius:50%;place-items:center;display:grid}.auto-main .icon svg{fill:currentColor;stroke:none;width:22px;height:22px}.auto-main .body{gap:2px;display:grid}.auto-main .body>b{font-family:var(--font-ja-head);font-size:18px}.auto-main .sub{font-size:13px}.auto-main .desc{color:var(--muted);font-size:11px}.auto-grid{flex-wrap:wrap;gap:8px 16px;margin:4px 0 8px;display:flex}.auto-row{align-items:center;gap:6px;font-size:13px;display:inline-flex}.auto-row input{background:var(--surface-2);border:1px solid var(--grid);width:64px;font:inherit;border-radius:8px;padding:6px 8px}.auto-row .unit{color:var(--muted);font-size:12px}.seg.wrap{flex-wrap:wrap;margin-bottom:8px}.auto-select{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;max-width:100%;margin-bottom:8px;padding:6px 8px}.settings-h4{color:var(--muted);margin:14px 0 4px;font-size:13px}.preset-list li{gap:4px;display:grid}.preset-list .field-item .level-bar{grid-column:1/-1;margin:4px 0 2px}.preset-list .field-item .s{grid-column:1/-1}.preset-list .field-item .t{grid-area:1/1}.preset-list .field-item .p{grid-area:1/2}.preset-list .field-item .t .now{color:var(--accent);margin-left:6px;font-size:10px;font-weight:500}.preset-list .field-item .t input{font:inherit;background:var(--surface-2);border:1px solid var(--grid);border-radius:6px;max-width:220px;padding:2px 6px}.preset-tools{justify-content:flex-end;gap:6px;display:flex}.app{grid-template-columns:minmax(0,1fr)}.btn>svg{stroke:currentColor;fill:none;stroke-width:2px;flex:none;width:15px;height:15px}.btn.small{border-radius:8px;padding:5px 10px;font-size:12px}.linkbtn{color:var(--accent);font-size:inherit;padding:0;text-decoration:underline}.origin-badge{color:var(--accent);background:var(--accent-soft);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;justify-self:start;max-width:100%;padding:1px 8px;font-size:10px;font-weight:600;overflow:hidden}.field-card.compact .origin-badge{justify-self:center}.field-sub .origin-sub{text-transform:none;letter-spacing:0;color:var(--accent);font-weight:600}.field-card .t .upd{font-family:var(--font-ui);color:var(--accent-fg);background:var(--warn);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.store-tabs{width:100%;margin-bottom:10px;display:flex}.store-tabs button{flex:1;position:relative}.store-tabs .dot{background:var(--warn);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:8px}.store-tools{grid-template-columns:1fr auto}.lv-chip.count small{opacity:.65;margin:0 0 0 3px;font-size:10px;display:inline}.store-count{color:var(--muted);align-items:center;gap:6px;margin:2px 0 6px;font-size:12px;display:flex}.spin{border:2px solid var(--grid);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.listing-card .author{color:var(--fg);align-items:center;gap:4px;font-weight:600;display:inline-flex}.official-badge{color:#fff;background:var(--focus);letter-spacing:.04em;border-radius:4px;padding:0 4px;font-size:9px;font-weight:700;line-height:1.5}.store-meta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin-top:2px;font-size:11px;display:flex}.store-meta span{align-items:center;gap:3px;display:inline-flex}.store-meta svg,.store-foot svg{stroke:currentColor;fill:none;stroke-width:2px;vertical-align:-2px;width:12px;height:12px}.price{color:var(--ok);font-size:12px;font-weight:700}.price.paid{color:var(--accent)}.price.big{font-size:20px;font-family:var(--font-ui)}.store-foot{margin-top:12px;font-size:11px}.field-cards li.with-actions{flex-wrap:wrap;gap:0}.field-cards li.with-actions>.field-card{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.field-cards li.with-actions>.edit{margin-left:6px}.store-actions{background:var(--surface);border:1px solid var(--grid);border-top:0;border-radius:0 0 14px 14px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;margin-top:-1px;padding:6px 8px;display:flex}.store-actions .stat{color:var(--muted);font-variant-numeric:tabular-nums;flex:100%;font-size:11px}.store-back{color:var(--accent);padding:4px 0 8px;font-size:13px;font-weight:600}.store-title{font-family:var(--font-ja-head);margin:0;font-size:22px;line-height:1.25}.store-byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 10px;font-size:12px;display:flex}.store-byline .author{color:var(--fg);align-items:center;gap:4px;font-weight:600;display:inline-flex}.store-buy{background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.store-buy .price{margin-right:auto}.btn.like{color:var(--muted);font-variant-numeric:tabular-nums}.btn.like.on{color:#db2777;border-color:#db2777}.store-have{color:var(--accent);margin:6px 2px 0;font-size:12px}.store-preview{background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;justify-content:center;margin:12px 0 8px;padding:10px;display:flex;overflow-x:auto}.store-preview .preview,.publish-preview .preview{max-width:none;display:block}.store-preview .bg,.publish-preview .bg{fill:var(--board)}.store-preview .t,.publish-preview .t{fill:var(--tile-edge)}.store-preview .lbl{fill:#fff;font-weight:700;font-family:var(--font-ja);pointer-events:none}.store-desc{font-size:13px;line-height:1.7;font-family:var(--font-ja);margin:8px 0}.store-facts{grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;font-size:12px;display:grid}.store-facts dt{color:var(--muted);white-space:nowrap}.store-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.store-facts dd.tags{color:var(--accent)}.store-facts .lvrow{align-items:center;gap:8px;display:flex}.store-words{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 10px;margin:0;padding:0;list-style:none;display:grid}.store-words li{border-bottom:1px dashed var(--grid);align-items:baseline;gap:6px;min-width:0;padding:3px 0;font-size:13px;display:flex}.store-words b{font-family:var(--font-word);white-space:nowrap}.store-words span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.store-detail .hint{color:var(--muted);margin:4px 0 0;font-size:11px}.store-notice{color:var(--muted);background:var(--surface-2);border-left:3px solid var(--accent);border-radius:10px;margin:14px 0 4px;padding:8px 10px;font-size:12px;line-height:1.6}.publish-check{border:1px solid var(--grid);background:var(--surface-2);border-radius:12px;margin-bottom:10px;padding:10px 12px;font-size:13px}.publish-check.ok{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, var(--surface))}.publish-check.ng{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 7%, var(--surface))}.publish-check.ng b{color:var(--bad)}.publish-check ul{margin:6px 0 0;padding-left:18px;line-height:1.6}.publish-preview{border:1px solid var(--grid);border-radius:12px;grid-template-columns:128px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}.publish-preview .preview-box{justify-content:center;align-items:center;width:128px;height:84px;display:flex}.publish-preview .tx{gap:3px;min-width:0;display:grid}.publish-preview .tx b{font-family:var(--font-ja-head);font-size:16px}.publish-preview .tx small{color:var(--muted);font-size:11px}.publish-price{align-items:center;gap:10px;font-size:13px;display:flex}.publish-price .lbl{color:var(--muted);font-size:12px}@media (max-width:380px){.publish-preview{grid-template-columns:1fr}}.scope-picker .lbl{color:var(--muted);font-size:12px;font-weight:600}.preset-list .field-item .s.dates{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 12px;display:flex}.preset-fields{background:var(--surface);border:1px dashed var(--grid);border-radius:10px;gap:2px;margin:0;padding:6px 10px;font-size:13px;list-style:none;display:grid}.preset-fields li{justify-content:space-between;gap:8px;padding:3px 0;display:flex}.preset-fields li .t{font-family:var(--font-ja)}.preset-fields li small{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.preset-fields li.missing{color:var(--faint);font-size:11px}.icon-tools .tool.on.hidden{color:var(--muted)}.badge.hidden{color:var(--muted);border-style:dashed}.hidden-badge{border:1px dashed var(--grid);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px}.search-box{background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:flex}.search-box>svg{fill:none;width:18px;height:18px;stroke:var(--muted);stroke-width:2px;flex:none}.search-box input{min-width:0;font:inherit;color:var(--fg);background:0 0;border:0;outline:none;flex:1;padding:6px 0;font-size:16px}.search-meta{color:var(--muted);margin:8px 0 6px;font-size:11px}.search-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.search-list li.dim .w{opacity:.5}.search-list .w{background:var(--surface-2);text-align:left;border-radius:10px;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;width:100%;padding:8px 10px;display:grid}.search-list .lemma{font-family:var(--font-word);font-size:16px;font-weight:600}.search-list .short{font-family:var(--font-ja);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.search-list .meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:4px 8px;font-size:11px;display:flex}.search-list .lv{background:color-mix(in srgb, var(--lv) 22%, var(--surface));color:var(--fg);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.search-list .tag{border:1px dashed var(--grid);border-radius:999px;padding:1px 6px;font-size:10px}.search-list .f{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheet.tall{height:70%}@media (min-width:900px){.sheet.tall{height:auto}}.field-kind{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-kind .kind{text-align:left;border:1px solid var(--grid);background:var(--surface-2);color:var(--fg);cursor:pointer;font:inherit;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.field-kind .kind b{font-size:14px;font-family:var(--font-ja)}.field-kind .kind small{color:var(--muted);font-size:11px;line-height:1.4}.field-kind .kind.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.field-kind .kind.on b{color:var(--accent)}@media (max-width:380px){.field-kind{grid-template-columns:1fr}}.store-browse{flex-direction:column;min-height:min(60vh,560px);display:flex}.store-browse .store-foot{margin-top:auto;padding-top:12px}.store-search{grid-template-columns:1fr auto;align-items:center;gap:6px;margin-bottom:8px;display:grid}.store-search .search{background:var(--surface-2);border:1px solid var(--grid);border-radius:10px;min-width:0;padding:8px 10px}.store-search .store-clear{border:1px solid var(--grid);background:var(--surface-2);width:34px;height:34px}.store-search .store-clear svg{stroke:currentColor;fill:none;stroke-width:2px;width:16px;height:16px}.store-tags{align-items:center}.store-tags .hint{color:var(--faint);font-size:11px}.listing-card .author.link{text-decoration:underline;-webkit-text-decoration-color:var(--grid);text-decoration-color:var(--grid);text-underline-offset:2px;cursor:pointer}.listing-card .author.link:hover{color:var(--accent);text-decoration-color:currentColor}.store-byline .author.link{font-size:inherit;color:var(--accent);text-underline-offset:2px;padding:0;font-weight:600;text-decoration:underline}.store-home{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:4px;display:grid}.store-section{min-width:0}.store-section header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.store-section h4{font-family:var(--font-ja-head);margin:0;font-size:15px;font-weight:700}.store-section header .linkbtn{white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.store-section header .linkbtn small{opacity:.7;margin-right:2px;font-weight:500}.store-rail{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:8px;margin:0 -16px;padding:2px 16px 6px;scroll-padding-left:16px;list-style:none;display:flex;overflow:auto hidden}.store-rail>li{scroll-snap-align:start;flex:none;width:186px;display:flex}.store-rail .listing-card.compact{align-content:start;width:100%;padding:10px 10px 8px}.store-rail .listing-card.compact .preview-box{width:124px;height:70px}.store-rail .listing-card.compact .t{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;display:block;overflow:hidden}.store-rail .listing-card.compact .t .now{margin-top:2px;display:block}.store-rail .listing-card.compact .s,.store-rail .listing-card.compact .tags{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.store-rail .listing-card.compact .lv{width:100%}.store-rail .listing-card.compact .store-meta{justify-content:center}.creator-card{background:var(--surface-2);border:1px solid var(--grid);text-align:center;border-radius:14px;justify-items:center;gap:3px;width:100%;padding:10px 8px;display:grid}.creator-card .avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);font-family:var(--font-ja-head);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;font-size:16px;font-weight:700;display:inline-flex}.creator-card b{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;max-width:100%;font-size:13px;display:inline-flex;overflow:hidden}.creator-card small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.store-rail>li:has(.creator-card){width:124px}.creator-list{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.store-list-head{justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;display:flex}.store-list-head .crumbs{font-family:var(--font-ja-head);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin:0;font-size:15px;font-weight:700;display:flex}.store-list-head .crumbs .author{align-items:center;gap:4px;display:inline-flex}.store-list-head .crumb{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:2px 6px 2px 10px;font-size:13px;font-weight:600;display:inline-flex}.store-list-head .crumb .x{width:20px;height:20px;color:var(--accent);border-radius:50%;font-size:14px;line-height:1}.store-list-head .crumb .x:hover{background:var(--surface)}.filter-btn{flex:none;align-items:center;gap:4px;display:inline-flex}.filter-btn small{margin:0;font-size:10px;display:inline}.store-filters{border:1px solid var(--grid);background:var(--surface);border-radius:12px;margin-bottom:8px;padding:8px 10px 4px}.store-filters .linkbtn{margin-bottom:6px;font-size:12px}@media (max-width:380px){.creator-list{grid-template-columns:repeat(2,1fr)}}.topbar.editbar .btn.flip{white-space:nowrap;align-items:center;gap:4px;padding:6px 9px;font-size:12px;display:inline-flex}.topbar.editbar .btn.flip>svg{width:16px;height:16px}@media (max-width:520px){.topbar.editbar .btn.flip>span{display:none}.topbar.editbar .btn.flip{padding:6px 8px}}.quiz-return{background:var(--accent);color:var(--accent-fg);font-size:13px;font-weight:700;font-family:var(--font-ja);box-shadow:var(--shadow);z-index:6;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:9px 16px 9px 18px;animation:.25s cubic-bezier(.2,.7,.2,1) rise;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.quiz-return>svg{stroke:currentColor;fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.quiz-return small{opacity:.85;font-variant-numeric:tabular-nums;border-left:1px solid color-mix(in srgb, var(--accent-fg) 40%, transparent);padding-left:6px;font-size:11px;font-weight:600}.quiz-return:active{filter:brightness(.92)}.wlink-pop{z-index:45;background:var(--surface);color:var(--fg);border:1px solid var(--grid);box-shadow:var(--shadow);border-radius:10px;padding:4px;animation:.15s fade;position:fixed;transform:translate(-50%)}.wlink-pop.up{transform:translate(-50%,-100%)}.wlink-pop-head{color:var(--muted);font-size:11px;font-family:var(--font-ja);padding:4px 8px 2px}.wlink-pop button[role=menuitem]{text-align:left;width:100%;font:inherit;color:inherit;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;padding:7px 8px;display:grid}.wlink-pop button[role=menuitem]+button[role=menuitem]{border-top:1px solid var(--grid);border-radius:0 0 7px 7px}.wlink-pop button[role=menuitem]:hover,.wlink-pop button[role=menuitem]:active{background:var(--accent-soft)}.wlink-pop button[role=menuitem] b{font-family:var(--font-word);font-size:14px;font-weight:600}.wlink-pop button[role=menuitem] .sh{font-family:var(--font-ja);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.wlink-pop button[role=menuitem] small{color:var(--muted);font-size:11px;font-family:var(--font-ja);grid-column:1/-1}.app:has(.quiz-return) .toast{bottom:calc(128px + env(safe-area-inset-bottom,0px))}.author .dn+.un,.store-byline .author .dn+.un{color:var(--muted);font-size:.92em;font-weight:500}.creator-card small.un{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:-3px;overflow:hidden}.register-block{margin-bottom:12px}.register-block .publish-check p{color:var(--fg);margin:6px 0 0;font-weight:400;line-height:1.6}.register-form{margin-top:8px}.register-form .at-input{border:1px solid var(--grid);background:var(--surface);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;display:grid;overflow:hidden}.register-form .at-input .at{color:var(--muted);font-size:15px;font-weight:700;font-family:var(--font-ui);padding:0 4px 0 10px}.register-form .at-input input{min-width:0;font-family:var(--font-ui);background:0 0;border:0;border-radius:0;padding-left:2px}.register-form .at-input:focus-within{border-color:var(--accent)}.register-form .hint.bad{color:var(--bad)}.register-form .check-row{color:var(--fg);grid-template-columns:auto 1fr;align-items:start;gap:8px;font-size:13px;display:grid}.register-form .check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:1px 0 0}.register-form .check-row .linkbtn{font-size:13px}.register-form .btn-row{margin-top:2px}.publish-author{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.publish-author .lbl{color:var(--muted);font-size:12px}.publish-author .author{align-items:center;gap:4px;font-weight:600;display:inline-flex}.publish-author .linkbtn{font-size:12px}.creator-handle{font-family:var(--font-ui);font-size:14px}.guide.terms li p{margin-bottom:0}.settings-p .author{align-items:center;gap:4px;font-weight:600;display:inline-flex}.app{grid-template-rows:minmax(0,1fr) auto}.app.has-nav{--nav-h:calc(59px + env(safe-area-inset-bottom,0px));padding-bottom:0}.views{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}.map-view{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.map-view.off{visibility:hidden}.page-view{overscroll-behavior:contain;background:var(--bg);position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.bnav{z-index:35;background:var(--surface);border-top:1px solid var(--grid);padding-bottom:env(safe-area-inset-bottom,0px);position:relative}.bnav-row{max-width:640px;height:58px;margin:0 auto;display:flex}.bnav-tab{min-width:0;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.bnav-tab .ic{border-radius:15px;place-items:center;width:52px;height:30px;transition:background .15s;display:grid;position:relative}.bnav-tab svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bnav-tab .lb{font-size:11px;font-weight:600;font-family:var(--font-ja);letter-spacing:.02em;white-space:nowrap;line-height:1.2}.bnav-tab.on{color:var(--accent)}.bnav-tab.on .ic{background:var(--accent-soft)}.bnav-tab.on svg{stroke-width:2.1px}.bnav-tab:not(.on):hover .ic,.bnav-tab:not(.on):active .ic{background:var(--surface-2)}.bnav-badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-fg);text-align:center;box-shadow:0 0 0 2px var(--surface);font-variant-numeric:tabular-nums;border-radius:9px;padding:0 5px;font-size:10px;font-style:normal;font-weight:700;line-height:18px;position:absolute;top:-4px;right:2px}.bnav-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:2px;right:10px}.app.has-nav .sheet{bottom:var(--nav-h);padding-bottom:0}@media (max-width:899px){.app.has-nav .sheet{max-height:min(85%, calc(100% - var(--nav-h) - 40px))}}.app.has-nav .card-layer{bottom:var(--nav-h)}.app.has-nav .card{padding-bottom:0}.app.has-nav .toast{bottom:calc(var(--nav-h) + 16px)}.app.has-nav[data-view=map] .toast{bottom:calc(var(--nav-h) + 62px)}.app.has-nav[data-view=map]:has(.quiz-return) .toast{bottom:calc(var(--nav-h) + 108px)}.map-topbar .field-nav{flex:1;align-items:center;min-width:0;display:flex}.map-topbar .iconbtn.step{width:26px;color:var(--faint)}.map-topbar .iconbtn.step svg{stroke-width:2px;width:18px;height:18px}.map-topbar .iconbtn.step:not(:disabled):hover{color:var(--accent)}.map-topbar .iconbtn:disabled:hover{background:0 0}.map-topbar .field-btn{flex:0 auto;padding:2px 4px}@media (max-width:420px){.map-topbar .field-title{font-size:18px}}.page{flex-direction:column;min-height:100%;display:flex}.page-head{z-index:4;background:var(--bg);align-items:center;gap:4px;min-height:56px;padding:8px max(12px,50% - 348px) 8px max(16px,50% - 344px);display:flex;position:sticky;top:0}.page-head h1{min-width:0;font-family:var(--font-ja-head);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:22px;font-weight:700;line-height:1.2;overflow:hidden}.page-head .iconbtn{width:40px;height:40px}.page-body{width:100%;max-width:720px;margin:0 auto;padding:4px 16px 28px}.page.study-page,.page.library-page,.page.store-page{background:var(--surface)}.page.study-page .page-head,.page.library-page .page-head,.page.store-page .page-head{background:var(--surface);border-bottom:1px solid var(--grid)}.page.study-page .page-body,.page.library-page .page-body,.page.store-page .page-body{padding-top:12px}.study-page .quiz-panel>.auto-card{display:none}.study-page .page-body>.quiz-panel{padding-left:0;padding-right:0}.quiz-progress-card .settings-p{margin:10px 0 0}.study-page .auto-hero{border:1px solid var(--grid);background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-radius:16px;margin-bottom:16px;padding:14px}.home svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.home-head .brand{flex-direction:column;flex:1;min-width:0;display:flex}.home-head .brand h1{font-family:var(--font-head);letter-spacing:-.01em;font-size:25px;font-weight:600;line-height:1.1}.home-head .brand small{color:var(--muted);font-size:11px;font-family:var(--font-ja);letter-spacing:.06em}.home-card{background:var(--surface);border:1px solid var(--grid);border-radius:16px;padding:14px;box-shadow:0 1px 2px #141e280d}.home-sec{margin-top:24px}.home-sec h2{font-size:15px;font-weight:700;font-family:var(--font-ja-head);margin:0 0 10px}.sec-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.sec-head h2{margin:0}.sec-head .linkbtn{white-space:nowrap;align-items:center;gap:4px;padding:4px 0;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.sec-head .linkbtn svg{width:14px;height:14px}.home .hint{color:var(--muted);font-size:12px}.today-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px;display:grid}.today-stat{text-align:center;grid-template-rows:56px auto;place-items:center;min-width:0;display:grid}.today-stat .v{color:var(--muted);white-space:nowrap;font-size:12px}.today-stat .v b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.today-stat small{color:var(--muted);align-self:start;font-size:11px;line-height:1.35}.today-stat.streak{grid-template-rows:22px 34px auto}.today-stat.streak .ic{color:var(--faint);place-items:center;display:grid}.today-stat.streak .ic svg{width:22px;height:22px}.today-stat.streak.on .ic{color:var(--warn)}.today-stat.streak.on .ic svg{fill:color-mix(in srgb, var(--warn) 22%, transparent)}.today-stat.due.on .v b{color:var(--accent)}.goal-ring .track{fill:none;stroke:var(--grid);stroke-width:5px}.goal-ring .fill{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .4s}.goal-ring.met .fill{stroke:var(--ok)}.home .goal-ring text{fill:var(--fg);stroke:none;font-size:15px;font-weight:700;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.home-primary{background:var(--accent);width:100%;min-height:56px;color:var(--accent-fg);font-size:17px;font-weight:700;font-family:var(--font-ja);letter-spacing:.04em;box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:14px;justify-content:center;align-items:center;gap:10px;display:flex}.home-primary:active{filter:brightness(.94)}.home-primary .icon{background:color-mix(in srgb, var(--accent-fg) 22%, transparent);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.home-primary .icon svg,.study-page .home-primary .icon svg{fill:currentColor;stroke:none;width:15px;height:15px;margin-left:2px}.auto-plan{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.auto-plan b{color:var(--fg);font-variant-numeric:tabular-nums}.auto-plan .linkbtn{white-space:nowrap;font-size:12px}.cont-list{gap:8px;display:grid}.cont-card{background:var(--surface);border:1px solid var(--grid);text-align:left;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.cont-card.quiz{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.cont-card .ic{background:var(--accent);width:44px;height:44px;color:var(--accent-fg);border-radius:12px;place-items:center;display:grid}.cont-card .ic svg{width:22px;height:22px}.cont-card .thumb,.rail-card .thumb,.store-mini-card .thumb{background:var(--surface-2);border-radius:8px;place-items:center;display:grid}.cont-card .thumb{width:72px;height:52px}.cont-card .body{gap:3px;min-width:0;display:grid}.cont-card b,.store-mini-card b{font-family:var(--font-ja-head);white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.cont-card small,.store-mini-card small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.home .go{width:18px;height:18px;color:var(--faint)}.home .preview .bg{fill:var(--board);stroke:none}.home .preview .t{fill:var(--tile-edge);stroke:none}.m-bar,.lv-bar{gap:2px;min-width:0;height:6px;display:flex}.m-bar i,.lv-bar i{border-radius:3px;flex:0 auto;height:100%;display:block}.m-bar:after,.lv-bar:after{content:"";background:var(--grid);border-radius:3px;flex:1}.m-bar .k,.lv-bar .k,.legend-keys .k{background:var(--mark-known)}.m-bar .l,.lv-bar .l,.legend-keys .l{background:var(--mark-learning)}.scope-chip{background:var(--surface);border:1px solid var(--grid);border-radius:999px;align-items:center;gap:8px;max-width:100%;min-height:40px;padding:6px 14px;font-size:13px;display:inline-flex}.scope-chip .k{color:var(--muted);flex:none;font-size:12px}.scope-chip .v{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:700;overflow:hidden}.scope-chip .chev{color:var(--faint);flex:none;font-size:11px}.scope-chip.open{border-color:var(--accent)}.scope-panel{background:var(--surface);border:1px solid var(--grid);border-radius:14px;gap:10px;margin-top:8px;padding:12px;animation:.15s fade;display:grid}.chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-row .lbl{color:var(--muted);min-width:4.5em;font-size:12px;font-weight:700}.chip-row .lv-chip{min-height:34px;padding:6px 12px}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.mode-tile{background:var(--surface);border:1px solid var(--grid);text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:108px;padding:12px 10px 10px;display:flex}.mode-tile:active:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.mode-tile .glyph{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;margin-bottom:2px;display:grid}.mode-tile.on-board .glyph{background:color-mix(in srgb, var(--focus) 13%, var(--surface));color:var(--focus)}.mode-tile .glyph svg{width:20px;height:20px}.glyph-tx{font-family:var(--font-word);letter-spacing:-.02em;white-space:nowrap;font-size:12px;font-weight:700}.mode-tile b{font-size:14px;font-family:var(--font-ja);line-height:1.2}.mode-tile small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.mode-tile:disabled{opacity:.4;cursor:default}.focus-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.focus-chip{background:var(--surface);border:1px solid var(--grid);text-align:left;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 6px;min-width:0;min-height:64px;padding:10px 12px;display:grid}.focus-chip .ic{width:18px;height:18px;color:var(--muted);place-items:center;display:grid}.focus-chip .ic svg{width:16px;height:16px}.focus-chip.weak .ic{color:var(--bad);font-size:15px;font-weight:700}.focus-chip.fav .ic{color:var(--warn)}.focus-chip.flagged .ic{color:var(--accent)}.focus-chip .tx{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.focus-chip b{font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:22px;line-height:1.1}.focus-chip:disabled{opacity:.5;cursor:default}.legend-keys{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.legend-keys i{border-radius:3px;width:10px;height:10px;margin-left:6px;display:inline-block}.level-rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}.level-row{background:var(--surface);border:1px solid var(--grid);text-align:left;border-radius:12px;grid-template-columns:7.4rem minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 12px;display:grid}.level-row.target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.level-row:disabled{opacity:.5;cursor:default}.lv-name{grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;min-width:0;line-height:1.25;display:grid}.lv-name b{font-variant-numeric:tabular-nums;font-size:14px}.lv-name>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:11px;overflow:hidden}.target-badge{color:var(--accent-fg);background:var(--accent);border-radius:4px;grid-area:1/2;justify-self:start;padding:0 5px;font-size:10px;font-weight:700;line-height:1.6}.lv-bar{height:8px}.lv-bar i,.lv-bar:after{border-radius:4px}.lv-num{text-align:right;min-width:4.6em;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.lv-num b{color:var(--fg);font-size:14px}.field-rail{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;margin:0 -16px;padding:2px 16px 8px;scroll-padding:0 16px;list-style:none;display:flex;overflow-x:auto}.field-rail::-webkit-scrollbar{display:none}.field-rail li{scroll-snap-align:start;flex:none}.rail-card{background:var(--surface);border:1px solid var(--grid);text-align:left;border-radius:14px;gap:4px;width:150px;padding:10px;display:grid}.rail-card.current{border-color:var(--accent)}.rail-card .thumb{height:64px;margin-bottom:2px}.rail-card b{font-family:var(--font-ja-head);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.rail-card small{color:var(--muted);font-size:11px}.store-mini{gap:8px;margin:0;padding:0;list-style:none;display:grid}.store-mini-card{background:var(--surface);border:1px solid var(--grid);text-align:left;border-radius:14px;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 12px;display:grid}.store-mini-card .thumb{height:52px}.store-mini-card .body{gap:2px;min-width:0;display:grid}.store-mini-card b{font-size:15px}.store-mini-card .official-badge{vertical-align:1px;margin-right:4px}.week-sum{color:var(--muted);margin:0 0 10px;font-size:12px}.week-sum b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:16px}.week-bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.wb{justify-items:center;gap:4px;display:grid}.wb .col{border-bottom:1px solid var(--grid);flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;width:100%;height:76px;display:flex}.wb .col i{background:color-mix(in srgb, var(--accent) 38%, var(--surface));border-radius:4px 4px 0 0;width:min(22px,70%);display:block}.wb.today .col i{background:var(--accent)}.wb .col i.zero{height:0}.wb .val{color:var(--fg);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:1}.wb .day{color:var(--muted);font-size:11px}.wb.today .day{color:var(--fg);font-weight:700}.quiz-progress-card svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.qp-head{grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid}.qp-head .ic{background:var(--accent);width:44px;height:44px;color:var(--accent-fg);border-radius:12px;place-items:center;display:grid}.qp-head .ic svg{width:22px;height:22px}.qp-head b{font-family:var(--font-ja-head);font-size:16px;display:block}.qp-head small{color:var(--muted);font-size:12px}.qp-bar{background:var(--grid);border-radius:3px;height:6px;margin-top:12px;display:block;overflow:hidden}.qp-bar i{background:var(--accent);height:100%;display:block}@media (min-width:900px){.mode-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}:root[data-fs] :is(.sheet-head h2,.sheet-body,.card-head,.card-body:not(.editing),.quiz-bar:not(.sheet-body .quiz-bar),.toast,.pg-celebrate,.fs-scale:not(.sheet-body .fs-scale)){zoom:var(--wf-fs,1)}:root[data-fs] .card-body:not(.editing){grid-template-columns:minmax(0,1fr)}:root[data-fs] .recall-grade{grid-template-columns:repeat(4,minmax(0,1fr))}:root[data-fs] .btn.recall{white-space:normal;min-width:0;padding-left:4px;padding-right:4px}.pg-celebrate{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:45;background:var(--surface);max-width:calc(100% - 24px);color:var(--fg);border:1px solid color-mix(in srgb, var(--ok) 45%, var(--grid));box-shadow:var(--shadow);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:13px;line-height:1.35;animation:4.2s forwards pg-cele;display:flex;position:fixed;left:50%;transform:translate(-50%)}.pg-celebrate b{white-space:nowrap;font-weight:700;display:block}.pg-celebrate small{color:var(--muted);white-space:nowrap;font-size:12px;display:block}.pg-celebrate-icon{background:var(--ok);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.pg-celebrate-icon svg{stroke:currentColor;stroke-width:3px;fill:none;width:14px;height:14px}@keyframes pg-cele{0%{opacity:0;transform:translate(-50%,-12px)}8%,88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.sheet.tall:has(.pg-stats){height:85%}@media (min-width:900px){.sheet.tall:has(.pg-stats){height:auto}}.pg-stats{padding-top:6px}.pg-stats .settings-h{margin-top:20px;margin-bottom:6px}.pg-empty{border:1px dashed var(--grid);text-align:center;background:var(--surface-2);border-radius:12px;margin-bottom:12px;padding:14px}.pg-empty b{font-family:var(--font-ja-head);font-size:15px}.pg-empty p{color:var(--muted);margin:4px 0 10px;font-size:12px}.pg-top{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pg-hero,.pg-goal{background:var(--surface-2);border-radius:12px;min-width:0;padding:10px 12px 12px}.pg-hero-label,.pg-goal-label,.pg-tiles dt{color:var(--muted);font-size:11px}.pg-hero-num{font-family:var(--font-word);align-items:baseline;gap:4px;margin:4px 0 6px;line-height:1;display:flex}.pg-hero-num b{letter-spacing:-.02em;font-size:48px;font-weight:600}.pg-hero-num span{color:var(--muted);font-size:14px;font-weight:600}.pg-hero-sub,.pg-goal-sub{color:var(--muted);font-size:11px;line-height:1.45}.pg-goal-num{font-family:var(--font-word);color:var(--muted);margin:6px 0 8px;font-size:14px}.pg-goal-num b{color:var(--fg);font-size:28px;font-weight:600}.pg-meter{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.pg-meter i{background:var(--accent);border-radius:4px;height:100%;transition:width .4s;display:block}.pg-goal.met .pg-meter{background:color-mix(in srgb, var(--ok) 18%, var(--surface))}.pg-goal.met .pg-meter i{background:var(--ok)}.pg-goal.met .pg-goal-sub{color:var(--ok);font-weight:600}.pg-tiles{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0;display:grid}.pg-tiles>div{background:var(--surface-2);border-radius:12px;min-width:0;padding:8px 12px 10px}.pg-tiles dd{font-family:var(--font-word);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:13px;overflow:hidden}.pg-tiles dd b{color:var(--fg);font-size:22px;font-weight:600}.pg-tiles small{color:var(--faint);font-size:10px;line-height:1.4;display:block}.pg-chart{background:var(--surface-2);border-radius:12px;padding:8px 10px 10px}.pg-readout{color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;min-height:20px;font-size:12px;display:flex}.pg-readout b{color:var(--fg);font-weight:600}.pg-readout-r{color:var(--faint);margin-left:auto;font-size:11px}.pg-svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:visible}.pg-grid{stroke:var(--grid);stroke-width:1px;shape-rendering:crispedges}.pg-tick{font-family:var(--font-ui);fill:var(--faint);font-variant-numeric:tabular-nums;font-size:9px}.pg-goal-line{stroke:var(--muted);stroke-width:1px;opacity:.7;shape-rendering:crispedges}.pg-goal-tick{fill:var(--muted)}.pg-goal-tick,.pg-none{paint-order:stroke;stroke:var(--surface-2);stroke-width:3px;stroke-linejoin:round}.pg-sel{fill:color-mix(in srgb, var(--fg) 6%, transparent)}.pg-bar-ans{fill:color-mix(in srgb, var(--accent) 30%, var(--surface-2))}.pg-bar-ok{fill:var(--accent)}.pg-none{font-family:var(--font-ja);fill:var(--muted);font-size:11px}.pg-hit{fill:#0000;cursor:pointer}.pg-legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.pg-legend li{align-items:center;gap:5px;display:inline-flex}.pg-legend i{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.pg-legend i.ans{background:color-mix(in srgb, var(--accent) 30%, var(--surface-2))}.pg-legend i.ok{background:var(--accent)}.pg-legend i.goal{background:var(--muted);border-radius:0;width:14px;height:1px}.pg-legend .pg-legend-note{color:var(--faint)}.pg-table{margin-top:8px}.pg-table summary{color:var(--accent);cursor:pointer;padding:2px 0;font-size:12px}.pg-table table{margin-top:4px}.pg-heat rect{cursor:pointer}.hm-0{fill:color-mix(in srgb, var(--fg) 9%, var(--surface-2));background:color-mix(in srgb, var(--fg) 9%, var(--surface-2))}.hm-1{fill:color-mix(in srgb, var(--mark-known) 30%, var(--surface-2));background:color-mix(in srgb, var(--mark-known) 30%, var(--surface-2))}.hm-2{fill:color-mix(in srgb, var(--mark-known) 52%, var(--surface-2));background:color-mix(in srgb, var(--mark-known) 52%, var(--surface-2))}.hm-3{fill:color-mix(in srgb, var(--mark-known) 78%, var(--surface-2));background:color-mix(in srgb, var(--mark-known) 78%, var(--surface-2))}.hm-4{fill:color-mix(in srgb, var(--mark-known) 82%, var(--fg) 18%);background:color-mix(in srgb, var(--mark-known) 82%, var(--fg) 18%)}.pg-heat rect.today{stroke:var(--fg);stroke-width:1.5px}.pg-heat rect.sel{stroke:var(--accent);stroke-width:2px}.pg-heat-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px;margin-top:6px;font-size:11px;display:flex}.pg-heat-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.pg-heat-legend span:first-child{margin-right:2px}.pg-heat-legend span:nth-of-type(2){margin-left:2px}.pg-heat-legend small{color:var(--faint);margin-left:auto;font-size:10px}.pg-seg{border-radius:4px;gap:2px;height:8px;display:flex;overflow:hidden}.pg-seg.tall{height:14px}.pg-seg i{flex-basis:0;min-width:3px;height:100%;display:block}.pg-seg i.known,.pg-legend i.known{background:var(--mark-known)}.pg-seg i.learning,.pg-legend i.learning{background:var(--mark-learning)}.pg-seg i.new,.pg-legend i.new{background:color-mix(in srgb, var(--grid) 70%, var(--surface))}.pg-levels{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pg-levels li{background:var(--surface-2);border:1px solid #0000;border-radius:10px;padding:8px 10px 10px}.pg-levels li.target{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface-2))}.pg-lv-head{align-items:baseline;gap:6px;min-width:0;margin-bottom:6px;display:flex}.pg-lv-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.pg-lv-name b{font-family:var(--font-word);margin-right:2px}.pg-tag{background:var(--accent);color:var(--accent-fg);border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:600}.pg-lv-num{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:11px}.pg-recall-legend b{color:var(--fg);font-variant-numeric:tabular-nums;margin-left:2px;font-weight:600}.pg-weak{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pg-weak .w{background:var(--surface-2);text-align:left;border-radius:10px;align-items:center;gap:8px;width:100%;min-width:0;padding:8px 10px;display:flex}.pg-rank{width:18px;color:var(--faint);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:11px}.pg-weak .lemma{font-family:var(--font-word);flex:none;font-size:15px;font-weight:600}.pg-weak .short{font-family:var(--font-ja);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.pg-score{color:var(--bad);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.pg-onb{padding-top:4px}.pg-steps{align-items:center;gap:6px;margin-bottom:8px;display:flex}.pg-steps i{background:var(--grid);border-radius:2px;width:22px;height:4px}.pg-steps i.done{background:color-mix(in srgb, var(--accent) 45%, var(--surface))}.pg-steps i.on{background:var(--accent)}.pg-steps span{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:4px;font-size:11px}.pg-onb-h{font-family:var(--font-ja-head);margin:4px 0;font-size:19px;font-weight:700}.pg-choices{grid-template-columns:1fr;gap:6px;margin-top:8px;display:grid}.pg-choices.goals{grid-template-columns:1fr 1fr}.pg-choice{background:var(--surface-2);border:1.5px solid var(--grid);text-align:left;border-radius:12px;align-items:baseline;gap:10px;min-width:0;padding:11px 14px;display:flex}.pg-choice b{font-family:var(--font-word);flex:none;font-size:17px;font-weight:600}.pg-choice span{min-width:0;font-size:14px}.pg-choice small{color:var(--muted);flex:none;margin-left:auto;font-size:11px}.pg-choices.goals .pg-choice{flex-wrap:wrap;row-gap:0}.pg-choices.goals .pg-choice b{font-size:26px}.pg-choices.goals .pg-choice small{flex-basis:100%;margin-left:0}.pg-choice.wide{justify-content:center}.pg-choice.wide span{color:var(--muted)}.pg-choice.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-2))}.pg-choice.on span,.pg-choice.wide.on span{color:var(--fg)}.pg-note{background:var(--surface-2);color:var(--muted);border-radius:10px;margin:8px 0;padding:10px 12px;font-size:13px}.pg-onb-sum{border:1px solid var(--grid);border-radius:10px;gap:2px;margin-top:12px;padding:10px 12px;display:grid}.pg-onb-sum div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.pg-onb-sum span{color:var(--muted)}.pg-onb-nav{justify-content:space-between;gap:8px;margin-top:16px;display:flex}.pg-onb-nav .btn{flex:1;padding-top:11px;padding-bottom:11px}.pg-time{background:var(--surface-2);border:1px solid var(--grid);font-variant-numeric:tabular-nums;border-radius:8px;padding:5px 8px}.pg-time:disabled{opacity:.45}.setting-row.pg-row{flex-wrap:wrap}.setting-row.pg-row>label{flex:160px}.pg-remind{flex:none;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.pg-remind .pg-time{width:112px}.pg-remind input[type=checkbox]{accent-color:var(--accent)}.pg-entry-line{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin:2px 0 0;font-size:13px;display:flex}.pg-entry-line b{color:var(--fg);font-family:var(--font-word);font-size:15px}.pg-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pg-out{background:color-mix(in srgb, var(--ok) 9%, var(--surface-2));border:1px solid color-mix(in srgb, var(--ok) 35%, var(--grid));border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13px}.pg-out p{margin:0 0 4px}.pg-out small{color:var(--muted);word-break:break-all}.pg-copied{color:var(--muted);align-self:center;font-size:12px}.pg-text{border:1px solid var(--grid);background:var(--surface);resize:vertical;border-radius:8px;width:100%;min-height:120px;max-height:240px;margin-top:8px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.4;display:block}.pg-paste .pg-text{min-height:90px}.pg-error{background:color-mix(in srgb, var(--bad) 8%, var(--surface-2));border:1px solid color-mix(in srgb, var(--bad) 40%, var(--grid));color:var(--fg);border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:13px}.pg-confirm{border:1.5px solid var(--warn);background:color-mix(in srgb, var(--warn) 8%, var(--surface-2));border-radius:12px;margin-top:10px;padding:12px}.pg-confirm>b{font-family:var(--font-ja-head);font-size:15px}.pg-confirm>p{color:var(--muted);margin:4px 0 8px;font-size:12px}.pg-confirm dl{gap:2px;margin:0;display:grid}.pg-confirm dl div{justify-content:space-between;gap:10px;font-size:13px;display:flex}.pg-confirm dt{color:var(--muted)}.pg-confirm dd{font-variant-numeric:tabular-nums;margin:0}.btn.danger-fill{background:var(--bad);border-color:var(--bad);color:#fff}@media (min-width:900px){.pg-hero-num b{font-size:52px}}@media (max-width:360px){.pg-hero-num b{font-size:40px}.pg-goal-num b{font-size:24px}}.study-ipa{font-family:"Charis SIL", "Doulos SIL", "Gentium Plus", "Lucida Sans Unicode", "Segoe UI", var(--font-word);color:var(--muted);letter-spacing:.02em;font-size:13px;line-height:1.2;display:block}.answer-panel .study-ipa{margin-top:-4px}.answer-panel .q-feedback{font-size:13px;font-weight:700;font-family:var(--font-ja)}.answer-panel .q-feedback.ok{color:var(--ok)}.answer-panel .q-feedback.bad{color:var(--bad)}.answer-panel .q-feedback.hint{color:var(--warn)}.answer-panel .q-feedback small{color:var(--muted);font-weight:500}.choice .choice-sub{color:var(--muted);font-size:12px;font-weight:400;font-family:var(--font-ja);margin-top:2px;display:block}.mode-tag{background:var(--accent-soft);vertical-align:2px;border-radius:999px;margin-left:8px;padding:1px 6px;display:inline-block;color:var(--accent)!important;font-size:10px!important;font-weight:600!important}.quiz-mode:disabled{opacity:.45;cursor:default}.linklike{color:var(--accent);text-underline-offset:2px;font:inherit;margin-left:6px;padding:0;text-decoration:underline;display:inline}.study-busy{min-height:120px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.spinner{border:2px solid var(--grid);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite study-spin}@keyframes study-spin{to{transform:rotate(360deg)}}.scope-more{width:100%}.scope-more button small{font-variant-numeric:tabular-nums;opacity:.8}.level-chips{flex-wrap:wrap;gap:6px;display:flex}.chip.lvchip{gap:4px;padding:6px 10px}.chip.lvchip b{font-family:var(--font-word);font-weight:700}.chip.lvchip small{font-variant-numeric:tabular-nums;margin-left:2px}.chip.lvchip:disabled{opacity:.4}.flash-card.swipeable{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;--sw-r:0;--sw-l:0;position:relative;overflow:hidden}.flash-card.swipeable.dragging{transition:none}.flash-card.swipeable.fly{transition:transform .18s ease-in,opacity .18s ease-in}.flash-card.swipeable[data-swipe=right]{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 35%, transparent), var(--shadow)}.flash-card.swipeable[data-swipe=left]{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb, var(--bad) 35%, transparent), var(--shadow)}.swipe-stamp{border:2px solid var(--rc);color:var(--rc);background:color-mix(in srgb, var(--rc) 12%, var(--surface));font-family:var(--font-ja);pointer-events:none;white-space:nowrap;border-radius:8px;padding:3px 10px;font-size:13px;font-weight:700;position:absolute;top:12px}.swipe-stamp.good{opacity:var(--sw-r);left:12px;transform:rotate(-8deg)}.swipe-stamp.bad{opacity:var(--sw-l);right:12px;transform:rotate(8deg)}.swipe-tip{color:var(--muted);text-align:center;margin:-2px 0 0;font-size:12px}.flash-card .study-ipa{margin-top:-2px}.listen-stage{justify-items:center;gap:10px;padding:8px 0 4px;display:grid}.listen-play{background:var(--accent);width:132px;height:132px;color:var(--accent-fg);box-shadow:0 0 0 8px var(--accent-soft), var(--shadow);font-family:var(--font-ja);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.listen-play:active{transform:scale(.97)}.listen-stage.answered{grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:14px}.listen-stage.answered .listen-play{width:64px;height:64px;box-shadow:0 0 0 4px var(--accent-soft)}.listen-stage.answered .listen-play span{display:none}.listen-stage.answered .listen-play svg{width:28px;height:28px}.listen-stage.answered .listen-word{grid-column:1/-1}.listen-play svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:44px;height:44px}.listen-word{justify-items:center;gap:2px;min-height:52px;display:grid}.listen-word .w{font-family:var(--font-head);font-size:30px;font-weight:600;line-height:1.1}.listen-word.hidden .w{color:var(--faint);letter-spacing:.2em}.listen-q{color:var(--muted);margin:0;font-size:12px}.cloze-card{background:var(--tile);border:1px solid var(--tile-edge);box-shadow:var(--shadow);border-radius:14px;gap:8px;padding:14px 16px;display:grid}.cloze-sentence{font-family:var(--font-head);margin:0;font-size:20px;line-height:1.55}.cloze-blank{border-bottom:2px solid var(--accent);min-width:4.2em;color:var(--accent);text-align:center;font-family:var(--font-ui);letter-spacing:.1em;margin:0 2px;font-size:15px;line-height:1.4;display:inline-block}.cloze-fill{background:color-mix(in srgb, var(--ok) 18%, transparent);color:inherit;border-bottom:2px solid var(--ok);border-radius:2px;padding:0 2px;font-weight:600}.cloze-ja{font-family:var(--font-ja);color:var(--muted);margin:0;font-size:13px}.cloze-tools{flex-wrap:wrap;gap:6px;display:flex}.cloze-tools:empty{display:none}.spell{gap:10px}.spell-prompt{gap:4px;display:grid}.spell-prompt .q-prompt{font-family:var(--font-ja-head);font-size:21px;font-weight:700;line-height:1.3}.spell-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12px;display:flex}.spell-meta .tag{background:var(--surface-2);border:1px solid var(--grid);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:11px}.spell-pattern{font-family:var(--font-word);color:var(--accent);font-size:14px;font-weight:600}.spell-mask{font-family:var(--font-word);letter-spacing:.12em;color:var(--fg);font-size:22px;font-weight:600}.spell-mask small{font-family:var(--font-ja);letter-spacing:0;color:var(--muted);font-size:11px;font-weight:500}.spell-row{grid-template-columns:1fr auto;gap:8px;display:grid}.spell-input{border:1.5px solid var(--grid);background:var(--surface);min-width:0;color:var(--fg);font-family:var(--font-word);letter-spacing:.02em;border-radius:10px;padding:11px 12px;font-size:18px}.spell-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.spell-input.ok{border-color:var(--ok)}.spell-input.bad{border-color:var(--bad)}.spell-row .btn{min-width:76px}.spell-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.spell-tools .hint{color:var(--muted);font-size:11px}.spell-msg{color:var(--warn);font-size:13px;font-weight:600}.spell-diff{background:var(--surface);border:1px solid var(--grid);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.spell-diff .row{grid-template-columns:3.4em 1fr;align-items:baseline;gap:6px;display:grid}.spell-diff .lbl{color:var(--muted);font-size:11px}.spell-diff .txt{font-family:var(--font-word);letter-spacing:.06em;overflow-wrap:anywhere;font-size:19px;font-weight:600}.spell-diff .miss{color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, transparent);border-radius:2px}.spell-diff .bad{color:var(--bad);background:color-mix(in srgb, var(--bad) 14%, transparent);border-radius:2px}.spell-diff .extra{color:var(--bad);text-decoration:line-through}.spell-diff .gap{color:var(--bad)}@media (max-width:899px){.study-kb-open .sheet:has(.spell){bottom:var(--study-kb,0px);max-height:calc(var(--study-vvh,100%) - 8px);padding-bottom:0;animation:none}.study-kb-open .sheet:has(.spell) .sheet-head{padding-top:8px;padding-bottom:6px}.study-kb-open .spell{padding-top:6px}}.autoplay{gap:10px;display:grid}.autoplay .q-progress{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;justify-content:space-between;gap:12px;font-size:11px;display:flex}.ap-card{text-align:center;background:var(--tile);border:1px solid var(--tile-edge);box-shadow:var(--shadow);border-radius:16px;justify-items:center;gap:8px;padding:16px 14px;display:grid}.ap-word,.ap-ja,.ap-ex{border-radius:10px;padding:2px 10px;transition:background .2s,color .2s}.ap-word{justify-items:center;gap:2px;display:grid}.ap-word .w{font-family:var(--font-head);overflow-wrap:anywhere;font-size:36px;font-weight:600;line-height:1.1}.ap-ja{font-family:var(--font-ja);font-size:16px}.ap-ex{gap:2px;font-size:14px;display:grid}.ap-ex .en{font-family:var(--font-head);font-size:16px;line-height:1.45}.ap-ex .ja{font-family:var(--font-ja);color:var(--muted);font-size:12px}.ap-word.now,.ap-ja.now,.ap-ex.now{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.ap-ja.quiet,.ap-ex.quiet{opacity:.6}.ap-loading{color:var(--faint);font-size:11px}.ap-controls{justify-content:center;align-items:center;gap:18px;display:flex}.ap-btn{background:var(--surface-2);border:1px solid var(--grid);width:48px;height:48px;color:var(--fg);border-radius:50%;place-items:center;display:grid}.ap-btn:disabled{opacity:.35}.ap-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.ap-btn.main{background:var(--accent);border-color:var(--accent);width:64px;height:64px;color:var(--accent-fg);box-shadow:var(--shadow)}.ap-btn.main svg{stroke-width:2.6px;width:26px;height:26px}.ap-btn.main[aria-pressed=false] svg{fill:currentColor;stroke:none}.ap-sub{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ap-rate{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.ap-rate b{text-align:center;min-width:3.2em;color:var(--fg);font-variant-numeric:tabular-nums}.ap-rate .chip{justify-content:center;min-width:34px;padding:3px 8px;font-size:15px}.ap-sub .chip svg{fill:currentColor;stroke:none;width:11px;height:11px}.ap-note{color:var(--faint);margin:0;font-size:11px}.result-tally{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:-4px;font-size:12px;display:flex}.result-tally:empty{display:none}.result-tally .hint-c{color:var(--warn)}.result-tally .bad-c{color:var(--bad)}.result-rows{border-top:1px solid var(--grid);margin:0;padding:0;list-style:none;display:grid}.result-rows li{border-bottom:1px solid var(--grid);align-items:baseline;gap:8px;min-width:0;padding:7px 2px;display:flex}.result-rows .mark{text-align:center;width:1.3em;color:var(--faint);flex:none;font-weight:700}.result-rows li.ok .mark{color:var(--ok)}.result-rows li.bad .mark{color:var(--bad)}.result-rows li.hint .mark{color:var(--warn)}.result-rows .lemma{font-family:var(--font-word);color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 20%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 20%, transparent);text-underline-offset:3px;flex:none;font-size:15px;font-weight:600}.result-rows .short{min-width:0;font-family:var(--font-ja);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.result-rows .tag{background:color-mix(in srgb, var(--warn) 16%, var(--surface));color:var(--warn);border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:600}.result-rows .given{text-overflow:ellipsis;white-space:nowrap;max-width:34%;font-family:var(--font-word);color:var(--bad);flex:none;font-size:12px;text-decoration:line-through;overflow:hidden}.result-actions{margin-top:4px}.result-actions .btn small.n{background:color-mix(in srgb, var(--accent-fg) 25%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px;font-size:11px}.result-actions .btn svg{stroke:currentColor;fill:none;stroke-width:1.8px}.study-rate{align-items:center;gap:8px;display:inline-flex}.study-rate input[type=range]{width:128px;accent-color:var(--accent)}.study-rate output{text-align:right;font-variant-numeric:tabular-nums;min-width:3em;font-size:13px;font-weight:600}.study-settings .setting-row .seg button{padding:6px 9px;font-size:12px}.study-settings select{max-width:52%}@media (prefers-reduced-motion:reduce){.flash-card.swipeable.fly,.ap-word,.ap-ja,.ap-ex{transition:none}.spinner{animation-duration:2s}}:root{--font-ipa:"Charis SIL", "Doulos SIL", "Gentium Plus", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Lucida Grande", "Lucida Sans Unicode", "Arial Unicode MS", "DejaVu Sans", sans-serif}.card-head .lemma .ipa{font-family:var(--font-ipa);letter-spacing:.01em;color:var(--muted);white-space:nowrap;font-variant-ligatures:none;font-size:15px;font-weight:400;line-height:1.2}.ipa-reset svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.btn.ipa-reset{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.btn.ipa-reset:disabled,.btn.ipa-reset.is-off,.field-actions .act.ipa-reset.is-off{opacity:.4}.topbar.editbar .btn.ipa-reset{padding:6px 9px;font-size:12px}@media (max-width:520px){.topbar.editbar .btn.ipa-reset>span{display:none}.topbar.editbar .btn.ipa-reset{padding:6px 8px}.topbar.editbar .btn.ipa-reset>svg{width:16px;height:16px}}.toast.ipa-undo{align-items:center;gap:10px;padding:5px 5px 5px 16px;display:flex;overflow:visible}.toast.ipa-undo .msg{text-overflow:ellipsis;min-width:0;overflow:hidden}.toast.ipa-undo button{background:color-mix(in srgb, var(--bg) 18%, transparent);color:var(--bg);font-size:13px;font-weight:700;font-family:var(--font-ja);white-space:nowrap;border-radius:999px;flex:none;padding:5px 12px}.toast.ipa-undo button:active{background:color-mix(in srgb, var(--bg) 30%, transparent)}.quiz-bar.dock{border-bottom:0;border-top:1px solid var(--grid);overscroll-behavior:contain;max-height:min(46vh,360px);box-shadow:0 -6px 18px color-mix(in srgb, var(--fg) 6%, transparent);z-index:7;gap:6px;padding:8px 12px 10px;position:relative;overflow:auto}.quiz-bar.dock>*{width:100%;max-width:720px;margin-left:auto;margin-right:auto}.quiz-bar.dock .q-progress{align-items:center}.quiz-bar.dock .q-progress>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.quiz-bar.dock .q-progress .mode-tag{color:var(--focus);background:color-mix(in srgb, var(--focus) 12%, var(--surface));letter-spacing:.02em;border-radius:999px;margin-right:4px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.quiz-bar.dock .q-fit{flex:none;width:26px;height:26px}.quiz-bar.dock .q-fit svg{width:15px;height:15px}.quiz-bar.dock .q-prompt{font-size:21px}.quiz-bar.dock .q-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.quiz-bar.dock .q-actions .btn{padding:7px 14px}.quiz-bar.dock .q-actions .btn.quiet{color:var(--muted);background:0 0;border-color:#0000;padding:6px 10px;font-size:12px}.quiz-bar.dock .q-cue{color:var(--muted);flex:1;min-width:0;font-size:12px}.quiz-bar.dock .choices.two-col .choice{min-height:48px;padding:12px 8px;font-size:16px}.quiz-bar.dock .answer-panel.compact{padding-top:2px}.quiz-bar.dock .answer-panel .btn-row .btn.primary{flex:1;justify-content:center}.app[data-view=map]:has(.quiz-bar.dock) .quiz-return{display:none}.mode-info-btn{width:28px;height:28px;color:var(--muted);background:color-mix(in srgb, var(--fg) 5%, transparent);border-radius:999px;flex:none;place-items:center;display:inline-grid}.mode-info-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.mode-info-btn:active{background:var(--accent-soft);color:var(--accent)}.has-info{min-width:0;display:grid;position:relative}.has-info>.mode-tile,.has-info>.core-tile,.has-info>.quiz-mode{width:100%;height:100%}.has-info>.mode-info-btn{background:0 0;width:26px;height:26px;position:absolute;top:6px;right:6px}.has-info>.quiz-mode{padding-right:44px}.has-info>.quiz-mode+.mode-info-btn{top:10px;right:8px}.core-modes{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.core-tile{text-align:left;background:linear-gradient(135deg, color-mix(in srgb, var(--focus) 12%, var(--surface)), color-mix(in srgb, var(--focus) 4%, var(--surface)));border:1.5px solid color-mix(in srgb, var(--focus) 45%, var(--grid));border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-height:76px;padding:12px 36px 12px 12px;display:grid;position:relative}.core-tile:active:not(:disabled){filter:brightness(.97)}.core-tile:disabled{opacity:.4}.core-tile .glyph{background:var(--focus);color:#fff;border-radius:12px;grid-row:1/span 2;place-items:center;width:40px;height:40px;display:grid}.core-tile .glyph svg{width:22px;height:22px}.core-tile b{font-size:15px;font-family:var(--font-ja-head);line-height:1.2}.core-tile small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.core-lead{color:var(--muted);margin:0;font-size:12px}.sec-head .sec-tag{color:var(--focus);background:color-mix(in srgb, var(--focus) 12%, var(--surface));vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700}@media (max-width:360px){.core-modes{grid-template-columns:1fr}}.mode-info{gap:8px;display:grid}.mode-info .mi-sub{margin:4px 0 0;font-size:14px;line-height:1.5}.mode-info .mi-sub .mode-tag{color:var(--focus);background:color-mix(in srgb, var(--focus) 12%, var(--surface));vertical-align:middle;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.mode-info .settings-h{margin-top:6px}.mi-steps{gap:4px;margin:0;padding-left:1.4em;font-size:13px;line-height:1.5;display:grid}.mi-steps li::marker{color:var(--accent);font-weight:700}.mi-note{margin:0}.mi-warn{color:var(--bad);margin:0}.mi-row{gap:10px}.mi-row>span:first-child{gap:2px;min-width:0;display:grid}.mi-row .seg{flex-wrap:wrap}.mi-intervals{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:11px;display:flex}.mi-intervals b{color:var(--fg)}.mi-start{gap:6px;margin-top:10px;display:grid}.mi-start>.hint{color:var(--muted);font-size:12px}.mi-start .btn-row .btn.primary{flex:1;justify-content:center}.mode-tile.sel,.core-tile.sel{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.mode-pick.compact .core-modes{gap:6px;margin-top:6px}.mode-pick.compact .core-tile{row-gap:0;min-height:60px;padding:8px 32px 8px 10px}.mode-pick.compact .core-tile .glyph{width:32px;height:32px}.mode-pick.compact .core-tile .glyph svg{width:18px;height:18px}.mode-pick.compact .core-tile b{font-size:14px}.mode-pick.compact .core-tile small{-webkit-line-clamp:1}.mode-pick.compact .mode-grid{gap:6px;margin-top:6px}.mode-pick.compact .mode-tile{gap:2px;min-height:0;padding:8px}.mode-pick.compact .mode-tile .glyph{border-radius:8px;width:28px;height:28px;margin-bottom:0}.mode-pick.compact .mode-tile .glyph svg{width:16px;height:16px}.mode-pick.compact .mode-tile b{font-size:13px}.mode-pick.compact .mode-tile small{display:none}.mode-pick.compact .has-info>.mode-info-btn{top:2px;right:2px}.mode-tile.review .glyph{background:color-mix(in srgb, var(--bad) 12%, var(--surface));color:var(--bad)}.mode-tile b .n{color:var(--bad);margin-left:3px;font-size:11px;font-weight:700}.deck-modes-note{margin:4px 0 0}.custom-head{gap:2px;margin-top:4px;display:grid}.custom-head .settings-h{margin:0}.custom-head .hint{color:var(--muted);font-size:12px}.custom-study{padding-bottom:8px}.custom-start{z-index:5;padding:8px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--grid);align-items:center;gap:8px;display:flex;position:sticky;bottom:0}.custom-start .btn.primary{flex:1;justify-content:center;gap:8px;min-height:46px;font-size:15px}.custom-start .btn.primary small{opacity:.85;border-left:1px solid color-mix(in srgb, var(--accent-fg) 40%, transparent);padding-left:8px;font-size:11px;font-weight:500}.custom-start .mode-info-btn{background:var(--surface-2);border:1px solid var(--grid);width:40px;height:40px}.page .custom-start{margin:0 -16px -28px}.deck-list .field-item .p.dates{text-align:left;color:var(--faint);grid-area:auto/1/auto/-1;font-size:11px}.mode-pick svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.map-bottom{background:var(--surface);border-top:1px solid var(--grid);display:grid}.map-bottom .field-actions{border-bottom:0;border-top:1px solid var(--grid);padding:6px 10px}.map-bottom .filter-strip,.map-bottom .legend{border-top:1px solid var(--grid);border-bottom:0}.map-bottom .quiz-bar.dock{box-shadow:none;border-top:0}.field-actions .act.on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--grid));color:var(--accent)}.field-actions .act b{font-family:var(--font-ja);letter-spacing:-.02em;font-size:12px;font-weight:800}.field-actions .act-sep{background:var(--grid);flex:none;align-self:stretch;width:1px;margin:2px}.map-bar.field-row{border-top:1px solid var(--grid);align-items:center;gap:2px;min-width:0;padding:6px 8px 8px;display:flex}.map-bar .iconbtn.step{width:28px;color:var(--muted)}.map-bar .iconbtn.step svg{stroke-width:2px;width:18px;height:18px}.field-pick{border:1px solid var(--grid);background:var(--surface-2);text-align:left;border-radius:12px;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 10px;display:flex}.field-pick:active{background:var(--accent-soft)}.field-pick .ic{background:var(--accent);width:32px;height:32px;color:var(--accent-fg);border-radius:9px;flex:none;place-items:center;display:grid}.field-pick .ic svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.field-pick .body{gap:1px;min-width:0;display:grid}.field-pick .t{font-family:var(--font-ja-head);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;line-height:1.15;overflow:hidden}.field-pick .t .chev{color:var(--accent);margin-left:6px;font-size:11px}.field-pick .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.map-bar .zoom-group{border:1px solid var(--grid);background:var(--surface-2);border-radius:10px;flex:none;margin-left:4px;display:inline-flex;overflow:hidden}.map-bar .zoom-group .iconbtn{border-radius:0;width:34px;height:36px}.map-bar .zoom-group .iconbtn+.iconbtn{border-left:1px solid var(--grid)}@media (max-width:400px){.map-bar .zoom-group .iconbtn{width:30px}.field-pick .ic{display:none}}.map-bar.editbar{border-top:1px solid var(--grid);border-bottom:0}.library-page .page-body{flex-direction:column;min-height:100%;display:flex}.library-page .lib-tabs{z-index:5;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--grid);order:99;align-items:center;gap:8px;margin:auto -16px -28px;display:flex;position:sticky;bottom:0}.library-page .lib-tabs .seg{flex:1;display:flex;margin-bottom:0!important}.library-page .lib-tabs .seg button{flex:1;padding:10px 6px}.add-row{flex-wrap:wrap;gap:8px;display:flex}.add-row .btn svg{width:14px;height:14px}.word-browser .wb-fields{align-content:flex-start;max-height:96px;overflow:auto}.word-browser .lv-chip small{color:var(--accent);margin-left:4px;font-size:9px}.word-browser .wb-field{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;max-width:9em;margin-left:auto;padding-right:6px;font-size:10px;overflow:hidden}.license summary{color:var(--muted);cursor:pointer;font-size:12px}.license pre{white-space:pre-wrap;color:var(--muted);background:var(--surface-2);border-radius:8px;max-height:200px;padding:8px;font-size:10px;line-height:1.4;overflow:auto}.tile .seen{background:var(--faint);opacity:.8;pointer-events:none;border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px;left:6px}.cell.empty.addable{color:#0000;cursor:pointer;place-items:center;font-size:28px;font-weight:300;transition:color .15s,background .15s;display:grid}.cell.empty.addable:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.cell.empty.addable:focus-visible{color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}@media (hover:none){.cell.empty.addable{color:color-mix(in srgb, var(--accent) 45%, transparent)}}.field-actions .act.add{border-color:color-mix(in srgb, var(--accent) 45%, var(--grid));color:var(--accent)}.add-tile{gap:10px;display:grid}.add-tile .add-new{justify-content:center}.add-search{border:1px solid var(--grid);background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;padding:0 10px;display:flex}.add-search svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:2px;flex:none}.add-search .search{background:0 0;border:0;flex:1;min-width:0;padding:10px 0;font-size:15px}.add-results{gap:6px;margin:0;padding:0;list-style:none;display:grid}.add-results li{background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.add-results .w{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.add-results .w b{font-family:var(--font-word);font-size:15px}.add-results .w small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.add-results .lv{background:color-mix(in srgb, var(--lv) 22%, transparent);border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:700}.library-page.page .page-body{flex:1}.scope-filter{gap:8px;display:grid}.scope-filter .sf-row{grid-template-columns:4.2em minmax(0,1fr);align-items:start;gap:8px;display:grid}.scope-filter .sf-lbl{color:var(--muted);padding-top:8px;font-size:12px;font-weight:700}.scope-filter .chip-row{flex-wrap:wrap;gap:6px;display:flex}.scope-filter .lv-chip small{opacity:.8;margin-left:3px;font-size:10px}.scope-filter .sf-sub{background:var(--surface-2);border:1px solid var(--grid);border-radius:12px;gap:6px;margin-left:calc(4.2em + 8px);padding:8px 10px;display:grid}.scope-filter .sf-fields{align-content:flex-start;max-height:168px;overflow:auto}.scope-filter .sf-actions{flex-wrap:wrap;gap:6px;display:flex}.scope-filter .sf-hint{color:var(--muted);margin:-2px 0 0 calc(4.2em + 8px);font-size:11.5px;line-height:1.5}.scope-filter .sf-count{color:var(--muted);margin:2px 0 0;font-size:13px}.scope-filter .sf-count b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:16px}.scope-filter .sf-count .warn{color:var(--bad)}.scope-filter.compact .sf-hint,.scope-filter.compact .sf-sub{margin-left:0}@media (max-width:420px){.scope-filter .sf-row{grid-template-columns:1fr;gap:4px}.scope-filter .sf-lbl{padding-top:0}.scope-filter .sf-sub,.scope-filter .sf-hint{margin-left:0}}.scope-chip .n{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.scope-panel{gap:10px;display:grid}.home .scope-chip{width:100%;display:flex}.home .scope-chip .v{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.signin-block{border:1px solid var(--grid);border-radius:var(--radius);background:var(--surface-2);gap:8px;padding:12px;display:grid}.signin-block .hint{margin:0}.signin-btns{gap:8px;display:grid}.signin-btn{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:600;display:inline-flex}.signin-btn.apple{background:var(--fg);color:var(--surface);border:1px solid var(--fg)}.signin-btn.google{color:#1f1f1f;background:#fff;border:1px solid #747775}.signin-btn:disabled{opacity:.6}.signin-conflict{border:1px solid color-mix(in srgb, var(--warn) 50%, var(--grid));background:color-mix(in srgb, var(--warn) 10%, var(--surface));border-radius:8px;gap:6px;padding:10px;display:grid}.signin-conflict p{margin:0;font-size:.9em}.signin-next{margin-top:4px}.signin-done{color:var(--ok);margin:0 0 4px;font-size:.92em;font-weight:600}
/*$vite$:1*/