:root{--accent:#a47764;--correct:#34c759;--incorrect:#ff3b30;--volatile:var(--accent);--bg:#fff;--card:#f2f2f7;--grouped-bg:#f2f2f7;--grouped-card:#fff;--label:#000;--secondary:#3c3c4399;--tertiary:#3c3c434d;--separator:#3c3c434a;--sea:#c9deea;--xs:4px;--s:8px;--m:16px;--l:24px;--xl:32px;--radius-card:16px;--radius-button:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#000;--card:#1c1c1e;--grouped-bg:#000;--grouped-card:#1c1c1e;--label:#fff;--secondary:#ebebf599;--tertiary:#ebebf54d;--separator:#54545899;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--card:#1c1c1e;--grouped-bg:#000;--grouped-card:#1c1c1e;--label:#fff;--secondary:#ebebf599;--tertiary:#ebebf54d;--separator:#54545899;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--label);-webkit-font-smoothing:antialiased;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p{margin:0}.secondary{color:var(--secondary)}.accent{color:var(--accent)}.footnote{color:var(--secondary);font-size:13px}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:5;align-items:center;gap:var(--s);padding:10px var(--m);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--separator);min-height:48px;display:flex;position:sticky;top:0}.topbar .title{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.topbar .side{align-items:center;min-width:72px;display:flex}.topbar .side.end{justify-content:flex-end;gap:6px}.theme-btn{padding:6px 8px}.icon-btn{color:var(--accent);align-items:center;gap:2px;min-height:36px;padding:6px;display:inline-flex}.lang-switch{border:1px solid var(--accent);border-radius:8px;display:inline-flex;overflow:hidden}.lang-switch button{color:var(--accent);padding:3px 8px;font-size:13px;font-weight:600}.lang-switch button[aria-pressed=true]{background:var(--accent);color:#fff}main.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding-bottom:88px}main.page.grouped{background:var(--grouped-bg)}.tabbar{z-index:6;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--separator);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{width:100%;max-width:720px;display:flex}.tab{color:var(--secondary);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;display:flex}.tab.active{color:var(--accent)}.search{padding:var(--s) var(--m)}.search input{background:var(--card);width:100%;color:var(--label);font:inherit;border:0;border-radius:10px;padding:9px 12px;font-size:16px}.list{background:var(--bg)}.row{align-items:center;gap:var(--m);padding:12px var(--m);border-bottom:1px solid var(--separator);display:flex}.row .grow{flex:1;min-width:0}.row .chev{color:var(--tertiary)}.module-icon{border-radius:var(--radius-button);background:var(--accent);color:#fff;flex:none;place-items:center;width:48px;height:48px;display:grid}.progress{background:var(--card);border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.progress>span{background:var(--accent);height:100%;display:block}.section-header{padding:var(--m) var(--m) var(--xs);color:var(--accent);font-size:14px;font-weight:600}.summary{padding:var(--m);color:var(--secondary)}.lesson{padding:var(--m);gap:var(--m);flex-direction:column;display:flex}.lesson h1{font-size:32px;line-height:1.15}.meta{gap:var(--m);color:var(--secondary);flex-wrap:wrap;font-size:13px;display:flex}.meta span{align-items:center;gap:4px;display:inline-flex}.volatile-note{color:var(--volatile);align-items:center;gap:4px;font-size:13px;display:inline-flex}.block{gap:var(--s);flex-direction:column;display:flex}.b-h1{padding-top:var(--s);font-size:28px;font-weight:700}.b-h2{padding-top:var(--s);font-size:22px;font-weight:700}.b-h3{padding-top:var(--s);font-size:17px;font-weight:600}.list-items{gap:var(--s);flex-direction:column;display:flex}.list-item{gap:var(--s);align-items:baseline;display:flex}.list-item .mark{color:var(--accent);text-align:right;min-width:20px}.card{background:var(--card);border-radius:var(--radius-card);padding:var(--m)}.card.tint{background:color-mix(in srgb, var(--accent) 12%, transparent)}.keyterm .greek{color:var(--accent);font-size:20px;font-weight:600}.keyterm .tr{font-weight:500}.keyterm .ex{color:var(--secondary);font-size:15px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--secondary);padding:0 var(--m) var(--s) 0;font-size:15px;font-weight:600}td{padding:var(--s) var(--m) var(--s) 0;vertical-align:top;border-top:1px solid var(--separator)}.callout{gap:var(--s);border-radius:var(--radius-card);padding:var(--m);background:color-mix(in srgb, var(--accent) 12%, transparent);align-items:flex-start;display:flex}.callout svg{color:var(--accent);flex:none;margin-top:2px}.exam-q .prompt{gap:var(--s);font-weight:700;display:flex}.exam-q .prompt svg{color:var(--accent);flex:none;margin-top:2px}.exam-q .opts{gap:var(--s);margin:var(--m) 0;flex-direction:column;display:flex}.exam-q .opt{gap:var(--s);display:flex}.exam-q .opt .mark{color:var(--accent);min-width:22px}.exam-q .answer{border-top:1px solid var(--separator);padding-top:var(--s);font-size:15px}.exam-q .answer b{color:var(--accent)}.tl-row{padding:0}.tl-row+.tl-row{border-top:1px solid var(--separator);margin-top:var(--s);padding-top:var(--s)}.tl-main{gap:var(--m);align-items:baseline;display:flex}.tl-lead{color:var(--accent);flex:none;font-size:15px;font-weight:600}.tl-era{flex:1;min-width:0}.tl-part{color:var(--secondary);flex:1;font-size:15px}.tl-toggle{color:var(--accent);margin-top:var(--xs);align-items:center;gap:4px;font-size:15px;display:inline-flex}.tl-details{color:var(--secondary);margin-top:var(--xs);font-size:15px}.badge{background:color-mix(in srgb, var(--volatile) 15%, transparent);color:var(--volatile);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.sheet-backdrop{z-index:20;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:720px;padding:var(--m);gap:var(--m);border-radius:16px 16px 0 0;flex-direction:column;display:flex}.sheet h2{color:var(--volatile);align-items:center;gap:6px;font-size:17px;display:flex}.btn-primary{align-items:center;gap:var(--m);text-align:left;background:var(--accent);color:#fff;width:100%;padding:var(--m);border-radius:var(--radius-card);display:flex}.btn-bordered{border-radius:var(--radius-button);width:100%;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:12px;font-weight:600;display:flex}.btn-bordered .inner{align-items:center;gap:8px;display:inline-flex}.btn-link{min-height:44px;color:var(--accent);justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.lesson-end{gap:var(--m);padding-top:var(--m);flex-direction:column;display:flex}.map-svg{border-radius:var(--radius-card);background:var(--card);width:100%;height:auto;display:block}.map-legend{gap:4px var(--m);margin-top:var(--s);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));font-size:14px;display:grid}.map-legend li{align-items:baseline;gap:6px;list-style:none;display:flex}.map-legend .n{color:var(--accent);text-align:right;min-width:18px;font-weight:600}.map-legend ul{margin:0;padding:0;display:contents}.center{min-height:40vh;color:var(--secondary);text-align:center;padding:var(--m);place-items:center;display:grid}.btn-prominent{background:var(--accent);color:#fff;border-radius:var(--radius-button);justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-weight:600;display:flex}.btn-prominent:disabled,.btn-bordered:disabled{opacity:.4;cursor:default}.btn-row{gap:var(--m);padding:var(--m);border-top:1px solid var(--separator);background:var(--bg);display:flex;position:sticky;bottom:0}.btn-row>*{flex:1}.section-card{background:var(--grouped-card);border-radius:var(--radius-card);padding:var(--m);margin:var(--m);gap:var(--m);flex-direction:column;display:flex}.section-card h2{color:var(--accent);align-items:center;gap:8px;font-size:20px;display:flex}.toggle-row{justify-content:space-between;align-items:center;gap:var(--m);font-size:15px;display:flex}.switch{background:var(--tertiary);border-radius:16px;flex:none;width:51px;height:31px;transition:background .2s;position:relative}.switch[aria-checked=true]{background:var(--accent)}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.switch[aria-checked=true]:after{transform:translate(20px)}.grid-cells{gap:var(--s);grid-template-columns:repeat(auto-fill,minmax(52px,1fr));display:grid}.cell{border-radius:var(--radius-button);background:var(--card);border:2px solid #0000;place-items:center;height:48px;font-weight:600;display:grid;position:relative}.cell.answered{background:var(--accent);color:#fff}.cell.current{border-color:var(--label)}.cell .flag{color:var(--volatile);position:absolute;top:3px;right:4px}.cell.answered .flag{color:#fff}.timer{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:600;display:inline-flex}.timer.low{color:var(--incorrect)}.checkrow{align-items:center;gap:var(--m);padding:12px var(--m);border-bottom:1px solid var(--separator);text-align:left;width:100%;display:flex}.checkbox{border:2px solid var(--secondary);color:#fff;border-radius:11px;flex:none;place-items:center;width:22px;height:22px;display:grid}.checkbox.on{background:var(--accent);border-color:var(--accent)}.map-box{border-radius:var(--radius-card);background:var(--sea);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:min(62vh,520px);min-height:260px;position:relative;overflow:hidden}.map-box svg{display:block}.map-controls{flex-direction:column;gap:8px;display:flex;position:absolute;top:8px;right:8px}.map-controls button{width:34px;height:34px;color:var(--accent);background:#ffffffe6;border-radius:10px;place-items:center;display:grid;box-shadow:0 1px 3px #00000040}.chips{gap:var(--s);padding:var(--s) var(--m);scrollbar-width:none;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);white-space:nowrap;border-radius:999px;flex:none;padding:8px 16px;font-size:15px;font-weight:600}.chip.on{background:var(--accent);color:#fff}.pill{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-flex}.pill.solid{background:var(--accent);color:#fff;padding:4px 8px 4px 16px}.gdot{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:grid}.section-card .tight{margin-top:calc(-1 * var(--s))}.segmented{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:9px;gap:2px;padding:2px;display:flex}.segmented button{border-radius:7px;flex:1;padding:7px 4px;font-size:14px;font-weight:500}.segmented button[aria-checked=true]{background:var(--accent);color:#fff;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}.spin{color:var(--secondary);animation:1s linear infinite spin}.swatch{border:1px solid var(--tertiary);border-radius:3px;flex:none;width:22px;height:14px}
