:root{--muted:#596681;--accent:#1d59d6;--on-accent:#fff;--input-line:#8995ac}
body[data-theme=dark]{--on-accent:#0b1730;--input-line:#6e83a6}
body[data-theme=midnight]{--on-accent:#10152e;--input-line:#7185b4}
body[data-theme=forest]{--muted:#426d60;--accent:#067361;--on-accent:#fff;--input-line:#77988d}
body[data-theme=aurora]{--muted:#6f567f;--accent:#8040ce;--on-accent:#fff;--input-line:#9b84ad}
html,body{max-width:100%;overflow-x:clip}.main,.page-view,.card,.tutor-chat{min-width:0}.main{scroll-margin-top:95px}.main:focus{outline:none}.nav button{color:var(--muted)}.nav button.active{color:var(--accent)}.btn.primary,.profile-picture-edit{color:var(--on-accent)}.field,.select,.search,.tutor-selectors select,.tutor-composer{border-color:var(--input-line)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.search:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.skip-link{position:fixed;left:15px;top:10px;z-index:150;padding:12px 18px;border-radius:8px;background:var(--panel);border:2px solid var(--accent);transform:translateY(-180%);font-weight:700}.skip-link:focus{transform:translateY(0)}
.site-footer{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:30px;padding:20px 0 8px;font-size:11px;color:var(--muted)}.site-footer nav{display:flex;gap:14px;flex-wrap:wrap}.site-footer a{text-decoration:underline;text-underline-offset:3px}
.policy-page{max-width:960px;padding:clamp(24px,4vw,48px)}.policy-page h1{font-size:clamp(26px,3vw,40px);margin-bottom:22px}.policy-page h2{font-size:20px;margin:30px 0 12px}.policy-page p,.policy-page li{font-size:14px;line-height:1.9;margin-bottom:14px;overflow-wrap:anywhere}.policy-page a{text-decoration:underline;text-underline-offset:3px}.policy-page .btn{text-decoration:none}.policy-page code{overflow-wrap:anywhere;background:var(--panel2);padding:2px 5px;border-radius:4px}.policy-actions{display:flex;gap:12px;flex-wrap:wrap}.data-choice{padding-bottom:24px;border-bottom:1px solid var(--line)}#data-delete-status{margin-top:12px;color:var(--muted)}.contact-email{font-size:clamp(15px,2vw,20px);overflow-wrap:anywhere}
.storage-notice{position:fixed;left:250px;bottom:14px;right:22px;max-width:880px;z-index:45;display:flex;align-items:center;gap:18px;background:var(--panel);border:1px solid var(--input-line);box-shadow:0 4px 25px #08153022;border-radius:12px;padding:14px 18px}.storage-notice p{font-size:11px;line-height:1.7}.storage-notice a{text-decoration:underline}.storage-notice .btn{flex-shrink:0}
.standalone-error{max-width:700px;margin:12vh auto;padding:30px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.standalone-error p{line-height:1.8;color:var(--muted)}.standalone-error>a:last-child{text-decoration:underline}
.practice-tools{flex-wrap:wrap}.practice-next{flex-wrap:wrap}.practice-answer-form .answer-form .field{flex:1}.practice-answer-form .answer-form .btn{min-width:150px}.tutor-consent{margin:12px 22px;padding:16px;background:var(--accent-soft);border:1px solid var(--input-line);border-radius:12px;font-size:12px;line-height:1.7;max-height:270px;overflow:auto}.tutor-consent h2{font-size:16px}.tutor-consent p{margin:8px 0}.tutor-consent label{display:flex;gap:10px;align-items:flex-start;margin:10px 0}.tutor-consent input{margin-top:4px;accent-color:var(--accent)}.tutor-consent a{text-decoration:underline}.tutor-privacy-link{font-size:10px;color:var(--muted);margin-left:8px;text-decoration:underline}
@media(max-width:1050px){.storage-notice{left:195px}.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar-bottom{margin-top:24px}.nav{margin-bottom:auto}}
@media(max-width:700px){.storage-notice{left:12px;right:12px;bottom:10px;padding:12px;gap:10px}.storage-notice p{font-size:10px}.storage-notice .btn{padding:8px;min-height:36px}.hero-content,.profile-info{min-width:0}.profile-info p{overflow-wrap:anywhere}.main{scroll-margin-top:75px}.topbar .search-wrap{min-width:0}.topbar .search input{min-width:0}.topbar .top-actions{flex-shrink:0}.site-footer{font-size:10px;padding-bottom:22px}.policy-page p,.policy-page li{font-size:13px}.policy-actions .btn{width:100%}.tutor-consent{margin:8px 10px;max-height:240px}.practice-tools .btn{min-height:42px}.gallery{min-width:0}.profile-picture-wrap{max-width:100%}}
@media(max-width:700px){.mobile-menu,.tutor-history .icon-button,.tutor-chat-row>.icon-button{min-width:44px;min-height:44px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.tutor-quick button{min-height:40px}}
