:root{color-scheme:light;--bg:#f6f7f5;--surface:#ffffff;--text:#202b28;--muted:#6e7974;--border:#e6ebe7;--accent:#276f56;--accent-2:#eaf2eb;--hover:#f0f4ef;--glass:rgba(255,255,255,.74);--shadow:0 18px 45px rgba(26,51,37,.045);--blue:#3481df;--orange:#e99431;--red:#dd545d;--neutral:#89968d}
html[data-theme=dark]{color-scheme:dark;--bg:#121917;--surface:#1b2520;--text:#edf3ef;--muted:#9caea3;--border:#344339;--accent:#89cdb0;--accent-2:#2a3e34;--hover:#26352d;--glass:rgba(28,40,33,.73);--shadow:0 18px 45px rgba(0,0,0,.14);--blue:#81b0ff;--orange:#ffc07c;--red:#ff9298;--neutral:#94a29b}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,sans-serif;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-size:15px;line-height:1.48}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.58;cursor:wait}button,textarea,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #579fee;outline-offset:3px}svg.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.defs{position:absolute;left:-9999px;width:0;height:0;overflow:hidden}.muted,.subtitle{color:var(--muted)}.small{font-size:12px}.full{width:100%}.eyebrow{font-size:11px;font-weight:740;letter-spacing:.10em;color:var(--accent);text-transform:uppercase}.glass{background:var(--glass);-webkit-backdrop-filter:blur(30px) saturate(165%);backdrop-filter:blur(30px) saturate(165%);box-shadow:0 6px 26px rgba(30,59,44,.035)}
.button{border:1px solid transparent;border-radius:13px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;font-weight:700;font-size:13px;transition:transform .17s,background .17s;color:inherit;background:var(--hover)}.button:hover{transform:translateY(-1px)}.button .ico{width:16px;height:16px}.button.primary{background:#256c53;color:#fff}.button.primary:hover{background:#1b5540}.button.subtle{background:var(--accent-2);color:var(--accent)}.text-button{border:0;background:none;color:var(--accent);font-weight:730;display:inline-flex;align-items:center;gap:7px;padding:9px 0}.text-button .ico{width:15px;height:15px}.icon-button{height:42px;width:42px;border-radius:13px;display:inline-grid;place-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text)}.field-group{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:13px;font-weight:640}.field-group>span,.form-label{font-size:13px;font-weight:680}.field-group input,.field-group textarea,.field-group select{border:1px solid var(--border);background:var(--surface);border-radius:13px;min-height:48px;padding:12px 14px;color:var(--text);outline:none;width:100%;font-size:14px}.field-group textarea{min-height:108px;resize:vertical}.field-group input::placeholder,.field-group textarea::placeholder{color:var(--muted);opacity:.82}.field-group input:focus,.field-group textarea:focus,.field-group select:focus{border-color:var(--accent)}.form-error{color:#bb323e;background:#ffe8e9;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.5;margin:12px 0}.form-error[hidden],[hidden]{display:none!important}
/* Autenticazione */
.auth-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,1fr);min-height:100svh}.auth-intro{background:#193f33;color:white;padding:44px clamp(34px,5.5vw,94px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}.auth-brand,.app-brand,.mobile-auth-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:15px;font-size:25px;font-weight:760;background:#d8edd9;color:#244c38}.auth-brand strong,.app-brand strong,.mobile-auth-brand strong{font-size:26px;font-weight:750}.auth-intro-content{max-width:640px;z-index:1}.light-eyebrow{color:#acd9bb}.auth-intro h1{font-size:clamp(50px,6.4vw,92px);line-height:1.07;font-weight:690;margin:24px 0 28px}.auth-intro em,.auth-intro p{font-size:17px;line-height:1.8;color:#bcd2c4;max-width:410px}.auth-orb{border-radius:50%;position:absolute;pointer-events:none;z-index:-1}.orb-one{width:620px;height:620px;top:13%;right:-310px;background:radial-gradient(circle at 28% 25%,#a2cdb3 0%,#4d876f 24%,#244d3a 52%,transparent 73%);filter:blur(5px)}.orb-two{width:490px;height:490px;bottom:-260px;left:-230px;border:1px solid rgba(217,247,216,.13);box-shadow:0 0 0 50px rgba(217,247,216,.025),0 0 0 110px rgba(217,247,216,.02)}.intro-footer{color:#c0d8ca;font-size:12px}.auth-side{display:grid;place-items:center;padding:40px 26px}.auth-card{width:min(100%,416px)}.auth-card h2{font-size:38px;font-weight:730;line-height:1.15;margin:12px 0}.auth-card>p{line-height:1.6}.auth-card form{margin-top:32px}.auth-card .button{margin-top:16px}.auth-switch{display:flex;justify-content:center;align-items:center;gap:7px;margin:25px 0;color:var(--muted);font-size:13px}.auth-disclaimer{border-top:1px solid var(--border);padding-top:20px;margin-top:45px;font-size:11px!important;color:var(--muted);line-height:1.7}.mobile-auth-brand{display:none}
/* App */
.app-shell{display:grid;grid-template-columns:255px minmax(0,1fr);max-width:1860px;margin:auto;min-height:100svh}.sidebar{height:100svh;position:sticky;top:0;display:flex;flex-direction:column;padding:31px 17px 24px;border-right:1px solid var(--border);z-index:5}.app-brand{padding:0 11px;margin:2px 0 64px}.app-brand strong{line-height:1}.app-brand small{display:block;font-size:10px;letter-spacing:.09em;font-weight:760;color:var(--muted);margin-top:5px}.nav-overline{padding:0 14px;margin-bottom:13px;color:var(--muted);font-size:10px;letter-spacing:.09em;font-weight:720}.side-nav{display:grid;gap:5px}.nav-button{width:100%;display:flex;align-items:center;gap:12px;min-height:47px;padding:0 13px;border-radius:13px;background:transparent;text-align:left;color:var(--muted);font-size:13px;font-weight:680;border:0}.nav-button:hover,.nav-button.selected{color:var(--accent);background:var(--accent-2)}.nav-button.quiet{font-weight:600}.nav-counter{margin-left:auto;font-size:11px;background:var(--surface);min-width:23px;text-align:center;border-radius:8px;padding:3px}.sidebar-spacer{flex:1}.sidebar-actions{padding-bottom:12px}.profile-wrap{border-top:1px solid var(--border);padding:20px 6px 0;display:flex;align-items:center;gap:10px;min-width:0}.avatar{height:38px;width:38px;display:grid;place-items:center;background:var(--accent-2);color:var(--accent);border-radius:13px;font-weight:800}.profile-details{min-width:0;flex:1}.profile-details strong,.profile-details small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-details strong{font-size:12px}.profile-details small{font-size:11px;color:var(--muted)}.logout{background:transparent;color:var(--muted);border:0;display:grid;place-items:center;height:38px;width:36px;border-radius:10px}.logout:hover{background:var(--hover)}.main-area{min-width:0;padding:26px clamp(25px,5vw,83px) 100px}.topbar{height:54px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 41px;padding:7px 9px 7px 19px;border:1px solid var(--border);border-radius:17px;position:relative;z-index:2}.topbar-path{font-size:12px;font-weight:630;color:var(--muted)}.topbar-path span{opacity:.5;margin:0 9px}.topbar-path strong{color:var(--text)}.topbar-right{display:flex;align-items:center;gap:15px}.topdate{color:var(--muted);font-size:12px}.top-add{min-height:38px;background:var(--accent-2);color:var(--accent);font-size:12px;padding:0 12px}.subtitle{font-size:14px;margin:0;line-height:1.55}.screen{display:none;animation:appear .22s ease}.screen.active{display:block}@keyframes appear{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.pulse{width:7px;height:7px;border-radius:50%;background:#b9dfae;box-shadow:0 0 0 4px rgba(185,223,174,.1)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:19px 0 36px}.metric{padding:22px 24px;min-height:150px;border-radius:19px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.metric-label{font-size:12px;font-weight:620;color:var(--muted)}.metric-value{font-size:40px;line-height:1;font-weight:740;margin:14px 0 10px;font-variant-numeric:tabular-nums}.metric-value .unit{font-size:17px;font-weight:550}.metric-help{font-size:11px;color:var(--muted)}.two-cols{display:grid;grid-template-columns:minmax(0,1.53fr) minmax(270px,1fr);gap:19px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.panel-padded{padding:26px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.panel-heading h3{margin:0;font-size:16px;font-weight:740}.panel-heading .ico{color:var(--accent)}.panel>.panel-heading{padding:24px 25px 3px}.panel>.task-list{padding:0 24px 6px}.diary-preview{padding:24px 26px 25px}.diary-preview .panel-heading{padding:0}.diary-preview>.muted{font-size:13px;line-height:1.65;margin:0 0 25px}.diary-preview>.button{margin-top:22px}
.task-row{padding:17px 0;display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--border)}.task-row:last-child{border-bottom:0}.check{width:24px;height:24px;flex:none;margin-top:3px;border:1.8px solid #b7c4bc;border-radius:8px;background:none;display:grid;place-items:center;color:#fff}.check.done{border-color:var(--accent);background:var(--accent)}.check .ico{width:15px;height:15px}.task-body{flex:1;min-width:0}.task-title{font-size:13px;line-height:1.4;font-weight:730;overflow-wrap:anywhere}.task-row.done .task-title{text-decoration:line-through;color:var(--muted)}.task-course{color:var(--muted);font-size:11px;margin-top:4px}.due-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:11px;font-size:11px;color:var(--muted)}.due-line strong{color:var(--due-color,var(--muted));font-weight:750}.progress-track{height:5px;background:var(--hover);border-radius:10px;margin-top:7px;overflow:hidden}.progress-bar{height:100%;width:var(--bar-width,100%);background:var(--due-color,var(--blue));border-radius:10px;transition:width .2s}.task-actions{display:flex;gap:1px}.tiny-button{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;border:0;background:transparent;color:var(--muted)}.tiny-button:hover{background:var(--hover);color:var(--text)}.tiny-button .ico{width:16px;height:16px}.empty{padding:44px 20px;text-align:center;color:var(--muted);font-size:13px}.empty-icon{margin:0 auto 12px;background:var(--accent-2);border-radius:15px;width:52px;height:52px;display:grid;place-items:center;color:var(--accent)}.empty strong{display:block;color:var(--text);font-size:14px;margin-bottom:6px}.empty p{margin:0}.empty .button{margin-top:18px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 22px}.segmented{background:var(--accent-2);padding:5px;display:flex;gap:4px;border-radius:14px;max-width:100%;overflow-x:auto}.segmented button{white-space:nowrap;border:0;background:transparent;color:var(--muted);font-size:12px;min-height:35px;padding:0 14px;border-radius:10px;font-weight:720}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.06)}#all-tasks{padding:3px 24px}.legend{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:19px 0}.legend-dot{width:9px;height:9px;border-radius:99px;display:inline-block;margin-left:7px}.legend-dot.blue{background:var(--blue)}.legend-dot.quiet-dot{background:var(--neutral)}.legend-dot.orange{background:var(--orange)}.legend-dot.red{background:var(--red)}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.topic-card{background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:23px;display:flex;flex-direction:column;gap:12px;min-height:187px}.topic-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.topic-type{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:720;color:var(--accent);background:var(--accent-2);border-radius:8px;padding:5px 9px}.topic-course{color:var(--muted);font-size:12px}.topic-card h3{font-size:16px;line-height:1.35;margin:0;overflow-wrap:anywhere}.topic-note{font-size:12px;color:var(--muted);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.topic-bottom{border-top:1px solid var(--border);padding-top:12px;margin-top:auto;display:flex;align-items:center;justify-content:space-between}.status-label{font-size:11px;color:var(--muted);font-weight:660}.topic-buttons{display:flex;gap:3px}
.mood-row{display:flex;gap:9px;justify-content:space-between;margin:19px 0 28px}.mood-choice{height:58px;flex:1;min-width:0;border:1px solid var(--border);background:var(--bg);border-radius:15px;font-size:25px;display:grid;place-items:center;position:relative;transition:transform .16s,border-color .16s}.mood-choice:hover{transform:translateY(-2px)}.mood-choice.selected{border-color:var(--accent);background:var(--accent-2);box-shadow:0 0 0 1px var(--accent)}.mood-row.compact .mood-choice{height:49px;font-size:23px}.diary-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.diary-grid .mood-row{margin-top:15px}#diary-form .field-group{margin-top:22px}.diary-entry{padding:16px 0;border-bottom:1px solid var(--border)}.diary-entry:last-child{border:0}.diary-entry-head{display:flex;align-items:center;justify-content:space-between}.diary-entry strong{font-size:12px}.diary-entry .mood-symbol{font-size:23px}.diary-entry p{font-size:12px;color:var(--muted);margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.subtle-label{color:var(--muted);letter-spacing:.07em;font-size:10px;font-weight:700}
.time-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.timer-panel{text-align:center}.timer-panel .panel-heading{text-align:left}.pill{border-radius:8px;background:var(--accent-2);color:var(--accent);font-size:10px;font-weight:750;padding:6px 8px}.timer-ring{--ring-progress:0%;width:230px;height:230px;margin:22px auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--ring-progress),var(--accent-2) 0)}.timer-core{border-radius:50%;height:calc(100% - 18px);width:calc(100% - 18px);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-core strong{font-size:48px;line-height:1.2;font-weight:720;font-variant-numeric:tabular-nums}.timer-core span{font-size:12px;color:var(--muted)}.timer-options{display:flex;gap:6px;justify-content:center;margin:7px 0 17px}.timer-options button{font-size:12px;color:var(--muted);padding:8px 14px;border-radius:10px;border:0;background:var(--hover);font-weight:700}.timer-options button.on{background:var(--accent-2);color:var(--accent)}.timer-actions{display:flex;gap:10px;justify-content:center;align-items:center}.timer-note{line-height:1.5;margin:20px auto 0;max-width:260px}.time-total{margin:19px 0}.time-total strong{font-size:46px;line-height:1;font-weight:740;display:block}.time-total span{font-size:12px;color:var(--muted)}.time-bars{display:flex;align-items:end;gap:12px;height:120px;border-bottom:1px solid var(--border);padding:12px 0 0}.day-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:end;height:100%;font-size:10px;color:var(--muted)}.day-bar i{display:block;width:min(25px,100%);min-height:3px;height:var(--height);background:var(--accent-2);border-radius:7px 7px 1px 1px}.day-bar i.used{background:var(--accent)}.manual-time{border-top:1px solid var(--border);margin-top:25px;padding-top:14px}.manual-time h4{font-size:13px}.manual-time .field-group{margin:13px 0}.sessions-panel{margin-top:20px}.session-item{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border)}.session-item:last-child{border:0}.session-item .session-name{font-size:12px;font-weight:720;flex:1}.session-item small{font-size:11px;color:var(--muted);display:block}.session-min{font-size:13px;font-weight:740;color:var(--accent)}
.mobile-tabs{display:none}.overlay{position:fixed;z-index:30;inset:0;background:rgba(12,24,18,.45);display:flex;align-items:center;justify-content:center;padding:20px}.modal{border:1px solid rgba(255,255,255,.58);border-radius:23px;width:min(100%,505px);max-height:min(90vh,820px);overflow:auto;padding:24px 27px;background:var(--glass);box-shadow:0 20px 100px rgba(12,27,20,.2)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.modal-heading h2{font-size:23px;line-height:1.2;margin:0}.modal .field-group{margin:17px 0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--border);margin-top:20px;padding-top:19px}.toast{position:fixed;z-index:50;left:50%;bottom:27px;transform:translate(-50%,20px);background:#1d3d2f;color:#fff;border-radius:13px;font-size:13px;font-weight:650;padding:13px 19px;box-shadow:0 12px 45px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.app-shell{grid-template-columns:215px minmax(0,1fr)}.main-area{padding-left:25px;padding-right:25px}.sidebar{padding-left:10px;padding-right:10px}.topic-grid{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.main-area{padding:21px 17px calc(110px + env(safe-area-inset-bottom))}.topbar{margin-bottom:29px;height:50px}.topdate{display:none}.top-add{padding:0 9px;min-height:37px;font-size:0;gap:0;width:38px}.top-add .ico{width:19px;height:19px}.metrics{gap:9px;margin:13px 0 22px}.metric{padding:15px 13px;min-height:126px;border-radius:16px}.metric-label{font-size:11px;line-height:1.3}.metric-value{font-size:32px;margin:14px 0 8px}.metric-value .unit{font-size:13px}.metric-help{font-size:10px}.two-cols,.diary-grid,.time-grid{grid-template-columns:1fr;gap:15px}.panel-padded{padding:23px 20px}.mobile-tabs{position:fixed;display:flex;z-index:20;bottom:calc(10px + env(safe-area-inset-bottom));left:13px;right:13px;justify-content:space-around;border:1px solid var(--border);padding:7px 4px 6px;border-radius:23px;box-shadow:0 12px 45px rgba(0,0,0,.13)}.mobile-tabs button{background:transparent;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;justify-content:center;min-height:51px;flex:1;min-width:0;border-radius:15px;font-size:10px;font-weight:650}.mobile-tabs button .ico{width:21px;height:21px}.mobile-tabs button.selected{color:var(--accent);background:var(--accent-2)}.legend{line-height:2}.topic-grid{grid-template-columns:1fr}.overlay{align-items:end;padding:0}.modal{border-radius:25px 25px 0 0;width:100%;max-height:92svh;padding:24px 19px calc(20px + env(safe-area-inset-bottom))}.auth-layout{grid-template-columns:1fr}.auth-intro{display:none}.auth-side{min-height:100svh;padding:26px}.mobile-auth-brand{display:flex;margin:0 0 52px}.auth-card h2{font-size:36px}.auth-card form{margin-top:25px}.auth-disclaimer{margin-top:60px}}
@media(max-width:390px){.main-area{padding-left:13px;padding-right:13px}.metric{padding:14px 10px}.metric-value{font-size:29px}.segmented button{padding:0 10px}.mood-choice{height:50px}.topbar-path{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){.glass,.modal{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
/* ORA 1.1 — courses, compact pages and lesson diary. */
#current-page{display:inline;font:inherit;font-weight:730;margin:0}

.toolbar{flex-wrap:wrap;gap:14px}.toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topic-toolbar{align-items:center}.topic-toolbar .segmented{flex-wrap:wrap;max-width:100%}
.filter-field{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:650;margin:0 0 16px}.toolbar .filter-field{margin:0}.course-select,.filter-field input{color:var(--text);border:1px solid var(--border);border-radius:12px;background-color:var(--glass);min-height:44px;padding:10px 38px 10px 13px;font:inherit;max-width:100%;text-overflow:ellipsis}
select.course-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2378877d' stroke-width='1.8'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;cursor:pointer}.filter-field .course-select{min-width:155px;max-width:260px}.field-group .course-select{padding-right:38px}
.course-card{min-height:195px;gap:10px}.course-card h2{font-size:19px;line-height:1.3;margin:0;overflow-wrap:anywhere}.course-card p{margin:0}.course-card-top{display:flex;align-items:center;justify-content:space-between}.course-icon{width:39px;height:39px;border-radius:12px;background:var(--accent-2);color:var(--accent);display:grid;place-items:center}.course-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto}.course-links .text-button{font-size:12px}
.diary-daybar{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.diary-daybar .filter-field{margin:0}.diary-block{padding:0;margin:0 0 25px;border:0;min-width:0}.diary-block+ .diary-block{border-top:1px solid var(--border);padding-top:24px}.diary-block legend{font-size:16px;font-weight:720;float:left;width:100%;margin-bottom:8px}.diary-block legend+*{clear:both}.diary-block .field-group{margin:15px 0}.diary-block .mood-row{margin-bottom:16px}.lesson-editor{clear:both;margin:12px 0 18px;padding-bottom:8px;border-bottom:1px solid var(--border)}.lesson-editor:last-child{border-bottom:0}.lesson-head{display:flex;align-items:center;gap:10px}.lesson-head .field-group{flex:1;min-width:0}.lesson-head .tiny-button{width:40px;height:40px;margin-top:25px}.panel-heading h2{font-size:16px;margin:0}.lesson-history{border-left:2px solid var(--accent-2);padding-left:12px;margin-top:14px}.diary-entry-head .text-button{font-size:12px;text-align:left}.diary-entry .text-button{font-weight:700}.diary-block textarea{font-size:14px}.form-error{overflow-wrap:anywhere}.toast{max-width:calc(100vw - 30px);text-align:center}
@media(max-width:760px){.topbar{margin-bottom:22px}.toolbar-actions{gap:9px}.topic-toolbar{align-items:stretch}.topic-toolbar>.segmented{width:100%;display:flex;overflow-x:auto;flex-wrap:nowrap}.topic-toolbar>.segmented button{flex-shrink:0;padding:0 12px}.topic-toolbar .toolbar-actions{width:100%}.topic-toolbar .toolbar-actions .button{flex:1;padding:0 11px}.filter-field{flex-wrap:wrap}.filter-field .course-select{max-width:100%}.toolbar .toolbar-actions{width:100%;justify-content:space-between}.field-group input,.field-group textarea,.field-group select,.filter-field input,.course-select{font-size:16px}.course-links{gap:12px}.tiny-button{min-width:38px;min-height:38px}.check{min-width:28px;min-height:28px}.diary-daybar{gap:10px}.diary-daybar .filter-field input{max-width:185px}.toast{bottom:100px}}
/* ORA 1.2 — a quieter dashboard, responsive controls and purposeful motion. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--lift-shadow:0 16px 38px rgba(27,62,45,.09);--soft-highlight:rgba(112,174,146,.07)}
html[data-theme=dark]{--lift-shadow:0 16px 38px rgba(0,0,0,.25);--soft-highlight:rgba(132,196,167,.05)}
body{background-image:radial-gradient(ellipse at 82% 0,var(--soft-highlight),transparent 54%);background-attachment:fixed}
.topbar{position:sticky;top:16px;box-shadow:0 4px 22px rgba(18,41,29,.035),inset 0 1px 0 rgba(255,255,255,.12);transition:box-shadow .25s,border-color .25s;margin-bottom:28px}.compact-theme{width:36px;height:36px;min-width:36px;border:0;background:transparent;color:var(--muted)}.compact-theme .ico{width:18px;height:18px}.topbar-right{gap:9px}
.sidebar{background:var(--glass);box-shadow:inset -1px 0 0 rgba(255,255,255,.06)}.side-nav .nav-button,.mobile-tabs button{transition:background .22s,color .22s,transform .22s var(--ease-out)}.nav-button .ico{transition:transform .3s var(--ease-out)}.nav-button.selected .ico{transform:scale(1.07)}
.metrics{margin:0 0 22px;gap:18px}.metric-action{display:block;text-align:left;color:var(--text);font:inherit;line-height:1.4;position:relative;overflow:hidden;min-height:171px;padding:22px 24px;cursor:pointer;transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}.metric-top{display:flex;align-items:center;gap:11px}.metric-top .metric-label{flex:1}.metric-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:11px;background:var(--accent-2);color:var(--accent)}.metric-icon .ico{width:18px;height:18px}.metric-arrow{width:15px!important;height:15px!important;color:var(--muted);opacity:.55;transition:transform .25s,opacity .25s}.metric-action .metric-value{display:block;font-size:42px;margin:19px 0 8px}.metric-help{display:block}.metric-amber .metric-icon{background:rgba(222,150,68,.12);color:#a66a22}.metric-violet .metric-icon{background:rgba(139,127,203,.13);color:#8573bb}html[data-theme=dark] .metric-amber .metric-icon{color:#dfb16d}html[data-theme=dark] .metric-violet .metric-icon{color:#b1a6e6}
.home-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:20px;align-items:start}.home-column{display:grid;gap:20px;min-width:0}.home-deadlines{min-height:245px}.panel-heading h2{line-height:1.35;font-size:16px;font-weight:720}.home-grid .panel-heading{align-items:center}.home-courses .panel-heading{margin-bottom:17px}.home-courses .panel-heading h2{font-size:15px}.home-courses{padding:22px 24px}.diary-preview>.button{margin-top:6px}.diary-preview .mood-row{margin:20px 0 21px}.diary-preview>.muted{margin:0}.home-focus{padding:22px 24px}.focus-preview{display:flex;align-items:center;gap:13px;margin:20px 0 18px}.focus-preview strong{display:block;font-size:26px;font-weight:670;font-variant-numeric:tabular-nums;line-height:1.25}.focus-preview .muted{display:block;font-size:11px;margin-top:3px}.focus-orbit{height:48px;width:48px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--accent-2);color:var(--accent);transition:background .3s,box-shadow .3s}.focus-orbit .ico{height:23px;width:23px}.focus-open{margin-left:auto;border-radius:50%;background:var(--accent-2);color:var(--accent);border-color:transparent}.focus-open .ico{width:17px;height:17px}.is-running .focus-orbit{box-shadow:0 0 0 5px var(--accent-2)}.home-week{display:flex;align-items:end;gap:10px;height:69px;padding:2px 0 0}.mini-day{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%;font-size:10px;color:var(--muted)}.mini-bar{display:block;width:100%;max-width:28px;min-height:4px;height:var(--mini-height);border-radius:7px;background:var(--accent-2);transition:height .35s var(--ease-out),background .2s}.mini-day.today .mini-bar{background:var(--accent);opacity:.65}.mini-day.today{color:var(--accent);font-weight:750}.week-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:10px;color:var(--muted)}.week-caption strong{font-size:11px;color:var(--text)}
.course-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.course-shortcut{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:13px;background:var(--bg);color:var(--text);padding:11px 13px;min-height:48px;max-width:100%;text-align:left;font-size:12px;font-weight:650;transition:background .2s,border-color .2s,transform .25s var(--ease-out)}.course-shortcut>span:nth-child(2){overflow-wrap:anywhere}.course-shortcut>.ico{width:14px;height:14px;color:var(--muted);margin-left:auto;flex:none}.shortcut-icon{color:var(--accent);display:grid;place-items:center}.shortcut-icon .ico{width:17px;height:17px}
.button,.icon-button,.tiny-button,.mood-choice,.text-button,.segmented button{transition:background .2s,color .2s,box-shadow .2s,transform .25s var(--ease-out)}.button:active,.icon-button:active,.tiny-button:active,.course-shortcut:active,.metric-action:active{transform:scale(.975)}.mood-choice:active{transform:scale(.92)}.mood-choice.selected{box-shadow:0 0 0 2px var(--accent-2),0 0 0 3px var(--accent);transform:translateY(-2px)}.text-button .ico,.course-links .ico{transition:transform .24s var(--ease-out)}.check{transition:background .2s,border-color .2s,transform .2s}.check:active{transform:scale(.85)}.field-group input,.field-group textarea,.field-group select,.filter-field input,.filter-field select{transition:border-color .2s,box-shadow .2s,background .2s}.field-group input:focus,.field-group textarea:focus,.field-group select:focus{box-shadow:0 0 0 3px var(--accent-2)}.topic-card{transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}.panel,.topic-card,.metric{box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.08)}
.overlay{animation:overlay-in .18s ease both}.modal{animation:modal-in .28s var(--ease-out) both}.screen.active>.metrics>.metric{animation:surface-in .4s var(--ease-out) both}.screen.active>.metrics>.metric:nth-child(2){animation-delay:35ms}.screen.active>.metrics>.metric:nth-child(3){animation-delay:70ms}.screen.active>.home-grid{animation:surface-in .44s 75ms var(--ease-out) both}.screen.active .topic-grid>.topic-card{animation:surface-in .3s var(--ease-out) both}
@keyframes surface-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-in{from{opacity:0}to{opacity:1}}@keyframes modal-in{from{opacity:.4;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(hover:hover) and (pointer:fine){.metric-action:hover{transform:translateY(-3px);box-shadow:var(--lift-shadow);border-color:var(--accent)}.metric-action:hover .metric-arrow{transform:translateX(3px);opacity:1}.topic-card:hover{transform:translateY(-2px);box-shadow:var(--lift-shadow)}.course-shortcut:hover{background:var(--accent-2);border-color:var(--accent);transform:translateY(-2px)}.text-button:hover .ico{transform:translateX(3px)}.mood-choice:hover{transform:translateY(-3px) scale(1.04)}.icon-button:hover{background:var(--accent-2)}.task-row:hover .task-actions .tiny-button{color:var(--text)}}
@media(max-width:1050px){.home-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr)}.metric-action{padding:19px}.metric-top{gap:8px}.metric-icon{width:29px;height:29px;border-radius:9px}.metric-arrow{display:none}.home-courses,.home-focus{padding:22px}}
@media(max-width:760px){.topbar{top:10px;margin-bottom:20px;gap:8px;padding-left:13px}.topbar-right{gap:5px}.topbar-path{font-size:11px;white-space:nowrap}.topbar-path span{margin:0 4px}.metrics{gap:9px;margin-bottom:16px}.metric-action{padding:14px 11px;min-height:150px;border-radius:17px}.metric-top{display:block}.metric-icon{width:27px;height:27px;margin-bottom:10px}.metric-label{display:block;font-size:10px;line-height:1.4;min-height:28px}.metric-action .metric-value{font-size:30px;margin:9px 0 6px}.metric-help{font-size:9px;line-height:1.45}.metric-value .unit{font-size:11px}.home-grid{grid-template-columns:1fr;gap:16px}.home-column{gap:16px}.home-deadlines{min-height:0}.home-courses,.home-focus{padding:22px 20px}.course-shortcut{width:100%}.home-week{height:60px}.panel>.panel-heading{padding-left:20px;padding-right:20px}.panel>.task-list{padding-left:20px;padding-right:20px}.compact-theme{width:32px;min-width:32px}.topic-toolbar .toolbar-actions{justify-content:stretch}.segmented button{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.metric-action:hover,.topic-card:hover,.course-shortcut:hover,.mood-choice:hover,.mood-choice.selected{transform:none}.text-button:hover .ico,.metric-action:hover .metric-arrow{transform:none}}
@media(prefers-reduced-transparency:reduce){.topbar,.sidebar,.mobile-tabs,.modal{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
.panel-padded>.panel-heading{padding:0}
.metric-action{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.metric-action .metric-help{margin-top:auto}

/* Home shortcuts: mood and a new lesson. */
.home-diary-actions{display:grid;gap:10px}.home-diary-actions .button{justify-content:flex-start;text-align:left;font-size:12px;padding:11px 14px;line-height:1.5}.home-diary-actions .button>.ico{flex:none;width:17px;height:17px}.home-diary-actions .action-arrow{margin-left:auto;width:15px!important;height:15px!important}.lesson-shortcut{border-color:var(--border);background:var(--bg);color:var(--accent)}.lesson-shortcut:hover{background:var(--accent-2);border-color:var(--accent)}.diary-block,.lesson-editor{scroll-margin-top:110px}
