:root{--paper:#F1F4F6;--paper-line:#CDD9E4;--card:#FFFEFB;--ink:#1E2A44;--ink-soft:#4A5875;--red:#B23A2E;--green:#3F7A5C;--chip:#E4EAEF;--input-bg:#FFFFFF;--header-bg:rgba(241,244,246,0.96);--border-soft:#B7C2CF;--dictation-bg:#FBEBE8;--dictation-bg-hover:#F7DCD7;--corrector-bg:#E4F2EA;--corrector-bg-hover:#D2E9DB;--blue:#2E5FA3;--misc-bg:#E3EBF7;--misc-bg-hover:#D2E0F2;--ok-bg:#E4F2EA;--bad-bg:#F7E6E3;--radius:14px;--line-step:14px;--shadow:0 2px 0 rgba(30,42,68,0.06),0 10px 24px -12px rgba(30,42,68,0.25)}html[data-theme=dark]{--paper:#181D2A;--paper-line:#232A3B;--card:#212739;--ink:#E7ECF3;--ink-soft:#9FB0C6;--red:#C44A3C;--green:#63C695;--chip:#2B3348;--input-bg:#242C40;--header-bg:rgba(24,29,42,0.96);--border-soft:#3A4358;--dictation-bg:#382426;--dictation-bg-hover:#452B2D;--corrector-bg:#1E3329;--corrector-bg-hover:#254539;--blue:#5B8FD6;--misc-bg:#1E2A45;--misc-bg-hover:#263455;--ok-bg:#1E3329;--bad-bg:#3A2624;--shadow:0 2px 0 rgba(0,0,0,0.2),0 10px 24px -12px rgba(0,0,0,0.5)}html[data-theme=dark] .load-error-banner{background:#3a2e1a;border-color:#c9822b;color:#f0c989}html[data-theme=dark] .load-error-banner a{color:#e2685a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'PT Serif',Georgia,serif;color:var(--ink);background:repeating-linear-gradient(to bottom,var(--paper) 0,var(--paper) calc(var(--line-step) - 1px),var(--paper-line) calc(var(--line-step) - 1px),var(--paper) var(--line-step));background-attachment:local}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.mono{font-family:'IBM Plex Mono',monospace}.sans{font-family:'PT Sans',sans-serif}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:2px}body .admin-only{display:none}body.is-admin .admin-only{display:inline-flex}body.is-admin .card-actions.admin-only{display:flex}body.is-admin p.admin-only{display:block}.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);font-weight:700;margin:0 0 12px;display:inline-block}h1{font-size:clamp(26px,3.6vw,38px);line-height:1.15;margin:0 0 16px;font-weight:700}h2{display:inline-block}.hero .cat-desc,.hero p{font-size:16px;color:var(--ink-soft);max-width:none;margin:0 0 14px;text-align:justify;text-justify:inter-word}.hero .cat-desc div{margin-top:10px}.breadcrumb{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-soft);margin:0 0 10px;display:inline-block}.breadcrumb a{color:var(--red);font-weight:700;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.hero-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hero-top-row .eyebrow{margin:0}.page-help{position:relative;display:inline-flex;vertical-align:top;margin-left:4px}.page-help .emblem-help-mark{position:relative;padding:0 0 0 1.5px}.page-help-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,4px);background:var(--ink);color:var(--paper);font-family:'PT Sans',sans-serif;font-weight:600;font-size:12.5px;padding:7px 12px;border-radius:7px;white-space:nowrap;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:20}.page-help:focus-visible .page-help-tooltip,.page-help:hover .page-help-tooltip{display:block;opacity:1;transform:translate(-50%,0)}.wod-badge{display:inline-flex;align-items:center;gap:7px;text-decoration:none;background:var(--card);border:1.5px solid var(--red);border-radius:20px;padding:5px 12px 5px 10px}.wod-badge:hover{background:var(--red)}.wod-badge .wod-label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--red)}.wod-badge:hover .wod-label{color:#fff}.wod-badge .wod-word{font-family:'PT Serif',serif;font-weight:700;font-size:13px;color:var(--ink)}.wod-badge:hover .wod-word{color:#fff}#count-note{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--red);font-weight:600;margin:0 0 16px;display:inline-block}.empty{text-align:center;padding:60px 20px;color:var(--ink-soft);font-family:'PT Sans',sans-serif}header{position:sticky;top:0;z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:2px solid var(--ink)}.masthead-wrap{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;padding:16px 16px 12px;min-width:0}.masthead{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:'PT Serif',serif;font-weight:700;font-size:clamp(17px,2.4vw,26px);line-height:1.25}.masthead .icon{font-size:1.25em;transform:translateY(-1px);display:inline-flex}.masthead .icon>svg{display:block;width:1em;height:1em}.emblem-tooltip svg{width:100%;height:100%}.icon-wrap{position:relative;display:inline-flex}.icon-wrap .emblem-help{position:absolute;top:-9px;left:-10px;display:inline-flex;align-items:center;justify-content:center}.emblem-help-mark{width:11px;height:11px;border-radius:50%;border:1.2px solid var(--border-soft);color:var(--ink-soft);font-family:'PT Sans',sans-serif;font-size:8px;font-weight:700;line-height:1;background:var(--paper);display:flex;align-items:center;justify-content:center;user-select:none;box-sizing:border-box}.emblem-help:focus-visible .emblem-help-mark,.emblem-help:hover .emblem-help-mark{border-color:var(--red);color:var(--red)}.emblem-hover{position:relative;cursor:help}.emblem-tooltip{display:none;position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%,6px);width:min(90vw,520px);aspect-ratio:620/420;background:var(--card);border:2px solid var(--ink);border-radius:16px;box-shadow:var(--shadow);padding:14px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:50;text-align:left}.emblem-tooltip::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(45deg);width:16px;height:16px;background:var(--card);border-left:2px solid var(--ink);border-top:2px solid var(--ink)}.emblem-hover:focus-within .emblem-tooltip,.emblem-hover:hover .emblem-tooltip{display:block;opacity:1;transform:translate(-50%,0)}.emblem-tooltip .et-t{font-family:'PT Serif',serif;font-weight:700;font-size:15px;fill:var(--ink)}.emblem-tooltip .et-s{font-family:'PT Sans',sans-serif;font-size:11.5px;fill:var(--ink-soft)}.emblem-tooltip .et-leader{stroke:var(--border-soft);stroke-width:1;stroke-dasharray:3 3}@media (max-width:640px){.emblem-tooltip{left:0;transform:translate(0,6px);width:min(94vw,420px)}.emblem-tooltip::before{left:24px;transform:translateX(0) rotate(45deg)}.emblem-hover:focus-within .emblem-tooltip,.emblem-hover:hover .emblem-tooltip{transform:translate(0,0)}.masthead{flex-direction:column;gap:6px;text-align:center;min-width:0;max-width:100%;word-break:break-word}}.subnav{border-top:1px dashed #c7d6e3;padding:10px 24px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;max-width:1280px;margin:0 auto}.subnav-links{display:flex;gap:2px;flex-wrap:nowrap;flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.subnav a{font-family:'PT Sans',sans-serif;font-weight:700;font-size:13px;padding:6px 9px;border-radius:8px;text-decoration:none;color:var(--ink-soft);white-space:nowrap;flex-shrink:0}.subnav a.current,.subnav a:hover{background:var(--chip);color:var(--ink)}.search-global{margin-left:auto;display:flex;align-items:center;gap:8px;border:1.5px solid var(--ink);border-radius:9px;background:var(--input-bg);padding:6px 10px;min-width:120px;flex:0 1 260px;max-width:360px;position:relative}.search-global:focus-within{outline:3px solid var(--red);outline-offset:1px}.search-global input{border:none;outline:0;flex:1;min-width:0;font-family:'PT Sans',sans-serif;font-size:13.5px;background:0 0;color:var(--ink)}.search-suggest{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:35;background:var(--card);border:1.5px solid var(--ink);border-radius:10px;box-shadow:var(--shadow);max-height:340px;overflow-y:auto;padding:6px}.search-suggest.open{display:block}.search-suggest a{display:block;text-decoration:none;color:var(--ink);padding:8px 10px;border-radius:7px;font-family:'PT Sans',sans-serif;font-size:13.5px}.search-suggest a.active,.search-suggest a:hover{background:var(--chip)}.search-suggest a .s-word{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12.5px;color:var(--red);display:block}.search-suggest a .s-rule{color:var(--ink-soft);font-size:12px;display:block;margin-top:2px}.search-suggest .s-more{padding:8px 10px;font-size:12.5px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace}.search-suggest .s-empty{padding:10px;font-size:13px;color:var(--ink-soft);font-family:'PT Sans',sans-serif}.theme-toggle{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);background:var(--input-bg);color:var(--ink);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.theme-toggle:hover{background:var(--chip)}.theme-toggle[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red)}.admin-emblem-toggle{position:absolute;right:24px;bottom:12px;z-index:2;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);background:var(--card);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.admin-emblem-toggle:hover{border-color:var(--red)}.admin-emblem-toggle.is-logged-in{border-color:var(--red);box-shadow:0 0 0 2px rgba(178,58,46,.18)}@media (max-width:600px){.admin-emblem-toggle{right:12px;bottom:12px;width:30px;height:30px}}body.large-text{zoom:1.18}.favorites-link{flex:0 0 auto;display:flex;align-items:center;gap:4px;text-decoration:none;font-weight:700;font-size:13.5px;color:var(--ink-soft);padding:6px 10px;border-radius:8px}.favorites-link.current,.favorites-link:hover{background:var(--chip);color:var(--ink)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.card-top-right{display:flex;align-items:center;gap:4px;flex:0 0 auto}.fav-star{width:30px;height:30px;border:none;background:0 0;cursor:pointer;font-size:18px;color:var(--border-soft);line-height:1;padding:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center}.ex-share-btn{width:26px;height:26px;padding:0;border:none;background:0 0;font-size:14px;flex:0 0 auto;border-radius:6px;display:flex;align-items:center;justify-content:center;line-height:1}.ex-share-btn:hover{background:var(--chip)}.fav-star.active,.fav-star:hover{color:var(--red)}.hero{padding-top:44px;padding-bottom:36px;border-bottom:2px dashed var(--ink)}.stats{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--ink-soft);margin:18px auto 0;max-width:none}.load-error-banner{margin:16px auto 0;max-width:560px;padding:12px 16px;text-align:center;background:#fef3e2;border:1.5px solid #c9822b;border-radius:10px;font-family:'PT Sans',sans-serif;font-size:13.5px;color:#7a4a0f;line-height:1.5}.load-error-banner a{color:var(--red);font-weight:700;text-decoration:underline}.stats span{padding:2px 0}.stats b{color:var(--red);font-size:15px}.toc{padding:40px 0 8px}.toc h2{font-size:22px;margin:0 0 4px}.toc>p{color:var(--ink-soft);margin:0 0 20px;font-size:14.5px;display:inline-block}.toc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width:1050px){.toc-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:860px){.toc-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:650px){.toc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:430px){.toc-grid{grid-template-columns:repeat(1,1fr)}}.toc-tile{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);padding:16px 16px 14px;box-shadow:var(--shadow);cursor:pointer}.toc-tile .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--red);font-weight:600}.toc-tile h3{margin:6px 0 4px;font-size:16.5px;background:0 0;display:block}.toc-tile p{margin:0;font-size:13px;color:var(--ink-soft)}.toc-tile p.count{color:var(--red);font-weight:700}.toc-grid-special{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.toc-tile-dictation{display:flex;align-items:center;gap:16px;text-decoration:none;background:var(--dictation-bg);border:1.5px solid var(--red);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);cursor:pointer;color:var(--ink)}.toc-tile-dictation .dict-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-family:'IBM Plex Mono',monospace}.toc-tile-dictation .dict-body{flex:1}.toc-tile-dictation .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.toc-tile-dictation h3{margin:4px 0;font-size:17px;color:var(--red);background:0 0;display:block}.toc-tile-dictation p{margin:0;font-size:13.5px;color:var(--ink-soft)}.toc-tile-dictation p.count{color:var(--red);font-weight:700}.toc-tile-dictation:hover{background:var(--dictation-bg-hover)}.toc-tile-corrector{display:flex;align-items:center;gap:16px;text-decoration:none;background:var(--corrector-bg);border:1.5px solid var(--green);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);cursor:pointer;color:var(--ink)}.toc-tile-corrector .dict-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-family:'IBM Plex Mono',monospace}.toc-tile-corrector .dict-body{flex:1}.toc-tile-corrector .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--green);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.toc-tile-corrector h3{margin:4px 0;font-size:17px;color:var(--green);background:0 0;display:block}.toc-tile-corrector p{margin:0;font-size:13.5px;color:var(--ink-soft)}.toc-tile-corrector p.count{color:var(--green);font-weight:700}.toc-tile-corrector:hover{background:var(--corrector-bg-hover)}.toc-tile-misc{display:flex;align-items:center;gap:16px;text-decoration:none;background:var(--misc-bg);border:1.5px solid var(--blue);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);cursor:pointer;color:var(--ink)}.toc-tile-misc .dict-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-family:'IBM Plex Mono',monospace}.toc-tile-misc .dict-body{flex:1}.toc-tile-misc .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--blue);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.toc-tile-misc h3{margin:4px 0;font-size:17px;color:var(--blue);background:0 0;display:block}.toc-tile-misc p{margin:0;font-size:13.5px;color:var(--ink-soft)}.toc-tile-misc p.count{color:var(--blue);font-weight:700}.toc-tile-misc:hover{background:var(--misc-bg-hover)}@media (max-width:900px){.toc-grid-special{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.toc-grid-special{grid-template-columns:1fr}}.toolbar{padding:14px 0}.search{display:flex;align-items:center;gap:10px;border:2px solid var(--ink);border-radius:10px;background:var(--input-bg);padding:9px 14px;margin-bottom:12px}.search input{border:none;outline:0;flex:1;font-family:'PT Sans',sans-serif;font-size:15px;background:0 0;color:var(--ink)}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}#fcCats,#gradeChips,#kindChips,#variantCats,.dict-cat-chips,.ex-cat-chips{justify-content:center}#kindChips{margin-bottom:10px}.chip{font-family:'IBM Plex Mono',monospace;font-size:12.5px;padding:7px 12px;border-radius:20px;border:1.5px solid var(--ink);background:var(--chip);cursor:pointer;user-select:none;text-decoration:none;color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.section-tabs{display:flex;justify-content:center;gap:4px;border-bottom:2px solid var(--border-soft);margin:0 0 20px}.section-tab{font-family:'PT Sans',sans-serif;font-weight:700;font-size:14.5px;padding:10px 18px;border:none;background:0 0;cursor:pointer;color:var(--ink-soft);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;text-decoration:none;display:inline-block}.section-tab:hover{color:var(--ink)}.section-tab.active{color:var(--ink);border-bottom-color:var(--tab-accent,var(--ink))}.se-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding-bottom:16px;border-bottom:2px solid var(--border-soft)}.se-tab-btn{font-family:'PT Sans',sans-serif;font-weight:700;font-size:12.5px;padding:7px 13px;border-radius:20px;border:1.5px solid var(--border-soft);background:var(--chip);cursor:pointer;color:var(--ink-soft);white-space:nowrap}.se-tab-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.se-tab-btn:hover{border-color:var(--ink)}#adminToastHost{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:320px;pointer-events:none}.admin-toast{background:var(--ink);color:var(--paper);padding:14px 16px;border-radius:10px;font-family:'PT Sans',sans-serif;font-size:13.5px;line-height:1.4;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;pointer-events:auto}.admin-toast-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:8px;border:1.4px solid var(--paper);border-radius:50%;font-size:11px;font-weight:700;line-height:1;cursor:help;flex-shrink:0;vertical-align:middle}.admin-toast-help-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);right:-6px;background:var(--paper);color:var(--ink);font-family:'PT Sans',sans-serif;font-weight:400;font-size:12.5px;line-height:1.4;padding:9px 12px;border-radius:8px;white-space:normal;width:220px;box-shadow:var(--shadow);pointer-events:none;z-index:1}.admin-toast-help:focus-visible .admin-toast-help-tooltip,.admin-toast-help:hover .admin-toast-help-tooltip{display:block}.admin-toast.show{opacity:1;transform:translateY(0)}main{padding:20px 0 80px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;align-items:start}.grid:has(.card-tile),.grid:has(.card.static){align-items:stretch}.card{position:relative;background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 18px 16px;cursor:pointer}.card::before{content:"";position:absolute;top:-1px;left:10px;right:10px;height:10px;background-image:radial-gradient(circle at 8px 0,var(--paper) 5px,transparent 5.5px);background-size:16px 10px;background-repeat:repeat-x}.card.static{cursor:default}.card.grid-span-full{grid-column:1/-1}.card .badge{min-width:34px;height:34px;border-radius:20px;flex:0 0 auto;border:2px solid var(--red);color:var(--red);font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;transform:rotate(-8deg);padding:2px 7px;white-space:nowrap;box-sizing:border-box}.card .cat{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px;margin:0;flex:1;min-width:0}.card-head .cat{padding-top:6px}.ex-topic{font-family:'PT Sans',sans-serif;font-weight:700;font-size:12.5px;color:var(--red);margin:0 0 8px}.card h3{margin:0 0 8px;font-size:19px;line-height:1.25;background:0 0}.card-tile h3{text-align:center;margin-top:4px}.source-note{font-style:italic;text-align:right;font-size:12.5px;color:var(--ink-soft);margin-top:14px}.practice-link-row{margin-top:16px}.practice-link-row .btn{width:100%;justify-content:center;padding:12px 14px;font-size:14.5px}.card .teaser{font-size:14px;color:var(--ink-soft);margin:0;text-align:justify;text-justify:inter-word;overflow-wrap:normal;word-break:normal;hyphens:none}.card .expand-hint{margin-top:12px;font-family:'PT Sans',sans-serif;font-size:12.5px;color:var(--red);font-weight:700}.card-tile{height:auto;display:flex;flex-direction:column;overflow:hidden}.card-tile .teaser{flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.card-tile .expand-hint{margin-top:auto;padding-top:8px}.card-tile-word{justify-content:center;padding-top:16px;padding-bottom:14px}.card-tile-word .expand-hint{margin-top:12px;padding-top:0;text-align:center}.card-tile .compare-pair,.card-tile h3{flex-shrink:0}.detail{margin-top:14px;padding-top:14px;border-top:1px dashed #b7c2cf;font-size:14.5px;display:none}.detail.open{display:block}.detail dt{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);text-transform:uppercase;margin-top:10px}.detail dt:first-child{margin-top:0}.detail dd{margin:3px 0 0}.errors{color:var(--red);font-weight:600}.card-actions{gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed #b7c2cf}.icon-btn{font-family:'PT Sans',sans-serif;font-size:12.5px;font-weight:700;border:1.5px solid var(--border-soft);background:var(--input-bg);color:var(--ink-soft);border-radius:8px;padding:6px 10px;cursor:pointer}.icon-btn:hover{border-color:var(--ink);color:var(--ink)}.icon-btn.danger:hover{border-color:var(--red);color:var(--red)}mark{background:0 0;color:var(--red);padding:0;font-weight:700}.speak-btn{border:none;background:0 0;cursor:pointer;font-size:.62em;vertical-align:middle;padding:2px 4px;border-radius:6px;opacity:.75}.speak-btn:hover{opacity:1;background:var(--chip)}.related-link{color:var(--red);font-weight:700;text-decoration:none;background:0 0;border:none;padding:0;font-family:'PT Serif',Georgia,serif;font-size:inherit;cursor:pointer}.related-link:hover{text-decoration:underline}.draft-badge{display:inline-flex;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--ink-soft);border-radius:5px;padding:2px 7px;margin-bottom:6px}.compare-pair{display:flex;align-items:center;gap:10px;margin:2px 0 4px;flex-wrap:wrap}.compare-word{font-family:'PT Serif',serif;font-weight:700;font-size:17px;display:inline-flex;align-items:center;gap:2px}.compare-vs{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-soft);text-transform:uppercase}.exam-timer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.exam-timer{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:16px;color:var(--red);border:1.5px solid var(--red);border-radius:20px;padding:6px 14px}.exam-summary{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:20px}.exam-summary h2{margin:0 0 8px;font-size:20px}.exam-review{list-style:none;margin:14px 0 0;padding:0}.exam-review li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px dashed var(--border-soft);font-size:13px}.exam-review li:first-child{border-top:none}.exam-review .mark{flex:0 0 auto;font-weight:700}.exam-review-clickable li{cursor:pointer;border-radius:8px;transition:background .15s}.exam-review-clickable li:focus,.exam-review-clickable li:hover{background:var(--chip);outline:0}.exam-review li.right .mark{color:var(--green)}.exam-review li.wrong .mark{color:var(--red)}.answer-correct-flash{border-color:var(--green)!important;animation:.9s ease-out correctPulse}@keyframes correctPulse{0%{box-shadow:0 0 0 0 rgba(63,122,92,.55)}100%{box-shadow:0 0 0 14px rgba(63,122,92,0)}}.flashcard{max-width:520px;margin:0 auto;min-height:220px;perspective:1000px;cursor:pointer;position:relative}.flashcard-face{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.flashcard-back,.flashcard.flipped .flashcard-front{display:none}.flashcard.flipped .flashcard-back{display:flex;text-align:center;align-items:center}.flashcard-front h3{font-size:24px}.flashcard-back h3{font-size:20px}.flashcard-back .cat,.flashcard-front .cat{align-self:center;margin-bottom:8px}.alpha-index{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:0;background:var(--card);border:1.5px solid var(--ink);border-radius:8px;padding:5px 2px;box-shadow:var(--shadow);max-height:min(64vh,380px);overflow-y:auto;scrollbar-width:thin}.alpha-letter{font-family:'IBM Plex Mono',monospace;font-size:8.5px;text-align:center;width:14px;line-height:12px;border-radius:3px;text-decoration:none}a.alpha-letter{color:var(--ink);cursor:pointer}a.alpha-letter:hover{background:var(--chip);color:var(--red)}.alpha-letter.disabled{color:var(--ink-soft);opacity:.3}@media (max-width:1150px){.alpha-index{display:none}}body.large-text .alpha-index{zoom:0.6;right:6px}.bulk-toggle-row{width:100%;margin-top:8px}.bulk-checkbox{position:absolute;top:12px;left:12px;width:18px;height:18px;z-index:3;display:none;cursor:pointer}.bulk-bar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:41;background:var(--card);border:1.5px solid var(--ink);border-radius:14px;box-shadow:var(--shadow);padding:10px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:92vw}.bulk-bar input,.bulk-bar select{font-family:'PT Sans',sans-serif;font-size:13px;padding:7px 9px;border:1.5px solid var(--border-soft);border-radius:8px;background:var(--input-bg);color:var(--ink)}@media (max-width:700px){.bulk-bar{left:12px;right:12px;transform:none;bottom:12px}}.site-editor-catlist{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.site-editor-catrow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1.5px solid var(--border-soft);border-radius:10px;padding:10px 14px}.site-editor-catname{font-family:'PT Sans',sans-serif;font-weight:700;font-size:14px}.site-editor-catbtns{display:flex;gap:6px;flex-wrap:wrap}.block-editor-item{border:1.5px solid var(--border-soft);border-radius:10px;padding:12px;margin-bottom:12px;background:var(--card)}.block-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.para-item{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px}.para-item textarea{flex:1;min-height:70px}.para-item-btns{flex-direction:column}.grid-equal{align-items:stretch}.grid-equal .res-card{display:flex;flex-direction:column}.res-card p{font-size:14px;color:var(--ink-soft);margin:0 0 12px;flex:1;text-align:justify;text-justify:inter-word}.res-card a.go{display:inline-block;font-family:'PT Sans',sans-serif;font-weight:700;font-size:13px;color:var(--red);text-decoration:none;border-bottom:1.5px solid var(--red);align-self:flex-start}.ex-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ex-opt{text-align:left;font-family:'PT Sans',sans-serif;font-size:14.5px;border:1.5px solid var(--border-soft);border-radius:8px;background:var(--input-bg);padding:10px 12px;cursor:pointer}.ex-opt:hover{border-color:var(--ink)}.ex-opt.correct{background:var(--green);border-color:var(--green);color:#fff}.ex-opt.wrong{background:var(--red);border-color:var(--red);color:#fff}.ex-options-multi{gap:6px}.ex-check{display:flex;align-items:center;gap:9px;font-family:'PT Sans',sans-serif;font-size:14.5px;border:1.5px solid var(--border-soft);border-radius:8px;background:var(--input-bg);padding:10px 12px;cursor:pointer}.ex-check input{width:auto;flex:0 0 auto}.ex-check:has(input:disabled){opacity:.7;cursor:default}.ex-matching{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ex-match-row{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border-soft);border-radius:8px;padding:8px 12px;background:var(--input-bg)}.ex-match-left{flex:1;font-family:'PT Sans',sans-serif;font-size:14px;font-weight:700}.ex-match-arrow{color:var(--ink-soft);flex:0 0 auto}.ex-match-select{flex:1;font-family:'PT Sans',sans-serif;font-size:13.5px;padding:6px 8px;border:1.5px solid var(--border-soft);border-radius:6px;background:var(--card)}.ex-order-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.ex-order-row{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border-soft);border-radius:8px;padding:8px 12px;background:var(--input-bg)}.ex-order-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11.5px}.ex-order-text{flex:1;font-family:'PT Sans',sans-serif;font-size:13.5px}.ex-order-btns{display:flex;gap:4px;flex:0 0 auto}.ex-find-text{font-size:15.5px;line-height:2.2;margin-top:10px;overflow-wrap:normal;word-break:normal;hyphens:none}.ex-find-word{cursor:pointer;border-radius:4px;padding:1px 2px;transition:background .15s;white-space:nowrap}.ex-find-word:hover{background:var(--chip)}.ex-find-word.picked{background:var(--blue);color:#fff}.ex-find-word.picked-right{background:var(--green);color:#fff}.ex-find-word.picked-wrong{background:var(--red);color:#fff}.ex-input-row{display:flex;gap:8px;margin-top:12px}.ex-input-row input{flex:1;font-family:'PT Sans',sans-serif;font-size:14.5px;padding:9px 11px;border:1.5px solid #b7c2cf;border-radius:8px}.dictation-text{font-size:15.5px;line-height:2.4;margin-top:10px;overflow-wrap:normal;word-break:normal;hyphens:none}.ex-word-nowrap{white-space:nowrap}.ex-heading{font-weight:700;text-align:center;font-family:'PT Sans',sans-serif;font-size:15.5px;margin:14px 0 8px}.ex-heading:first-child{margin-top:0}.ex-body-text{text-align:justify;margin:0 0 12px;overflow-wrap:normal;word-break:normal;hyphens:none;text-indent:1.5em}.dictation-text .ex-body-text,.ex-find-text .ex-body-text{font-size:15.5px;line-height:2.2}.gap-field{font-family:'IBM Plex Mono',monospace;font-size:14px;text-align:center;border:1.5px solid var(--border-soft);border-radius:6px;padding:3px 5px;margin:0 3px;background:var(--input-bg)}input.gap-field{width:3.8em}select.gap-field{padding:3px 4px 3px 6px;width:91px;max-width:91px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-feedback{margin-top:12px;padding:10px 12px;border-radius:8px;font-family:'PT Sans',sans-serif;font-size:14px;display:none}body.teacher-submit-active #scorePill,body.teacher-submit-active .answer-correct-flash,body.teacher-submit-active .ex-feedback,body.teacher-submit-active .ex-solved-mark{display:none!important}.teacher-submit-card{max-width:520px;margin:0 auto;text-align:center;padding:32px 28px}.teacher-submit-card .field{text-align:left;margin-bottom:16px}.teacher-submit-note{background:var(--chip);border:1.5px dashed var(--border-soft);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--ink-soft);text-align:left;margin:16px 0}.teacher-submit-sent{max-width:480px;margin:60px auto;text-align:center;padding:36px 28px}.teacher-submit-sent .big-check{font-size:48px;margin-bottom:12px}.ex-feedback.show{display:block}.ex-feedback.ok{background:var(--ok-bg);color:var(--green);border:1.5px solid var(--green)}.ex-feedback.bad{background:var(--bad-bg);color:var(--red);border:1.5px solid var(--red)}.ex-show-explain-btn{margin-left:8px;padding:2px 9px;font-size:12.5px;font-family:'PT Sans',sans-serif;font-weight:700;border:1.5px solid currentColor;border-radius:6px;background:0 0;color:inherit;cursor:pointer;vertical-align:middle}.ex-show-explain-btn:hover{background:rgba(63,122,92,.12)}.ex-inline-explain{display:none;margin-top:8px;line-height:1.5}.ex-inline-explain.show{display:block}.quick-links.ex-retry-row{display:none}.ex-feedback.show~.quick-links.ex-retry-row{display:flex}.corrector-field.has-hint,.ex-match-select.has-hint,.gap-field.has-hint{cursor:help;box-shadow:0 0 0 2px rgba(178,58,46,.25)}.score-pill{display:inline-flex;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:13px;background:var(--card);border:1.5px solid var(--red);color:var(--red);font-weight:600;border-radius:20px;padding:8px 16px}.builder-card{margin-bottom:22px}.builder-card label.chip{cursor:pointer;user-select:none}.builder-row{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}.builder-row input[type=number]{width:70px;padding:6px 8px;border:1.5px solid #b7c2cf;border-radius:6px;font-family:'PT Sans',sans-serif}.constructor-teaser{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-family:'PT Sans',sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-soft);text-decoration:none;border-bottom:1.5px dashed var(--ink-soft);padding-bottom:2px;transition:color .15s,border-color .15s}.constructor-teaser .mono{color:var(--red);font-size:12px}.constructor-teaser:hover{color:var(--red);border-bottom-color:var(--red);border-bottom-style:solid}.quick-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}.quick-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-family:'PT Sans',sans-serif;font-weight:700;font-size:13px;color:var(--ink);background:var(--chip);border:1.5px solid var(--ink);border-radius:20px;padding:8px 14px}.quick-link:hover{background:var(--ink);color:var(--paper)}.quick-link.active{background:var(--red);border-color:var(--red);color:#fff}.spelling-cards{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}.spelling-card{flex:1 1 200px;font-family:'PT Serif',Georgia,serif;font-size:19px;font-weight:700;padding:26px 18px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);color:var(--ink);cursor:pointer;text-align:center;box-shadow:var(--shadow)}.spelling-card:hover:not(:disabled){background:var(--chip)}.spelling-card.right{border-color:var(--green);background:var(--ok-bg);color:var(--green)}.spelling-card.wrong{border-color:var(--red);background:var(--bad-bg);color:var(--red)}.spelling-card:disabled{cursor:default}@media (max-width:560px){.spelling-cards{flex-direction:column}}.fab{position:fixed;right:24px;bottom:86px;z-index:40;font-family:'PT Sans',sans-serif;font-weight:700;font-size:15px;border:2px solid var(--ink);border-radius:30px;padding:14px 22px;background:var(--red);color:#fff;box-shadow:var(--shadow);cursor:pointer}.fab.secondary{right:auto;left:24px;bottom:86px;background:var(--ink)}.online-counter{position:fixed;left:24px;bottom:24px;z-index:39;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;background:var(--card);border:1.5px solid var(--ink);border-radius:50%;width:38px;height:38px;box-shadow:var(--shadow);color:var(--ink);display:flex;align-items:center;justify-content:center}.online-counter .dot{display:none}.online-counter::before{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(63,122,92,.5);animation:2s infinite onlinePulse}@keyframes onlinePulse{0%{box-shadow:0 0 0 0 rgba(63,122,92,.45)}70%{box-shadow:0 0 0 6px rgba(63,122,92,0)}100%{box-shadow:0 0 0 0 rgba(63,122,92,0)}}#backToTopBtn{position:fixed;right:24px;bottom:24px;z-index:38;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(30,42,68,.55);color:#fff;font-size:19px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow);opacity:0;transition:opacity .2s,background .15s;backdrop-filter:blur(2px)}#backToTopBtn.show{display:flex}#backToTopBtn.show.visible{opacity:1}#backToTopBtn:hover{background:rgba(178,58,46,.75)}.chat-assistant-panel{position:fixed;right:24px;top:64px;z-index:41;width:min(340px,calc(100vw - 32px));max-height:min(480px,70vh);background:var(--card);border:1.5px solid var(--ink);border-radius:14px;box-shadow:var(--shadow);display:none;flex-direction:column;overflow:hidden}#chatAssistantWidget.open .chat-assistant-panel{display:flex}#chatAssistantToggle{background:var(--red);color:#fff;border-color:var(--red);font-size:15px}#chatAssistantToggle:hover{background:var(--ink)}.chat-assistant-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px;background:var(--ink);color:var(--paper);font-family:'PT Sans',sans-serif;font-weight:700;font-size:13px;line-height:1.35;flex-shrink:0}.chat-assistant-header span{flex:1;text-align:left}.chat-assistant-header button{background:0 0;border:none;color:var(--paper);font-size:15px;cursor:pointer;padding:2px 4px}.chat-assistant-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;font-family:'PT Sans',sans-serif;font-size:13.5px;line-height:1.45}.chat-msg{max-width:85%;padding:8px 12px;border-radius:10px;white-space:pre-wrap;word-break:break-word}.chat-msg-bot{align-self:flex-start;background:var(--chip);color:var(--ink)}.chat-msg-user{align-self:flex-end;background:var(--red);color:#fff}.chat-msg-typing{align-self:flex-start;background:var(--chip);color:var(--ink-soft);font-style:italic}.chat-assistant-form{display:flex;gap:6px;padding:10px;border-top:1.5px solid var(--border-soft);flex-shrink:0}.chat-assistant-form input{flex:1;border:1.5px solid var(--border-soft);border-radius:8px;padding:8px 10px;font-family:'PT Sans',sans-serif;font-size:13.5px;background:var(--input-bg);color:var(--ink)}.chat-assistant-form button{width:36px;border:none;border-radius:8px;background:var(--red);color:#fff;font-size:16px;cursor:pointer;flex-shrink:0}@media (max-width:600px){.chat-assistant-panel{right:12px;left:12px;top:60px}.online-counter{left:12px;bottom:12px;width:32px;height:32px;font-size:11px}.fab.secondary{left:12px;bottom:70px}.fab{right:12px;bottom:70px}#backToTopBtn{right:12px;bottom:70px;width:38px;height:38px;font-size:16px}}.overlay{position:fixed;inset:0;background:rgba(30,42,68,.45);z-index:50;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.overlay.open{display:flex}.modal{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);max-width:640px;width:100%;padding:26px 26px 22px;box-shadow:var(--shadow);position:relative;max-height:88vh;overflow-y:auto}.modal-view{padding-top:16px;max-width:820px}#overlay .modal,#overlayEx .modal{max-width:960px}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;font-size:15px;line-height:1;z-index:5}.modal-close:hover{background:var(--chip)}.modal-view .card{border:none;box-shadow:none;padding:0;background:0 0}.modal-view .card-head{padding-right:44px}.modal-view .card::before{display:none}.modal h2{margin-top:0;font-size:22px;background:0 0}.modal .hint{font-size:13px;color:var(--ink-soft);margin-top:-8px;margin-bottom:18px}.field{margin-bottom:14px}.field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;font-family:'PT Sans',sans-serif;font-size:14.5px;color:var(--ink);border:1.5px solid var(--border-soft);border-radius:8px;padding:9px 11px;background:var(--input-bg)}.field textarea{min-height:64px;resize:vertical}.field textarea.growable-line{min-height:38px;height:38px;resize:vertical;line-height:1.4;font-family:'PT Sans',sans-serif}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}@media (max-width:560px){.row3{grid-template-columns:1fr}}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.hidden{display:none!important}.btn{font-family:'PT Sans',sans-serif;font-weight:700;font-size:14px;border:2px solid var(--ink);border-radius:10px;padding:8px 14px;background:0 0;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--red);border-color:var(--red);color:#fff}.btn-ghost{background:0 0;border:2px solid #b7c2cf;color:var(--ink-soft)}.sitemap{border-top:2px dashed var(--ink);padding:36px 0;position:relative}.sitemap h2{font-size:20px;margin:0 0 6px}.sitemap-intro{color:var(--ink-soft);font-size:14px;margin:0 0 22px;display:inline-block;max-width:none}.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.sitemap-col h3{font-family:'IBM Plex Mono',monospace;font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);margin:0 0 10px;padding-bottom:6px;border-bottom:1.5px solid var(--ink);display:block}.sitemap-col ul{list-style:none;margin:0;padding:0}.sitemap-col li{margin-bottom:7px}.sitemap-col a{font-family:'PT Sans',sans-serif;font-size:13.5px;color:var(--ink-soft);text-decoration:none}.sitemap-col a:hover{color:var(--red);text-decoration:underline}.feedback-corner-btn{position:absolute;right:24px;bottom:20px;font-family:'PT Sans',sans-serif;font-weight:700;font-size:13px;border:2px solid var(--ink);border-radius:24px;padding:9px 16px;background:var(--card);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.feedback-corner-btn:hover{background:var(--ink);color:#fff}@media (max-width:820px){.sitemap-grid{grid-template-columns:repeat(2,1fr)}.feedback-corner-btn{position:static;margin-top:24px}}@media (max-width:480px){.sitemap-grid{grid-template-columns:1fr}}footer{position:relative;border-top:2px solid var(--ink);padding:24px 0 40px;font-family:'PT Sans',sans-serif;font-size:13px;color:var(--ink-soft)}footer .foot-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}footer .foot-note{margin-top:8px;font-size:12px}.admin-toggle{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#9aa7b8;text-decoration:none;border:none;background:0 0;cursor:pointer;padding:0}.admin-toggle:hover{color:var(--ink-soft)}.admin-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media (max-width:820px){.subnav{padding:10px 16px;flex-wrap:wrap}.search-global{max-width:none;width:100%;margin-left:0;flex-basis:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}#progressReportPrint,#variantPrintTarget{display:none}.pr-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:18px}.pr-title{font-family:'PT Serif',serif;font-size:22px;font-weight:700}.pr-meta{font-family:'PT Sans',sans-serif;font-size:13px;color:var(--ink-soft);text-align:right;line-height:1.6}.pr-meta b{color:var(--ink)}.pr-stats{display:flex;gap:18px;margin-bottom:18px}.pr-stat{border:1.5px solid var(--border-soft);border-radius:10px;padding:10px 16px;font-family:'PT Sans',sans-serif}.pr-stat b{display:block;font-size:20px;font-family:'PT Serif',serif}.pr-cat-row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px dashed var(--border-soft);font-family:'PT Sans',sans-serif;font-size:13px}.pr-list li{display:flex;gap:8px;padding:5px 0;border-top:1px dashed var(--border-soft);font-family:'PT Sans',sans-serif;font-size:12.5px}.pr-list .mark{font-weight:700;flex:0 0 auto}.pr-list li.right .mark{color:var(--green)}.pr-list li.wrong .mark{color:var(--red)}.pr-footer{margin-top:22px;padding-top:10px;border-top:1px solid var(--border-soft);font-size:11px;color:var(--ink-soft);font-family:'PT Sans',sans-serif}@media print{body.printing-progress-report>:not(#progressReportPrint){display:none!important}body.printing-progress-report #progressReportPrint{display:block!important;position:static!important;padding:20px!important;color:#000!important}body.printing-variant-report>:not(#variantPrintTarget){display:none!important}body.printing-variant-report #variantPrintTarget{display:block!important;position:static!important;padding:20px!important;color:#000!important}.pr-ex-item{padding:10px 0;border-top:1px dashed var(--border-soft);font-family:'PT Sans',sans-serif;font-size:12.5px}.pr-ex-item .pr-ex-q{margin:0 0 4px;font-weight:700}.pr-ex-item .pr-ex-extra{margin:0 0 4px;color:var(--ink-soft)}.pr-ex-item .pr-ex-a{color:var(--green)}body.printing-single-card>:not(#overlayView){display:none!important}body.printing-single-card #overlayView{position:static!important;background:0 0!important;display:block!important;padding:0!important}body.printing-single-card #overlayView .modal{box-shadow:none!important;border:none!important;max-width:none!important;padding:0!important}body.printing-single-card #overlayView .modal-close{display:none!important}body.printing-single-card .card.print-target{box-shadow:none!important;border:none!important;padding:0!important}body.printing-single-card .card.print-target::before{display:none!important}body.printing-single-card .card.print-target .detail{display:block!important}body.printing-single-card .card.print-target .card-actions,body.printing-single-card .card.print-target .expand-hint,body.printing-single-card .card.print-target .fav-star{display:none!important}}.manual-preview-popup{position:fixed;z-index:200;width:420px;max-width:calc(100vw - 24px);pointer-events:none;opacity:0;transition:opacity .12s;filter:drop-shadow(0 12px 28px rgba(30,42,68,.35))}.manual-preview-popup.show{opacity:1}.manual-preview-popup .card{cursor:default;max-height:70vh;overflow-y:auto}.manual-preview-popup .card::before{display:none}.variant-settings-grid{display:flex;flex-direction:column;gap:12px;margin-top:14px}.vs-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.vs-label{flex:0 0 auto;width:230px;font-size:12.5px;color:var(--ink-soft);line-height:1.3}.vs-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 auto}.vs-controls input[type=number]{padding:8px 10px;border:1.5px solid var(--border-soft);border-radius:8px;font-family:'PT Sans',sans-serif;font-size:14px;background:var(--input-bg);color:var(--ink)}@media (max-width:680px){.vs-row{flex-direction:column;align-items:flex-start;gap:6px}.vs-label{width:auto}}.ex-textwork-source{background:var(--input-bg)}.ex-textwork-input{resize:vertical;box-sizing:border-box}.ex-textwork-input:focus{outline:2px solid var(--red);outline-offset:1px}.ex-sort-pool{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px;min-height:38px;padding:10px;border:1.5px dashed var(--border-soft);border-radius:8px}.ex-sort-chip{font-family:'PT Sans',sans-serif;font-weight:700;font-size:13.5px;padding:7px 12px;border:1.5px solid var(--ink);border-radius:20px;background:var(--card);color:var(--ink);cursor:pointer}.ex-sort-chip:hover:not(:disabled){background:var(--chip)}.ex-sort-chip.selected{background:var(--ink);color:var(--paper)}.ex-sort-chip.right{border-color:var(--green);color:var(--green);background:var(--ok-bg)}.ex-sort-chip.wrong{border-color:var(--red);color:var(--red);background:var(--bad-bg);cursor:help}.ex-sort-chip:disabled{cursor:default}.ex-sort-table{display:grid;gap:10px;margin-bottom:10px}.ex-sort-col{border:1.5px solid var(--border-soft);border-radius:8px;overflow:hidden}.ex-sort-col-head{font-family:'PT Sans',sans-serif;font-weight:700;font-size:13px;text-align:center;background:var(--ink);color:#fff;padding:8px 6px;cursor:pointer}.ex-sort-col-body{min-height:70px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;cursor:pointer;background:var(--card)}@media (max-width:640px){.ex-sort-table{grid-template-columns:1fr!important}}.ex-no-copy{user-select:none;-webkit-user-select:none;-moz-user-select:none}.ex-media-protect{display:none;margin-top:14px;border:1.5px solid var(--border-soft);border-radius:10px;overflow:hidden;background:var(--input-bg)}.ex-feedback.show~.ex-media-protect{display:block}.ex-media-protect img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}.ex-media-protect iframe{display:block;width:100%;height:420px;border:none}.ex-extra-text{font-size:15px;line-height:1.9;margin:0 0 14px;background:var(--input-bg);border-radius:8px;padding:10px 14px}.ex-solved-mark{position:absolute;top:12px;left:12px;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:2}.score-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:6px}.forms-mode-toggle{display:flex;gap:16px;margin:4px 0 8px;font-size:13px;color:var(--ink-soft)}.forms-mode-toggle label{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:600}.forms-mode-toggle input{width:auto}.forms-table-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:8px 0;font-family:'PT Sans',sans-serif;font-size:13px}.forms-table-controls label{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-soft)}.forms-table-controls input[type=number]{width:56px;padding:5px 6px;border:1.5px solid var(--border-soft);border-radius:6px;background:var(--input-bg)}table.forms-table-edit{border-collapse:collapse;width:100%;margin-top:6px}table.forms-table-edit td{border:1.5px solid var(--border-soft);padding:3px;position:relative}table.forms-table-edit input{width:100%;border:none;background:0 0;padding:6px 8px 6px 22px;font-family:'PT Sans',sans-serif;font-size:13px;color:var(--ink);text-align:center}.ft-select-handle{position:absolute;top:2px;left:2px;width:15px;height:15px;padding:0;font-size:10px;line-height:13px;border:1.3px solid var(--border-soft);border-radius:3px;background:var(--card);color:var(--green);cursor:pointer;z-index:1}body.modal-scroll-lock{overflow:hidden}.ft-td.ft-selected{background:var(--ok-bg)}.ft-td.ft-bold-cell input,table.forms-mini-table .ft-bold-cell{font-weight:700}.ft-td.ft-italic-cell input,table.forms-mini-table .ft-italic-cell{font-style:italic}.ft-col-header-toggle.active,.ft-col-subheader-toggle.active,.ft-row-header-toggle.active,.ft-row-subheader-toggle.active{background:var(--red);color:#fff;border-color:var(--red)}.ft-td.ft-subheader-cell{background:rgba(228,234,239,.45)}.ft-td.ft-subheader-cell input{font-weight:700}table.forms-mini-table th.ft-subheader-cell{background:rgba(228,234,239,.45)}table.forms-table-edit input:focus{outline:2px solid var(--red);outline-offset:-2px;background:var(--card)}table.forms-mini-table{border-collapse:collapse;margin-top:4px}table.forms-mini-table td,table.forms-mini-table th{border:1.5px solid var(--border-soft);padding:6px 14px;font-size:14px;text-align:center}table.forms-mini-table th{background:var(--chip);font-family:'PT Sans',sans-serif;font-weight:700;color:var(--ink)}.extra-cat-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}.extra-cat-row select{flex:1.3}.extra-cat-row input{flex:1}.extra-cat-row .icon-btn{flex:0 0 auto}.card-nav-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--border-soft)}.card-nav-row .card-nav-pos{font-size:12px;color:var(--ink-soft);flex:0 0 auto}.card-nav-row button.quick-link[disabled]{opacity:.35;cursor:default;pointer-events:none}.stress-picker-field{position:sticky;top:8px;z-index:6;width:104px;margin:0 0 12px auto;background:var(--input-bg);border:1.5px solid var(--border-soft);border-radius:9px;box-shadow:var(--shadow);overflow:hidden}.stress-picker-field.open{width:150px}.stress-picker-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;font-family:'PT Sans',sans-serif;font-weight:700;font-size:12px;color:var(--ink-soft);background:0 0;border:none;padding:8px 10px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.stress-picker-toggle:hover{color:var(--red)}.stress-picker-arrow{transition:transform .15s;font-size:11px}.stress-picker-field.open .stress-picker-arrow,.symbol-picker-field.open .stress-picker-arrow{transform:rotate(180deg)}.stress-picker-body{display:none;padding:0 8px 8px}.stress-picker-field.open .stress-picker-body,.symbol-picker-field.open .stress-picker-body{display:block}.stress-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.stress-pair{display:contents}.stress-btn{font-family:'PT Serif',serif;font-size:13px;font-weight:700;padding:4px 0;border:1.5px solid var(--border-soft);border-radius:6px;background:var(--card);color:var(--ink);cursor:pointer}.stress-btn:hover{background:var(--chip);border-color:var(--red)}.stress-btn.just-copied{background:var(--red);border-color:var(--red);color:#fff}.stress-picker-hint{font-family:'PT Sans',sans-serif;font-size:10px;color:var(--ink-soft);line-height:1.3;margin:7px 0 0}@media (max-width:640px){.stress-picker-field,.stress-picker-field.open{position:static;width:100%;margin:0 0 14px}.stress-picker{grid-template-columns:repeat(6,1fr)}}.symbol-picker-field{position:sticky;top:8px;z-index:6;width:126px;margin:0 auto 12px 0;background:var(--input-bg);border:1.5px solid var(--border-soft);border-radius:9px;box-shadow:var(--shadow);overflow:hidden}.symbol-picker-field.open{width:150px}.symbol-picker{display:flex;flex-direction:column;gap:4px;padding:0 8px 8px}.symbol-btn{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;padding:5px 6px;text-align:center;border:1.5px solid var(--border-soft);border-radius:6px;background:var(--card);color:var(--ink);cursor:pointer}.symbol-btn:hover{background:var(--chip);border-color:var(--red)}.symbol-btn.just-copied{background:var(--red);border-color:var(--red);color:#fff}@media (max-width:640px){.symbol-picker-field,.symbol-picker-field.open{position:static;width:100%;margin:0 0 14px}.symbol-picker{flex-direction:row;flex-wrap:wrap}.symbol-btn{flex:0 0 auto}}.custom-page-heading{font-family:'PT Serif',serif;font-weight:700;font-size:22px;color:var(--red);margin:28px 0 12px;padding-bottom:8px;border-bottom:1.5px solid var(--border-soft);display:block}.custom-page-content .custom-page-heading:first-child{margin-top:0}.custom-page-rich div:not(.custom-page-heading){margin:0 0 14px}.custom-page-rich div:last-child:not(.custom-page-heading){margin-bottom:0}.rte-host{border:1.5px solid var(--border-soft);border-radius:9px;overflow:hidden;background:var(--input-bg)}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;background:var(--chip);border-bottom:1.5px solid var(--border-soft)}.rte-btn{width:26px;height:26px;border:1.5px solid var(--border-soft);border-radius:6px;background:var(--card);font-family:'PT Serif',serif;font-size:13px;color:var(--ink);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.rte-btn:hover{border-color:var(--red)}.rte-btn.active{background:var(--red);border-color:var(--red);color:#fff}.rte-toolbar select{height:26px;font-family:'PT Sans',sans-serif;font-size:11.5px;color:var(--ink-soft);border:1.5px solid var(--border-soft);border-radius:6px;background:var(--card);padding:0 4px;max-width:120px;cursor:pointer}.rte-sep{width:1px;height:20px;background:var(--border-soft);margin:0 2px}.rte-color-label{position:relative;width:26px;height:26px;border:1.5px solid var(--border-soft);border-radius:6px;background:var(--card);display:flex;align-items:center;justify-content:center;font-family:'PT Serif',serif;font-weight:700;font-size:13px;color:var(--ink);cursor:pointer;overflow:hidden}.rte-color-label:hover{border-color:var(--red)}.rte-color-label input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.rte-color-label::after{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:3px;border-radius:2px;background:var(--color-swatch,var(--ink))}.rte-color-label-mark::after{background:var(--mark-swatch,#fff59d)}.rte-area{min-height:70px;padding:10px 12px;font-family:'PT Serif',serif;font-size:15px;color:var(--ink);outline:0;line-height:1.5;resize:vertical;overflow:auto}.rte-area:empty::before{content:attr(data-placeholder);color:var(--ink-soft);opacity:.75}.rte-host:focus-within{border-color:var(--ink)}