@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/poppins-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/poppins-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/poppins-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/poppins-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/andika-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/andika-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/andika-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/andika-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/andika-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/andika-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/noto-naskh-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/noto-naskh-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}:root{--bg: #f7f3ea;--surface: #ffffff;--text: #1f2430;--muted: #5b5345;--border: #d9cfbb;--control-border: #8f836c;--accent: #1e3a5f;--accent-soft: #d6e2ee;--on-accent-soft: #162b47;--notice-bg: #f4e6c7;--notice-border: #ddb565;--danger: #b03a2e;--danger-soft: #f9e0da;--success: #2f7d5b;--success-soft: #edf6f1;--practicing: #6b4b1b;--star: #c8963e;--focus: #8a6223;--radius: 12px;--tap: 48px;--font-scale: 1;color-scheme:light;font-family:Andika,Noto Naskh Arabic,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:calc(18px * var(--font-scale));line-height:1.5;color:var(--text)}:root[data-contrast=high]{--bg: #ffffff;--text: #000000;--muted: #1f1f1f;--border: #000000;--control-border: #000000;--accent: #0033a0;--on-accent-soft: #000000;--notice-border: #000000;--danger: #8a1c0c;--success: #0b4d25;--practicing: #5c3700;--focus: #0033a0}:root[data-contrast=high] .track-label{color:var(--text);background:var(--surface);border:1px solid var(--text)}:root[data-contrast=high] .work-card{background:var(--surface)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent)}h1,h2{overflow-wrap:anywhere}h1,h2,h3,.brand{font-family:Poppins,Noto Naskh Arabic,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}code{font-size:.9em}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:64px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);font-weight:700;color:var(--text);text-decoration:none}.site-nav{display:flex;align-items:center;gap:16px}.site-nav a:not(.button),.site-footer-links a{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:600}.site-footer{max-width:720px;margin:0 auto;padding:16px 16px 32px;border-top:1px solid var(--border)}.site-footer-links{display:flex;flex-wrap:wrap;gap:0 24px}.app-main{max-width:720px;margin:0 auto;padding:24px 16px 48px}.muted{color:var(--muted)}.notice{padding:16px;background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:var(--radius)}.notice p{margin:.25em 0}.counts{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.counts th,.counts td{min-height:var(--tap);padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.counts td{text-align:right;font-variant-numeric:tabular-nums}.counts tbody tr:last-child th,.counts tbody tr:last-child td{border-bottom:none}.counts thead th{font-size:.85em;color:var(--muted)}.counts thead th:last-child{text-align:right}.app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.app-nav a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 12px;border-radius:var(--radius);color:var(--text);text-decoration:none}.app-nav a.active{font-weight:700;color:var(--on-accent-soft);background:var(--accent-soft)}.button.menu-toggle{display:none}@media(max-width:899px){.button.menu-toggle{display:inline-flex}.app-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding-bottom:12px}.app-nav.open{display:flex}.app-nav a,.app-nav .button{justify-content:flex-start}}.skip-link{position:absolute;top:-100px;left:8px;z-index:10;padding:12px 16px;background:var(--surface);border-radius:var(--radius)}.skip-link:focus{top:8px}.app-main:focus{outline:none}.narrow{max-width:440px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:16px}.stack-lg{display:flex;flex-direction:column;gap:24px}.stack-lg>h1,.stack-lg>h2{margin-bottom:0}.stack>h2,.stack>h3{margin:0}.panel{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.panel h2{margin-top:0}.panel.stack>h2,.panel.stack>h3{margin:0}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;border:0}.field>label,.field>legend{font-weight:600;padding:0}.section-hint,.page-intro{margin:0 0 8px;font-size:.9em;color:var(--muted)}.page-intro{max-width:65ch;font-size:1em}.field-hint{margin:0;font-size:.9em;color:var(--muted)}.field-error,.form-error{margin:0;color:var(--danger);font-weight:600}input:not([type=radio],[type=checkbox],[type=file]),select{min-height:var(--tap);width:100%;padding:8px 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius)}textarea{width:100%;box-sizing:border-box;padding:12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button,a,label,summary,select,input,[role=button]{touch-action:manipulation}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);min-width:var(--tap);padding:0 20px;font:inherit;font-weight:600;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius);cursor:pointer}.button.primary{color:var(--on-accent-soft);background:var(--accent-soft);border-color:var(--accent)}.button.danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.button.link{color:var(--accent);background:none;border:none;padding:0 12px}.button:disabled{opacity:.6;cursor:default}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}.avatar-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;font-size:1.8em;background:var(--surface);border:2px solid var(--control-border);border-radius:var(--radius);cursor:pointer}.avatar-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.avatar-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.avatar-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.child-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;font-size:1.8em;line-height:1}.child-avatar.large{width:72px;height:72px;font-size:3em}.child-name{font-weight:700}.child-rows{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.child-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.child-row-text{display:flex;flex-direction:column;flex:1;min-width:120px}.confirm{flex-basis:100%}.confirm p{margin:0 0 8px}.brand-mark{margin:8px 0}.child-welcome{display:flex;flex-direction:column;align-items:center;text-align:center}.child-welcome h1{margin-bottom:.25em}.unlock{max-width:440px;margin:0 auto 24px}.button.link.inline{min-height:var(--tap);padding:0 4px}input[type=file]{min-height:var(--tap);font:inherit}.confirm-danger{padding:16px;border:2px solid var(--danger);border-radius:var(--radius)}.confirm-danger p{margin:0}.day-toggles{display:flex;flex-wrap:wrap;gap:8px}.day-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:var(--tap);padding:0 12px;font-weight:600;background:var(--surface);border:2px solid var(--control-border);border-radius:var(--radius);cursor:pointer}.day-toggle input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.day-toggle:has(input:checked){color:var(--on-accent-soft);background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.day-toggle:has(input:checked):before{content:"✓";margin-right:4px}:root[data-contrast=high] .day-toggle:has(input:checked){color:var(--surface);background:var(--text)}.day-toggle:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.plain-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.list-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px}.schedule-table{width:100%;border-collapse:collapse;font-size:.9em}.schedule-table th,.schedule-table td{padding:8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.schedule-table thead th{color:var(--muted)}.schedule-table tbody th{white-space:nowrap}.schedule-buffer td{color:var(--muted)}.schedule-break{background:var(--bg)}.schedule-break td:nth-child(2){font-style:italic}.schedule-table tr[aria-current=date]{outline:2px solid var(--accent);outline-offset:-2px}.sticky-actions{position:sticky;bottom:0;padding:12px 0;background:var(--bg)}.this-week-title{margin-bottom:0;font-size:1.2em;font-weight:700}@media(max-width:520px){.schedule-table thead{display:none}.schedule-table tr{display:grid;grid-template-columns:1fr;padding:8px 0;border-bottom:1px solid var(--border)}.schedule-table th,.schedule-table td{padding:2px 8px;border:none}}.done{font-weight:700;color:var(--success)}.waiting{font-weight:700;color:var(--practicing)}.tag.waiting{color:var(--practicing);border-color:var(--practicing)}.back-link,.row-link{display:inline-flex;align-items:center;min-height:var(--tap)}.work-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.work-header h1{margin:0}.work-section{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.work-section h2{margin:0 0 .25em;font-size:1.1em}.work-section p{margin:.25em 0}.rich-blocks>p,.rich-blocks>ul,.rich-blocks>ol{margin:0 0 .75em}.rich-blocks>:last-child{margin-bottom:0}.rich-blocks li+li{margin-top:.25em}.rich-blocks ul,.rich-blocks ol{padding-left:1.5em}.real-things{padding:16px;background:var(--accent-soft);border:2px solid var(--accent);border-radius:var(--radius)}.real-things h2{margin:0}.real-things-fold{margin-top:12px;padding:16px;border:2px dashed var(--control-border);border-radius:var(--radius)}.material-placeholder{margin-top:8px;padding:16px;border:2px dashed var(--border);border-radius:var(--radius)}.material-name{font-weight:700}.button.big{width:100%;min-height:64px;font-size:1.2em}.work-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none}.work-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--track-tint, var(--surface));border:2px solid var(--border);border-radius:var(--radius)}.work-card.state-done{border-color:var(--success)}.work-card.state-waiting{border-color:var(--practicing)}.work-card-link{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:var(--tap);color:var(--text);text-align:center;text-decoration:none}.work-card-link .track-icon,.track-marks .track-icon{padding:6px;background:var(--surface);border-radius:50%}.track-label{display:inline-block;padding:2px 10px;color:var(--track-ink, var(--text));background:var(--track-tint, var(--surface));border-radius:999px;font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.work-card-title{font-size:1.15em;font-weight:600}.work-card-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:8px;background:var(--surface);border-radius:var(--radius)}.work-card-actions p{margin:0;text-align:center}.work-card-actions .done,.work-card-actions .waiting{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px}.star{flex:none;fill:var(--star)}.clock{flex:none;fill:none;stroke:var(--practicing);stroke-width:4;stroke-linecap:round}.work-card-actions .star,.work-card-actions .clock{width:32px;height:32px}.week-star{padding:16px;text-align:center;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius)}.week-star.complete{border-color:var(--star)}.week-star p{margin:0 0 12px;font-size:1.2em;font-weight:700}.star-message{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.track-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.track-marks li{padding:2px;border:3px solid transparent;border-radius:50%;opacity:.45}.track-marks li.done{border-color:var(--success);opacity:1}.week-progress{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.week-progress label{font-weight:700}.week-progress progress{width:100%;height:20px;accent-color:var(--success)}.plan-track{padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-left-width:6px;border-radius:var(--radius)}.plan-track h2{margin:0 0 4px;font-size:1.1em}.plan-rows{margin:0;padding:0;list-style:none}.plan-row+.plan-row{border-top:1px solid var(--border)}.plan-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.plan-check{display:flex;flex:1 1 240px;align-items:center;gap:12px;min-height:var(--tap);cursor:pointer}.plan-check input{flex:none;width:28px;height:28px;accent-color:var(--success)}.plan-check input:checked+span{color:var(--muted)}.plan-row>p{margin:0 0 8px 40px}.tag{padding:2px 8px;font-size:.8em;color:var(--muted);border:1px solid var(--border);border-radius:999px}.work-card .tag{background:var(--surface)}.instructions{margin:0 0 12px 40px;padding:12px 16px;background:var(--bg);border-radius:var(--radius)}.instructions p{margin:.25em 0}.reflection{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.reflection h2{margin:0;font-size:1.1em}.plan-order{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:plan}.plan-order li{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);counter-increment:plan}.plan-order li:before{content:counter(plan);flex:none;width:1.6em;font-weight:700;color:var(--muted)}.plan-order li.done-row{border-color:var(--success)}.plan-order-text{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0}.plan-order-text a{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:600}.plan-order-moves{display:flex;flex:none;gap:4px}.plan-order-moves .button{padding:0;font-size:1.2em}.journal{display:grid;gap:8px;margin:0;padding:0;list-style:none}.journal-entry{padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.journal-entry p{margin:.2em 0}.journal-when{font-weight:700}.field-row{display:flex;flex-wrap:wrap;gap:12px}.field-row>.field{flex:1 1 140px}.child-weeks{display:grid;gap:16px;margin:0;padding:0;list-style:none}.child-week-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.child-week-head h2{flex:1 1 auto;margin:0;font-size:1.2em}.parent-works{display:grid;gap:6px;margin:0;padding:0;list-style:none}.parent-works li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:4px 8px 4px 12px;border:1px solid var(--border);border-radius:var(--radius)}.parent-works li.flagged{background:var(--notice-bg);border-color:var(--notice-border)}.parent-work-text{display:flex;flex:1 1 260px;flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0}.parent-work-text a{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:600}.parent-work-actions{display:flex;flex-wrap:wrap;gap:6px}.status{padding:2px 8px;font-size:.8em;font-weight:700;border-radius:999px;border:1px solid var(--border)}.status-presented{color:var(--accent);border-color:var(--accent)}.status-practicing{color:var(--practicing);border-color:var(--practicing)}.status-mastered{color:var(--success);border-color:var(--success)}.checkin-items{display:grid;gap:8px;margin:0;padding:0;list-style:none}.checkin-items fieldset{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius)}.checkin-items legend{float:left;flex:1 1 260px;padding:0}.checkin-choices{display:flex;flex-wrap:wrap;gap:8px}.choice{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 12px;border:1px solid var(--control-border);border-radius:var(--radius);cursor:pointer}.choice:has(input:checked){font-weight:700;color:var(--on-accent-soft);background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.rolled summary{padding:12px 0;font-weight:600;cursor:pointer}.rolled[open] summary{margin-bottom:6px}.map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.map-legend li{display:inline-flex;align-items:center;gap:8px}.map-legend .map-dot{width:24px;height:24px;min-width:0}.map-track h2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;font-size:1.1em}.map-track h2 .muted{font-size:.85em;font-weight:400}.map-path{display:grid;gap:10px;margin:0;padding:12px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.map-row ol{position:relative;display:flex;justify-content:space-between;gap:4px;max-width:320px;margin:0;padding:0;list-style:none}.map-row ol:before{content:"";position:absolute;top:50%;left:24px;right:24px;border-top:3px dotted var(--border)}.map-row.reverse ol{flex-direction:row-reverse}.map-dot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);min-width:var(--tap);box-sizing:border-box;font-weight:700;color:var(--muted);text-decoration:none;background:var(--surface);border:3px solid var(--border);border-radius:50%}.map-dot.locked{border-style:dashed;background:transparent}.status-dot-presented{color:var(--accent);border-color:var(--accent)}.status-dot-practicing{color:var(--practicing);background:var(--notice-bg);border-color:var(--practicing)}.status-dot-mastered{color:var(--success);background:var(--success-soft);border-color:var(--success)}.report-table{width:100%;border-collapse:collapse;background:var(--surface)}.report-table th,.report-table td{padding:8px 10px;overflow-wrap:anywhere;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.report-table thead th{font-size:.85em;color:var(--muted)}.report-table td,.report-table thead th:not(:first-child){width:1%;overflow-wrap:normal}.report-table td .status{white-space:nowrap}.report-text,.standard-text{white-space:pre-line}.report-text{display:block;font-weight:400;color:var(--muted)}.standard-in_progress{color:var(--practicing);border-color:var(--practicing)}.standard-mastered{color:var(--success);border-color:var(--success)}@media print{.app-header,.skip-link,.no-print{display:none!important}body{background:#fff;color:#000}.app-main{max-width:none;padding:0}.report-table{font-size:10pt}.report-table tr{break-inside:avoid}}.app-main:has(.week-grid,.editor-layout){max-width:1280px}.editor-layout fieldset{border:0;margin:0;padding:0;min-width:0}.week-grid{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.week-grid table{border-collapse:collapse;min-width:100%}.week-grid th,.week-grid td{padding:6px 8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.week-grid thead th{font-size:.85em;color:var(--muted);white-space:nowrap}.week-grid td{min-width:11em;border-left:1px solid var(--border)}.grid-point{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:var(--tap);padding:4px 0;color:var(--text);font-size:.9em}.grid-add{color:var(--accent)}.editor-layout{display:grid;gap:24px}@media(min-width:1000px){.editor-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.editor-layout>[aria-label=Preview]{position:sticky;top:16px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}}.diff-field{margin:0;display:grid;gap:4px}.diff-field dt{font-size:.85em;color:var(--muted)}.diff-field dd{margin:0;white-space:pre-wrap}.diff-field del{color:var(--danger)}.diff-field ins{color:var(--success);text-decoration:none}.map-alternatives{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}.map-alternatives li{display:flex;align-items:center;gap:8px}.track-row{justify-content:flex-start;gap:12px}.track-row>div:first-of-type{flex:1 1 12em}.track-row h2{margin:0;font-size:1.1em}.track-preview{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius)}.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}.facts dd{margin:0}.track-names summary{padding:12px 0;font-weight:600;cursor:pointer}.data-row{align-items:flex-start}.data-row>div:first-of-type{flex:1 1 16em}.data-row h2{margin:0;font-size:1.1em}.data-row p{margin:4px 0 0}.data-row.retired>div:first-of-type{opacity:.6}.data-form{flex:1 1 100%}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none}.chip{display:flex;align-items:center;gap:8px;padding:0 0 0 12px;border:1px solid var(--border);border-radius:var(--radius)}.plain-fieldset{border:0;margin:0;padding:0;min-width:0}.sound-row>div:first-of-type{flex:1 1 8em}.sound-text{font-size:1.5em;font-weight:700}.sound-video{flex:1 1 100%}.sound-video iframe{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:var(--radius)}.preset-picker select{max-width:100%}.sandpaper-picker{display:flex;flex-wrap:wrap;gap:8px}.sandpaper-chip{min-width:var(--tap);font-size:1.25em}.sandpaper-chip[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.sandpaper-card{margin:0;display:grid;gap:8px;justify-items:center}.sandpaper-card svg{width:min(100%,360px);height:auto;border-radius:var(--radius);touch-action:none;background-color:var(--board);background-image:radial-gradient(rgb(255 255 255 / 12%) 1px,transparent 1.5px);background-size:6px 6px;cursor:crosshair}.sandpaper-vowel{--board: #2f5fb3}.sandpaper-consonant{--board: #c2414b}.sandpaper-together{--board: #2e7d4f}.sandpaper-chip.sandpaper-vowel,.sandpaper-chip.sandpaper-consonant,.sandpaper-chip.sandpaper-together{border-color:var(--board);border-width:3px}.sandpaper-baseline{stroke:#ffffff40;stroke-width:.5}.sandpaper-stroke{fill:none;stroke:#e9dcc0;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.sandpaper-dot{fill:#e9dcc0}.sandpaper-sign{fill:#e9dcc0;font-size:48px}.sandpaper-trail{fill:none;stroke:#ffd447;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.sandpaper-trail.fading{opacity:0;transition:opacity 1.2s ease-out}.demo-stroke{fill:none;stroke:#1d4ed8;stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-stroke 1s ease-in-out forwards}.demo-dot{fill:#1d4ed8;opacity:0;animation:show-dot .3s forwards}.demo-arrow{fill:#1d4ed8}.demo-start{fill:#fff;stroke:#1d4ed8;stroke-width:2}.demo-number{fill:#fff;font-size:12px;font-weight:700;paint-order:stroke;stroke:#1d4ed8;stroke-width:3px}@keyframes draw-stroke{to{stroke-dashoffset:0}}@keyframes show-dot{to{opacity:1}}@media(prefers-reduced-motion:reduce){.demo-stroke,.demo-dot{animation:none;stroke-dashoffset:0;opacity:1}}.material{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}.material input,.material textarea,.material [contenteditable]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.material img{-webkit-user-drag:none;pointer-events:none}.material+.material{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.material>h3{margin:0}.material-bar{display:flex;flex-wrap:wrap;align-items:end;gap:8px 16px}[data-dragging]{position:relative;z-index:10;pointer-events:none;box-shadow:0 8px 20px #00000040}[data-drag-open]{overflow:visible!important}[aria-pressed=true].hundred-piece{outline:3px solid var(--focus);outline-offset:2px}.hundred-scroll{overflow-x:auto;padding-bottom:4px}.hundred-grid{display:grid;grid-template-columns:repeat(10,minmax(var(--tap),1fr));gap:3px;min-width:calc(10 * var(--tap) + 27px);max-width:720px}.hundred-square{min-height:var(--tap);aspect-ratio:1;border:1px solid var(--control-border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-weight:700}.hundred-square.filled{background:#fdf3d7;color:#1f2933;border-color:#d9b75f}.hundred-square.marked{background:var(--accent);color:var(--surface);border-color:var(--accent)}.hundred-tray{display:flex;flex-wrap:wrap;gap:8px}.hundred-piece{display:inline-flex;padding:0;border:2px solid #d9b75f;border-radius:6px;background:#fdf3d7;color:#1f2933;font:inherit;font-weight:700;cursor:grab}.hundred-cell{display:grid;place-items:center;min-width:var(--tap);min-height:var(--tap)}.hundred-cell+.hundred-cell{border-left:1px solid #d9b75f}.hundred-message{min-height:1.5em}@media(orientation:landscape){.hundred-grid{max-width:720px;max-width:min(720px,calc(100vh - 240px));max-width:min(720px,calc(100dvh - 240px))}}@media(orientation:landscape)and (min-width:900px){.bead-stair{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px 24px;align-items:start}.bead-stair>*{grid-column:2}.bead-stair>.bead-tray{grid-column:1;grid-row:1 / span 6}}.bead-tray{display:grid;justify-items:start;gap:4px}.bead-piece,.bead-slot{min-height:var(--tap);padding:4px 8px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.bead-piece{cursor:grab}[aria-pressed=true].bead-piece{outline:3px solid var(--focus);outline-offset:2px}.bead-bar{display:inline-flex;align-items:center;gap:8px}.bead-wire{stroke:#6b6b6b;stroke-width:2}.bead{stroke:#00000059;stroke-width:1}.bead-number{min-width:1.5em;font-weight:700}.bead-mat{display:grid;gap:8px;padding:12px;border-radius:var(--radius);background:#e7efe4}.bead-slot{display:flex;align-items:center;min-height:56px;border-style:dashed;text-align:left}.bead-slot:disabled{opacity:1;border-style:solid}.bead-by-ten{display:block;max-width:100%;height:auto}.bead-prompt,.bead-equation{min-height:1.5em;font-size:1.25em;font-weight:700}.bead-written{font-size:1.1em}.golden-bank{display:flex;flex-wrap:wrap;gap:8px}.golden-bank-piece{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:4px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;cursor:grab}.golden-mat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:8px;border-radius:var(--radius);background:#f3ead2;color:#1f2933}.golden-column{display:grid;align-content:start;gap:6px;padding:8px;border-top:6px solid var(--place);border-radius:8px;background:#fff9}.golden-column h4{margin:0;color:var(--place)}.golden-units,.golden-thousands{--place: #1f7a3d}.golden-tens{--place: #1d4ed8}.golden-hundreds{--place: #b42318}.golden-pieces{display:flex;flex-wrap:wrap;align-items:flex-end;gap:3px;min-height:64px}.golden-count{margin:0;font-size:1.5em;font-weight:700}.golden-actions{display:grid;gap:4px}.golden-actions .button{font-size:.85em}.golden-bead{fill:#e0a100;stroke:#8a6200;stroke-width:.6}.golden-cube-top{fill:#f2c94c;stroke:#8a6200}.golden-cube-side{fill:#c99200;stroke:#8a6200}.golden-cube-front{fill:#e0a100;stroke:#8a6200}.golden-status{font-size:1.15em;font-weight:700}.clock-body{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.clock-face{width:min(100%,320px);height:auto;touch-action:none}.clock-rim{fill:#fff;stroke:#1f2933;stroke-width:4}.clock-tick{stroke:#1f2933;stroke-width:1.5}.clock-number{fill:#1f2933;font-size:16px;font-weight:700}.clock-hour{stroke:#1f2933;stroke-width:7;stroke-linecap:round}.clock-minute{stroke:#1d4ed8;stroke-width:4;stroke-linecap:round}.clock-pin{fill:#1f2933}.clock-handle{cursor:grab;fill-opacity:.25}.clock-handle.hour{fill:#1f2933}.clock-handle.minute{fill:#1d4ed8}.clock-readout{min-width:4ch;padding:8px 16px;border-radius:8px;background:#1f2933;color:#7ef29d;font-family:ui-monospace,monospace;font-size:2.5em;font-weight:700}.clock-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.grammar-sentence{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-radius:var(--radius);background:#f6f1e7}.grammar-word{display:grid;justify-items:center;gap:2px;min-width:var(--tap);min-height:72px;padding:4px 10px;border:2px solid #d9cdb4;border-radius:8px;background:#fff;color:#1f2933;font:inherit;font-size:1.2em}.grammar-word[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.grammar-word.right{border-color:#15703d}.grammar-word.not-yet{border-color:#b42318;border-style:dashed}.grammar-symbol-slot{display:grid;place-items:center;height:28px}.grammar-choices{display:flex;flex-wrap:wrap;gap:8px}.grammar-choices .button{display:inline-flex;align-items:center;gap:6px}.grammar-symbol{flex:none}.sort-deck{display:flex;flex-wrap:wrap;gap:8px}.sort-card{min-height:var(--tap);padding:8px 14px;border:1px solid #d9cdb4;border-radius:8px;background:#fffdf7;color:#1f2933;font:inherit;font-size:1.1em;cursor:grab}[aria-pressed=true].sort-card{outline:3px solid var(--focus);outline-offset:2px}.sort-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.sort-column{display:grid;align-content:start;gap:6px;min-height:140px;padding:8px;border:2px dashed var(--border);border-radius:var(--radius)}.sort-column h4{margin:0}.sort-column ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.sort-card.placed{cursor:default;border-color:#15703d}.flash-card{display:grid;place-items:center;min-height:140px;margin:0;padding:16px;border:2px solid #d9cdb4;border-radius:var(--radius);background:#fffdf7;color:#1f2933;font-size:clamp(1.75em,9vw,3em);font-weight:700;text-align:center}.flash-card.word{font-size:clamp(2em,11vw,3.5em);font-weight:600}.flash-answer input{max-width:8ch;font-size:2em;text-align:center}.flash-pad{display:grid;grid-template-columns:repeat(3,minmax(var(--tap),96px));gap:8px}.flash-pad .button{min-height:56px;font-size:1.5em}.fluency-passage{display:flex;flex-wrap:wrap;gap:4px 2px;padding:12px;border-radius:var(--radius);background:#fffdf7;color:#1f2933;font-size:1.25em;line-height:1.6}.fluency-word{min-height:var(--tap);padding:0 6px;border:0;border-radius:6px;background:none;color:inherit;font:inherit}.fluency-word[aria-pressed=true]{background:#fde2e1;color:#8a1c13;text-decoration:line-through}.fluency-word.unread{opacity:.45}.fluency-word.last{outline:2px solid var(--focus)}.journal-page{padding:16px;border:1px solid #d9cdb4;border-radius:var(--radius);background:#fffdf7;color:#1f2933}.journal-date{margin:0;font-weight:700}.journal-prompt{margin:0;font-style:italic}.journal-page textarea{background:repeating-linear-gradient(#fffdf7 0 1.9em,#d9e2ec 1.9em 2em);line-height:2em}.journal-tools{display:flex;flex-wrap:wrap;gap:8px}.journal-color{min-width:var(--tap);font-size:1.6em;line-height:1}.journal-color[aria-pressed=true],.journal-tools .button[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.journal-canvas{width:100%;height:auto;border:1px solid #d9cdb4;border-radius:8px;background:#fff;touch-action:none}@media print{body[data-print=journal] :not(.journal-page):not(.journal-page *):not(:has(.journal-page)){display:none!important}body[data-print=journal] .journal-page{border:0}body[data-print=journal] .journal-tools{display:none}}.typing-line{padding:12px 16px;border:2px solid #d9cdb4;border-radius:var(--radius);background:#fffdf7;color:#1f2933;font-family:ui-monospace,monospace;font-size:1.5em;white-space:pre-wrap}.typing-line:focus{outline:3px solid var(--focus)}.typing-line .typed{color:#15703d}.typing-line .current{background:#fde68a;text-decoration:underline}.typing-keyboard{display:grid;gap:4px;overflow-x:auto}.typing-row{display:flex;gap:4px}.typing-row:nth-child(2){padding-left:16px}.typing-row:nth-child(3){padding-left:36px}.typing-key{min-width:var(--tap);min-height:var(--tap);border:1px solid rgb(0 0 0 / 20%);border-radius:6px;background:var(--finger);color:#1f2933;font:inherit;font-weight:700}.typing-key.space{flex:1;max-width:360px;margin-left:80px}.typing-key.next{outline:4px solid #1f2933;outline-offset:1px}.typing-key.f1{--finger: #fbcfe8}.typing-key.f2{--finger: #fed7aa}.typing-key.f3{--finger: #fef08a}.typing-key.f4{--finger: #bbf7d0}.typing-key.f5{--finger: #bae6fd}.typing-key.f6{--finger: #c7d2fe}.typing-key.f7{--finger: #e9d5ff}.typing-key.f8{--finger: #fecaca}.typing-key.f9{--finger: #e5e7eb}.pv-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.pv-column{display:grid;align-content:start;gap:4px}.pv-column h4{margin:0;font-size:.85em}.pv-card{min-height:var(--tap);border:2px solid currentcolor;border-radius:6px;background:#fff;font:inherit;font-weight:700;text-align:right;padding:0 10px}.pv-card[aria-pressed=true]{background:currentcolor}.pv-card.green{color:#1f7a3d}.pv-card.blue{color:#1d4ed8}.pv-card.red{color:#b42318}.pv-card[aria-pressed=true]:first-line{color:#fff}.pv-table{padding:12px;border-radius:var(--radius);background:#f6f1e7;color:#1f2933}.pv-expanded,.pv-stack{display:inline-grid;margin:0;padding:6px 12px;border:2px solid #d9cdb4;border-radius:6px;background:#fff;font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,monospace;font-size:1.75em;font-weight:700}.pv-stacked{grid-area:1 / 1;justify-self:end;width:calc(var(--digits) * 1ch);background:#fff;text-align:right}.pv-stacked+.pv-stacked{box-shadow:-3px 0 0 -1px #fff,-4px 0 0 -1px #0000004d}.pv-stacked.green{color:#1f7a3d}.pv-stacked.blue{color:#1d4ed8}.pv-stacked.red{color:#b42318}.frame{display:grid;gap:6px;padding:12px;border:6px solid #8b5a2b;border-radius:8px;background:#fffaf0;color:#1f2933}.frame-wire{display:grid;grid-template-columns:9.5em minmax(120px,1fr) 2ch auto;align-items:center;gap:8px}.frame-name{font-size:.85em;font-weight:700}.frame-beads{width:100%;height:24px}.frame-rod{stroke:#8b8b8b;stroke-width:2}.frame-count{font-weight:700;text-align:right}.frame-buttons{display:flex;flex-wrap:wrap;gap:4px}@media(max-width:560px){.frame-wire{grid-template-columns:1fr auto}.frame-beads{grid-column:1 / -1}.frame-count{grid-row:1;grid-column:2}.frame-buttons{grid-column:1 / -1;justify-content:flex-end}}.decimal-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:8px;border-radius:var(--radius);background:#eef2f7;color:#1f2933}.decimal-column{position:relative;display:grid;align-content:start;gap:6px;padding:8px;border-top:6px solid;border-radius:8px;background:#fff}.decimal-column h4{margin:0;font-size:.85em}.decimal-column.after-point:before{content:"•";position:absolute;top:64px;left:-.45em;font-size:2em;font-weight:700}.decimal-pieces{display:flex;flex-wrap:wrap;gap:3px;min-height:40px}.decimal-piece{width:14px;height:14px;border-radius:3px}.big-symbol{min-width:64px;font-size:1.5em}.metric-stairs{display:grid;gap:4px}.metric-step{display:flex;align-items:center;gap:12px;width:min(100%,220px);min-height:var(--tap);padding:4px 12px;border:1px solid #c9b48a;border-radius:6px;background:#f6ead0;color:#1f2933;font:inherit;text-align:left}.metric-step.here{border:3px solid #1d4ed8;background:#fff}.metric-unit{min-width:3ch;font-weight:700}.metric-value{font-size:1.25em;font-weight:700;color:#1d4ed8}.picture{display:block;margin:0 auto}.sort-card{display:inline-grid;justify-items:center;gap:2px}.sort-card.placed{display:flex;align-items:center;gap:6px}.sort-card.placed .picture{width:32px;height:32px;margin:0}.order-list{display:grid;gap:6px;padding-left:1.5em}.order-card{display:block;width:100%;text-align:left}.order-list li.right .order-card{border-color:#15703d}.order-list li.not-yet .order-card{border-color:#b42318;border-style:dashed}[aria-pressed=true].order-card{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.letter-tray,.letter-mat-row{display:flex;flex-wrap:wrap;gap:6px}.letter-mat-row{min-height:72px;align-items:center;padding:10px;border:2px dashed #c9b48a;border-radius:var(--radius);background:#f6ead0}.letter-tile{display:inline-grid;place-items:center;min-width:var(--tap);min-height:var(--tap);padding:0 6px;border:1px solid #d9cdb4;border-radius:6px;background:#fff;font:inherit;font-size:1.6em;font-weight:700;cursor:grab}.letter-tile.vowel{color:#1d4ed8}.letter-tile.consonant{color:#c2414b}.letter-tile.digraph{color:#2e7d4f}.letter-tile.space{min-width:96px;font-size:1em;color:var(--muted)}.letter-tile.fixed{cursor:default;background:#efe7d6}.letter-tile[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.letter-prompt{display:grid;justify-items:center;gap:4px}.letter-answer{margin:0;font-size:1.6em;font-weight:700}.picture-box{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-radius:var(--radius);background:#efe7d6}.picture-box-item{display:grid;place-items:center;min-width:56px;min-height:56px;border:1px solid #d9cdb4;border-radius:8px;background:#fff}.picture-box-item[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.three-part-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.three-part-slot,.three-part-control{display:grid;justify-items:center;gap:6px;margin:0;padding:6px;border:2px solid #d9cdb4;border-radius:var(--radius);background:#fffdf7;color:#1f2933}.three-part-slot.right{border-color:#15703d}.three-part-slot.not-yet{border-color:#b42318;border-style:dashed}.three-part-slot.right:after{content:"✓";color:#15703d;font-weight:700}.three-part-slot.not-yet:after{content:"not yet";color:#b42318;font-size:.9em}.three-part-picture{display:grid;place-items:center;width:100%;min-height:100px;padding:4px;border:0;border-radius:8px;background:#fff}.three-part-empty{width:100%;min-height:var(--tap);border:1px dashed #b8a98a;border-radius:8px}.three-part-label{width:100%;min-height:var(--tap);padding:6px 10px;border:1px solid #d9cdb4;border-radius:8px;background:#fff;color:#1f2933;font:inherit;font-size:1.05em;cursor:grab}.three-part-deck .three-part-label{width:auto}[aria-pressed=true].three-part-label{outline:3px solid var(--focus);outline-offset:2px}.three-part-deck{display:flex;flex-wrap:wrap;gap:8px;min-height:64px;padding:8px;border-radius:var(--radius);background:#efe7d6}.three-part-control figcaption{font-weight:700}.seguin-board{display:grid;gap:6px}.seguin-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px;border:2px solid transparent;border-radius:var(--radius)}.seguin-row.right{border-color:#15703d}.seguin-row.not-yet{border-color:#b42318;border-style:dashed}.seguin-row.right:after{content:"✓";color:#15703d;font-weight:700}.seguin-row.not-yet:after{content:"not yet";color:#b42318;font-size:.9em}.seguin-number{display:inline-flex;min-height:var(--tap);padding:0 6px;border:2px solid #5b4a2f;border-radius:6px;background:#fffdf7;color:#1f2933;font:inherit;font-size:1.6em;font-weight:700;line-height:var(--tap)}.seguin-zero,.seguin-tile{display:inline-block;min-width:1ch}.seguin-number .seguin-tile{color:#1f3c88}.seguin-beads{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:6px;min-width:140px;min-height:var(--tap);padding:4px 8px;border:1px dashed #b8a98a;border-radius:8px;background:#fff;color:#1f2933;font:inherit}.seguin-tray{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-radius:var(--radius);background:#efe7d6}.seguin-piece{min-width:var(--tap);min-height:var(--tap);border:2px solid #5b4a2f;border-radius:6px;background:#fffdf7;color:#1f3c88;font:inherit;font-size:1.5em;font-weight:700;cursor:grab}[aria-pressed=true].seguin-piece{outline:3px solid var(--focus);outline-offset:2px}.ten-frames{display:flex;flex-wrap:wrap;gap:12px}.ten-frame-grid{display:grid;grid-template-columns:repeat(5,var(--tap));gap:0;border:3px solid #1f2933;background:#1f2933}.ten-frame-space{display:grid;place-items:center;width:var(--tap);height:var(--tap);margin:0;padding:0;border:1px solid #1f2933;background:#fff}.ten-frame-space:disabled{opacity:1}.ten-frame-counter{display:inline-block;width:34px;height:34px;border:2px solid rgb(0 0 0 / 40%);border-radius:50%;background:#d62828}.ten-frame-space.frame-2 .ten-frame-counter{background:#1f3c88}[aria-pressed=true].ten-frame-space{outline:3px solid var(--focus);outline-offset:-4px}.ten-frame-box{display:inline-flex;align-items:center;gap:8px;align-self:start;min-height:var(--tap);padding:4px 14px;border:2px dashed #8a7a5c;border-radius:var(--radius);background:#efe7d6;color:#1f2933;font:inherit}.ten-frame-hidden{width:calc(5 * var(--tap) + 6px);height:calc(2 * var(--tap) + 6px);border-radius:4px;background:#d9cdb4}.strip-board{container-type:inline-size;--strip-cell: min( calc(var(--tap) * 18 / var(--strip-count, 18)), calc((100cqw - 4px) / var(--strip-count, 18)) )}.strip-mat{display:grid;gap:4px;padding:2px;border-radius:6px;background:#fffdf7}.strip-numbers,.strip-lane{display:grid;grid-template-columns:repeat(var(--strip-count, 18),var(--strip-cell));margin:0;padding:0;list-style:none}.strip-numbers li{border-right:1px solid #d9cdb4;font-size:clamp(.6em,2.6cqw,1em);font-weight:700;text-align:center}.strip-numbers li.ten{border-right:3px solid #b42318}.strip-lane{min-height:var(--tap)}.strip{display:flex;min-height:var(--tap);margin:0;padding:0;border:1px solid rgb(0 0 0 / 45%);border-radius:3px;color:#fff;font:inherit;font-size:clamp(.6em,2.6cqw,1em);font-weight:700}.strip:disabled{opacity:1}.strip.blue{background:#1f3c88}.strip.red{background:#b42318}.strip-cell{display:grid;flex:1;place-items:center;border-right:1px solid rgb(255 255 255 / 45%)}.strip-cell:last-child{border-right:0}.strip-tray{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px}.strip-piece{min-width:var(--tap);cursor:grab}[aria-pressed=true].strip-piece{outline:3px solid var(--focus);outline-offset:2px}.strip-sub-numbers li{display:grid}.strip-sub-numbers button{min-height:var(--tap);padding:0;border:0;background:transparent;color:var(--text);font:inherit}.strip-sub-numbers button[data-state=left]{background:#fff1b8}.strip.natural{min-width:var(--tap);background:repeating-linear-gradient(90deg,#d9b98a 0 6px,#cfa970 6px 9px)}.stamp{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 3px;border:1px solid rgb(0 0 0 / 40%);border-radius:3px;color:#fff;font-size:.7em;font-weight:700}.stamp-units,.stamp-thousands{background:#1e7a3c}.stamp-tens{background:#1f5fa8}.stamp-hundreds{background:#b42318}.stamp-game .golden-bank-piece .stamp{min-width:40px;height:32px;font-size:.9em}.stamp-plates{display:flex;flex-wrap:wrap;gap:8px}.stamp-plate{display:grid;justify-items:center;min-width:88px;padding:8px;border:2px solid #d9cdb4;border-radius:50%;background:#fffdf7;color:#1f2933}.stamp-plate-stamps{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:96px}.line-area{padding:8px 20px 0}.line-track{position:relative;height:112px;touch-action:none;-webkit-user-select:none;user-select:none}.line-track.movable{cursor:pointer}.line-svg{position:absolute;top:24px;left:0;width:100%;height:60px;overflow:visible}.line-main{stroke:#1f2933;stroke-width:3}.line-tick{stroke:#1f2933;stroke-width:1.5;vector-effect:non-scaling-stroke}.line-jump{fill:none;stroke:#b42318;stroke-width:2.5;vector-effect:non-scaling-stroke}.line-labels span{position:absolute;top:76px;font-size:.85em;font-weight:700;transform:translate(-50%);white-space:nowrap}.line-marker{position:absolute;top:0;display:grid;justify-items:center;min-width:var(--tap);min-height:var(--tap);transform:translate(-50%);color:#1f3c88;font-weight:700}.line-marker:after{content:"";width:0;height:0;border-top:14px solid #1f3c88;border-right:9px solid transparent;border-left:9px solid transparent}.line-marker:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.line-jumps{min-height:1.5em;color:#b42318;font-weight:700}.graph{display:grid;gap:6px;padding:10px;border-radius:var(--radius);background:#fffdf7;color:#1f2933}.graph-row{display:grid;grid-template-columns:minmax(64px,7em) 1fr;align-items:center;gap:8px;min-height:40px;border-bottom:1px solid #e6dcc6}.graph-name{font-weight:700;-webkit-hyphens:auto;hyphens:auto}.graph-marks{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.tally-line{stroke:#1f2933;stroke-width:2.5;stroke-linecap:round}.graph-dot{display:inline-grid;place-items:center;width:32px;height:32px;color:#1f3c88;font-size:1.6em}.graph-part{display:inline-block;overflow:hidden}.graph-bars{display:flex;align-items:stretch;gap:8px;height:260px;padding-left:32px;position:relative}.graph-axis{position:absolute;top:0;bottom:2.5em;left:0;width:28px}.graph-axis span{position:absolute;right:0;font-size:.8em;transform:translateY(50%)}.graph-bar-column{display:grid;flex:1;grid-template-rows:1fr 2.5em;min-width:40px;max-width:96px;text-align:center}.graph-bar-space{display:flex;align-items:flex-end;border-bottom:2px solid #1f2933}.graph-bar{width:100%;border:1px solid #1f3c88;border-bottom:0;background:repeating-linear-gradient(0deg,#1f3c88 0 2px,#4a74c9 2px 14px)}.graph-bar-column .graph-name{font-size:.75em;line-height:1.2}.graph-categories{display:grid;gap:6px;margin:0;padding:0;list-style:none}.graph-categories li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.graph-categories input{flex:1 1 5em;min-width:0;min-height:var(--tap)}.graph-categories .button{min-width:var(--tap);font-size:1.2em}.graph-count{min-width:2ch;font-weight:700;text-align:center}.graph-marks .picture{margin:0}@media(max-width:480px){.graph-categories input{flex-basis:100%}}.ruler-scroll{overflow-x:auto;padding:8px 12px 4px;border-radius:var(--radius);background:#fffdf7}.ruler-lane{position:relative;height:52px}.ruler-object{position:absolute;top:4px;display:flex;align-items:center;height:44px;padding:0 4px;border:2px solid #8b5a2b;border-radius:8px;background:#f6e7c8;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ruler-object .picture{margin:0}.ruler-scale{height:56px;border:1px solid #b08a4a;border-radius:2px;background:#f2d79b;cursor:pointer;-webkit-user-select:none;user-select:none}.ruler-tick{stroke:#1f2933;stroke-width:1.5}.ruler-number{fill:#1f2933;font-size:13px;font-weight:700;text-anchor:middle}.ruler-answer{stroke:#b42318;stroke-width:3}.ruler-answer-row{align-items:center}.ruler-scale svg{overflow:visible}.chain{display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px 0;padding:8px;border-radius:var(--radius);background:#fffdf7}.chain-bar{display:grid;justify-items:end;align-content:start;min-width:var(--tap);min-height:var(--tap);margin:0;padding:4px 1px;border:0;border-radius:4px;background:transparent;color:#1f2933;font:inherit}.chain-bar:focus-visible{outline:3px solid var(--focus)}.chain-arrow{position:relative;min-width:var(--tap);min-height:var(--tap);padding:2px 6px;border:2px solid #1f3c88;border-radius:4px;background:#fff;color:#1f3c88;font:inherit;font-weight:700;cursor:grab}.chain-arrow:before{content:"";position:absolute;top:-9px;right:6px;border-right:6px solid transparent;border-bottom:8px solid #1f3c88;border-left:6px solid transparent}.chain-arrow.placed{min-width:0;min-height:0;margin-top:8px;font-size:.85em;cursor:default}.chain-arrows{display:flex;flex-wrap:wrap;gap:14px 8px;padding:14px 8px 8px;border-radius:var(--radius);background:#efe7d6}[aria-pressed=true].chain-arrow{outline:3px solid var(--focus);outline-offset:2px}.chain-folded{display:block}.chain.long{max-height:420px;overflow-y:auto}.chain-arrow.hundred{border-color:#b42318;background:#fdecea;color:#8a1c12}.chain-arrow.hundred:before{border-bottom-color:#b42318}.chain-squares{display:flex;flex-wrap:wrap;gap:2px}.chart-scroll{max-width:100%;overflow-x:auto}.chart{display:grid;grid-template-columns:repeat(10,minmax(var(--tap),1fr));min-width:calc(10 * var(--tap));max-width:560px;border:2px solid #1f2933;background:#fffdf7;color:#1f2933}.chart-corner,.chart-head,.chart-cell{display:grid;place-items:center;min-width:0;min-height:var(--tap);margin:0;padding:0;border:1px solid #d9cdb4;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:700}.chart-head.top{color:#1f3c88}.chart-head.side{color:#b42318}.chart-head:disabled{opacity:1}.chart-head.lit,.chart-cell.lit{background:#fff1b8}.chart-cell.meet{outline:3px solid #1f2933;outline-offset:-3px;background:#ffd84d}.chart-cell.blank.chosen{outline:3px solid var(--focus);outline-offset:-3px}.chart-cell.right{border:2px solid #15703d}.chart-cell.not-yet{border:2px dashed #b42318;color:#b42318}.chart-pad{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tap),1fr));gap:6px;max-width:560px}.triangle{position:relative;width:260px;max-width:100%;height:230px}.triangle-shape{position:absolute;inset:20px 0 0;width:100%;height:calc(100% - 20px)}.triangle-shape polygon{fill:#fff1b8;stroke:#1f2933;stroke-width:3}.triangle-corner{position:absolute;display:grid;place-items:center;min-width:64px;min-height:56px;padding:0 8px;border:2px solid #1f2933;border-radius:50%;background:#fff;color:#1f2933;font:inherit;font-size:1.6em;font-weight:700;transform:translate(-50%,-50%)}.triangle-corner.top{top:34px;left:50%}.triangle-corner.left{top:196px;left:18%}.triangle-corner.right{top:196px;left:82%}.triangle-corner.covered{border-style:dashed;background:#1f3c88;color:#fff}.triangle-entry{font-size:1.2em}.triangle-entry strong{display:inline-block;min-width:3ch;border-bottom:2px solid #1f2933;text-align:center}.line-plot-line{display:flex;align-items:stretch;padding:8px 4px 0;border-radius:var(--radius);background:#fffdf7}.line-plot-mark{display:grid;flex:1;grid-template-rows:1fr auto;min-width:0;min-height:150px;margin:0;padding:0;border:0;background:transparent;color:#1f2933;font:inherit}.line-plot-xs{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start}.line-plot-x:before{content:"✕";color:#1f3c88;font-size:1.1em;font-weight:700;line-height:1.1}.line-plot-label{position:relative;padding-top:12px;border-top:3px solid #1f2933;font-weight:700}.line-plot-label:before{content:"";position:absolute;top:-3px;left:50%;height:10px;border-left:2px solid #1f2933}.line-plot-data{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-radius:var(--radius);background:#efe7d6}.line-plot-card{min-width:var(--tap);min-height:var(--tap);border:1px solid #d9cdb4;border-radius:8px;background:#fff;color:#1f2933;font:inherit;font-weight:700;cursor:grab}[aria-pressed=true].line-plot-card{outline:3px solid var(--focus);outline-offset:2px}.story-places{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none}.story-place{display:grid;gap:4px;justify-items:center;padding:6px;border:2px solid transparent;border-radius:var(--radius)}.story-place.right{border-color:#15703d}.story-place.not-yet{border-color:#b42318;border-style:dashed}.story-card{display:grid;justify-items:center;gap:4px;width:100%;min-height:var(--tap);padding:8px;border:1px solid #d9cdb4;border-radius:8px;background:#fffdf7;color:#1f2933;font:inherit;cursor:grab}.story-card .picture{margin:0}[aria-pressed=true].story-card{outline:3px solid var(--focus);outline-offset:2px}.story-word{font-weight:700}@media print{body[data-print=material] :not(.print-page):not(.print-page *):not(:has(.print-page)){display:none!important}}.mountain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px;margin:0;padding:12px 8px;list-style:none;border-radius:var(--radius);background:linear-gradient(to top left,transparent 49.5%,#d9cdb4 50%,transparent 50.5%) left / 50% 100% no-repeat,linear-gradient(to top right,transparent 49.5%,#d9cdb4 50%,transparent 50.5%) right / 50% 100% no-repeat,#fffdf7}.mountain-part{display:grid;gap:4px;padding:8px;border:2px solid #8b5a2b;border-radius:8px;background:#fff}.mountain-part.middle{margin-bottom:80px}.mountain-part.peak{margin-bottom:160px;border-color:#b42318}.mountain-part label{font-weight:700}.mountain-part p{margin:0;font-size:.85em}.mountain-part textarea{width:100%;min-height:6em}@media(max-width:900px){.mountain{grid-template-columns:1fr;background:#fffdf7}.mountain-part.middle,.mountain-part.peak{margin-bottom:0}.mountain-part.middle{margin-left:16px}.mountain-part.peak{margin-left:32px}}.role-extension{display:inline-grid;justify-items:center;color:#9a4a10;font-size:.75em;font-weight:700;line-height:1}.grammar-sentence.analysis .grammar-symbol-slot{height:auto;min-height:28px}.role-verb svg{width:36px;height:36px}.roots-cards{display:grid;gap:8px}.roots-kind h4{margin:0 0 4px}.roots-row{display:flex;flex-wrap:wrap;gap:6px}.roots-card{display:grid;justify-items:center;min-width:var(--tap);min-height:var(--tap);padding:4px 10px;border:2px solid #1f3c88;border-radius:8px;background:#fff;color:#1f2933;font:inherit;cursor:grab}.roots-card.prefix{border-color:#2a9d4b;border-style:dashed}.roots-card.suffix{border-color:#b42318;border-style:dotted}.roots-text{font-size:1.15em;font-weight:700}.roots-meaning{color:#52606d;font-size:.8em}[aria-pressed=true].roots-card{outline:3px solid var(--focus);outline-offset:2px}.roots-strip{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:64px;padding:8px;border:2px dashed #8a7a5c;border-radius:var(--radius);background:#efe7d6}.tense-timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0}.tense-timeline:before{content:"";position:absolute;top:50%;right:0;left:0;border-top:3px solid #1f2933}.tense-time{position:relative;min-height:var(--tap);border:2px solid #1f2933;border-radius:999px;background:#fffdf7;color:#1f2933;font:inherit;font-weight:700}.tense-time[aria-pressed=true],.verb-tense .button[aria-pressed=true]{border-color:#1f3c88;background:#1f3c88;color:#fff}.tense-card{padding:12px 16px;border-radius:var(--radius);background:#fffdf7;color:#1f2933}.tense-sentence{margin:4px 0;font-size:1.8em;font-weight:700}.print-copy{display:none}@media print{.journal-page textarea,.journal-page input,.print-page textarea,.needs-chart input{display:none}.journal-page .print-copy,.print-page .print-copy{display:block;margin:0;white-space:pre-wrap}}@page{size:letter;margin:.5in}.print-sheet{--line: #555;print-color-adjust:exact;-webkit-print-color-adjust:exact;display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:8.5in;aspect-ratio:8.5 / 11;font-size:11pt;margin:0 auto 1em;padding:.5in;background:#fff;color:#000;border:1px solid #bbb;box-shadow:0 1px 4px #0003}.print-sheet-header{display:flex;flex-wrap:wrap;gap:.25em 1.5em;align-items:baseline;padding-bottom:.15in;border-bottom:2px solid var(--line);font-size:.95em}.print-sheet-name{font-weight:700}.print-sheet-work{flex:1 1 auto}.print-sheet-template{font-size:.8em;color:#333}.print-sheet-body{flex:1 1 auto;display:flex;flex-direction:column;padding-top:.2in;min-height:0}.tpl{flex:1 1 auto;display:flex;flex-direction:column;margin:0;padding:0;list-style:none;color:#000}.tpl-lined,.tpl-story{gap:.2in}.tpl-lines{flex:1 1 auto;display:flex;flex-direction:column}.tpl-lines-primary .tpl-row{flex:1 1 0;min-height:.75in;position:relative;border-top:2px solid var(--line);border-bottom:2px solid var(--line);margin-bottom:.1in}.tpl-midline{position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--line)}.tpl-lines-ruled .tpl-rule{flex:1 1 0;min-height:.33in;border-bottom:1px solid var(--line)}.tpl-picture{flex:0 0 45%;border:2px solid var(--line)}.tpl-four-box{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.2in}.tpl-box{position:relative;display:flex;flex-direction:column;justify-content:flex-end;border:2px solid var(--line);padding:.1in}.tpl-box-number{position:absolute;top:.08in;left:.1in;font-weight:700}.tpl-box-lines .tpl-rule{height:.33in;border-bottom:1px solid var(--line)}.tpl-numbered,.tpl-checklist{justify-content:space-between}.tpl-numbered-line,.tpl-check-line{flex:1 1 0;display:flex;align-items:flex-end;gap:.15in;border-bottom:1px solid var(--line);min-height:.4in}.tpl-num{min-width:.3in;font-weight:700}.tpl-tickbox{flex:0 0 .25in;height:.25in;margin-bottom:.05in;border:2px solid var(--line)}.tpl-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr)}.tpl-card{border:1px dashed var(--line)}.tpl-strips{justify-content:space-between}.tpl-strip{flex:0 0 1in;display:flex;align-items:stretch;gap:.15in;padding:.1in 0;border-bottom:1px dashed var(--line)}.tpl-strip-picture{flex:0 0 .8in;border:2px solid var(--line)}.tpl-strip-line{flex:1 1 auto;border-bottom:1px solid var(--line)}.tpl-grid{position:relative}.tpl-grid svg{position:absolute;inset:0}.tpl-table table,.tpl-calendar table{flex:1 1 auto;width:100%;border-collapse:collapse;table-layout:fixed}.tpl-table table{height:100%}.tpl-table td,.tpl-calendar td{border:1px solid var(--line)}.tpl-table thead td,.tpl-calendar thead td{height:.4in;border-bottom-width:2px}.tpl-calendar{gap:.15in}.tpl-month-name{padding-bottom:.05in;border-bottom:1px solid var(--line);font-weight:700}.tpl-chart{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(12,1fr)}.tpl-square{border:1px solid var(--line);margin:0 -1px -1px 0}.tpl-organizer{gap:.2in}.tpl-org-box{flex:1 1 0;border:2px solid var(--line);padding:.08in .12in}.tpl-org-label{font-weight:700}.tpl-timeline{justify-content:center;position:relative}.tpl-timeline-line{border-top:3px solid var(--line);margin:0 .1in}.tpl-timeline-marks{display:flex;justify-content:space-between;margin-top:-.12in;gap:.05in}.tpl-mark{flex:1 1 0;display:flex;flex-direction:column;align-items:center}.tpl-tick{width:0;height:.24in;border-left:3px solid var(--line)}.tpl-mark-box{width:100%;height:1.2in;margin-top:.08in;border:2px solid var(--line)}.print-toolbar .actions{align-items:center}.print-date{display:inline-flex;align-items:center;gap:.5rem}.print-date input{min-height:48px}.child-packet,.print-group{display:block}.printed-card{color:#000}.printed-card-header{padding-left:.6em;border-left:6px solid #555;margin-bottom:.15in}.printed-card h2{margin:0 0 .25em;font-size:1.3em}.printed-card h3{margin:.15in 0 .1em;font-size:1em}.printed-card p{margin:0}.printed-card .rich-blocks>p,.printed-card .rich-blocks>ul,.printed-card .rich-blocks>ol{margin:0 0 .4em}.printed-card .rich-blocks>:last-child{margin-bottom:0}.week-overview h2,.week-overview h3{margin:.1in 0}.overview-table{width:100%;border-collapse:collapse}.overview-table th,.overview-table td{padding:.08in .1in;overflow-wrap:anywhere;border-bottom:1px solid var(--line);text-align:left}.overview-track{border-left:6px solid #555}.tick-box{display:inline-block;flex:none;width:.24in;height:.24in;border:2px solid #000000;vertical-align:middle}.checkin-sheet-list{margin:0;padding:0;list-style:none}.checkin-sheet-list li{display:flex;align-items:flex-start;gap:.12in;padding:.07in 0;border-bottom:1px solid var(--line)}@media print{.print-sheet{break-after:page;box-shadow:none;border:0;margin:0;padding:0;aspect-ratio:auto;min-height:9.9in}.print-sheet.printed-card{min-height:0}.printed-card section{break-inside:avoid}.print-toolbar{display:none}.child-packet:last-child .print-group:last-child>.print-sheet:last-child,.child-packet:last-child>.print-sheet:last-child{break-after:auto}}.card-print{display:none;font-size:11pt}@media print{body[data-print=card] :not(.card-print):not(.card-print *):not(:has(.card-print)){display:none!important}body[data-print=card] .card-print{display:block}body[data-print=card] .card-print>:last-child{break-after:auto}}.front-hero h1{font-size:min(2rem,8.5vw);line-height:1.2;overflow-wrap:break-word}.front-lead{font-size:1.15rem}.front-steps{display:grid;gap:12px;margin:8px 0 0;padding:0;list-style:none;counter-reset:step}.front-steps li{position:relative;padding:16px 16px 16px 64px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);counter-increment:step}.front-steps li:before{content:counter(step);position:absolute;top:14px;left:16px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--on-accent-soft);font-weight:700}.front-steps h2{margin:0;font-size:1.1rem}.front-steps p{margin:4px 0 0}.front-week{display:grid;gap:6px;margin:0;padding:0;list-style:none}.front-week li{display:grid;grid-template-columns:8rem 1fr;gap:12px;align-items:center;padding:10px 12px;background:var(--track-tint);color:var(--track-ink);border-left:6px solid var(--track-bar);border-radius:var(--radius)}.front-week-track{font-weight:700}.front-list{display:grid;gap:6px;margin:0;padding-left:1.25rem}.pricing-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.pricing-tier{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.pricing-tier h2{margin:0;font-size:1.1rem}.pricing-price{margin:4px 0;font-size:1.8rem;font-weight:700}@media(max-width:480px){.front-week li{grid-template-columns:1fr;gap:2px}}.world-map{display:block;width:100%;height:auto;border-radius:var(--radius);touch-action:manipulation}.world-map [role=button]{cursor:pointer}.world-map-ocean{font-size:12px;font-style:italic;fill:#e9f1f8;pointer-events:none}.globe-status{min-height:1.5em;font-size:1.5rem;font-weight:700}.map-puzzle-tray{display:flex;flex-wrap:wrap;gap:8px}.map-puzzle-piece{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:104px;min-height:48px;padding:8px;border:2px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:700}.map-puzzle-piece svg{width:88px;height:56px}.map-puzzle-piece[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.length-tray{display:flex;flex-wrap:wrap;gap:8px;min-height:56px}.length-piece,.length-placed{display:inline-flex;align-items:center;min-height:48px;padding:0 4px;border:0;background:transparent}.length-piece[aria-pressed=true]{outline:3px solid var(--accent);border-radius:6px}.length-line{display:grid;gap:4px;border-left:4px solid var(--text)}.length-slot{display:flex;align-items:center;min-height:56px;border-bottom:2px dashed var(--control-border)}.length-slot-name{order:2;margin-left:auto;padding:0 8px;color:var(--muted);font-style:italic}.length-placed{padding:0}.length-far{display:grid;gap:48px}.length-box{display:grid;justify-items:start;gap:8px;padding:12px;border:2px dashed var(--control-border);border-radius:var(--radius)}.length-compare .picture{margin:0}.length-box:nth-child(2){justify-self:end}.compare-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.compare-build{display:flex;flex-wrap:wrap;max-width:100%;align-items:flex-end;gap:8px;min-height:72px;padding:8px;border:2px solid var(--border);border-radius:var(--radius)}.compare-place{display:flex;flex-wrap:wrap;align-items:flex-end;gap:3px;max-width:180px}.compare-numeral{font-size:2.5rem;font-weight:700}.compare-gap{display:grid;place-items:center;width:72px;height:72px;border:2px dashed var(--control-border);border-radius:var(--radius)}.compare-symbols{display:flex;justify-content:center;gap:12px}.compare-symbol{min-width:56px;min-height:56px;border:2px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:2rem;font-weight:700}.compare-symbol[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.detective-triangles{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.detective-triangle{display:grid;place-items:end center;min-width:56px;min-height:56px;padding:4px;border:2px solid transparent;border-radius:var(--radius);background:transparent}.detective-triangle[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.detective-compare{display:grid;justify-items:center;gap:4px}.detective-word{font-weight:700}.detective-phrase ol{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;min-height:3.5em;font-size:1.5rem}.detective-phrase li{display:grid;justify-items:center}.bead-bars-choose{display:flex;flex-wrap:wrap;gap:6px}.bead-bars-pick{display:grid;place-items:center start;min-height:48px;padding:4px 8px;border:2px solid var(--control-border);border-radius:var(--radius);background:var(--surface)}.bead-bars-pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.bead-bars-mat{min-height:72px;padding:12px;border:2px solid var(--border);border-radius:var(--radius);overflow-x:auto}.bead-bars-pair{display:flex;flex-wrap:wrap;gap:24px}.bead-bars-column{display:grid;justify-items:start;gap:4px}.bead-bars-table{columns:2;margin:0;font-size:1.25rem}.bar-problem{font-size:1.15rem;font-weight:600}.bar-track{position:relative;display:flex;min-height:56px;border:2px solid var(--text);border-radius:4px;background:#f6e7b4}.bar-part{display:grid;place-items:center;min-width:0;border-right:2px solid var(--text)}.bar-part:last-of-type{border-right:0}.bar-label{width:min(4.5em,90%);min-width:0;min-height:40px;font-size:16px;text-align:center}.bar-whole{display:flex;justify-content:center;border-top:2px solid var(--muted);padding-top:4px}.bar-divider{position:absolute;top:-6px;bottom:-6px;width:24px;margin-left:-12px;border:0;border-radius:6px;background:#1e3a5f59;cursor:ew-resize}.bar-nudge{display:inline-flex;gap:4px}.dot-array{position:relative;display:grid;gap:6px;max-width:420px;padding:8px}.dot-array-dot{aspect-ratio:1;border-radius:50%;background:#d64545}.dot-array-dot.right{background:#2f6fd6}.dot-array-line{position:absolute;top:0;bottom:0;width:24px;margin-left:-12px;border:0;background:linear-gradient(90deg,transparent 10px,var(--text) 10px 14px,transparent 14px);cursor:ew-resize}.checker-scroll{overflow-x:auto}.checker-board{display:grid;gap:4px;width:max-content}.checker-row{display:contents}.checker-digit{display:grid;place-items:center;min-width:32px;font-size:1.5rem;font-weight:700}.checker-square{display:grid;align-content:center;justify-items:center;gap:4px;min-width:72px;min-height:72px;padding:4px;border:2px solid var(--control-border);border-radius:6px;color:var(--text);font:inherit}.checker-bars{display:grid;gap:1px}.checker-caption{font-size:.85rem;font-weight:700}.checker-diagonals{margin:0;font-size:1.15rem}.world-map-name{font-size:13px;font-weight:700;fill:#1d1d1d;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}.array-steppers{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.array-stepper{display:flex;gap:8px;align-items:center}.array-stepper .button{min-width:48px}.array-stepper-value{min-width:6.5em;text-align:center;font-weight:600}.array-builder .dot-array{max-width:min(100%,420px)}.array-frame .dot-array{box-sizing:border-box;width:calc(min(100%,420px) * var(--array-cols) / 10);min-width:64px}.array-corner{position:absolute;right:-12px;bottom:-12px;width:48px;height:48px;border:3px solid var(--text);border-top:0;border-left:0;border-radius:0 0 8px;background:transparent;cursor:nwse-resize}.array-read-outs p{margin:.2em 0;font-size:1.15rem}.array-pile{font-weight:600}.array-rows{display:grid;gap:6px}.array-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:48px;padding:6px 10px;border:2px dashed var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.array-bean{width:18px;height:14px;border-radius:50%;background:#8b5a2b}.land-water-pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}.land-water-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.land-water-card{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:0;font-size:1.1rem}.land-water-space{display:inline-flex;align-items:center;justify-content:center;min-width:140px;min-height:150px;padding:6px;border:2px dashed var(--border);border-radius:10px;background:var(--surface);color:inherit;font:inherit;cursor:pointer}.land-water-space[data-holds]{border-style:solid}.land-water-tray{display:flex;flex-wrap:wrap;gap:10px;min-height:140px;padding:8px;border-radius:10px;background:var(--bg);border:2px solid var(--border)}.land-water-piece{padding:6px;border:2px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;font:inherit;cursor:grab}.land-water-piece[aria-pressed=true]{outline:3px solid var(--accent)}.odd-even-loose{display:flex;flex-wrap:wrap;gap:8px;min-height:64px;padding:8px;border:2px solid var(--border);border-radius:10px;background:var(--bg)}.odd-even-counter{display:inline-block;width:48px;height:48px;padding:0;border:2px solid #9b2c2c;border-radius:50%;background:#d64545}.odd-even-loose .odd-even-counter{cursor:grab}.odd-even-counter[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.odd-even-board{display:grid;gap:6px;justify-items:start;width:140px;min-height:120px;padding:10px;border:2px dashed var(--control-border);border-radius:10px;background:var(--surface);cursor:pointer}.odd-even-row{display:flex;gap:8px}.odd-even-double{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:1.3rem}.odd-even-double input{width:4em;min-height:48px;font-size:inherit;text-align:center}.peg-stepper{display:flex;gap:8px;align-items:center}.peg-stepper .button{min-width:48px}.peg-stepper-value{min-width:6.5em;text-align:center;font-weight:600}.peg-scroll{max-width:100%;overflow-x:auto}.peg-holes{display:grid;gap:6px;width:max-content;min-width:100%;min-height:48px;padding:10px;border-radius:10px;background-color:#e8c99b;background-image:radial-gradient(circle,rgba(90,60,30,.35) 3px,transparent 4px);background-size:22px 22px;background-position:7px 7px}.peg-line{display:flex;gap:12px;align-items:center}.peg-row{display:flex;gap:6px}.peg{width:16px;height:16px;border-radius:50%;background:#2f6fd6;box-shadow:inset 0 -2px #00000040}.peg-total{font-weight:700}.peg-kept{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.peg-kept li{padding:6px 12px;border:2px solid var(--border);border-radius:8px;background:var(--surface);font-size:1.1rem}.racks-scroll{max-width:100%;overflow-x:auto}.racks-bowls{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;min-width:500px}.racks-bowl{display:grid;gap:6px;justify-items:center;padding:8px;border:2px solid var(--border);border-radius:0 0 40px 40px;background:var(--surface)}.racks-place{font-weight:600}.racks-beads{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;min-height:14px}.racks-bead{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 -2px #00000040}.racks-more,.racks-count{font-weight:700}.racks-note{min-height:1.5em;margin:0;color:var(--muted)}.racks-skittles{display:flex;flex-wrap:wrap;gap:10px}.racks-skittle{display:grid;gap:6px;justify-items:center;width:150px;padding:8px;border:2px solid var(--border);border-radius:10px;background:var(--surface);text-align:center}.racks-skittle-head{width:26px;height:40px;border-radius:13px 13px 6px 6px;background:#3f9a4a}.racks-skittle.blue .racks-skittle-head{background:#2f6fd6}.racks-record{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;border:0;padding:0}.racks-record legend{font-weight:600}.racks-digit input{width:4em;min-height:48px;font-size:1.2rem;text-align:center}.snake-line{display:flex;flex-wrap:wrap;gap:4px 2px;align-items:center;min-height:56px;padding:8px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.snake-piece,.snake-box-bar{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);padding:0 2px;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer}.snake-piece.next{border-color:var(--accent)}.snake-piece.grouped{border-bottom-color:var(--control-border)}.snake-mark{fill:var(--accent);stroke:#fff;stroke-width:1}.snake-box{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.snake-used{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted)}.snake-used-label{font-weight:600}.snake-used-bar{padding:2px 8px;border:1px solid var(--border);border-radius:6px}.story-map-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:0;padding:0;list-style:none}.story-map-box{display:grid;gap:4px;align-content:start;padding:10px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.story-map-box>label{font-weight:700}.story-map-box textarea{width:100%}.story-map-box .journal-canvas{width:100%;height:auto}.suffix-parts{display:flex;flex-wrap:wrap;gap:8px}.suffix-words{display:grid;gap:8px}.suffix-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.suffix-card{min-width:96px;min-height:48px;padding:6px 14px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:1.3rem;cursor:pointer}.suffix-card.affix{border-color:#b45309;background:#fdf1d8;cursor:grab}.suffix-card.affix[aria-pressed=true]{outline:3px solid var(--accent)}.suffix-write{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.suffix-write input{min-height:48px;width:11em;font-size:1.2rem}.suffix-hint{color:var(--muted)}.placemat{display:grid;grid-template-columns:repeat(5,auto);grid-template-rows:auto auto;gap:.6em;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:1em 1.2em;border-radius:14px;background:#e9d8bd;font-size:16px}@media(min-width:700px){.placemat{font-size:24px}}.place-spot{font:inherit;display:flex;align-items:center;justify-content:center;grid-row:2;min-width:48px;padding:0;border:2px dashed rgba(90,60,30,.45);border-radius:6px;background:transparent;cursor:pointer}.place-spot.place-cup{grid-row:1;grid-column:4 / 6;justify-self:start}.place-spot[data-holds]{border-style:solid;border-color:transparent}.place-spot img{width:100%;height:100%}.place-outline{display:contents}.place-outline img{opacity:.18}.table-tray{display:flex;flex-wrap:wrap;gap:8px;min-height:80px;padding:8px;border:2px solid var(--border);border-radius:10px;background:var(--bg)}.table-piece{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:grab}.table-piece[aria-pressed=true]{outline:3px solid var(--accent)}.area-paper{display:block;width:100%;max-width:calc(var(--tap) * 16);height:auto;border:2px solid var(--border);border-radius:8px;background:#fff}.area-line{stroke:#b9cbe0;stroke-width:.04}.area-square{fill:#f2c94c;stroke:#c99a14;stroke-width:.04}.area-outline{fill:none;stroke:var(--text);stroke-width:.1;stroke-dasharray:.3 .15}.area-anchor{fill:#1e3a5f59}.area-label{font-size:.7px;font-weight:700;text-anchor:middle;fill:var(--text)}.area-row-number{font-size:.55px;fill:var(--muted)}.area-painted{stroke:#0000004d;stroke-width:.04}.area-rects{display:grid;gap:6px;margin:0;padding:0;list-style:none}.area-rects li{display:flex;gap:10px;align-items:center;font-size:1.1rem}.area-split .dot-array-dot{aspect-ratio:1;border-radius:3px;background:#f2c94c}.area-split .dot-array-dot.right{background:#8fc1e3}.area-colours{display:flex;flex-wrap:wrap;gap:8px}.area-colour{width:48px;height:48px;border:2px solid rgba(0,0,0,.3);border-radius:8px;color:var(--text);font:inherit;font-weight:700}.area-colour[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.area-model-scroll{max-width:100%;overflow-x:auto}.area-model{display:grid;gap:4px;width:max-content;min-width:min(100%,360px)}.area-model-row{display:contents}.area-model-side{align-self:center;justify-self:center;padding:4px 8px;font-weight:700}.area-model-part{display:grid;gap:4px;padding:10px;border:2px solid #c99a14;background:#fdf1d8}.area-model-part input{width:6em;min-height:48px;font-size:1.1rem}.area-quotients{display:flex;align-items:stretch;gap:0;width:max-content;min-height:120px}.area-quotient-part{display:grid;gap:6px;align-content:center;min-width:120px;min-height:48px;padding:10px;border:2px solid #c99a14;background:#fdf1d8;color:var(--text);font:inherit;cursor:pointer}.area-quotient-part.over{border-style:dashed;background:transparent}.area-quotient-top{font-weight:700}.area-quotient-left{display:flex;align-items:center;justify-content:center;min-width:120px;border:2px dashed var(--control-border);font-weight:700}.area-lay{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.nested-layout{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.nested-rings{flex:1 1 320px;width:100%;max-width:520px;height:auto}.nested-ring-text{font-size:13px;font-weight:700;text-anchor:middle;fill:#2b2f36}.nested-side{display:grid;flex:1 1 260px;gap:12px;justify-items:start}.nested-names{display:grid;gap:6px;width:100%}.nested-name label{display:flex;gap:8px;align-items:center}.nested-name input,.nested-key input{min-height:48px;width:100%;max-width:20em}.nested-swatch{display:inline-block;flex:none;width:18px;height:18px;border:1px solid rgba(0,0,0,.3);border-radius:4px}.nested-key{display:grid;gap:6px;margin:0;padding:8px 12px;border:2px solid var(--border);border-radius:10px}.nested-key-row{display:flex;gap:8px;align-items:center}.note-categories{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;padding:8px 12px;border:2px solid var(--border);border-radius:10px}.note-category{display:inline-flex;padding:4px;border:2px solid;border-radius:8px}.note-category input{min-height:var(--tap);width:9em}.note-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px}.note-card{display:grid;gap:8px;align-content:start;padding:12px;border:2px solid;border-left-width:8px;border-radius:8px}.note-card textarea,.note-card input,.note-card select{width:100%}.note-card .journal-canvas{width:100%;height:auto;background:#fff}.note-source{display:grid;gap:6px}.note-sheet{display:grid;gap:10px}.note-section{display:grid;gap:8px;min-height:72px;padding:10px;border:2px dashed;border-radius:10px;background:var(--surface)}.note-section-name{margin:0;font-size:1.1rem}.note-section-cards{display:flex;flex-wrap:wrap;gap:8px}.note-piece{display:grid;gap:4px;max-width:260px;min-height:48px;padding:8px 12px;border:2px solid;border-left-width:6px;border-radius:6px;color:var(--text);font:inherit;text-align:left;cursor:grab}.note-piece[aria-pressed=true]{outline:3px solid var(--accent)}.note-piece-source{color:var(--muted);font-size:.9rem}.note-sources ul{margin:0}.sieve-tool[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.sieve-tool{border-width:3px}.sieve-square{position:relative;overflow:hidden}.sieve-square.one{background:var(--border);color:var(--muted)}.sieve-square.chosen{box-shadow:inset 0 0 0 3px var(--accent);font-weight:700}.sieve-square.circled .sieve-number{padding:2px 6px;border:3px solid var(--accent);border-radius:50%}.sieve-cross{position:absolute;top:50%;left:-10%;width:120%;height:4px;transform:rotate(-45deg)}.sieve-cross-1{transform:rotate(45deg)}.sieve-cross-2{transform:rotate(-20deg)}.sieve-cross-3{transform:rotate(20deg)}.sieve-square.shake{animation:sieve-shake .3s}@keyframes sieve-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.sieve-square.shake{animation:none;outline:2px dashed var(--muted)}}.note-piece-picture{width:100%;max-width:200px;height:auto;border-radius:4px;background:#fff}.balance{position:relative;display:grid;max-width:640px;padding-top:24px;margin:0 auto;width:100%}.balance-beam{height:10px;margin:0 8%;border-radius:5px;background:#8b5a2b;transition:transform .4s}.balance-stand{width:12px;height:56px;margin:-6px auto 0;border-radius:0 0 4px 4px;background:#8b5a2b}.balance-pans{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:-40px}.balance-pan{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;padding:10px;border:3px solid var(--control-border);border-top:0;border-radius:0 0 48px 48px;background:var(--surface);transition:transform .4s}.balance[data-tilt=left] .balance-beam{transform:rotate(-5deg)}.balance[data-tilt=right] .balance-beam{transform:rotate(5deg)}.balance[data-tilt=left] .balance-pan-left,.balance[data-tilt=right] .balance-pan-right{transform:translateY(24px)}.balance[data-tilt=left] .balance-pan-right,.balance[data-tilt=right] .balance-pan-left{transform:translateY(-24px)}@media(prefers-reduced-motion:reduce){.balance-beam,.balance-pan{transition:none}}.balance-terms{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px}.balance-term-wrap{display:inline-flex;align-items:center;gap:4px}.balance-tile{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);padding:0 8px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit;font-size:1.4rem;font-weight:700}.balance-sign{font-size:1.4rem;font-weight:700}.balance-cup{width:3.5em;min-height:var(--tap);border:3px solid var(--accent);border-radius:24px 24px 8px 8px;font-size:1.4rem;text-align:center}.balance-bars{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.balance-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.kitchen-bench{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:16px}.kitchen-shelf{display:flex;flex-wrap:wrap;gap:8px;max-width:420px}.kitchen-thing{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.kitchen-thing[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.kitchen-scale{display:grid;justify-items:center;gap:8px;min-width:180px;padding:12px;border:3px solid var(--control-border);border-radius:16px;background:#e8eef2}.kitchen-scale-plate{display:flex;align-items:flex-end;justify-content:center;width:150px;height:72px;border-bottom:8px solid #9aa7b0;border-radius:0 0 8px 8px}.kitchen-scale-display{min-width:120px;padding:4px 10px;border-radius:6px;background:#1f2a24;color:#b9f5c8;font-family:monospace;font-size:1.4rem;text-align:center}.kitchen-jug{width:140px;height:auto}.kitchen-water{fill:#9fd6f2}.kitchen-jug-glass{fill:none;stroke:var(--control-border);stroke-width:3}.kitchen-mark{stroke:var(--text);stroke-width:1.5}.kitchen-mark-label{fill:var(--text);font-size:11px}.kitchen-overflow{min-height:1.5em;margin:0;color:var(--danger);font-weight:700}.kitchen-table input{width:7em;min-height:var(--tap)}.kitchen-table input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.kitchen-table input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.kitchen-litre-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.kitchen-bottle{width:64px;height:auto}.kitchen-cups{display:flex;flex-wrap:wrap;gap:4px}.measure-scroll{max-width:100%;overflow-x:auto;padding-bottom:4px}.measure-track{position:relative;height:7em;border-bottom:3px solid var(--control-border)}.measure-object{position:absolute;top:.6em;left:0;display:flex;height:2em;border-left:3px solid var(--accent)}.measure-object img{width:100%;height:100%}.measure-unit{position:absolute;top:3.2em;font:inherit;display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0;border:0;background:transparent}.measure-unit img{width:100%}.measure-mark{position:absolute;bottom:0;height:.6em;pointer-events:none}.measure-gap{background:var(--danger)}.measure-overlap{background:repeating-linear-gradient(45deg,var(--danger) 0 4px,transparent 4px 8px)}.measure-tray{display:flex;justify-content:center}.measure-piece{display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:64px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.measure-answer input{width:5em;min-height:var(--tap)}.perimeter-shape{width:100%;max-width:520px;max-height:340px;margin:0 auto}.perimeter-grid{fill:none;stroke:var(--border);stroke-width:.04}.perimeter-inside{fill:#f7e2a8;stroke:none}.perimeter-side{stroke:var(--control-border);stroke-width:.12;stroke-linecap:round}.perimeter-side-button[data-walked=true] .perimeter-side{stroke:var(--accent);stroke-width:.3}.perimeter-hit{stroke:transparent;stroke-width:1.4;cursor:pointer}.perimeter-side-button:focus-visible .perimeter-side{stroke:var(--focus);stroke-width:.3}.perimeter-side-button:focus{outline:none}.perimeter-length{fill:var(--text);font-size:.6px;font-weight:700;text-anchor:middle;pointer-events:none}.perimeter-box input,.perimeter-table input{width:5em;min-height:var(--tap)}.perimeter-box input[data-mark=right],.perimeter-table input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.perimeter-box input[data-mark=not-yet],.perimeter-table input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.perimeter-tiles-row{display:flex;align-items:center;justify-content:center;gap:12px}.perimeter-rows{min-width:5em;font-weight:700;text-align:center}.perimeter-tiles{width:100%;max-width:560px;max-height:260px;margin:0 auto}.perimeter-no-fit{color:var(--muted);text-align:center}.text-features-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}@media(max-width:760px){.text-features-layout{grid-template-columns:minmax(0,1fr)}}.book-page{display:flex;flex-direction:column;gap:10px;min-height:360px;padding:20px 24px;border:1px solid var(--border);border-radius:4px 12px 12px 4px;border-left:8px solid var(--accent);background:var(--surface);box-shadow:0 2px 6px #00000014}.book-cover{align-items:center;justify-content:center;background:var(--accent-soft)}.book-title{margin:0;font-size:2rem;text-align:center}.book-heading{margin:0;padding-bottom:6px;border-bottom:2px solid var(--border);font-size:1.5rem}.book-subheading{margin:0;color:var(--accent);font-size:1.15rem}.book-text{margin:0;font-size:1.1rem;line-height:1.5}.book-figure{display:flex;align-items:center;gap:12px;margin:0}.book-figure figcaption{color:var(--muted);font-size:.95rem;font-style:italic}.book-sidebar{padding:10px 14px;border:2px dashed var(--notice-border);border-radius:10px;background:var(--notice-bg)}.book-entries{margin:0;padding:0;list-style:none}.book-entries li{display:flex;align-items:baseline;gap:6px;min-height:2em}.book-leader{flex:1;border-bottom:2px dotted var(--control-border)}.book-glossary{margin:0}.book-glossary div{margin-bottom:6px}.book-glossary dt{display:inline;font-weight:700}.book-glossary dt:after{content:": "}.book-glossary dd{display:inline;margin:0}.book-link{min-width:var(--tap);min-height:var(--tap);border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;text-decoration:underline}.book-turn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.hunt-questions{margin:0;padding-left:1.5em}.hunt-ask{margin:0 0 4px}.hunt-question input,.hunt-question select{width:100%;min-height:var(--tap)}.hunt-question input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.hunt-question input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.timeline-box{max-width:100%;overflow-x:auto;padding:0 72px 8px 40px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.timeline-strip{position:relative;height:260px}.timeline-era{position:absolute;top:150px;height:44px;padding:10px 8px;overflow:hidden;color:var(--text);font-weight:700;white-space:nowrap}.timeline-life{position:absolute;display:flex;flex-direction:column;align-items:center;min-width:var(--tap);min-height:var(--tap);padding:2px;border:2px solid var(--border);border-radius:10px;background:var(--surface);transform:translate(-50%)}.timeline-life[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.timeline-lane-0{top:8px}.timeline-lane-1{top:52px}.timeline-lane-2{top:96px}.timeline-pin{position:absolute;bottom:-110px;left:50%;width:2px;height:110px;background:var(--control-border);pointer-events:none}.timeline-lane-1 .timeline-pin{bottom:-66px;height:66px}.timeline-lane-2 .timeline-pin{bottom:-22px;height:22px}.timeline-last{border-color:var(--danger)}.timeline-ruler{position:absolute;top:194px;right:0;left:0;height:60px;border-top:2px solid var(--text)}.timeline-tick{position:absolute;top:0;width:1px;height:10px;background:var(--text)}.timeline-tick-label{position:absolute;top:14px;left:0;color:var(--muted);font-size:.85rem;white-space:nowrap;transform:translate(-50%)}.timeline-today{position:absolute;top:14px;font-weight:700;transform:translate(-50%)}.timeline-detail{min-height:1.5em;font-size:1.1rem}.plant-board{display:grid;grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr);grid-template-rows:repeat(4,70px);align-items:center;gap:0 4px;max-width:760px;margin:0 auto}.plant-drawing{grid-column:2;grid-row:1 / 5}.plant-row{display:flex;align-items:center;gap:6px}.plant-row-left{grid-column:1;flex-direction:row-reverse}.plant-row-right{grid-column:3}.plant-line{flex:0 0 24px;height:2px;background:var(--control-border)}.plant-row-picture{display:none}.plant-space{min-width:6.5em;min-height:var(--tap);padding:4px 8px;border:2px dashed var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:700}.plant-space-job{min-width:9em;max-width:12em;font-size:.9rem;font-weight:400}.plant-space[data-holds]{border-style:solid;border-color:var(--accent)}.plant-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.plant-piece{min-height:var(--tap);padding:6px 14px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit;font-weight:700}.plant-piece-job{max-width:14em;font-weight:400}@media(max-width:640px){.plant-board{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:6px}.plant-drawing{grid-row:auto;grid-column:1;justify-self:center}.plant-row,.plant-row-left,.plant-row-right{grid-row:auto!important;grid-column:1;flex-direction:row;justify-content:center}.plant-line{display:none}.plant-row-picture{display:inline-flex}}.skittles-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.skittles-skittle,.skittles-bag-wrap{display:grid;justify-items:center;align-content:start;gap:6px;width:72px}.skittles-head{width:var(--tap);height:64px;border:0;border-radius:24px 24px 8px 8px;background:#3f9a4a}.skittles-bag{width:64px;height:56px;border:3px solid #8b5a2b;border-radius:8px 8px 24px 24px;background:#f1e3c8}.skittles-beads{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:2px;width:72px;min-height:var(--tap);padding:4px;border:1px dashed var(--border);border-radius:8px;background:transparent}.skittles-bead{display:inline-block;width:16px;height:16px;border:1px solid #2e6b34;border-radius:50%;background:#4caf50}.skittles-piece{width:var(--tap);height:var(--tap);padding:0;border:2px solid #2e6b34;border-radius:50%;background:#4caf50}.skittles-piece[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.skittles-piece:disabled{opacity:.35}.skittles-bowl-wrap{display:grid;justify-items:center;gap:4px}.skittles-bowl{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-width:200px;max-width:360px;min-height:64px;padding:12px 16px;border:3px solid var(--control-border);border-top:0;border-radius:0 0 120px 120px;background:var(--surface)}.skittles-bowl .skittles-bead{width:20px;height:20px}.skittles-left{margin:0;color:var(--muted);font-weight:700}.skittles-answers{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.skittles-answer input{width:5em;min-height:var(--tap)}.skittles-answer input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.skittles-answer input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.decimal-grid-board{display:grid;grid-template-columns:34px min(320px,calc(100vw - 110px));grid-template-rows:34px min(320px,calc(100vw - 110px));gap:4px;justify-content:center}.decimal-edge{width:100%;height:100%;cursor:pointer}.decimal-edge-across{height:34px}.decimal-edge-down{width:34px}.decimal-edge-on{fill:var(--accent)}.decimal-edge-off{fill:var(--border)}.decimal-square{box-sizing:border-box;width:100%;height:100%;border:2px solid var(--control-border);background:var(--surface)}.decimal-cell{fill:var(--surface);stroke:var(--border);stroke-width:.04}.decimal-across{fill:#c9def6}.decimal-down{fill:#f7e2a8}.decimal-both{fill:#8fb98a}.decimal-steppers{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.decimal-stepper{display:flex;gap:6px}.decimal-read-outs{display:grid;justify-items:center;gap:2px}.decimal-read-outs p{margin:0}.decimal-answer input{width:6em;min-height:var(--tap)}.bead-board-layout{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:20px}.bead-board-scroll{max-width:100%;overflow-x:auto}.bead-board-grid{display:grid;grid-template-rows:64px repeat(10,48px);padding:4px;border-radius:var(--radius);background:#e9dcc3}.bead-board-top{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px}.bead-board-number,.bead-board-side{display:flex;align-items:center;justify-content:center;color:var(--text);font-weight:700}.bead-board-skittle{width:18px;height:30px;border-radius:9px 9px 4px 4px;background:#c62828}.bead-board-holes{position:relative;display:grid;grid-template-columns:repeat(10,48px);grid-template-rows:repeat(10,48px)}.bead-board-hole{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle,#8b6b42 0 7px,transparent 8px)}.bead-board-bead{width:30px;height:30px;border:1px solid #8e1b1b;border-radius:50%;background:#d62828}.bead-board-bead.pale{border-style:dashed;background:#d6282840}.bead-board-split{position:absolute;top:0;bottom:0;width:0;border-left:3px dashed var(--text);pointer-events:none}.bead-board-booklet{min-width:200px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.bead-board-booklet h3{margin:0}.bead-board-record{display:flex;align-items:center;gap:8px}.bead-board-record label{min-width:4.5em}.bead-board-record input{width:4.5em;min-height:var(--tap)}.bead-board-record input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.bead-board-record input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.coordinate-layout{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:16px}.coordinate-svg{flex:1 1 320px;width:100%;max-height:720px;background:var(--surface)}.coordinate-line{stroke:var(--border);stroke-width:.04}.coordinate-axis{stroke:var(--text);stroke-width:.07}.coordinate-number{fill:var(--muted);font-size:.38px;text-anchor:middle}.coordinate-number-y{text-anchor:end}.coordinate-name{fill:var(--text);font-size:.42px;font-weight:700}.coordinate-name-x{text-anchor:end}.coordinate-point{fill:#c62828}.coordinate-label{fill:var(--text);font-size:.34px;pointer-events:none}.coordinate-joined{fill:none;stroke:#c62828;stroke-width:.07}.coordinate-route{fill:none;stroke:var(--accent);stroke-width:.12;stroke-linecap:round;stroke-linejoin:round}.coordinate-table input,.coordinate-task input,.coordinate-form input{width:5em;min-height:var(--tap)}.coordinate-table input[data-mark=right],.coordinate-task input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.coordinate-table input[data-mark=not-yet],.coordinate-task input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.coordinate-form{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.coordinate-tasks{max-width:340px;margin:0;padding-left:1.4em}.coordinate-task{display:grid;gap:4px}.coordinate-hint{min-height:1.5em;margin:0;color:var(--muted);text-align:center}.coordinate-title{margin:0}.feelings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.feelings-card{display:grid;justify-items:center;align-content:center;gap:6px;min-height:140px;padding:10px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}.feelings-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.feelings-word{font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}.feelings-clues{font-size:.95rem;line-height:1.35}.feelings-faces{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.feelings-face{display:flex;align-items:center;gap:8px}.feelings-space{flex:1;min-height:var(--tap);border:2px dashed var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:700}.feelings-space[data-holds]{border-style:solid;border-color:var(--accent)}.feelings-tray,.feelings-strategies{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.feelings-piece{min-height:var(--tap);padding:6px 14px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit;font-weight:700}.feelings-strategy{display:grid;justify-items:center;gap:4px;width:150px;min-height:110px;padding:8px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}.feelings-strategy[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.feelings-menu{max-width:420px;margin:0 auto;padding:16px 20px;border:3px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.feelings-menu h3{margin:0 0 8px}.feelings-menu ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.feelings-menu li{display:flex;align-items:center;gap:10px;font-size:1.1rem}.slides-strip{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding-bottom:4px}.slides-thumb{display:grid;flex:0 0 120px;align-content:start;gap:4px;min-height:80px;padding:6px 8px;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;text-align:left}.slides-thumb[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.slides-thumb-number{color:var(--muted);font-size:.85rem}.slides-thumb-heading{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.slides-editor{padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.slides-editor input,.slides-editor textarea{width:100%}.slides-picker-results{display:flex;flex-wrap:wrap;gap:6px}.slides-picker-choice{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;border:2px solid var(--border);border-radius:8px;background:var(--surface)}.slides-source{display:grid;gap:6px;border:1px solid var(--border);border-radius:8px}.slides-view h3{margin:0 0 12px;font-size:2rem}.slides-view-text{font-size:1.3rem;line-height:1.5;white-space:pre-wrap}.slides-view figure{margin:12px 0}.slides-view figcaption{color:var(--muted);font-style:italic}.slides-view-drawing{max-width:100%;height:auto}.slides-show{position:fixed;z-index:50;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:32px;overflow:auto;background:var(--surface)}.slides-show-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}@media screen{.slides-print{display:none}}@media print{.slides-print-slide{break-after:page}}.vertebrate-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.vertebrate-column{display:flex;flex-direction:column;gap:6px;min-height:160px;padding:4px;border:3px solid;border-radius:10px;background:var(--surface)}.vertebrate-heading{display:flex;flex-direction:column;align-items:center;min-height:var(--tap);padding:4px;border:0;border-radius:6px;color:#fff;font:inherit;font-size:.85em}.vertebrate-card{display:flex;flex-direction:column;align-items:center;min-width:var(--tap);min-height:var(--tap);padding:4px 6px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.85em}.vertebrate-card[aria-pressed=true],.vertebrate-fact[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.vertebrate-card[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.vertebrate-card[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.vertebrate-tray,.vertebrate-pile{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.vertebrate-chart-scroll{overflow-x:auto}.vertebrate-chart{display:grid;grid-template-columns:8em repeat(5,minmax(7em,1fr));gap:4px;min-width:44em}.vertebrate-chart-row{display:contents}.vertebrate-chart-head{padding:6px;border-radius:6px;color:#fff;font-weight:700;text-align:center}.vertebrate-chart-side{align-self:center;font-weight:700}.vertebrate-cell{min-height:64px;padding:4px;border:2px dashed var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.9em}.vertebrate-cell[data-holds]{border-style:solid;background:var(--notice-bg)}.vertebrate-fact{min-height:var(--tap);padding:6px 12px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit}.vertebrate-group{display:flex;flex-direction:column;gap:8px;padding:8px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.vertebrate-group-name{min-height:var(--tap);border:0;border-radius:6px;background:var(--accent-soft);color:var(--on-accent-soft);font:inherit;font-weight:700;text-align:left}.vertebrate-question{display:flex;flex-wrap:wrap;gap:8px}.vertebrate-question input{flex:1 1 12em;min-height:var(--tap)}.vertebrate-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(14em,1fr));gap:8px;padding-left:12px;border-left:3px solid var(--border)}@media(max-width:640px){.vertebrate-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.biome-world{max-width:520px;margin:0 auto}.biome-region{transition:opacity .2s}.biome-region[data-lit=false]{opacity:.2}.biome-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(10em,1fr));gap:8px}.biome-box{display:flex;flex-direction:column;gap:6px;min-height:64px;padding:4px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.biome-name{display:flex;align-items:center;gap:8px;min-height:var(--tap);padding:4px 8px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:700}.biome-name[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.biome-swatch{flex:none;width:22px;height:22px;border:1px solid var(--control-border);border-radius:4px}.biome-placed,.biome-tray{display:flex;flex-wrap:wrap;gap:6px}.biome-tray{justify-content:center}.biome-card{display:flex;flex-direction:column;align-items:center;min-width:var(--tap);min-height:var(--tap);padding:4px 6px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.85em}.biome-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.biome-card:disabled{opacity:.5}.biome-card[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.biome-card[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.biome-choose{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0}.biome-radio{display:flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 10px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface)}@media screen{.biome-print{display:none}}.inset-circle{max-width:100%;height:auto;touch-action:manipulation}.inset-frame{fill:#f4efe2;stroke:#6b5b3e;stroke-width:1.5}.inset-guide{stroke:#b9a983;stroke-width:.8}.inset-piece path{stroke:#5a1210;stroke-width:1}.inset-piece path[role=button]{cursor:pointer}.inset-piece[data-selected] path{stroke:var(--focus);stroke-width:3}.inset-label{fill:#fff;font-size:9px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.inset-label-big{fill:var(--text);font-size:30px;dominant-baseline:auto}.inset-frames{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.inset-frame-box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:3px solid transparent;border-radius:10px}.inset-frame-box[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.inset-frame-box[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.inset-put{min-width:var(--tap);min-height:var(--tap);padding:4px 12px;border:2px dashed var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.inset-stacks,.inset-mat{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.inset-mat{min-height:64px;padding:6px;border:2px solid var(--border);border-radius:10px;background:#ece6d6}.inset-stack{display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:2px solid var(--control-border);border-radius:8px;background:var(--surface)}.inset-stack[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.inset-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.inset-prompt{font-size:1.25em;font-weight:700}.inset-target{font-size:1.4em;text-align:center}.inset-typed{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.inset-typed input{width:7em;min-height:var(--tap);font-size:1.2em}.inset-typed input[data-mark=right],.inset-sign[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.inset-typed input[data-mark=not-yet],.inset-sign[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.inset-switch{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap)}.inset-signs{display:flex;justify-content:center;gap:12px}.inset-sign{width:64px;height:64px;border:2px solid var(--control-border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:1.8em;font-weight:700}.inset-sign[aria-pressed=true]{border-color:var(--accent);outline:3px solid var(--focus);outline-offset:2px}.inset-records{font-size:1.2em}.share-bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-bin{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:160px;padding:6px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.share-bin-name{flex:1 0 100%;min-height:var(--tap);border:0;border-radius:6px;background:var(--accent-soft);color:var(--on-accent-soft);font:inherit;font-weight:700}.share-placed{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:3px solid transparent;border-radius:10px}.share-placed[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.share-placed[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.share-card{padding:2px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface)}.share-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.share-name{min-height:var(--tap)}.share-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.share-part{stroke:#3b3b3b;stroke-width:1.5}.share-compare-row{display:flex;flex-wrap:wrap;gap:16px}.share-compare figure{margin:0;text-align:center}.share-whole{fill:#fbe9c6;stroke:#3b3b3b;stroke-width:1.5}.share-shaded{fill:#e0a24a;stroke:#3b3b3b;stroke-width:1.5}.share-over{fill:#c8302cbf;stroke:#3b3b3b;stroke-width:1.5}.fline-stepper{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px;border:3px solid transparent;border-radius:10px}.fline-stepper[data-mark=right]{border-color:var(--success)}.fline-stepper[data-mark=not-yet]{border-color:var(--danger)}.fline-parts{min-width:2em;font-size:1.4em;font-weight:700;text-align:center}.fline-scroll{overflow-x:auto}.fline-board{position:relative;display:flex;flex-direction:column;gap:8px;padding:0 24px}.fline{position:relative;height:112px}.fline-rule{position:absolute;top:24px;right:0;left:0;border-top:3px solid var(--text)}.fline-mark{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.fline-tick{position:relative;width:var(--tap);height:var(--tap);padding:0;border:0;background:transparent}.fline-tick:after{content:"";position:absolute;top:12px;left:50%;height:24px;border-left:3px solid var(--text);transform:translate(-50%)}.fline-tick[data-on-guide=true]:after{border-color:var(--accent);border-width:5px}.fline-whole{position:absolute;top:40px;font-weight:700}.fline-held{display:flex;flex-direction:column;gap:2px;margin-top:16px}.fline-label{min-width:var(--tap);min-height:40px;padding:2px 8px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit;font-weight:700}.fline-tray .fline-label{min-height:var(--tap)}.fline-label[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.fline-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.fline-guide{position:absolute;top:0;bottom:0;border-left:2px dashed var(--accent);pointer-events:none}.ops-mat{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ops-group{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.ops-group-label{font-size:1.2em}.ops-circles{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.ops-taken{font-weight:700}.ops-area{display:grid;gap:2px;width:min(100%,420px)}.ops-area-row{display:contents}.ops-area-head{min-width:0;min-height:var(--tap);border:2px dashed var(--control-border);border-radius:6px;background:var(--surface)}.ops-area-head[aria-pressed=true]{border-style:solid;background:var(--accent-soft)}.ops-area-cell{min-height:40px;border:1px solid #6b5b3e;background:#f4efe2}.ops-area-cell[data-col]{background:#b7d3ef}.ops-area-cell[data-row]{background:#f3dc8f}.ops-area-cell[data-col][data-row]{background:#6fae6a}.poem-switches{display:flex;flex-wrap:wrap;gap:4px 16px}.poem{padding:16px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:Georgia,Times New Roman,serif}.poem-title{margin:0;font-size:1.6em}.poem-author{margin:0 0 12px;color:var(--muted)}.poem-stanza{display:flex;gap:12px}.poem-stanza p{margin:0 0 16px;font-size:1.5em;line-height:1.6;overflow-wrap:anywhere}.poem-number{flex:none;display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:var(--accent-soft);color:var(--on-accent-soft);font-weight:700}.poem-break{color:var(--muted)}.poem-rhyme{padding:0 2px;border-radius:4px;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}.poem-rhyme-a{background:#fde2b8}.poem-rhyme-b{background:#cfe6f7}.poem-rhyme-c{background:#d9efcf}.poem-rhyme-d{background:#f3d3e4}.poem-rhyme-e{background:#e6dcf5}.poem-rhyme-f{background:#f6f0b8}.poem-where{align-self:center;font-weight:700}.coins-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:16px}.coins-meet{display:flex;flex-direction:column;align-items:center;gap:8px}.coins-coin{display:grid;place-items:center;min-width:var(--tap);min-height:var(--tap);padding:2px;border:0;border-radius:50%;background:transparent}.coins-coin[aria-pressed=true]:not([aria-label^="Turn over"]){outline:3px solid var(--focus);outline-offset:2px}.coins-space{width:8.5em;min-height:var(--tap);border:2px dashed var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:700}.coins-space[data-holds]{border-style:solid;background:var(--notice-bg)}.coins-tray{min-height:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.coins-card{min-height:var(--tap);padding:6px 14px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit;font-weight:700}.coins-card-gone{visibility:hidden}.coins-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.coins-mat{display:flex;flex-direction:column;gap:6px;min-height:120px;padding:8px;border:2px solid #6b8f5e;border-radius:var(--radius);background:#e3efd9}.coins-mat-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:24px}.coins-price{font-size:1.4em}.food-chain-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:6px}.food-chain-row>.food-arrow{margin-top:20px}.food-chain-last,.food-space-box{display:flex;flex-direction:column;align-items:center;gap:4px}.food-space{display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border:2px dashed var(--control-border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.85em}.food-space[data-holds]{border-style:solid;background:var(--notice-bg)}.food-role{color:var(--muted);font-size:.85em;font-weight:700}.food-arrow{padding:0 4px;border-radius:6px;color:var(--accent);font-size:1.8em;font-weight:700}.food-arrow[data-mark=right]{background:var(--success-soft);color:var(--success)}.food-arrow[data-mark=not-yet]{background:var(--danger-soft);color:var(--danger)}.food-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.food-card{display:flex;flex-direction:column;align-items:center;min-width:var(--tap);min-height:var(--tap);padding:4px 6px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.85em}.food-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.food-web-scroll{overflow-x:auto}.food-web{display:block;width:100%;min-width:420px;height:auto}.food-web-card rect{fill:var(--surface);stroke:var(--control-border);stroke-width:2}.food-web-card[aria-pressed=true] rect{fill:var(--accent-soft);stroke:var(--focus);stroke-width:4}.food-web-card text{fill:var(--text);font-size:12px}.food-web-card{cursor:pointer}.food-web-arrow{stroke:#2f6b58;stroke-width:4;pointer-events:none}.food-web-hit{stroke:transparent;stroke-width:28;cursor:pointer}.food-web-list li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px}.needs-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.needs-column{display:flex;flex-direction:column;gap:6px;min-height:160px;padding:4px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.needs-heading{min-height:var(--tap);padding:4px;border:0;border-radius:6px;background:var(--accent-soft);color:var(--on-accent-soft);font:inherit;font-weight:700}.needs-chart-scroll{overflow-x:auto}.needs-chart{width:100%;min-width:36em;border-collapse:collapse}.needs-chart th,.needs-chart td{padding:4px;border:1px solid var(--border);vertical-align:top;text-align:left}.needs-chart tbody th{width:8em}.needs-chart input,.needs-chart textarea{box-sizing:border-box;width:100%;min-height:var(--tap);font:inherit}@media(max-width:640px){.needs-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.board-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}.board-bowl{max-width:300px}.board-bowl .skittles-bead{width:12px;height:12px}.board{display:grid;grid-template-columns:repeat(9,minmax(0,var(--tap)));justify-content:center;gap:2px;padding:8px;border-radius:10px;background:#e8d9b8}.board-skittle{aspect-ratio:3 / 4;min-height:var(--tap);padding:0;border:2px dashed #7a6a48;border-radius:20px 20px 6px 6px;background:transparent}.board-skittle[aria-pressed=true]{border:0;background:#3f9a4a}.board-hole{aspect-ratio:1;padding:0;border:0;border-radius:50%;background:radial-gradient(circle,#b9a57c 0 30%,transparent 32%)}.board-hole[data-full]{background:radial-gradient(circle,#4caf50 0 42%,#2e6b34 43% 47%,transparent 49%)}.board-record ol{margin:0;padding-left:1.5em;columns:2}.board-record h3{margin:0 0 4px;font-size:1em}.envelope-note p{margin:0 0 4px}.envelope-paper{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"from stamp" "to to";gap:16px;max-width:640px;padding:16px;border:2px solid var(--control-border);border-radius:6px;background:#fffdf6}.envelope-from{grid-area:from;max-width:20em}.envelope-stamp{display:grid;grid-area:stamp;place-items:center;width:64px;height:76px;border:2px dashed var(--control-border);color:var(--muted);font-size:.85em}.envelope-to{grid-area:to;justify-self:center;width:min(100%,22em);padding:24px 0 16px}.envelope-lines{display:grid;gap:4px}.envelope-caption{color:var(--muted);font-size:.8rem;font-weight:600}.envelope-lines input,.envelope-write input{box-sizing:border-box;width:100%;min-height:var(--tap);font:inherit}.envelope-lines input[data-mark=right],.envelope-write input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.envelope-lines input[data-mark=not-yet],.envelope-write input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.envelope-sentence{font-size:1.25em}.envelope-write{display:grid;gap:4px;max-width:32em}.personal-timeline{--ptl-cell: 7.5em}.ptl-maker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ptl-maker input{flex:1 1 14em;min-height:var(--tap);font:inherit}.ptl-pictures{display:flex;flex-wrap:wrap;gap:4px;width:100%}.ptl-picture{min-width:var(--tap);min-height:var(--tap);border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.ptl-picture[aria-checked=true]{border-color:var(--accent);outline:3px solid var(--focus);outline-offset:1px}.ptl-scroll{overflow-x:auto;padding-bottom:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.ptl-lane{display:flex;width:max-content}.ptl-lane+.ptl-lane{border-top:2px solid var(--border)}.ptl-lane-name{position:sticky;left:0;z-index:1;align-self:center;width:6em;padding:4px;background:var(--surface);font-size:.85em;font-weight:700}.ptl-cell{display:flex;flex:none;flex-direction:column;gap:4px;width:var(--ptl-cell);min-height:112px;padding:4px;border-left:1px solid var(--border)}.ptl-year{min-height:var(--tap);border:0;border-bottom:3px solid var(--control-border);background:transparent;color:var(--text);font:inherit;font-weight:700}.ptl-card{display:flex;flex-direction:column;align-items:center;min-width:var(--tap);min-height:var(--tap);max-width:10em;padding:4px 6px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit;font-size:.85em}.ptl-cell .ptl-card{max-width:none}.ptl-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.ptl-card[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.ptl-card[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}@media print{.ptl-scroll{display:none}}.iso-view{display:block;width:100%;max-width:420px;max-height:340px;margin:0 auto}.iso-cube polygon{stroke:#24527f;stroke-width:.8;stroke-linejoin:round}.iso-frame,.iso-frame-back polyline{fill:none;stroke:var(--text);stroke-width:1.5}.iso-frame-back polyline{stroke-dasharray:4 3;opacity:.6}.iso-label{fill:var(--text);font-size:16px;font-weight:700}.volume-fill{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}.volume-fill .iso-view{flex:1 1 260px}.volume-floor-wrap{display:grid;justify-items:center;gap:4px;max-width:100%;overflow-x:auto}.volume-floor-name{color:var(--muted);font-size:.85em}.volume-floor{display:grid;gap:2px}.volume-square{width:var(--tap);height:var(--tap);padding:0;border:2px solid #3c75b0;border-radius:4px;background:var(--surface)}.volume-square[data-cubes]{background:#a9cdf0}.volume-square:disabled{opacity:.6}.volume-answers{display:flex;flex-wrap:wrap;gap:12px}.volume-answer{display:grid;gap:4px}.volume-answer input{width:7em;min-height:var(--tap);font:inherit}.volume-answer input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.volume-answer input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.volume-steppers{display:flex;flex-wrap:wrap;gap:8px 16px}.volume-readout{margin:0;font-weight:700;text-align:center}.volume-designs h3{margin:0 0 4px;font-size:1em}.volume-designs li[data-mark=right]{color:var(--success)}.volume-designs li[data-mark=not-yet]{color:var(--danger)}.cabinet-tabs{display:flex;flex-wrap:wrap;gap:4px}.cabinet-tab{min-height:var(--tap);padding:4px 12px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.cabinet-tab[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft);font-weight:700}.cabinet-drawer{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:2px solid #8a7350;border-radius:8px;background:#efe3c8}.cabinet-pick{display:grid;justify-items:center;min-width:72px;min-height:72px;padding:4px;border:2px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.8em}.cabinet-pick[aria-pressed=true]{border-color:var(--accent)}.cabinet-shape{display:block;width:56px;height:56px}.cabinet-large{display:block;width:min(100%,300px);height:auto;margin:0 auto;overflow:visible}.cabinet-thumb{display:inline-block;width:32px;height:32px;margin-right:6px;vertical-align:middle}.cabinet-mat{padding:12px;border-radius:10px;background:var(--surface)}.cabinet-name{margin:0;font-weight:700;text-align:center}.cabinet-hit{fill:none;stroke:transparent;stroke-width:17;cursor:pointer}.cabinet-target{fill:transparent;stroke:none;cursor:pointer}.cabinet-edge{stroke:transparent;stroke-width:4;stroke-linecap:round}.cabinet-side[aria-pressed=true] .cabinet-edge{stroke:#f2c14e}.cabinet-dot{fill:#fff;stroke:#1f3550;stroke-width:1;opacity:.5}.cabinet-corner[aria-pressed=true] .cabinet-dot{fill:#f2c14e;opacity:1}.cabinet-side:focus-visible,.cabinet-corner:focus-visible{outline:3px solid var(--focus)}.cabinet-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(9em,1fr));gap:8px}.cabinet-column{display:flex;flex-direction:column;gap:6px;min-height:140px;padding:4px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.cabinet-pile,.cabinet-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.cabinet-card{display:grid;place-items:center;width:64px;height:64px;padding:2px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface)}.cabinet-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.cabinet-card[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.cabinet-card[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.cabinet-card-text{margin:0;font-size:1.15em;font-weight:700}.cabinet-chart{width:100%;min-width:34em;border-collapse:collapse}.cabinet-chart th,.cabinet-chart td{padding:4px;border:1px solid var(--border);text-align:center}.cabinet-chart tbody th{text-align:left;white-space:nowrap}.cabinet-yes{width:var(--tap);height:var(--tap);border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:1.3em}.cabinet-yes[aria-pressed=true]{background:var(--accent-soft)}.cabinet-yes[data-mark=right]{border-color:var(--success)}.cabinet-yes[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.cabinet-names{display:flex;flex-wrap:wrap;gap:6px}.cabinet-name-choice{min-height:var(--tap);padding:4px 12px;border:2px solid var(--control-border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit}.cabinet-name-choice[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.cabinet-name-choice[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.cabinet-name-choice[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.cabinet-figure{display:block;width:min(100%,320px);margin:0 auto;color:var(--text)}.figure line,.figure-corner{fill:none;stroke:currentColor;stroke-width:3}.figure-dot{fill:currentColor}.dot-paper{position:relative;width:calc(var(--tap) * 7);max-width:100%;margin:0 auto;aspect-ratio:1}.dot-paper-drawing{position:absolute;inset:0;width:100%;height:100%;color:var(--text);pointer-events:none}.dot-paper-path{fill:none;stroke:#3c75b0;stroke-width:.08;stroke-linejoin:round}.dot-paper-path[data-closed]{fill:#3c75b040}.dot-paper-line line{stroke:currentColor;stroke-width:.07}.dot-paper-line circle{fill:currentColor}.dot-paper-dots{display:grid;position:absolute;inset:0;grid-template-columns:repeat(7,1fr)}.dot-paper-dot{padding:0;border:0;background:radial-gradient(circle,var(--text) 0 9%,transparent 11%)}.dot-paper-dot[aria-pressed=true]{background:radial-gradient(circle,#3c75b0 0 18%,transparent 20%)}.symmetry-view{overflow:hidden}.symmetry-line{stroke:#d64541;stroke-width:1.5;stroke-dasharray:4 3}.symmetry-line[data-mark=right]{stroke:#2e7d32;stroke-dasharray:none}.symmetry-list{margin:0}.symmetry-list li[data-mark=right]{color:var(--success)}.symmetry-list li[data-mark=not-yet]{color:var(--danger)}.solid-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.solid-place{display:grid;justify-items:center;align-content:start;gap:4px}.solid-button{display:grid;place-items:center;width:80px;height:80px;padding:2px;border:2px solid transparent;border-radius:8px;background:transparent}button.solid-button{border-color:var(--control-border);background:var(--surface)}.solid-button[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.solid-view{display:block;width:100%;height:100%}.solid-name{min-height:var(--tap);padding:4px 10px;border:2px solid var(--control-border);border-radius:8px;background:var(--notice-bg);color:var(--text);font:inherit}.solid-name[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.solid-turn{display:grid;justify-items:center;gap:8px}.solid-large{width:min(100%,280px);aspect-ratio:1;border-radius:12px;background:var(--surface);cursor:grab}.solid-turns{display:flex;gap:8px}.solid-mat{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:4px;padding:8px;border-radius:10px;background:#efe3c8}.solid-stack{display:flex;flex-direction:column-reverse;align-items:center;min-height:160px}.solid-stack .solid-button{width:min(100%,72px);height:auto;aspect-ratio:1;margin-bottom:-6px}.solid-floor{width:100%;min-height:var(--tap);border:0;border-top:4px solid #8a7350;background:transparent}.gbox{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}.gbox-compartment{padding:6px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.gbox-heading{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere;margin:0 0 6px;font-weight:600}.gbox-words{display:flex;flex-wrap:wrap;gap:4px}.gbox-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);padding:2px 8px;border:2px solid var(--control-border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;cursor:grab}.gbox-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.gbox-card[data-dragging]{pointer-events:none;position:relative;z-index:5}.gbox-strip{position:sticky;top:8px;z-index:2;display:flex;align-items:flex-end;gap:6px;min-height:96px;padding:8px;overflow-x:auto;border:2px dashed var(--control-border);border-radius:10px;background:#fffdf6}.gbox-card.on-strip{flex:none}.gbox-end{flex:none;min-width:var(--tap);min-height:var(--tap);border:2px dashed var(--control-border);border-radius:6px;background:transparent;color:var(--muted);font:inherit}.gbox-kept{margin:0;font-size:1.15em;line-height:1.8}.chart.ten{grid-template-columns:repeat(11,minmax(var(--tap),1fr));min-width:calc(11 * var(--tap));max-width:620px}.chart-cell[data-colour=yellow]{background:#ffd84d}.chart-cell[data-colour=blue]{background:#9cc8f0}.chart-cell[data-colour=pink]{background:#f6a8c8}.chart-rows,.chart-crayons{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0}.chart-rows legend,.chart-crayons legend{width:100%;margin-bottom:4px;font-weight:600}.chart-row-choice,.chart-crayon{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 10px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface)}.chart-crayon.yellow{border-color:#c9a400}.chart-crayon.blue{border-color:#3c75b0}.chart-crayon.pink{border-color:#c4507f}.chart-entry,.chart-covered{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chart-entry input,.chart-covered input{width:6em;min-height:var(--tap);font-size:1.2em}.chart-entry{position:sticky;bottom:0;z-index:2;padding:8px 0;background:var(--surface)}.writing-stops{overflow-x:auto}.writing-stops ol{display:flex;align-items:stretch;gap:8px;margin:0;padding:4px 0 8px;list-style:none}.writing-stops li{display:flex}.writing-stop{display:flex;flex-direction:column;align-items:center;gap:4px;width:140px;min-height:180px;padding:8px;border:2px solid var(--control-border);border-radius:10px;background:#f7eedc;color:var(--text);font:inherit}.writing-stop .writing-letters svg{width:40px;height:40px}.writing-stop-name{font-weight:600;overflow-wrap:anywhere;text-align:center}.writing-stop-date{color:var(--muted);font-size:.85em;text-align:center}.writing-stop-large-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:12px;background:#f7eedc;text-align:center}.writing-stop-large-card h3,.writing-stop-large-card p{margin:0}.writing-letters{display:grid;gap:8px}.writing-letter-row{display:flex;justify-content:center;gap:8px}.writing-stop-large-card .writing-letters svg{width:min(110px,18vw);height:auto}.writing-stamps{display:flex;flex-wrap:wrap;gap:6px}.writing-stamp{display:grid;place-items:center;width:56px;height:56px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);touch-action:none}.writing-stamp[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.writing-stamp[data-dragging]{position:relative;z-index:5;pointer-events:none}.writing-tablet{display:grid;grid-template-columns:repeat(6,minmax(var(--tap),64px));gap:4px;width:fit-content;max-width:100%;padding:12px;border-radius:18px;background:#c99a6b}.writing-place{display:grid;place-items:center;aspect-ratio:1;min-width:var(--tap);border:1px solid #b0845a;border-radius:8px;background:#d7ab7e}.writing-place[data-stamp] svg{opacity:.75}.writing-key-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none}.writing-key-row{display:flex;flex-direction:column;gap:6px}.writing-key-row input{min-height:var(--tap)}.writing-key-row .journal-canvas{width:160px;height:160px;border:2px solid var(--control-border);background:#fff}.writing-key-buttons{display:flex;flex-wrap:wrap;gap:6px}.writing-message{display:flex;flex-wrap:wrap;gap:4px;min-height:72px;padding:8px;border:2px dashed var(--control-border);border-radius:10px;background:#fff}.writing-symbol img,.writing-symbol-blank{display:block;width:64px;height:64px}.writing-symbol-blank{border:1px solid var(--border)}.writing-space{width:32px}.book-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.book-tab{flex:none;min-height:var(--tap);padding:0 14px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.book-tab[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft);font-weight:600}.book-maker-page[hidden]{display:none}.book-maker-page{display:flex;flex-direction:column;gap:10px;min-height:360px;padding:12px;border:2px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 2px 6px #00000014}.book-maker-heading{margin:0;padding-bottom:6px;border-bottom:2px solid var(--border)}.book-fields{display:grid;gap:8px}.book-maker-heading,.book-words,.book-fields input{min-height:var(--tap);font-size:1.2em}.book-words{width:100%}.book-end{margin:0;font-size:1.6em;font-weight:700;text-align:center}.book-picture .journal-canvas{width:100%;max-width:640px;height:auto;aspect-ratio:8 / 5;border:2px solid var(--control-border);background:#fff}.book-checklist{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:8px;border:1px solid var(--border);border-radius:8px}.book-checklist label{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap)}.book-checklist input{width:24px;height:24px}.book-print{display:none}@media print{.book-print{display:block}.book-sheet{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:90vh;break-after:page;color:#000;text-align:center}.book-sheet img{max-width:100%;max-height:60vh}.book-sheet-words{font-size:24pt;white-space:pre-wrap}}.number-built,.number-shown{display:flex;align-items:center;min-height:72px;padding:8px;border:2px solid var(--border);border-radius:10px;background:#fffdf6;overflow-x:auto}.number-signs,.number-tallies{display:flex;flex-wrap:wrap;gap:4px}.number-roman{font-family:Georgia,Times New Roman,serif;font-size:2em;letter-spacing:.08em}.number-keys{display:flex;flex-wrap:wrap;gap:6px}.number-sign-key,.number-letter{min-width:56px;font-family:Georgia,Times New Roman,serif;font-size:1.3em}.number-places{display:flex;gap:6px}.number-place{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:var(--tap)}.number-place-head{color:var(--muted);font-size:.85em}.number-digit{font-size:1.6em;font-weight:700}.number-answer{width:8em;min-height:var(--tap);font-size:1.2em}.number-compare th{padding:8px 12px 8px 0;text-align:left}.number-compare td{padding:8px 0;overflow-wrap:anywhere}.number-binary{font-family:ui-monospace,monospace;font-size:1.2em}.blocks-tray{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:2px solid var(--border);border-radius:10px;background:var(--surface)}.blocks-tray-block{display:grid;place-items:center;min-width:64px;min-height:64px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);touch-action:none}.blocks-tray-block[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.blocks-tray-block[data-dragging]{position:relative;z-index:5;pointer-events:none}.blocks-scroll{max-width:100%;overflow-x:auto}.blocks-board{display:block;overflow:visible;background:#fffdf6}.blocks-cell{fill:transparent;stroke:#e2d8c4;stroke-width:1}.blocks-outline{fill:#e9e2d2;stroke:#e9e2d2}.blocks-placed{cursor:grab;touch-action:none}.blocks-placed .blocks-edge{stroke:#2b2f36;stroke-width:2;stroke-linecap:round}.blocks-placed[aria-pressed=true] .blocks-edge{stroke:var(--focus);stroke-width:5}.blocks-placed[data-dragging]{pointer-events:none}.machine-tabs{display:flex;flex-wrap:wrap;gap:6px}.machine-drawing{display:block;width:100%;max-width:480px;height:auto;border-radius:10px;background:#fffdf6}.machine-car{transition:transform .8s ease-out}@media(prefers-reduced-motion:reduce){.machine-car{transition:none}}.machine-choices{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0}.machine-choices legend{width:100%;margin-bottom:4px;font-weight:600}.machine-choice{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 10px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface)}.machine-pull{display:flex;align-items:center;gap:8px}.machine-pull input[type=range]{flex:1;min-width:0;height:var(--tap)}.machine-scale{position:relative;width:16px;height:var(--tap);border:2px solid #2b2f36;border-radius:4px;background:#fff}.machine-scale-fill{position:absolute;bottom:0;left:0;width:100%;background:#d9452b}.machine-reading{min-width:2ch;font-size:1.4em;font-weight:700}.machine-table th,.machine-table td{padding:4px 8px;text-align:left}.machine-table input{width:7em;min-height:var(--tap)}.cycle-name{margin:0;font-size:1.1em}.cycle-scroll{overflow-x:auto;overflow-y:hidden;padding-top:4px}.cycle-ring{position:relative;width:max(340px,min(100%,460px));aspect-ratio:1;margin:0 auto;color:var(--muted)}.cycle-ring-labels{width:max(360px,min(100%,440px));margin-bottom:56px}.cycle-arrows{position:absolute;inset:0;width:100%;height:100%}.cycle-spot{position:absolute;display:grid;justify-items:center;gap:4px;transform:translate(-50%,-50%);color:var(--text)}.cycle-start{font-size:.85em;font-weight:700;color:var(--accent)}.cycle-place,.cycle-card{display:grid;place-items:center;align-content:center;gap:2px;width:88px;min-height:88px;padding:4px;border:2px solid var(--control-border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.85em;line-height:1.1;text-align:center}.cycle-place{border-style:dashed;background:var(--bg)}.cycle-place[data-holds]{border-style:solid;background:var(--surface)}.cycle-number{font-size:1.4em;color:var(--muted)}.cycle-label,.cycle-name-card{min-width:88px;min-height:var(--tap);padding:4px 8px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9em}.cycle-label{border-style:dashed;background:var(--bg)}.cycle-label[data-holds]{border-style:solid;background:var(--surface)}.cycle-tray{display:flex;flex-wrap:wrap;gap:8px;min-height:var(--tap);padding:8px;border-radius:10px;background:var(--accent-soft)}.cycle-card[aria-pressed=true],.cycle-name-card[aria-pressed=true],.venn-fact[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.cycle-card[data-dragging],.cycle-name-card[data-dragging],.venn-fact[data-dragging]{pointer-events:none}.cycle-place[data-mark=right],.cycle-label[data-mark=right],.venn-fact[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.cycle-place[data-mark=not-yet],.cycle-label[data-mark=not-yet],.venn-fact[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.venn{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:24px 12px}.venn-ring{position:absolute;top:0;bottom:0;width:66%;border:3px solid;border-radius:50%;pointer-events:none}.venn-ring-left{left:0;border-color:#3c75b0}.venn-ring-right{right:0;border-color:#4c9a52}.venn-region{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:160px;padding:8px 4px}.venn-left{padding-left:12%}.venn-right{padding-right:12%}.venn-heading{min-height:var(--tap);border:0;border-radius:8px;background:transparent;color:var(--text);font-weight:700}.venn-fact{min-height:var(--tap);padding:4px 8px;border:2px solid var(--control-border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9em;text-align:left}@media(max-width:600px){.venn{grid-template-columns:1fr;padding:0}.venn-ring{display:none}.venn-region{min-height:0;padding:8px;border:3px solid #3c75b0;border-radius:12px}.venn-both{border-color:#3c75b0 #4c9a52 #4c9a52 #3c75b0}.venn-right{border-color:#4c9a52}}.bean-growth{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.bean-table th,.bean-table td{padding:2px 8px;text-align:left}.bean-input{width:6em;min-height:var(--tap)}.bean-graph{flex:1 1 360px;max-width:640px;height:auto}.protractor-scroll{overflow-x:auto}.protractor-svg{display:block;width:max(520px,min(100%,640px));height:auto;border-radius:10px;background:#fffdf6;touch-action:pan-y}.protractor-rays line{stroke:#2b2f36;stroke-width:3;stroke-linecap:round}.protractor-rays circle{fill:#2b2f36}.protractor-arc path{fill:none;stroke:#3c75b0;stroke-width:2}.protractor-arc text{fill:#1f3550;font-size:15px;font-weight:700;text-anchor:middle}.protractor-tool{cursor:grab}.protractor-body{fill:#fff4aa8c;stroke:#8a6d00;stroke-width:1.5}.protractor-scale line,.protractor-scale path{stroke:#5a4700;stroke-width:.8;pointer-events:none}.protractor-scale text{fill:#3d3100;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.protractor-inner{font-size:8px}.protractor-outer{font-size:6.5px}.protractor-handle line{stroke:#8a6d00;stroke-width:1.5}.protractor-handle circle{fill:#e0b400;stroke:#5a4700}.protractor-handle .protractor-hit{fill:transparent;stroke:none}.protractor-ray-end{fill:#1e3a5f40;stroke:var(--focus);stroke-width:2;cursor:grab}.protractor-answer{display:flex;align-items:center;gap:8px}.protractor-answer input{width:6em;min-height:var(--tap)}.turns-name{align-self:center;font-weight:600}.turns-circle{display:block;width:min(100%,360px);height:auto}.turns-piece{fill:#fff;stroke:#2b2f36;stroke-width:2;cursor:pointer}.turns-piece[data-shaded]{fill:#e05a47}.turns-piece:focus-visible{outline:none;stroke:var(--focus);stroke-width:5}.turns-label{fill:#1f1f1f;font-size:15px;font-weight:700;text-anchor:middle;pointer-events:none}.turns-total{font-size:1.2em;font-weight:700}.quad-scroll{overflow-x:auto}.quad-region{display:flex;flex-direction:column;gap:6px;min-width:0;padding:6px;border:3px solid var(--control-border);border-radius:16px}.quad-quadrilateral{min-width:340px;border-color:#6b6b6b}.quad-trapezoid{border-color:#b06a1e}.quad-parallelogram{flex:1;border-color:#6a4fb0}.quad-inner{display:flex;flex-wrap:wrap;gap:8px}.quad-inner>.quad-trapezoid{flex:0 1 180px}.quad-heading{align-self:flex-start;min-height:var(--tap);padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--text);font-weight:700}.quad-pile{display:flex;flex-wrap:wrap;gap:6px}.quad-thumb{width:52px;height:52px}.quad-overlap{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:4px}.quad-overlap>.quad-region{grid-row:1;border:0}.quad-overlap>.quad-rectangle{grid-column:1}.quad-overlap>.quad-square{grid-column:2}.quad-overlap>.quad-rhombus{grid-column:3}.quad-frame{grid-row:1;border:3px solid;border-radius:16px;pointer-events:none}.quad-frame-rectangle{grid-column:1 / 3;margin-right:6px;border-color:#3c75b0}.quad-frame-rhombus{grid-column:2 / 4;margin-left:6px;border-color:#4c9a52}@media(max-width:640px){.quad-overlap{grid-template-columns:1fr}.quad-frame{display:none}.quad-overlap>.quad-region{grid-column:1;grid-row:auto;margin-bottom:6px;border:3px solid #3c75b0}.quad-overlap>.quad-square{border-color:#3c75b0 #4c9a52 #4c9a52 #3c75b0}.quad-overlap>.quad-rhombus{border-color:#4c9a52}}.garden-limits{margin:0;font-weight:700}.garden-scroll{overflow-x:auto}.garden-grid{display:grid;width:max-content;padding:4px;border-radius:8px;background:#e9dcc4}.garden-square{display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:1px solid rgba(107,74,42,.25);border-radius:0;background:transparent}.garden-square[data-bed]{background:#cfe3b8}.garden-square[data-edges*=t]{border-top:4px solid #6b4a2a}.garden-square[data-edges*=r]{border-right:4px solid #6b4a2a}.garden-square[data-edges*=b]{border-bottom:4px solid #6b4a2a}.garden-square[data-edges*=l]{border-left:4px solid #6b4a2a}.garden-square[data-corner]{outline:3px solid var(--focus);outline-offset:-3px}.garden-plant{width:30px;height:30px}.garden-totals ul{margin:0;padding-left:1.2em}.garden-table-scroll{overflow-x:auto}.garden-table th,.garden-table td{padding:2px 4px;text-align:left;vertical-align:middle}.garden-table th[scope=row]{display:flex;align-items:center;gap:6px;white-space:nowrap}.garden-table input:not([type=radio]){width:4em;min-height:var(--tap)}.garden-table input[type=radio]{width:28px;height:28px;margin:10px}.garden-table input[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.garden-table input[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.tree-scroll{overflow-x:auto}.tree{position:relative;min-width:360px;max-width:640px;margin:0 auto}.tree-lines{position:absolute;inset:0;width:100%;height:100%}.tree-lines line{stroke:var(--muted);stroke-width:2}.tree-box{position:absolute;display:grid;place-items:center;align-content:center;width:164px;min-height:64px;padding:4px 6px;border:2px solid var(--control-border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.95em;line-height:1.15;text-align:center;transform:translate(-50%,-50%)}.tree-blank{border-style:dashed;background:var(--bg)}.tree-blank[data-holds]{border-style:solid;background:var(--surface)}.tree-blank[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.tree-blank[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.tree-rule{font-size:.8em;color:var(--muted)}.tree-statements{display:grid;gap:8px;margin:0;padding-left:1.4em}.tree-statement{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:6px 8px;border:2px solid var(--border);border-radius:10px}.tree-statement legend{float:left;width:100%;margin-bottom:4px}.tree-statement[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.tree-statement[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.tree-verdict{font-weight:700}.water-scroll{overflow-x:auto}.water-scene{position:relative;width:max(360px,min(100%,640px))}.water-drawing{display:block;width:100%;height:auto;border-radius:10px}.water-space{position:absolute;width:128px;min-height:var(--tap);padding:2px 6px;border:2px dashed var(--control-border);border-radius:8px;background:#ffffffeb;color:var(--text);font-size:.9em;transform:translate(-50%,-50%)}.water-space[data-holds],.water-input:not(:placeholder-shown){border-style:solid}.water-space[data-mark=right]{border-color:var(--success);background:var(--success-soft)}.water-space[data-mark=not-yet]{border-color:var(--danger);background:var(--danger-soft)}.water-ring .cycle-spot .water-space{position:static;transform:none}.water-ring{width:max(340px,min(100%,420px))}.guide-routines{display:grid;gap:.75rem;margin:0}.guide-routine{padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);break-inside:avoid}.guide-routine dt{font-weight:700}.guide-routine dd{margin:.25rem 0 0}.guide-household{columns:2 14rem;column-gap:2rem}.guide-household li{break-inside:avoid}@media print{.month-guide .guide-routine{border-color:#000}}.year-end-who{font-size:1.25em;font-weight:700}.year-end-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:0}.year-end-glance>div{padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.year-end-glance dt{color:var(--muted)}.year-end-glance dd{margin:.25rem 0 0;font-size:1.5em;font-weight:700}.year-end .report-table caption{padding:.5rem 0;font-weight:700;text-align:left}.year-end-works li{margin-bottom:.35rem}.year-end-not-yet{color:var(--danger)}@media print{.year-end h2{break-after:avoid}.year-end-track,.year-end-glance>div{break-inside:avoid}.year-end-glance>div{border-color:#000}.year-end-not-yet{color:#000}}.arrange-list{display:grid;gap:.5rem;padding:0;list-style:none}.arrange-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-height:var(--tap);padding:.25rem .75rem .25rem .25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.arrange-row.passed{padding-left:.75rem;color:var(--muted);background:transparent}.arrange-row[data-picked]{outline:3px solid var(--focus)}.arrange-handle{min-width:var(--tap);min-height:var(--tap);border:0;border-radius:var(--radius);background:var(--accent-soft);color:var(--on-accent-soft);font-size:1.25em;cursor:grab}.arrange-handle[aria-pressed=true],.arrange-handle[data-dragging]{position:relative;z-index:1;cursor:grabbing;box-shadow:0 4px 12px #0003}.arrange-week{min-width:4.5rem;font-weight:700}.arrange-title{flex:1 1 10rem}.arrange-moves{display:flex;gap:.25rem}.map-dot[data-moved]{outline:2px dashed var(--accent);outline-offset:2px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;margin:0;padding:0;list-style:none}.tool-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;height:100%;min-height:48px;padding:12px 16px;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tool-tile:hover strong{text-decoration:underline}.tool-tile .muted{font-size:.9em}.tool-steps{margin:0;padding-left:1.5em}.tool-steps li+li{margin-top:6px}.material-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}.help-link{display:inline-flex;align-items:center;min-height:48px;font-size:.9em}.year-plan-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px 0;border-bottom:1px solid var(--border)}.year-plan-row-name{display:flex;align-items:center;gap:10px;min-height:48px;flex:1 1 14em;font-weight:700}.year-plan-row-name input{width:24px;height:24px;flex:none}.year-plan-row-dates{min-width:9em}.year-plan-row-actions{display:flex;gap:8px;margin-left:auto}.year-plan-row-off .year-plan-row-name,.year-plan-row-off .year-plan-row-dates{color:var(--muted);font-weight:400}.year-plan-row-form,.year-plan-row>form{flex:1 1 100%;border:1px solid var(--border);border-radius:8px;padding:12px 16px}
