.qs{gap:8px;margin:10px 0 12px;display:grid}.qs-row{gap:8px;display:flex}.qs-btn{border:1px solid var(--line);background:var(--card);min-width:0;min-height:72px;color:var(--ink);text-align:left;border-radius:14px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.qs-btn b{font-size:17px}.qs-btn span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.qs-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--card)}.qs-btn.primary span{color:inherit;opacity:.8}.qs-btn.qs-resume{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--card));min-height:60px}.qs-btn:disabled{opacity:.5}.pr-card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:12px 14px}.pr-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.pr-title{margin:0;font-size:16px;font-weight:700}.pr-overall{font-size:13px}.pr-overall b{color:var(--primary);font-size:16px}.weak-list{gap:6px;margin:8px 0 4px;padding:0;list-style:none;display:grid}.weak-item{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);text-align:left;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.weak-name{flex-direction:column;min-width:0;display:flex}.weak-name b{overflow-wrap:anywhere;font-size:15px}.weak-rate{color:var(--accent);flex-direction:column;align-items:flex-end;font-size:18px;font-weight:800;display:flex}.weak-rate.bad{color:var(--danger)}.weak-rate small{color:var(--muted);font-size:11px;font-weight:400}.weak-bar{background:var(--soft);border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.weak-bar em{background:var(--res);height:100%;display:block}.mock-saved{background:color-mix(in srgb, var(--accent) 12%, var(--card));border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0;padding:8px 10px;font-size:14px;display:flex}.mock-saved>span{flex:1;min-width:0}.mock-years .chip{justify-content:center;min-width:48px}.mock-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:10px 0 4px;display:grid}.mock-grid button{border:1px solid var(--line);background:var(--card);height:32px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;padding:0;font-size:13px}.mock-grid button.done{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 40%, var(--line));color:var(--primary);font-weight:700}.mock-grid button.on{outline:2px solid var(--accent);outline-offset:-1px}.mock-grid.review button.ok{background:color-mix(in srgb, var(--res) 16%, var(--card));border-color:var(--res);color:var(--res)}.mock-grid.review button.ng{background:color-mix(in srgb, var(--danger) 14%, var(--card));border-color:var(--danger);color:var(--danger)}.mock-grid.review button.blank{color:var(--muted);border-style:dashed}.mock-count{margin:0 0 4px}.mock-timer{font-variant-numeric:tabular-nums;white-space:nowrap}.mock-timer.warn{color:var(--danger)}.mock-submit{margin-top:4px}.mock-anchor{scroll-margin-top:12px}.center-text{text-align:center}.eopt.sel{border-color:var(--primary);background:var(--primary-soft)}.eopt.sel b{background:var(--primary);border-color:var(--primary);color:var(--card)}.pr-fold{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;display:flex}.pr-fold .muted{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pr-caret{color:var(--muted);font-size:20px;font-style:normal;line-height:1;transition:transform .2s}.pr-caret.open{transform:rotate(90deg)}.pr-fold-body{margin-top:10px}:root{--bg:#f5f6f3;--card:#fff;--ink:#1e2328;--muted:#5f6a72;--line:#d8ddd9;--soft:#e9edea;--primary:#1f4e5f;--primary-soft:#e3edf0;--sel:#e2ebf5;--onsel:#1f4a75;--accent:#d9a21b;--res:#0f6e56;--danger:#b4443a;--hl-y:#ffe58a;--hl-g:#bfe8c9;--hl-b:#c4ddff;--hl-p:#ffc8d6;--cloze:#d9d4c7;--flash:#d3e4f6;--serif:"Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", serif;--sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--read:var(--serif);--fs:17px;--lh:1.85;--glass:#ffffff94;--glass-edge:#ffffffb3;--glass-hi:#fffc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121619;--card:#1b2126;--ink:#dce2e7;--muted:#97a3ad;--line:#2a333b;--soft:#1f262c;--primary:#7fbfd1;--primary-soft:#23353b;--sel:#24364b;--onsel:#cfe2f6;--accent:#e8b84a;--res:#55c4a0;--danger:#f07272;--hl-y:#6b5a17;--hl-g:#24563a;--hl-b:#24466e;--hl-p:#6b2c3d;--cloze:#3a4347;--flash:#22384f;--glass:#1e252b8c;--glass-edge:#ffffff1a;--glass-hi:#ffffff0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121619;--card:#1b2126;--ink:#dce2e7;--muted:#97a3ad;--line:#2a333b;--soft:#1f262c;--primary:#7fbfd1;--primary-soft:#23353b;--sel:#24364b;--onsel:#cfe2f6;--accent:#e8b84a;--res:#55c4a0;--danger:#f07272;--hl-y:#6b5a17;--hl-g:#24563a;--hl-b:#24466e;--hl-p:#6b2c3d;--cloze:#3a4347;--flash:#22384f;--glass:#1e252b8c;--glass-edge:#ffffff1a;--glass-hi:#ffffff0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.main{max-width:720px;min-height:100vh;padding-bottom:calc(130px + env(safe-area-inset-bottom));margin:0 auto}.page{padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));padding-top:calc(16px + env(safe-area-inset-top))}.page-title{margin:4px 0 14px;font-size:22px}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.7}.empty{color:var(--muted);text-align:center;padding:40px 16px}.hint{color:var(--muted);margin:8px 0;font-size:13px}.hint.center{text-align:center;margin-top:28px}.spacer{flex:1}.link{color:var(--primary);background:0 0;border:0;padding:4px 0;font-size:14px}.link.danger{color:var(--danger)}.dock{z-index:20;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--glass-edge);width:min(360px,100% - 32px);box-shadow:0 8px 28px #00000029, inset 0 1px 0 var(--glass-hi);-webkit-backdrop-filter:blur(18px)saturate(1.8);backdrop-filter:blur(18px)saturate(1.8);border-radius:22px;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;transition:transform .22s;display:grid;position:fixed;transform:translate(-50%)}body.hide .dock{transform:translate(-50%,calc(100% + 40px))}.dtab{height:44px;color:var(--muted);border-radius:16px;place-items:center;transition:background .15s,color .15s;display:grid}.dtab svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.dtab[aria-current=page]{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent)}.dtab[aria-current=page] svg{stroke-width:2.2px}.icon svg,.search-link svg,.tool-card svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.hero{justify-content:space-between;align-items:flex-start;padding:8px 0 4px;display:flex}.hero h1{letter-spacing:1px;color:var(--primary);margin:0;font-size:26px}.hero p{color:var(--muted);margin:4px 0 0}.search-link{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin:14px 0 0;padding:10px 12px;font-size:15px;display:flex}.continue{background:var(--primary);color:var(--card);border-radius:12px;flex-direction:column;gap:2px;margin:12px 0 4px;padding:12px 14px;display:flex}.continue .muted{color:inherit;opacity:.75;font-size:13px}.ovsec{font-family:var(--serif);margin:26px 0 10px;font-size:20px}.subj-cards{gap:8px;display:grid}.subj-card{background:var(--card);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:12px 14px;display:grid}.subj-card strong{grid-column:1/-1}.subj-card .muted{grid-column:1/-1;font-size:13px}.bar{background:var(--soft);border-radius:3px;height:6px;margin-top:6px;display:block;overflow:hidden}.bar em{background:var(--primary);border-radius:3px;height:100%;display:block}.bar.thin{height:3px}.pct{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px;font-size:13px}.stat-card{background:var(--card);border:1px solid var(--line);text-align:center;color:var(--muted);border-radius:12px;grid-template-columns:repeat(3,1fr);padding:12px 6px;font-size:13px;display:grid}.stat-card b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;display:block}.star-dist{gap:4px;margin-top:10px;display:grid}.star-row{grid-template-columns:5.5em 1fr 2.5em;align-items:center;gap:8px;display:grid}.star-row .bar{margin:0}.star-row .bar em{background:var(--accent)}.star-row .pct{text-align:right;margin:0}.star-lab{color:var(--accent);letter-spacing:1px;font-size:13px}.foot{color:var(--muted);margin-top:28px;font-size:12px;line-height:1.6}.foot p{margin:2px 0}.chhead{border-bottom:1px solid var(--line);margin-bottom:6px;padding:8px 0 12px}.chhead .k{color:var(--muted);letter-spacing:.06em;font-size:12.5px}.chhead h1{font-family:var(--serif);margin:4px 0 2px;font-size:26px;line-height:1.35}.outline{color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:10px;margin:6px 0 0;padding:10px 12px;font-size:14px;line-height:1.7}.subject{margin-top:18px}.subject h2{color:var(--muted);margin:0 0 8px;font-size:15px}.law-list{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.law-list li+li{border-top:1px solid var(--line)}.law-list a{padding:12px 14px;display:block}.law-list a:active{background:var(--soft)}.law-name{font-weight:600;line-height:1.4}.law-meta{color:var(--muted);margin-top:3px;font-size:13px}.badge{vertical-align:2px;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}.badge.ext,.badge.out{background:var(--soft);color:var(--muted)}.badge.mine{background:var(--primary-soft);color:var(--primary)}.badge.done{background:color-mix(in srgb, var(--res) 15%, transparent);color:var(--res);font-weight:700}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:13px;display:inline-flex}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--card)}.chip.on .muted{color:inherit;opacity:.8}.chip.danger{color:var(--danger);border-color:var(--danger)}.chip.danger.on{background:var(--danger);color:#fff}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.row2{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.row2 .lab{font-size:15px}.row2 small{color:var(--muted);font-size:12.5px;display:block}.sw{border:1px solid var(--line);background:var(--soft);border-radius:14px;flex:none;width:46px;height:28px;padding:0;position:relative}.sw:after{content:"";background:var(--muted);border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px}.sw[aria-checked=true]{background:var(--primary);border-color:var(--primary)}.sw[aria-checked=true]:after{background:var(--card);left:21px}.seg-pill{background:var(--soft);border-radius:999px;flex:none;padding:3px;display:inline-flex}.seg-pill button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 11px;font-size:13px}.seg-pill button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 1px 3px #0000001f}.fsrow{align-items:center;gap:8px;display:flex}.fsrow output{text-align:center;font-variant-numeric:tabular-nums;min-width:42px}.set-h{color:var(--muted);letter-spacing:.06em;margin:20px 0 2px;font-size:13px}.preview{background:var(--bg);border:1px solid var(--line);border-radius:10px;margin:0 0 4px;padding:10px 12px}.stars{flex:none;align-items:center;display:inline-flex}.stars .st{color:var(--line);background:0 0;border:0;padding:4px 1px;display:inline-flex}.stars svg{fill:currentColor;stroke:none;width:17px;height:17px}.stars svg.st{width:13px;height:13px;padding:0}.stars .st.on{color:var(--accent)}.stars.sm button.st:active svg{transform:scale(1.25)}.prog-line{z-index:21;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.prog-line span{background:var(--primary);height:100%;transition:width .2s;display:block}.topbar{z-index:10;padding:6px 8px;padding-top:calc(6px + env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:4px;display:flex;position:sticky;top:0}.topbar-title{flex:1;min-width:0}.topbar-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;overflow:hidden}.topbar-title small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.icon{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px;display:inline-flex}.icon.on{color:var(--primary)}.law-info{padding:12px 16px 4px}.scope-note{color:var(--primary);margin-top:4px;font-size:13px}.controls{margin-top:10px}.filter,.search-box{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:10px 12px;font-size:16px}.filter:focus,.search-box:focus{border-color:var(--primary)}.articles{padding:4px 12px 40px}.heading{font-family:var(--serif);color:var(--primary);margin:24px 4px 8px;scroll-margin-top:70px;font-size:16px}.heading.lv-編,.heading.lv-附件{font-size:19px}.heading.lv-節,.heading.lv-款,.heading.lv-目{color:var(--muted);font-size:14px}.art{background:var(--card);border:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 140px;border-radius:12px;margin:8px 0;padding:6px 12px 14px 14px;scroll-margin-top:70px;transition:box-shadow .4s}.art[data-star="4"],.art[data-star="5"]{box-shadow:inset 3px 0 0 var(--accent)}.art.out{opacity:.62}.art.flash{animation:1.8s flash}@keyframes flash{0%,40%{background:var(--flash)}}.art-head{flex-wrap:wrap;align-items:center;gap:4px 6px;min-height:36px;display:flex}.art-no{color:var(--primary);white-space:nowrap;font-size:14px;font-weight:700}.art-title{font-size:14px;font-weight:600}.art-text{font-family:var(--read);font-size:var(--fs);line-height:var(--lh);white-space:pre-wrap;word-break:break-word;text-align:justify}.art-text.recite{-webkit-user-select:none;user-select:none}.hl{color:inherit;cursor:pointer;border-radius:3px;padding:1px 0}.hl-y{background:var(--hl-y)}.hl-g{background:var(--hl-g)}.hl-b{background:var(--hl-b)}.hl-p{background:var(--hl-p)}.cloze{color:#0000;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;background:var(--cloze)!important}.cloze.open{color:inherit;box-shadow:inset 0 -.45em 0 var(--hl-y);background:0 0!important}.cloze.open.hl-g{box-shadow:inset 0 -.45em 0 var(--hl-g)}.cloze.open.hl-b{box-shadow:inset 0 -.45em 0 var(--hl-b)}.cloze.open.hl-p{box-shadow:inset 0 -.45em 0 var(--hl-p)}.cloze.open.num{box-shadow:inset 0 -.45em 0 var(--flash)}.art-note{text-align:left;border:0;border-left:3px solid var(--accent);background:var(--primary-soft);white-space:pre-wrap;border-radius:6px;width:100%;margin-top:10px;padding:8px 10px;font-size:14px;line-height:1.6;display:block}.source{text-align:center;color:var(--muted);margin-top:24px;font-size:13px}.source a{color:var(--primary);text-decoration:underline}.hl-toolbar{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);border-radius:999px;align-items:center;gap:10px;padding:8px 12px;transition:bottom .22s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000038}body.hide .hl-toolbar{bottom:calc(18px + env(safe-area-inset-bottom))}.swatch{border:2px solid var(--ink);width:30px;height:30px;box-shadow:0 0 0 1px color-mix(in srgb, var(--bg) 40%, transparent);border-radius:50%;padding:0}.tb-btn{color:var(--bg);white-space:nowrap;background:0 0;border:0;padding:4px 2px;font-size:14px;font-weight:700}.sheet-backdrop{z-index:40;background:#0a0e1261;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--card);width:calc(100% - 20px);max-width:640px;max-height:82vh;margin-bottom:calc(10px + env(safe-area-inset-bottom));border-radius:18px;padding:14px 18px 18px;animation:.28s cubic-bezier(.22,.8,.24,1) up;overflow:auto;box-shadow:0 8px 30px #00000038}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.sheet-head{z-index:1;background:var(--card);justify-content:space-between;align-items:center;margin:-14px -18px 8px;padding:14px 18px 8px;display:flex;position:sticky;top:-14px}.sheet-quote{font-family:var(--read);color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.6}.sheet textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--bg);color:var(--ink);resize:vertical;border-radius:10px;padding:10px;font-size:16px;line-height:1.6}.result-group{margin-top:16px}.result-law{color:var(--primary);margin-bottom:6px;font-weight:700;display:block}.result-group ul,.rows{margin:0;padding:0;list-style:none}.result-group li a,.row a{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:6px;padding:10px 12px;display:block}.snippet{font-family:var(--read);margin-top:2px;font-size:15px;line-height:1.7;display:block}.hit{background:var(--hl-y);color:inherit;border-radius:2px}.seg{background:var(--soft);border-radius:10px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:7px 0;font-size:14px}.seg button.on{background:var(--card);color:var(--ink);font-weight:600}.row-law{color:var(--primary);margin:18px 0 6px;font-weight:700}.row .stars{margin:4px 0 0}.row-text{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.6}.row-text.note{color:var(--ink);white-space:pre-wrap}.row-marks{font-family:var(--read);flex-wrap:wrap;gap:6px;margin-top:6px;font-size:15px;line-height:1.6;display:flex}.stale{width:100%;font-family:var(--sans);color:var(--danger);margin:4px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){.dock,.sheet,.hl-toolbar{transition:none;animation:none}.art.flash{animation:none}}button.art-no{background:0 0;border:0;padding:2px 0;font-family:inherit}.xref{color:var(--primary);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 50%, transparent);cursor:pointer}.term{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 70%, transparent);text-underline-offset:4px;cursor:help}.xref:active,.term:active{background:var(--sel);border-radius:3px}.badge.rev{font-family:var(--sans);background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent) 60%, var(--ink));border:0;margin-left:0}.badge.rev.new{background:var(--accent);color:#241a00;font-weight:700}button.badge{cursor:pointer}.sheet.info{max-height:78vh}.info-law{color:var(--muted);margin:0;font-size:13px}.info-title{color:var(--primary);margin:2px 0 8px;font-size:18px}.info-title .art-title{color:var(--ink)}.info-text{background:var(--bg);font-size:calc(var(--fs) - 1px);border-radius:12px;padding:12px 14px}.info-actions{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 4px;display:flex}.info-h{margin:18px 0 6px;font-size:14px}.rev-list,.cite-list,.def-list,.num-list,.preset-list,.soon{margin:0;padding:0;list-style:none}.rev-list li{gap:10px;padding:3px 0;font-size:14px;display:flex}.rev-list li span{font-variant-numeric:tabular-nums;min-width:84px;color:var(--muted)}.rev-list li:first-child{font-weight:700}.cite-list button,.def-list button,.row-btn,.num-row button,.preset-list button{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;margin-bottom:6px;padding:9px 12px;font-size:14px;line-height:1.6;display:block}.cite-list b,.def-list b{color:var(--primary);font-size:13px;display:block}.term-plain{margin:4px 0 8px;font-size:16px;line-height:1.85}.btn{border:1px solid var(--line);background:var(--card);border-radius:12px;width:100%;margin:12px 0;padding:11px;font-weight:700;display:block}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--card)}.tool-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tool-card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;padding:14px;display:flex}.tool-card svg{color:var(--primary);width:28px;height:28px;margin-bottom:4px}.tool-card strong{font-size:16px}.tool-card .badge{align-self:flex-start;margin:4px 0 0}.num-row button{grid-template-columns:auto 1fr;align-items:start;gap:2px 10px;display:grid}.num-val{white-space:nowrap;background:var(--primary-soft);color:var(--primary);border-radius:8px;grid-row:span 2;padding:2px 8px;font-size:13px;font-weight:700}.num-val.k-金額{background:color-mix(in srgb, var(--accent) 18%, transparent);color:color-mix(in srgb, var(--accent) 55%, var(--ink))}.num-val.k-比例{background:color-mix(in srgb, var(--res) 15%, transparent);color:var(--res)}.num-clause{font-family:var(--read)}.num-clause b{background:var(--hl-y);border-radius:3px;padding:0 1px}.num-src{color:var(--muted);font-size:12px}.cmp-grid{gap:10px;display:grid}.cmp-grid.two{grid-template-columns:1fr 1fr;gap:8px}.cmp-card{background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:0;padding:10px 12px}.cmp-card header{align-items:flex-start;gap:4px;display:flex}.cmp-title{text-align:left;color:var(--primary);background:0 0;border:0;flex:1;padding:0;font-weight:700}.cmp-title small{color:var(--muted);font-size:12px;font-weight:400;display:block}.cmp-card .icon svg{width:18px;height:18px}.cmp-grid.two .cmp-text{font-size:calc(var(--fs) - 2px);line-height:1.75}.df{background:color-mix(in srgb, var(--accent) 30%, transparent);border-radius:2px}.preset-list strong{display:block}.quiz{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.quiz-src{color:var(--primary);margin:0;font-size:13px;font-weight:700}.quiz-q{font-family:var(--read);font-size:var(--fs);line-height:var(--lh);margin:8px 0 12px}.blank{text-align:center;border-bottom:2px solid var(--primary);min-width:4em;padding:0 4px;font-weight:700;display:inline-block}.blank.ok{color:var(--res);border-color:var(--res)}.blank.ng{color:var(--danger);border-color:var(--danger)}.quiz-opts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.opt{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px 8px;font-weight:700}.opt.ok{background:color-mix(in srgb, var(--res) 16%, var(--card));border-color:var(--res);color:var(--res)}.opt.ng{background:color-mix(in srgb, var(--danger) 14%, var(--card));border-color:var(--danger);color:var(--danger)}.opt:disabled{opacity:.5}.quiz-after{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.quiz-after .res{width:100%;margin:0;font-weight:700}.res.ok{color:var(--res)}.res.ng{color:var(--danger)}.quiz-after .btn{flex:1;margin:0}.soon li{border:1px dashed var(--line);border-radius:10px;flex-direction:column;margin-bottom:6px;padding:10px 12px;display:flex}.me-prog{gap:6px;display:grid}.settings.inline{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px 16px 12px}.badge.hot{font-family:var(--sans);letter-spacing:-.04em;background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);border:0;margin-left:0;font-size:11px}.badge.hot.lv2{background:color-mix(in srgb, var(--danger) 18%, transparent);font-weight:700}.badge.hot.lv3{background:var(--danger);color:#fff;font-weight:700}.info-title .badge{vertical-align:3px;margin-left:6px}.exam-card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:10px 0;padding:14px 16px}.exam-card .badge{margin-left:6px}.exam-stem{font-family:var(--read);font-size:var(--fs);line-height:var(--lh);margin:6px 0 10px}.exam-opts{gap:6px;display:grid}.eopt{text-align:left;border:1px solid var(--line);background:var(--bg);font-size:calc(var(--fs) - 2px);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;line-height:1.6;display:flex}.eopt b{background:var(--card);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.eopt.ok{border-color:var(--res);background:color-mix(in srgb, var(--res) 12%, var(--card))}.eopt.ok b{background:var(--res);border-color:var(--res);color:#fff}.eopt.ng{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--card))}.eopt.ng b{background:var(--danger);border-color:var(--danger);color:#fff}.eopt.dim{opacity:.6}.eopt:disabled{color:inherit}.exam-card .res{margin:10px 0 4px;font-weight:700}.exam-refs{margin-top:8px}.pick-box{background:var(--card);border:1px solid var(--line);border-radius:14px;max-height:52vh;margin:8px 0;padding:10px 12px;overflow:auto}.pick-head{align-items:center;gap:8px;display:flex}.pick-group{margin-top:8px}.pick-law{color:var(--primary);background:0 0;border:0;padding:4px 0 0;font-size:13px;font-weight:700}.pick-law:before{content:"○ "}.pick-law.on:before{content:"● "}.btn:disabled{opacity:.5}.run-head{justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.run-bar{background:var(--soft);border-radius:2px;height:4px;margin:8px 0;overflow:hidden}.run-bar em{background:var(--primary);height:100%;transition:width .2s;display:block}.run-nav{gap:8px;display:flex}.run-nav .btn{margin:4px 0}.quiz.result{text-align:center}.big-score{color:var(--primary);margin:6px 0 0;font-size:44px;font-weight:800}.big-score small{color:var(--muted);font-size:20px}.quiz.result .quiz-after .btn{flex:1}.model{margin-top:10px}.model-text{background:var(--bg);font-size:calc(var(--fs) - 1px);border-radius:12px;padding:12px 14px}.model-note{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent) 50%, var(--ink));border-radius:10px;margin:0 0 8px;padding:8px 12px;font-size:13px;line-height:1.7}.sheet-grip{background:var(--line);z-index:2;border-radius:2px;width:38px;height:4px;margin:-6px auto 2px;position:sticky;top:-8px}.topbar-title.as-btn{text-align:left;background:0 0;border:0;min-width:0;padding:0}.toc-jump{align-items:center;gap:6px;margin:2px 0 8px;font-size:14px;display:flex}.toc-jump input{border:1px solid var(--line);background:var(--bg);width:120px;font:inherit;color:inherit;border-radius:10px;padding:6px 10px}.toc-tree,.toc-sub{margin:0;padding:0;list-style:none}.toc-sub{border-left:1px solid var(--line);margin-left:11px;padding-left:18px}.toc-row{align-items:flex-start;display:flex}.toc-chev{width:24px;height:34px;color:var(--muted);background:0 0;border:0;flex:none;padding:0;font-size:13px}.toc-name{text-align:left;background:0 0;border:0;border-radius:8px;flex:1;justify-content:space-between;align-items:baseline;gap:8px;padding:7px 4px;font-size:15px;display:flex}.toc-name small{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.toc-tree>li>.toc-row .toc-name{font-weight:700}.toc-tree li.here>.toc-row .toc-name{color:var(--primary);background:var(--primary-soft)}.filter-box{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:8px;padding:4px 12px 10px}.filter-box .filter{width:100%}.review{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;margin:8px 0;padding:10px 14px 12px}.review.lv3{border-left-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.review.lv4,.review.lv5{border-left-color:var(--accent)}.review header{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.review-title{color:var(--primary);font-size:14px}.review-title small{color:var(--muted);font-size:12px;display:block}.review-text{font-size:calc(var(--fs) - 1px);margin-top:6px}.review-text.clamp{cursor:pointer;max-height:7.6em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.review-note{background:color-mix(in srgb, var(--hl-y) 45%, var(--card));white-space:pre-wrap;border-radius:10px;margin:8px 0 0;padding:8px 12px;font-size:14px;line-height:1.7}.link.small{font-size:13px}.pick-subj{margin:10px 0 0;font-size:14px;font-weight:800}.srange{padding:6px 0 2px}.srange-head{align-items:baseline;gap:8px;display:flex}.srange-head b{color:var(--primary)}.srange-body{touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px 4px}.srange-track{background:var(--soft);border-radius:3px;height:6px;position:relative}.srange-fill{background:var(--accent);border-radius:3px;position:absolute;top:0;bottom:0}.srange-thumb{background:var(--card);border:2px solid var(--accent);border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;position:absolute;top:50%;box-shadow:0 2px 6px #0000002e}.srange-thumb:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.srange-ticks{height:34px;margin-top:8px;position:relative}.srange-ticks span{color:var(--muted);white-space:nowrap;flex-direction:column;align-items:center;font-size:12px;display:flex;position:absolute;transform:translate(-50%)}.srange-ticks span:first-child{left:0}.srange-ticks span:nth-child(2){left:20%}.srange-ticks span:nth-child(3){left:40%}.srange-ticks span:nth-child(4){left:60%}.srange-ticks span:nth-child(5){left:80%}.srange-ticks span:nth-child(6){left:100%}.srange-ticks span.on{color:color-mix(in srgb, var(--accent) 65%, var(--ink));font-weight:700}.srange-ticks small{color:var(--muted);font-size:10.5px;font-weight:400}.frow{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.cdot{background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:grid}.cdot span{border:1px solid color-mix(in srgb, var(--ink) 15%, transparent);border-radius:50%;width:20px;height:20px}.cdot.on{border-color:var(--primary)}.stars.rate{touch-action:pan-y}.sno{background:color-mix(in srgb, var(--primary) 14%, transparent);width:18px;height:18px;color:var(--primary);font-size:11px;font-weight:800;line-height:1;font-family:var(--sans);vertical-align:1px;border-radius:50%;place-items:center;margin-right:4px;display:inline-grid}.chip.on .sno{background:color-mix(in srgb, var(--card) 30%, transparent);color:var(--card)}.countdown{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;flex:none;align-items:center;min-width:64px;padding:6px 10px;line-height:1.15;display:flex}.countdown b{color:var(--danger);font-size:24px}.countdown small{color:var(--muted);font-size:11px}.date-edit{align-items:center;gap:8px;margin:4px 0 10px;font-size:14px;display:flex}.date-edit input{border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;border-radius:10px;padding:6px 10px}.today{grid-template-columns:1.6fr 1fr;gap:10px;margin:12px 0;display:grid}.today-card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.today-card b{font-size:28px;line-height:1.2}.today-card b small{font-size:14px;font-weight:500}.today-card.lead{background:var(--primary);border-color:var(--primary);color:var(--card)}.today-card.lead .muted{color:inherit;opacity:.8}.today-card.lead.done{background:color-mix(in srgb, var(--res) 14%, var(--card));border-color:color-mix(in srgb, var(--res) 40%, var(--line));color:var(--ink)}.backup-tip{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent) 50%, var(--ink));border-radius:12px;margin:10px 0;padding:10px 12px;font-size:13px;line-height:1.6;display:block}.week{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px 8px}.week-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:6px;display:grid}.wd{color:var(--muted);flex-direction:column;align-items:center;gap:2px;display:flex}.wd.now{color:var(--primary);font-weight:700}.wbar{background:var(--soft);border-radius:7px;align-items:flex-end;width:14px;height:48px;display:flex;overflow:hidden}.wbar em{background:var(--primary);border-radius:7px;width:100%;display:block}.wd small{font-size:11px;line-height:1.2}.me-prog .star-lab{color:var(--ink);letter-spacing:0}.review.big .review-text{font-size:var(--fs)}.recall{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:12px;margin:14px 0 6px;padding:24px 12px}.grades{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.grade{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.grade b{font-size:16px}.grade small{color:var(--muted);font-size:11.5px}.grade.ng b{color:var(--danger)}.grade.mid b{color:color-mix(in srgb, var(--accent) 60%, var(--ink))}.grade.ok b{color:var(--res)}a.btn{text-align:center}.art{content-visibility:auto;contain-intrinsic-size:auto 220px}.art-text{touch-action:manipulation}.ln{display:block}.ln .nl{display:none}.ln-x[data-n]:before{content:attr(data-n);color:var(--primary);font-size:.9em;font-family:var(--sans);margin-right:.15em}.ln-k{text-indent:-2em;padding-left:2em}.ln-m{text-indent:-2em;padding-left:3.4em}.hit{background:color-mix(in srgb, var(--danger) 22%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 35%, transparent);border-radius:3px}.art.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 35%, transparent)}.star-mini{color:var(--accent);font-size:12px;font-weight:700}.art-actions{border-top:1px dashed var(--line);grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;padding-top:8px;animation:.15s pop;display:grid}.art-actions button{border:1px solid var(--line);background:var(--bg);white-space:nowrap;border-radius:10px;padding:8px 4px;font-size:13px}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.toast{z-index:60;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--ink);max-width:calc(100% - 32px);color:var(--bg);border-radius:999px;align-items:center;gap:14px;padding:10px 16px;font-size:14px;animation:.2s up;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.toast button{color:var(--accent);background:0 0;border:0;padding:0;font-weight:800}.intro{z-index:70;background:#0a0e128c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.intro-card{background:var(--card);border-radius:20px;width:min(420px,100%);padding:18px 20px 14px;animation:.25s up;box-shadow:0 10px 40px #0000004d}.intro-card h2{color:var(--primary);margin:4px 0 8px}.intro-card ul{margin:0;padding-left:1.2em;line-height:1.8}.intro-dots{justify-content:center;gap:6px;margin:14px 0 6px;display:flex}.intro-dots span{background:var(--line);border-radius:50%;width:7px;height:7px}.intro-dots span.on{background:var(--primary)}.intro-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.intro-nav .btn{flex:1;width:auto;margin:6px 0}.sync-card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0;padding:10px 14px;font-size:13.5px;line-height:1.7}.sync-card.synced{border-color:color-mix(in srgb, var(--res) 45%, var(--line));background:color-mix(in srgb, var(--res) 8%, var(--card))}.sync-card.error{border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.exp{background:var(--bg);border-left:3px solid var(--res);border-radius:12px;margin-top:10px;padding:10px 12px}.exp-h{color:var(--res);margin:0 0 4px;font-size:13px;font-weight:800}.exp-text{white-space:pre-wrap;font-size:14.5px;line-height:1.8}.me-prog .star-row{grid-template-columns:7.2em 1fr 2.6em}.me-prog .star-lab{white-space:nowrap}.today{align-items:start}.day-chips{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.day-chips .chip{flex:none}.account{gap:8px;display:grid}.acct-row{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;display:flex}.acct-actions .btn{margin:4px 0}.acct-form{gap:8px;display:grid}.acct-form input{border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;border-radius:10px;padding:10px 12px}.danger-text{color:var(--danger)}.page.doc h2{margin:22px 0 6px;font-size:17px}.page.doc ul{margin:0;padding-left:1.2em;line-height:1.85}.page.doc a{color:var(--primary);text-decoration:underline}
