.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:500;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{position:relative;display:flex;align-items:stretch;min-width:280px;max-width:360px;background:var(--toast-bg);border:1.5px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--shadow);overflow:hidden;pointer-events:all;animation:toast-enter var(--transition-fast) ease forwards}.toast__accent{width:4px;flex-shrink:0;align-self:stretch;background:var(--accent)}.toast--warning .toast__accent{background:var(--warning)}.toast--error .toast__accent{background:var(--error)}.toast__message{flex:1;margin:0;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--fg);word-break:break-word}.toast__dismiss{background:none;border:none;color:var(--fg);font-size:var(--text-lg);cursor:pointer;min-width:2rem;min-height:2rem;display:flex;align-items:center;justify-content:center;padding:0 var(--space-2);opacity:.6;flex-shrink:0;transition:opacity var(--transition-fast);align-self:flex-start}.toast__dismiss:hover{opacity:1}.toast__dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}@keyframes toast-enter{0%{opacity:0;transform:translate(calc(100% + var(--space-6)))}to{opacity:1;transform:translate(0)}}@media(pointer:coarse),(max-width:600px){.toast-container{bottom:calc(64px + var(--space-4));right:var(--space-4);left:var(--space-4)}.toast{min-width:unset;max-width:unset;width:100%}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:transparent}.cc-panel{position:fixed;top:0;right:0;height:100%;width:300px;background:var(--panel-bg);border-left:2px solid var(--border);box-shadow:-4px 0 20px var(--shadow);padding:2rem 1.5rem;z-index:1001;overflow-y:auto;display:flex;flex-direction:column;gap:1.75rem;animation:slideIn .2s ease-out;outline:none}@media(prefers-reduced-motion:reduce){.cc-panel{animation:none}}.cc-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:1rem}.cc-header__title{font-size:1.1rem;font-weight:700}.cc-header__close{background:none;border:2px solid var(--border);border-radius:50%;min-width:2.75rem;min-height:2.75rem;color:var(--fg);font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.cc-group{display:flex;flex-direction:column;gap:.5rem}.cc-group__label{font-weight:700;font-size:.9rem;color:var(--fg)}.cc-radio-group{display:flex;flex-direction:column;gap:.4rem}.cc-radio-label,.cc-check-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.cc-select{background:var(--bg);color:var(--fg);border:2px solid var(--border);border-radius:6px;padding:.4rem .6rem;min-height:2.75rem;font-size:.95rem;width:100%}.cc-hint{color:var(--fg);opacity:.7;font-size:.875rem}.navbar{background:var(--nav-bg);border-bottom:2px solid var(--border);padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.navbar__brand{font-size:1.3rem;font-weight:700;color:var(--fg);letter-spacing:.02em}.navbar__tabs{display:flex;gap:.5rem}.navbar__tab{background:none;border:2px solid transparent;border-radius:6px;padding:.4rem 1rem;min-height:2.75rem;color:var(--fg);font-size:.95rem;cursor:pointer;transition:border-color .15s}.navbar__tab--active{border-color:var(--border);background:var(--card-bg)}.navbar__actions{display:flex;align-items:center;gap:.5rem}.navbar__a11y-btn{background:var(--accent);color:var(--bg);border:none;border-radius:6px;padding:.4rem .9rem;min-height:2.75rem;font-size:.9rem;cursor:pointer;font-weight:700}.navbar__signout-btn{background:none;color:var(--fg);border:2px solid var(--border);border-radius:6px;padding:.4rem .9rem;min-height:2.75rem;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.navbar__signout-btn:hover:not(:disabled){background:var(--fg);color:var(--bg)}.navbar__signout-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:599px){.navbar__tabs,.navbar__actions{display:none}}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:64px;background:var(--nav-bg);border-top:1px solid var(--border);display:flex;z-index:200}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--fg);opacity:.6;cursor:pointer;min-height:44px;font-size:var(--text-xs);padding:var(--space-1) 0;transition:opacity var(--transition-fast),color var(--transition-fast)}.bottom-nav__item--active{color:var(--accent);opacity:1}.bottom-nav__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bottom-nav__icon{font-size:1.2rem;line-height:1}.bottom-nav__label{font-size:var(--text-xs);line-height:1}@media(min-width:600px){.bottom-nav{display:none}}.reading-ruler{position:fixed;left:0;width:100%;height:2.5em;background:var(--ruler-color);pointer-events:none;z-index:9999;transition:top .05s linear}.skip-link{position:absolute;top:-100%;left:0;background:var(--fg);color:var(--bg);padding:.75rem 1.25rem;font-size:1rem;font-weight:700;z-index:9999;text-decoration:none;border-radius:0 0 6px}.skip-link:focus{top:0}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--fg);font-size:1.1rem;opacity:.6}.history-panel__title{font-size:1.4rem;margin-bottom:1rem}.history-panel__description{opacity:.6}@media(max-width:599px){.main-content{padding-bottom:calc(64px + var(--space-4))}}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2) format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff) format("woff")}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--text-xs: .8rem;--text-sm: .875rem;--text-base-sm: .9rem;--text-base: .95rem;--text-md: 1rem;--text-lg: 1.05rem;--text-xl: 1.1rem;--text-2xl: 1.3rem;--text-3xl: 1.4rem;--text-hero: clamp(1.8rem, 5vw, 3rem);--content-max: 1100px;--content-narrow: 600px;--content-mid: 760px;--transition-fast: .15s ease;--transition-med: .25s ease;--transition-flip: .5s ease}[data-theme=cream]{--bg: #FFFDD0;--fg: #2F2F2F;--card-bg: #FFF8E1;--nav-bg: #F5F0B8;--border: #C8C080;--accent: #215E20;--accent-hover: #1A4C19;--accent-muted: #E8F5E9;--ruler-color: rgba(255, 220, 0, .2);--panel-bg: #FFF8E1;--shadow: rgba(0, 0, 0, .12);--error: #C0392B;--error-bg: rgba(192, 57, 43, .08);--warning: #8B5E00;--warning-bg: rgba(139, 94, 0, .08);--input-bg: #FFFEF5;--toast-bg: #FFF8DC;--skeleton-base: #EDE9C0;--skeleton-shimmer: #F5F1D0}[data-theme=high-contrast]{--bg: #000000;--fg: #FFFF00;--card-bg: #111111;--nav-bg: #0A0A0A;--border: #FFFF00;--accent: #00FF88;--accent-hover: #00CC70;--accent-muted: #001A0D;--ruler-color: rgba(255, 255, 0, .25);--panel-bg: #111111;--shadow: rgba(255, 255, 0, .15);--error: #FF5555;--error-bg: rgba(255, 85, 85, .1);--warning: #FFD700;--warning-bg: rgba(255, 215, 0, .1);--input-bg: #0A0A0A;--toast-bg: #1A1A00;--skeleton-base: #1A1A00;--skeleton-shimmer: #2A2A00}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--base-font-size, 16px)}body{font-family:OpenDyslexic,Open Dyslexic,sans-serif;background-color:var(--bg);color:var(--fg);line-height:var(--line-spacing, 1.5);letter-spacing:.01em;word-spacing:var(--word-spacing, 0em);transition:background-color .25s,color .25s;min-height:100vh}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){body{transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}h1,h2,h3{font-family:OpenDyslexic,Open Dyslexic,sans-serif;color:var(--fg)}button{font-family:OpenDyslexic,Open Dyslexic,sans-serif;cursor:pointer}input,select,textarea{font-family:OpenDyslexic,Open Dyslexic,sans-serif}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:2rem;max-width:1100px;margin:0 auto;width:100%}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
