:root{--purple:#3c066c;--purple-deep:#290449;--gold:#f4c44e;--ink:#251a30;--muted:#6c6076;--line:#e3dce9;--paper:#f7f5fa;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:var(--purple)}button,select,input{font:inherit}button,select{min-height:44px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c29000;outline-offset:3px}[hidden]{display:none!important}
.brandbar{height:86px;background:var(--purple);color:white;display:flex;align-items:center;gap:38px;padding:0 max(24px,calc((100% - 1280px)/2));border-bottom:4px solid var(--gold)}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-size:21px;font-weight:800;letter-spacing:.07em;line-height:1.2}.brand img{border-radius:8px}.brand-small{display:block;font-size:11px;letter-spacing:.2em;font-weight:500;margin-top:3px}.edition{font-size:14px;color:#e7d9f3}.edition span{padding:0 9px;color:#af92c7}.home-link{margin-left:auto;color:white;text-underline-offset:4px;font-size:14px}
main{max-width:1280px;margin:0 auto;padding:32px 24px 18px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:.11em;font-weight:700;color:var(--purple);margin:0 0 6px}h1{font-size:44px;letter-spacing:-.035em;line-height:1.1;margin:0}.title-dot{color:#bb8500}.intro{font-size:16px;color:var(--muted);margin:12px 0 0}.offline-note{font-size:13px;color:var(--purple);background:#ede5f5;border-radius:30px;padding:8px 13px}h2{font-size:20px;line-height:1.3;margin:0}h3{font-size:17px;margin:18px 0 6px}p{margin:0}
.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}.settings{padding:24px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 18px #29044904}.settings h2{margin-bottom:22px}.settings label:not(.check-row){display:block;font-size:14px;font-weight:700;margin:16px 0 7px}.settings>label:first-of-type{margin-top:0}select,input[type=number]{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #c9bfd4;border-radius:8px;background:white;color:var(--ink);padding:9px 28px 9px 11px;font-size:14px}.phase-note{font-size:13px;color:var(--muted);margin-top:6px}.field-pair{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px}.check-row{display:flex;gap:10px;font-size:14px;font-weight:700;align-items:flex-start;margin:22px 0 20px;cursor:pointer}.check-row input{width:18px;height:18px;margin:2px 0 0;flex:0 0 18px;accent-color:var(--purple)}.check-help{display:block;font-size:12px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:3px}.primary,.secondary{width:100%;border-radius:9px;padding:12px;font-weight:700;border:1px solid var(--purple);font-size:15px}.primary{background:var(--purple);color:white;margin-top:20px}.primary:hover{background:var(--purple-deep)}.secondary{background:#fff;color:var(--purple);margin-top:9px}.secondary:hover{background:#f5effb}.print-help{text-align:center;font-size:12px;color:var(--muted);margin-top:11px}.sound-note{font-size:13px;line-height:1.6;border-left:3px solid var(--gold);padding:9px 12px;background:#fff9e8;margin-top:16px}
.selection-info{padding:21px 24px;background:#efe7f7;border-left:4px solid var(--gold);border-radius:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.selection-info h2{font-size:23px;color:var(--purple);margin-top:3px}.selection-info #book-focus{font-size:14px;color:#5c4c69;margin-top:7px}.bank-badge{flex-shrink:0;font-size:11px;background:white;color:var(--purple);padding:5px 9px;border-radius:6px;font-weight:700;white-space:nowrap}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 15px}.result-toolbar h2{font-size:19px}#status{font-size:13px;color:var(--muted);text-align:right}.message{background:#fff5d7;border:1px solid #e6c86e;border-radius:9px;padding:12px 14px;color:#654b06;font-size:14px;margin-bottom:14px}.picture-note{font-size:13px;color:var(--muted);margin-bottom:16px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.sheet+.sheet{margin-top:13px}.print-header,.print-footer{display:none}.card{background:white;border:1px dashed #c6b7d3;border-radius:11px;overflow:hidden;min-width:0}.card-content{min-height:162px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 9px;gap:7px}.word{font-size:39px;line-height:1.2;font-weight:500;letter-spacing:.01em;color:#211828;max-width:100%;text-align:center;overflow-wrap:anywhere}.word.medium{font-size:31px}.word.long{font-size:24px}.picture{display:block;max-width:100%;width:134px;height:134px;object-fit:contain}.format-both .card-content{min-height:229px}.format-picture .card-content{min-height:212px}.format-picture .picture{width:168px;height:168px}.card-controls{border-top:1px solid #eee8f2;padding:9px;display:flex;align-items:center;gap:5px;background:#fcfbfd}.replace{min-height:34px;font-size:12px;padding:5px 25px 5px 7px;color:#5d4a6d;background:white;border-color:#dfd5e7}.source-tag{display:block;text-align:center;color:#75667f;font-size:11px;line-height:1.3;padding:0 8px 7px;background:#fcfbfd}.source-tag.practice{color:#866214}.review-note{font-size:12px;color:var(--muted);margin-top:18px}.empty{background:white;border:1px dashed #cebde0;border-radius:12px;text-align:center;padding:46px 24px}.empty-mark{font-size:44px;color:#bdaccc}.empty h3{margin:12px 0 7px}.empty p{font-size:14px;color:var(--muted);max-width:460px;margin:auto}
.reference{background:white;border:1px solid var(--line);border-radius:12px;margin-top:28px}.reference summary{padding:17px 22px;color:var(--purple);font-weight:700;font-size:14px;cursor:pointer}.reference-body{padding:0 22px 22px;font-size:14px;line-height:1.7}.reference-body>p{margin-top:8px}.reference-source{font-size:12px;color:var(--muted)}.book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:19px 0}.book-link{text-align:left;border:1px solid #e4dbea;background:#f9f7fc;border-radius:7px;padding:10px;font-size:13px;color:var(--purple)}.book-link[aria-current=true]{background:var(--purple);color:white;border-color:var(--purple)}.source-notes{padding-top:2px;border-top:1px solid var(--line)}.source-notes p+p{margin-top:9px}.source-notes ul{padding-left:20px}.source-notes li{margin-bottom:3px}footer{display:flex;gap:20px;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer a{font-weight:700;text-underline-offset:3px}footer span:last-child{margin-left:auto}
@media(max-width:1000px){.workspace{grid-template-columns:280px minmax(0,1fr);gap:18px}.settings{padding:20px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-info{flex-direction:column;gap:9px}.word{font-size:34px}.bank-badge{font-size:11px}}
@media(max-width:700px){.brandbar{height:74px;padding:0 16px;gap:18px}.brand{font-size:18px}.brand img{width:33px;height:33px}.brand-small{font-size:9px}.edition{display:none}.home-link{font-size:13px}main{padding:24px 16px 18px}.heading{margin-bottom:20px;gap:10px}.eyebrow{font-size:10px}h1{font-size:35px}.intro{font-size:14px;max-width:260px}.offline-note{display:none}.workspace{grid-template-columns:1fr;gap:22px}.settings{padding:20px}.selection-info{padding:18px}.result-toolbar{margin-top:20px;align-items:flex-start}.result-toolbar h2{font-size:18px}#status{font-size:12px}.card-grid{gap:10px}.sheet+.sheet{margin-top:10px}.card-content{min-height:142px}.word{font-size:34px}.word.medium{font-size:28px}.word.long{font-size:21px}.picture{width:112px;height:112px}.format-both .card-content{min-height:207px}.format-picture .card-content{min-height:185px}.format-picture .picture{width:147px;height:147px}.book-list{grid-template-columns:1fr}footer{flex-wrap:wrap;gap:9px 18px}footer span:last-child{margin-left:0;width:100%}}
.results.older .format-word .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.results.older .format-word .card-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@page{size:A4 portrait;margin:12mm}
@media print{
 :root{background:white;color:black}body{margin:0;background:white;-webkit-print-color-adjust:exact;print-color-adjust:exact}.brandbar,.heading,.settings,.selection-info,.result-toolbar,.message,.picture-note,.review-note,.reference,main>footer,.card-controls,.source-tag,noscript{display:none!important}
 .sound-note{display:none!important}main{padding:0;margin:0;max-width:none}.workspace{display:block}.results{width:100%;margin:0}#cards{margin:0}.sheet,.sheet+.sheet{height:272mm;margin:0;padding:0;display:flex;flex-direction:column;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}
 .print-header{height:13mm;flex:0 0 13mm;display:flex;align-items:center;justify-content:space-between;gap:5mm;border-bottom:.4mm solid #3c066c;font-size:9pt;line-height:1.25;margin-bottom:4mm;padding-bottom:2mm;color:#3c066c}.print-header strong{font-size:11pt}.print-header span{text-align:right;max-width:115mm}
 .results.older .format-word .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{height:242mm;flex:0 0 242mm;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:3mm}.card{border:.25mm dashed #867990;border-radius:0;break-inside:avoid;page-break-inside:avoid;display:flex;justify-content:center;align-items:center;min-height:0;overflow:hidden}.card-content,.format-both .card-content,.format-picture .card-content{width:100%;height:100%;min-height:0;max-height:100%;padding:4mm;gap:3mm}.word{font-size:32pt;color:black}.word.medium{font-size:27pt}.word.long{font-size:23pt}.picture,.format-picture .picture{width:43mm;height:43mm;max-width:100%;max-height:48mm}.format-picture .picture{width:59mm;height:59mm}.print-footer{display:flex;justify-content:space-between;align-items:center;gap:3mm;height:9mm;flex:0 0 9mm;font-size:8pt;color:#6c6076;line-height:1.2;padding-top:2mm}
}
