/* GradoFlow v2 — intentionally restrained UI: system typography, low ornament, dense information. */
:root{--bg:#f7f8fa;--surface:#fff;--surface-soft:#f1f3f5;--text:#17191f;--muted:#69707c;--line:#e2e6ea;--line-strong:#cfd5db;--primary:#3157d5;--primary-soft:#e9efff;--danger:#b42336;--success:#18794e;--warning:#9a6700;--sidebar:#111318;--sidebar-text:#aeb4bf;--shadow:0 10px 30px rgba(20,24,32,.07);--radius:14px;--sidebar-w:236px;--topbar-h:74px;--focus:0 0 0 3px rgba(49,87,213,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus)}a{color:inherit}.skip-link{position:fixed;left:12px;top:-50px;z-index:100;background:#fff;padding:10px 12px;border-radius:8px}.skip-link:focus{top:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#111827;color:#fff;font-size:.9rem}.button{border:1px solid transparent;border-radius:9px;min-height:38px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-weight:650;cursor:pointer;background:transparent}.button:hover{filter:brightness(.98)}.button-primary{background:var(--primary);color:#fff}.button-secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.button-danger{background:#fff0f2;color:var(--danger);border-color:#ffd2d9}.button-lg{padding:11px 17px;min-height:44px}.button-sm{min-height:32px;padding:6px 10px;font-size:.84rem}.icon-button{width:38px;height:38px;border:1px solid var(--line);background:var(--surface);border-radius:9px;display:grid;place-items:center;cursor:pointer}.text-button{border:0;background:transparent;color:var(--primary);font-weight:650;cursor:pointer;padding:4px}.overline,.page-eyebrow,.card-kicker{font-size:.69rem;letter-spacing:.12em;font-weight:750;color:var(--muted);margin:0}.shell{max-width:1220px;margin:0 auto;padding-left:28px;padding-right:28px}
/* marketing */
.marketing-body{background:#fafafa}.marketing-header{height:76px;display:flex;align-items:center;justify-content:space-between}.marketing-header nav{display:flex;gap:28px}.marketing-header nav a{text-decoration:none;color:#5f6570;font-size:.9rem}.marketing-hero{padding-top:76px;padding-bottom:110px;display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.marketing-copy h1{font-size:clamp(3.2rem,6vw,5.8rem);line-height:.96;letter-spacing:-.06em;margin:16px 0 24px;max-width:700px}.marketing-copy .lead{font-size:1.15rem;line-height:1.65;color:#5f6570;max-width:640px}.hero-actions{display:flex;gap:10px;margin:30px 0 17px}.microcopy{font-size:.78rem;color:#858b95}.product-preview{border:1px solid #dfe3e8;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(26,32,45,.13);overflow:hidden}.preview-topbar{height:39px;border-bottom:1px solid #e9ecef;display:flex;align-items:center;gap:6px;padding:0 12px}.preview-topbar span{width:7px;height:7px;border-radius:50%;background:#cfd3d8}.preview-topbar b{margin-left:8px;font-size:.67rem;color:#777e88}.preview-layout{display:flex;height:430px}.preview-nav{width:54px;background:#12151a;padding:15px 11px;display:flex;align-items:center;flex-direction:column;gap:19px}.preview-nav i{font-style:normal;width:28px;height:28px;border-radius:8px;background:#3157d5;color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:800}.preview-nav span{width:18px;height:5px;border-radius:99px;background:#30343d}.preview-main{padding:24px;background:#f6f7f9;flex:1}.preview-title{display:flex;justify-content:space-between;align-items:end}.preview-title small,.preview-stats small,.preview-content small{display:block;color:#7d8490;font-size:.55rem;letter-spacing:.08em}.preview-title strong{display:block;font-size:1.1rem;margin-top:4px}.preview-title button{border:0;background:#3157d5;color:white;border-radius:7px;padding:7px 10px;font-size:.65rem}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.preview-stats article,.preview-content article{background:#fff;border:1px solid #e7eaee;border-radius:11px;padding:14px}.preview-stats b{display:block;font-size:1.4rem;margin-top:9px}.preview-content{display:grid;grid-template-columns:1.35fr .8fr;gap:9px}.preview-row{display:flex;justify-content:space-between;border-bottom:1px solid #eef0f3;padding:12px 0;font-size:.72rem}.preview-row:last-child{border-bottom:0}.preview-content p{font-size:.7rem;color:#646b75;border-bottom:1px solid #eef0f3;padding-bottom:10px}.marketing-section{padding-top:105px;padding-bottom:105px}.section-heading{max-width:760px}.section-heading h2,.marketing-dark h2,.privacy-block h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1.03;letter-spacing:-.05em;margin:13px 0 44px}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfe3e7;border-left:1px solid #dfe3e7}.feature-list article{min-height:220px;padding:25px;border-right:1px solid #dfe3e7;border-bottom:1px solid #dfe3e7}.feature-list article>b{font-size:.7rem;color:#888f99}.feature-list h3{margin:62px 0 8px;font-size:1.15rem}.feature-list p{color:#69707a;line-height:1.6}.marketing-dark{background:#151820;color:#fff}.tool-showcase{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.marketing-dark .overline{color:#8c94a1}.marketing-dark h2{margin-bottom:0}.tool-pills{display:flex;flex-wrap:wrap;gap:9px}.tool-pills span{border:1px solid #353b47;border-radius:999px;padding:10px 13px;color:#d9dde4;font-size:.86rem}.privacy-block{max-width:820px}.privacy-block p:not(.overline){color:#69707a;line-height:1.7;max-width:700px}.text-link{display:inline-block;margin-top:16px;color:var(--primary);font-weight:650;text-decoration:none}.marketing-footer{height:90px;border-top:1px solid #e2e5e8;display:flex;align-items:center;justify-content:space-between;color:#7c838e;font-size:.78rem}
/* app shell */
.app-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--sidebar);color:#fff;padding:18px 12px;z-index:30;display:flex;flex-direction:column}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 7px 18px}.app-brand .brand-mark{background:#3157d5}.side-nav,.sidebar-bottom{display:grid;gap:4px}.sidebar-bottom{margin-top:auto}.nav-item{border:0;background:transparent;color:var(--sidebar-text);display:flex;align-items:center;gap:11px;width:100%;padding:10px 11px;border-radius:9px;cursor:pointer;text-decoration:none;text-align:left}.nav-item span{width:20px;text-align:center;font-size:.95rem}.nav-item b{font-size:.86rem;font-weight:570}.nav-item:hover,.nav-item.active{background:color-mix(in srgb,var(--primary) 15%,rgba(255,255,255,.035));color:#fff}.nav-item.active{box-shadow:inset 2px 0 0 color-mix(in srgb,var(--primary) 72%,white)}.app-shell{margin-left:var(--sidebar-w);min-height:100vh}.topbar{height:var(--topbar-h);position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:9px}.topbar h1{font-size:1.23rem;margin:2px 0 0;letter-spacing:-.02em}.app-main{max-width:1500px;margin:0 auto;padding:28px 30px 60px}.view{display:none}.view.active{display:block}.view-toolbar,.dashboard-greeting{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.view-toolbar h2,.dashboard-greeting h2{margin:0 0 4px;font-size:1.62rem;letter-spacing:-.03em}.view-toolbar p,.dashboard-greeting p{margin:0;color:var(--muted)}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:0 1px 1px rgba(20,24,32,.02)}.compact-card{padding:12px 14px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h3{margin:3px 0 0;font-size:1rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}.stat span{color:var(--muted);font-size:.72rem;font-weight:650}.stat strong{display:block;font-size:1.85rem;letter-spacing:-.045em;margin:9px 0 3px}.stat small{color:var(--muted)}.dashboard-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.card-span-2{grid-column:span 2}.empty-state{padding:35px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:10px}.empty-state.small{padding:24px 12px}.empty-state p{margin:0}.progress-list{display:grid;gap:13px}.progress-row{display:grid;grid-template-columns:minmax(150px,1fr) 2fr 48px;gap:13px;align-items:center}.progress-row b{font-size:.85rem}.progress-row small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.progress-track{height:6px;background:var(--surface-soft);border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:99px;background:var(--primary)}.simple-list{display:grid}.simple-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.simple-item:last-child{border-bottom:0}.simple-item time{font-size:.75rem;color:var(--muted);min-width:48px}.simple-item b{font-size:.84rem}.simple-item small{display:block;color:var(--muted);font-size:.72rem}.badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--surface-soft);padding:4px 7px;font-size:.66rem;color:var(--muted)}
/* subjects */
.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.subject-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;min-height:240px}.subject-card-top{display:flex;justify-content:space-between;align-items:center}.subject-dot{width:9px;height:9px;border-radius:50%}.ghost-menu{border:0;background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer}.subject-card h3{font-size:1rem;margin:24px 0 3px}.subject-meta{color:var(--muted);font-size:.75rem}.subject-grade{display:flex;justify-content:space-between;align-items:end;margin-top:auto}.subject-grade strong{font-size:2rem;letter-spacing:-.05em}.subject-grade small{display:block;color:var(--muted);font-size:.7rem}.subject-footer{margin-top:11px;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--muted)}
/* scenarios */
.scenario-selector{display:flex;gap:14px;margin-bottom:12px}.scenario-selector label,.form-card label,.settings-grid label,.modal label{display:grid;gap:5px;color:var(--muted);font-size:.75rem;font-weight:600}.scenario-selector label:first-child{flex:1}.scenario-selector select,.scenario-selector input,.form-card input,.settings-grid input,.settings-grid select,.modal input,.modal select,.modal textarea,.row-input{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 10px;min-height:38px}.scenario-layout,.tool-layout{display:grid;grid-template-columns:1.45fr .7fr;gap:12px}.scenario-row,.weighted-row,.ects-row,.assessment-row{display:grid;grid-template-columns:1.3fr .55fr .55fr .55fr 30px;gap:7px;align-items:center;margin-bottom:7px}.scenario-row{grid-template-columns:1.3fr .55fr .55fr .55fr}.scenario-row header{display:none}.scenario-row span{font-size:.78rem}.result-summary,.tool-result{min-height:260px;display:flex;flex-direction:column;justify-content:center}.result-summary .big-number,.tool-result .big-number{font-size:4.4rem;line-height:1;letter-spacing:-.07em;margin:14px 0}.result-summary p,.tool-result p{color:var(--muted);margin:4px 0}.result-note{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:.78rem;color:var(--muted)}
/* transcript */
.transcript-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.summary-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}.summary-tile span{font-size:.7rem;color:var(--muted)}.summary-tile strong{display:block;font-size:1.65rem;margin-top:8px}.table-card{overflow:auto}.data-table{min-width:650px}.table-row{display:grid;grid-template-columns:1.6fr .45fr .55fr .65fr .6fr;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line);font-size:.82rem}.table-row.table-head{font-size:.68rem;color:var(--muted);font-weight:700;text-transform:uppercase}.status-pass{color:var(--success)}.status-fail{color:var(--danger)}.status-progress{color:var(--warning)}
/* timetable */
.timetable-controls{display:flex;gap:12px;align-items:end;margin-bottom:12px}.timetable-controls label{display:grid;gap:4px;font-size:.72rem;color:var(--muted)}.timetable-controls select{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:7px}.timetable-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.timetable{min-width:850px;position:relative}.timetable-head{display:grid;grid-template-columns:60px repeat(5,1fr);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.timetable-head div{padding:10px;text-align:center;font-size:.75rem;font-weight:650}.timetable-grid{display:grid;grid-template-columns:60px repeat(5,1fr);position:relative}.time-label{height:56px;border-bottom:1px solid var(--line);padding:5px 7px;font-size:.65rem;color:var(--muted)}.time-cell{height:56px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.class-block{position:absolute;left:4px;right:4px;border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface));border-radius:7px;padding:6px 7px;z-index:3;overflow:hidden;cursor:pointer}.class-block b{display:block;font-size:.72rem}.class-block small{display:block;font-size:.62rem;color:var(--muted)}
/* calendar */
.calendar-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.segmented{display:inline-flex;background:var(--surface-soft);padding:3px;border-radius:9px}.segmented button{border:0;background:transparent;border-radius:7px;padding:7px 10px;font-size:.78rem;color:var(--muted);cursor:pointer}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(20,24,32,.08)}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav strong{min-width:150px;text-align:right;font-size:.86rem}.calendar-stage{padding:0;overflow:hidden}.calendar-month-head,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-month-head div{padding:9px;text-align:center;border-bottom:1px solid var(--line);font-size:.68rem;color:var(--muted);font-weight:650}.calendar-day{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:var(--surface-soft);color:var(--muted)}.calendar-day.today .day-num{background:var(--primary);color:white}.day-num{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;font-size:.72rem;font-weight:650}.calendar-event{display:block;margin-top:5px;padding:4px 6px;border-radius:6px;background:var(--primary-soft);color:#2745a9;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.week-calendar{display:grid;grid-template-columns:70px repeat(7,1fr);min-width:900px;overflow:auto}.week-calendar .week-head{padding:10px;text-align:center;border-bottom:1px solid var(--line);font-size:.7rem;font-weight:650}.week-time{height:52px;border-bottom:1px solid var(--line);padding:5px;font-size:.65rem;color:var(--muted)}.week-cell{height:52px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.week-event{position:absolute;inset:3px;border-radius:6px;padding:4px;background:var(--primary-soft);font-size:.62rem;overflow:hidden}.agenda-list{padding:8px 18px}.agenda-day{border-bottom:1px solid var(--line);padding:13px 0}.agenda-day h4{margin:0 0 8px;font-size:.78rem}.agenda-event{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:7px 0}.agenda-event time{font-size:.72rem;color:var(--muted)}.agenda-event b{font-size:.82rem}.event-type{font-size:.66rem;background:var(--surface-soft);padding:4px 7px;border-radius:999px}.file-button input{display:none}
/* planner */
.planner-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.planner-layout{display:grid;grid-template-columns:1.45fr .7fr;gap:12px}.task-list{display:grid;gap:8px}.task-item{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}.task-item.done{opacity:.55}.task-item.done .task-title{text-decoration:line-through}.task-check{width:21px;height:21px;border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;cursor:pointer}.task-title{font-size:.86rem;font-weight:650}.task-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.69rem;margin-top:3px}.task-actions{display:flex;gap:4px}.mini-button{border:1px solid var(--line);background:var(--surface);border-radius:7px;width:31px;height:31px;cursor:pointer}.study-day{padding:10px 0;border-bottom:1px solid var(--line)}.study-day:last-child{border-bottom:0}.study-day b{font-size:.77rem}.study-day p{font-size:.72rem;color:var(--muted);margin:5px 0 0}
/* tools */
.tool-tabs{margin-bottom:12px}.tool-panel{display:none}.tool-panel.active{display:block}.weighted-row{grid-template-columns:1.3fr .55fr .55fr 30px}.ects-row{grid-template-columns:1.3fr .55fr .55fr 30px}.weighted-row input,.ects-row input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px}.remove-row{border:0;background:transparent;color:var(--muted);cursor:pointer}.form-card{display:grid;gap:12px;align-content:start}.tool-result span{font-size:.69rem;letter-spacing:.1em;color:var(--muted);font-weight:700}
/* settings */
.settings-layout{display:grid;gap:12px}.settings-section>div:first-child{margin-bottom:16px}.settings-section h3{margin:4px 0 0}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.toggle-list{display:grid}.toggle-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.toggle-row:last-child{border-bottom:0}.toggle-row b,.toggle-row small{display:block}.toggle-row small{color:var(--muted);font-size:.72rem;margin-top:3px}.toggle-row input{width:18px;height:18px}.data-actions{display:flex;gap:8px;flex-wrap:wrap}.save-bar{position:sticky;bottom:16px;margin-top:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.save-bar span{font-size:.75rem;color:var(--muted)}
/* modal + command */
.modal-layer,.command-layer{position:fixed;inset:0;background:rgba(11,13,18,.45);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:20px;z-index:60}.modal-layer.open,.command-layer.open{display:flex}.modal{width:min(650px,100%);max-height:90vh;overflow:auto;background:var(--surface);border-radius:15px;border:1px solid var(--line);box-shadow:0 30px 100px rgba(0,0,0,.2);padding:23px;position:relative}.modal-close{position:absolute;right:13px;top:10px;width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}.modal h2{font-size:1.3rem;margin:0 0 5px}.modal .modal-intro{color:var(--muted);margin:0 0 19px}.modal-form{display:grid;gap:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assessment-list{display:grid}.assessment-row{grid-template-columns:1.3fr .5fr .5fr .5fr 30px}.color-picks{display:flex;gap:7px}.color-pick{width:27px;height:27px;border:2px solid transparent;border-radius:50%;cursor:pointer}.color-pick.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.command-box{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 30px 100px rgba(0,0,0,.2);overflow:hidden}.command-box>input{width:100%;border:0;border-bottom:1px solid var(--line);padding:15px 16px;background:var(--surface);font-size:1rem}.command-box>small{display:block;padding:9px 13px;color:var(--muted);font-size:.68rem}.command-result{width:100%;border:0;background:transparent;padding:10px 13px;display:flex;justify-content:space-between;text-align:left;cursor:pointer}.command-result:hover,.command-result.active{background:var(--surface-soft)}.command-result small{color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;background:#14171d;color:white;border-radius:9px;padding:10px 13px;box-shadow:var(--shadow);z-index:90;opacity:0;transform:translateY(16px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:none}.mobile-only{display:none}
/* theme + accessibility */
body.theme-dark{--bg:#0e1014;--surface:#16191f;--surface-soft:#20242b;--text:#f2f4f7;--muted:#9aa2ad;--line:#292e37;--line-strong:#39404a;--primary:#7594ff;--primary-soft:#1d2a54;--sidebar:#090b0e;--shadow:0 10px 30px rgba(0,0,0,.22)}body.theme-dark .brand-mark{background:#3157d5}.theme-dark .calendar-event{color:#c9d5ff}.theme-dark input,.theme-dark select,.theme-dark textarea{color-scheme:dark}body.high-contrast{--text:#000;--muted:#333;--line:#7d7d7d;--line-strong:#3a3a3a;--primary:#0037b8}body.theme-dark.high-contrast{--text:#fff;--muted:#ddd;--line:#8b8b8b;--line-strong:#ccc;--primary:#9bb0ff}body.font-large{font-size:17px}body.density-compact .card{padding:14px}body.density-compact .stat{padding:13px}body.density-compact .nav-item{padding:8px 10px}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.topbar,.view-toolbar button,.save-bar{display:none!important}.app-shell{margin:0}.app-main{padding:0}.view{display:none!important}#view-transcript{display:block!important}.card{box-shadow:none;break-inside:avoid}.transcript-summary{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.marketing-hero{grid-template-columns:1fr}.product-preview{max-width:800px}.feature-list{grid-template-columns:repeat(2,1fr)}.tool-showcase{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr 1fr}.card-span-2{grid-column:span 2}.subject-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:repeat(2,1fr)}.scenario-layout,.tool-layout,.planner-layout{grid-template-columns:1fr}.transcript-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--sidebar-w:0px}.shell{padding-left:18px;padding-right:18px}.marketing-header nav{display:none}.marketing-hero{padding-top:45px;padding-bottom:75px;gap:45px}.marketing-copy h1{font-size:clamp(3rem,15vw,4.5rem)}.preview-layout{height:350px}.preview-nav{display:none}.preview-main{padding:15px}.preview-content{grid-template-columns:1fr}.preview-content article:last-child{display:none}.feature-list{grid-template-columns:1fr}.tool-showcase{padding-top:70px;padding-bottom:70px}.marketing-footer{height:auto;padding-top:25px;padding-bottom:25px;display:grid;gap:7px}.sidebar{width:236px;transform:translateX(-100%);transition:.18s}.sidebar.open{transform:none}.mobile-only{display:grid}.app-shell{margin-left:0}.topbar{height:66px;padding:0 14px}.topbar-demo{display:none}.page-eyebrow{display:none}.app-main{padding:20px 14px 45px}.view-toolbar,.dashboard-greeting{align-items:flex-start}.dashboard-greeting .button{display:none}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-layout{grid-template-columns:1fr}.card-span-2{grid-column:auto}.subject-grid{grid-template-columns:1fr}.scenario-selector{display:grid}.transcript-summary{grid-template-columns:1fr 1fr}.calendar-toolbar,.planner-controls{align-items:flex-start;display:grid}.calendar-nav{justify-content:space-between}.calendar-nav strong{min-width:0}.calendar-day{min-height:82px;padding:4px}.calendar-event{font-size:.57rem}.settings-grid{grid-template-columns:1fr}.save-bar{bottom:8px}.two-col{grid-template-columns:1fr}.assessment-row{grid-template-columns:1.2fr 55px 55px 55px 26px}.toolbar-actions{justify-content:flex-start}.tool-tabs{display:flex;overflow:auto;max-width:100%}.tool-tabs button{white-space:nowrap}.progress-row{grid-template-columns:1fr 50px}.progress-row .progress-track{grid-column:1/3}.topbar-actions .button-primary span:last-child{display:none}}


/* ===== v3: account, notifications, templates, subscription ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:2px}.notification-button{position:relative}.notification-button i{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#c6283d;color:#fff;border:2px solid var(--surface);font:700 9px/13px Inter;font-style:normal;text-align:center}.account-chip{height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:4px 10px 4px 5px;font-weight:650;cursor:pointer}.account-avatar{width:28px;height:28px;border-radius:8px;background:var(--surface-soft);background-size:cover;background-position:center;display:grid;place-items:center;font-size:.73rem;font-weight:800;overflow:hidden}.account-avatar.large{width:40px;height:40px;border-radius:11px}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-summary-line{display:flex;gap:10px;align-items:center}.account-summary-line b,.account-summary-line small{display:block}.account-summary-line small{color:var(--muted);font-size:.72rem;margin-top:2px}
.popover{position:fixed;z-index:55;top:72px;right:24px;width:min(390px,calc(100vw - 30px));background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 60px rgba(8,12,20,.18);overflow:hidden}.popover[hidden]{display:none}.popover-head{display:flex;justify-content:space-between;align-items:flex-start;padding:15px;border-bottom:1px solid var(--line)}.popover-head b,.popover-head small{display:block}.popover-head small{color:var(--muted);font-size:.7rem;margin-top:2px}.popover-footer{width:100%;border:0;border-top:1px solid var(--line);background:var(--surface);padding:12px;color:var(--primary);font-weight:700;text-align:center;cursor:pointer}.notification-list{max-height:410px;overflow:auto;padding:5px}.notification-item{width:100%;border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:10px 1fr;gap:9px;text-align:left;padding:10px;border-radius:9px;cursor:pointer}.notification-item:hover{background:var(--surface-soft)}.notification-item.read{opacity:.58}.notification-item b,.notification-item small{display:block}.notification-item b{font-size:.8rem}.notification-item small{font-size:.7rem;color:var(--muted);margin-top:3px}.notice-dot{width:7px;height:7px;background:var(--primary);border-radius:50%;margin-top:5px}.notice-dot.urgent{background:#c6283d}.account-popover{width:280px;padding:12px}.account-popover .popover-footer{margin:12px -12px -12px;width:calc(100% + 24px)}
.template-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.template-search{flex:1}.template-search input{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:9px 11px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.template-card{min-height:270px;display:flex;flex-direction:column;justify-content:space-between}.template-card-top{display:flex;align-items:center;justify-content:space-between}.template-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:800}.template-card h3{margin:28px 0 7px;font-size:1.04rem}.template-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.template-parts{display:flex;gap:5px;flex-wrap:wrap;margin-top:16px}.template-parts span{font-size:.66rem;background:var(--surface-soft);padding:5px 7px;border-radius:7px;color:var(--muted)}.template-actions{display:flex;align-items:center;gap:7px;margin-top:20px}.template-actions .button{flex:1}.setup-steps{background:var(--surface-soft);border-radius:10px;padding:13px;margin:16px 0}.setup-steps p{color:var(--muted);font-size:.8rem;margin:5px 0 0}
.billing-switch{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.billing-switch>span{font-size:.75rem;color:var(--muted);font-weight:650}.billing-switch .segmented small{font-size:.6rem}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:900px}.pricing-card{min-height:470px;display:flex;flex-direction:column;position:relative}.pricing-card h3{font-size:1.35rem;margin:6px 0 22px}.price-line{display:flex;align-items:baseline;gap:8px}.price-line strong{font-size:2.6rem;letter-spacing:-.06em}.price-line span{color:var(--muted);font-size:.78rem}.pricing-card ul{list-style:none;padding:0;margin:28px 0;display:grid;gap:11px;flex:1}.pricing-card li{font-size:.82rem;padding-left:21px;position:relative}.pricing-card li::before{content:'✓';position:absolute;left:0;color:var(--primary);font-weight:800}.pricing-card li em{font-style:normal;color:var(--muted);font-size:.68rem}.featured-plan{border-color:color-mix(in srgb,var(--primary) 65%,var(--line));box-shadow:0 10px 35px color-mix(in srgb,var(--primary) 10%,transparent)}.plan-ribbon{position:absolute;right:14px;top:14px;font-size:.62rem;font-weight:800;letter-spacing:.08em;color:var(--primary);background:var(--primary-soft);padding:5px 7px;border-radius:999px}.full-width{width:100%}.centered{display:block;margin:12px auto 0}.plan-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:700}.plan-status.plus{background:var(--primary-soft);color:var(--primary);border-color:transparent}.subscription-note{max-width:900px;margin-top:12px}.subscription-note p{color:var(--muted);margin:6px 0 0;line-height:1.55}.plus-preview .brand-mark{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}
.account-settings{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-help{color:var(--muted);font-size:.74rem;line-height:1.5;margin:13px 0 0}.marketing-pricing{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:900px}.marketing-pricing article{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff}.marketing-pricing h3{font-size:2rem;letter-spacing:-.04em;margin:10px 0}.marketing-pricing p:not(.overline){color:#68707b;line-height:1.6}.marketing-plan-plus{box-shadow:0 12px 45px rgba(49,87,213,.08);border-color:#cad4f7!important}
@media(max-width:1100px){.template-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.account-chip #accountLabel{display:none}.account-chip{padding-right:5px}.popover{right:10px;top:64px}.template-toolbar{align-items:stretch;display:grid}.template-grid,.pricing-grid,.marketing-pricing{grid-template-columns:1fr}.pricing-card{min-height:auto}.account-settings{align-items:flex-start;display:grid}.billing-switch{align-items:flex-start;display:grid;gap:10px}}

/* v4 · cloud/account polish */
.sync-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:8px 11px;display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;white-space:nowrap}
.sync-chip i{width:7px;height:7px;border-radius:50%;background:#9aa3b2;box-shadow:0 0 0 3px color-mix(in srgb,#9aa3b2 16%,transparent)}
.sync-chip[data-state="synced"] i{background:#1f9d68;box-shadow:0 0 0 3px color-mix(in srgb,#1f9d68 16%,transparent)}
.sync-chip[data-state="syncing"] i,.sync-chip[data-state="pending"] i{background:#d18b16;box-shadow:0 0 0 3px color-mix(in srgb,#d18b16 16%,transparent)}
.sync-chip[data-state="error"] i,.sync-chip[data-state="offline"] i{background:#c53d50;box-shadow:0 0 0 3px color-mix(in srgb,#c53d50 16%,transparent)}
.magic-link-box{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:10px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.magic-link-box label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:650}.magic-link-box input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 12px;outline:none}.magic-link-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
.cloud-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.cloud-overview>div{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:13px}.cloud-overview span,.cloud-overview strong{display:block}.cloud-overview span{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:750}.cloud-overview strong{margin-top:7px;font-size:.88rem}
.recovery-list{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.recovery-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.recovery-row:last-child{border-bottom:0}.recovery-row b,.recovery-row small{display:block}.recovery-row small{color:var(--muted);margin-top:3px}.danger-link{color:var(--danger)!important}.cloud-setup-note{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;margin:16px 0}.cloud-setup-note code{font-size:.8rem}.sync-conflict{display:grid;gap:10px;margin:18px 0}.sync-choice{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px;color:var(--text)}.sync-choice:hover{border-color:var(--primary)}.sync-choice b,.sync-choice small{display:block}.sync-choice small{color:var(--muted);margin-top:4px}
@media(max-width:900px){.sync-chip span{display:none}.sync-chip{padding:9px}.cloud-overview{grid-template-columns:1fr}.magic-link-box{grid-template-columns:1fr}}

/* v5 security centre */
.security-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.security-status-grid>div{border:1px solid var(--line);background:var(--surface2);border-radius:14px;padding:13px}.security-status-grid span,.security-status-grid strong,.security-status-grid small{display:block}.security-status-grid span{font-size:.68rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.security-status-grid strong{margin:6px 0 4px}.security-status-grid small{font-size:.72rem;color:var(--muted);line-height:1.45}.security-settings{margin-top:12px}.turnstile-mount{margin-top:12px;min-height:0}.turnstile-mount:not([hidden]){min-height:65px}@media(max-width:760px){.security-status-grid{grid-template-columns:1fr}}

/* v6 · GRADUSFLOW — restrained Liquid Glass + personal tools */
:root{--glass-bg:rgba(255,255,255,.66);--glass-border:rgba(255,255,255,.58);--glass-shadow:0 18px 50px rgba(26,35,55,.10)}
body.app-body{position:relative;isolation:isolate;background:
 radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 28rem),
 radial-gradient(circle at 92% 92%,rgba(74,174,208,.08),transparent 30rem),var(--bg)}
body.app-body::before,body.app-body::after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(18px);pointer-events:none;opacity:.7}
body.app-body::before{width:260px;height:260px;left:16%;top:13%;background:color-mix(in srgb,var(--primary) 14%,transparent)}
body.app-body::after{width:330px;height:330px;right:7%;bottom:8%;background:rgba(78,178,202,.10)}
.liquid-glass .card,.liquid-glass .compact-card,.liquid-glass .topbar,.liquid-glass .popover,.liquid-glass .modal,.liquid-glass .command-box,.liquid-glass .sync-chip,.liquid-glass .account-chip,.liquid-glass .weather-chip,.liquid-glass .day-info{background:var(--glass-bg)!important;border-color:var(--glass-border)!important;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);box-shadow:var(--glass-shadow)}
.theme-dark{--glass-bg:rgba(20,24,31,.66);--glass-border:rgba(255,255,255,.09);--glass-shadow:0 18px 60px rgba(0,0,0,.27)}
.reduce-transparency .card,.reduce-transparency .compact-card,.reduce-transparency .topbar,.reduce-transparency .popover,.reduce-transparency .modal,.reduce-transparency .command-box,.high-contrast .card,.high-contrast .topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface)!important}
.readable-font{font-family:Verdana,Arial,sans-serif;letter-spacing:.01em}.underline-links a:not(.button),.underline-links .text-button{text-decoration:underline;text-underline-offset:3px}.strong-focus :focus-visible{outline:4px solid color-mix(in srgb,var(--primary) 72%,white)!important;outline-offset:3px!important;box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 18%,transparent)!important}
body[data-accent="teal"] .brand-mark{background:#0f7c8a}body[data-accent="violet"] .brand-mark{background:#7b4ab4}body[data-accent="rose"] .brand-mark{background:#b4235b}body[data-accent="amber"] .brand-mark{background:#a46100}body[data-accent="slate"] .brand-mark{background:#44505e}

.day-info{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:5px 6px 5px 10px;min-height:40px}.day-clock{display:grid;line-height:1.05;min-width:70px}.day-clock strong{font-size:.8rem}.day-clock small{font-size:.61rem;color:var(--muted);margin-top:3px;text-transform:capitalize}.weather-chip{height:30px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--text);display:flex;align-items:center;gap:4px;padding:0 7px;cursor:pointer}.weather-chip b{font-size:.78rem}.weather-chip span{font-size:.85rem}.weather-chip.weather-off{opacity:.55}

.reminder-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.reminder-info>div{display:grid;gap:3px}.reminder-info b{font-size:.8rem}.reminder-info small{font-size:.7rem;color:var(--muted);line-height:1.4}.reminder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reminder-card{min-height:225px;display:flex;flex-direction:column}.reminder-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.reminder-card-head small{color:var(--muted);font-size:.66rem;text-align:right}.reminder-card h3{font-size:1.02rem;margin:24px 0 7px}.reminder-card p{color:var(--muted);font-size:.8rem;line-height:1.5;margin:0}.reminder-channels{font-size:.7rem;color:var(--primary);font-weight:700;margin-top:auto;padding-top:18px}.reminder-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.channel-fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;gap:18px;flex-wrap:wrap}.channel-fieldset legend{font-size:.72rem;color:var(--muted);font-weight:700;padding:0 5px}.channel-fieldset label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:6px!important;color:var(--text)!important}.channel-fieldset input{width:auto!important}

.notes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.notes-toolbar .template-search{max-width:460px}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.note-card{min-height:250px;display:flex;flex-direction:column;position:relative;overflow:hidden}.note-card.pinned::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.note-meta{display:flex;align-items:center;justify-content:space-between}.note-meta small{color:var(--muted);font-size:.68rem}.note-card h3{font-size:1.02rem;margin:22px 0 8px}.note-card p{white-space:pre-line;color:var(--muted);font-size:.8rem;line-height:1.55;margin:0}.note-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px}

.marketing-header{backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);background:rgba(251,252,253,.78)}.product-preview{box-shadow:0 35px 90px rgba(24,33,50,.15)}
@media(max-width:1180px){.day-clock small{display:none}.day-clock{min-width:auto}.day-info{padding-left:7px}.topbar-demo{display:none}}
@media(max-width:900px){.day-info{display:flex}.day-clock small,.weather-credit{display:none}.reminder-grid,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-info{grid-template-columns:1fr}}
@media(max-width:650px){.reminder-grid,.notes-grid{grid-template-columns:1fr}.notes-toolbar{display:grid;align-items:stretch}.notes-toolbar .template-search{max-width:none}.channel-fieldset{display:grid;gap:10px}}

.weather-credit{font-size:.52rem;color:var(--muted);text-decoration:none;padding-right:4px}.weather-credit:hover{text-decoration:underline}.weather-off + .weather-credit{opacity:.45}
@media(max-width:650px){#commandButton,.sync-chip{display:none}.day-info{padding:4px 5px 4px 7px;gap:4px}.day-clock strong{font-size:.72rem}.weather-chip{padding:0 4px}.weather-chip b{font-size:.72rem}}
.quick-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:520px){.quick-add-grid{grid-template-columns:1fr}}
.sidebar{overflow-y:auto;scrollbar-width:thin}

/* v8 · Professional Liquid Glass, motion system, cleaner UI & accessibility */
:root{
  --glass-bg:rgba(255,255,255,.54);
  --glass-bg-strong:rgba(255,255,255,.70);
  --glass-border:rgba(255,255,255,.72);
  --glass-line:rgba(132,147,174,.18);
  --glass-shadow:0 18px 55px rgba(35,46,72,.10),0 2px 8px rgba(35,46,72,.05);
  --glass-shadow-hover:0 24px 70px rgba(35,46,72,.15),0 8px 18px rgba(35,46,72,.06);
  --glass-highlight:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.16) 35%,rgba(255,255,255,.04) 68%);
  --motion-fast:160ms;
  --motion-base:260ms;
  --motion-slow:520ms;
  --motion-ease:cubic-bezier(.22,.8,.24,1);
  --ui-scale:1;
}

/* Public site: lighter, calmer and more product-like */
.marketing-body{
  background:
    radial-gradient(circle at 12% 4%,rgba(68,99,255,.10),transparent 32rem),
    radial-gradient(circle at 88% 18%,rgba(92,203,218,.10),transparent 30rem),
    radial-gradient(circle at 55% 100%,rgba(151,114,255,.08),transparent 34rem),
    #f7f9fc;
  overflow-x:hidden;
}
.marketing-header.glass-nav{
  position:sticky;top:0;z-index:50;
  width:min(1164px,calc(100% - 32px));
  margin:12px auto 0;
  height:64px;
  padding-left:18px;padding-right:12px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:18px;
  background:rgba(255,255,255,.64);
  box-shadow:0 12px 35px rgba(30,43,70,.08),inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter:blur(28px) saturate(165%);
  -webkit-backdrop-filter:blur(28px) saturate(165%);
}
.marketing-header nav a{transition:color var(--motion-fast) ease,transform var(--motion-fast) ease}
.marketing-header nav a:hover{color:var(--text);transform:translateY(-1px)}
.marketing-hero{padding-top:88px}
.marketing-copy h1{max-width:760px}
.glass-showcase{
  position:relative;
  border:1px solid rgba(255,255,255,.82);
  background:rgba(255,255,255,.48);
  box-shadow:0 38px 110px rgba(25,39,70,.17),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(30px) saturate(170%);
  -webkit-backdrop-filter:blur(30px) saturate(170%);
  transform:perspective(1200px) rotateY(-1.5deg) rotateX(.8deg);
  transition:transform var(--motion-slow) var(--motion-ease),box-shadow var(--motion-slow) var(--motion-ease);
}
.glass-showcase::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(125deg,rgba(255,255,255,.7),transparent 24%,transparent 70%,rgba(255,255,255,.22));
  mix-blend-mode:screen;opacity:.66;
}
.glass-showcase:hover{transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-4px);box-shadow:0 46px 130px rgba(25,39,70,.20),inset 0 1px 0 rgba(255,255,255,.92)}
.marketing-pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1180px}
.glass-price-card{position:relative;padding:28px;border:1px solid rgba(255,255,255,.82);border-radius:22px;background:rgba(255,255,255,.58);box-shadow:0 20px 60px rgba(32,46,78,.09),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
.glass-price-card>p:not(.overline){color:var(--muted);line-height:1.6}
.marketing-plan-plus{outline:1px solid color-mix(in srgb,var(--primary) 26%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--primary) 7%,rgba(255,255,255,.68)),rgba(255,255,255,.55))}
.price-badge{position:absolute;right:20px;top:18px;padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.62rem;font-weight:800;letter-spacing:.07em}
.public-price{display:flex;align-items:baseline;gap:8px;margin:14px 0 4px}.public-price strong{font-size:2.65rem;line-height:1;letter-spacing:-.055em}.public-price span{color:var(--muted);font-weight:650}.annual-price{margin:0 0 15px!important;font-size:.78rem;color:var(--primary)!important;font-weight:650}

/* App glass system */
body.app-body{font-size:calc(15px * var(--ui-scale));background:
  radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 29rem),
  radial-gradient(circle at 91% 16%,rgba(79,190,214,.12),transparent 31rem),
  radial-gradient(circle at 82% 92%,rgba(147,110,245,.09),transparent 33rem),
  linear-gradient(145deg,#f6f8fc 0%,#eef3f9 52%,#f7f8fb 100%);
}
.theme-dark.app-body{background:
  radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 29rem),
  radial-gradient(circle at 91% 16%,rgba(38,126,155,.11),transparent 31rem),
  linear-gradient(145deg,#0e1117 0%,#111722 55%,#0d1016 100%)}
.theme-dark{--glass-bg:rgba(21,26,35,.52);--glass-bg-strong:rgba(21,26,35,.68);--glass-border:rgba(255,255,255,.11);--glass-line:rgba(255,255,255,.075);--glass-shadow:0 20px 62px rgba(0,0,0,.30),0 2px 8px rgba(0,0,0,.20);--glass-shadow-hover:0 28px 80px rgba(0,0,0,.38),0 8px 18px rgba(0,0,0,.22)}
.liquid-glass .sidebar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 92%,white 4%),color-mix(in srgb,var(--sidebar) 94%,black 6%));
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:12px 0 45px rgba(20,28,48,.13);
  backdrop-filter:blur(30px) saturate(155%);
  -webkit-backdrop-filter:blur(30px) saturate(155%);
}
.liquid-glass .topbar{
  background:var(--glass-bg-strong)!important;
  border-bottom-color:var(--glass-line)!important;
  backdrop-filter:blur(34px) saturate(175%);
  -webkit-backdrop-filter:blur(34px) saturate(175%);
  box-shadow:0 9px 28px rgba(31,43,68,.055),inset 0 1px 0 rgba(255,255,255,.46);
}
.liquid-glass .card,.liquid-glass .stat,.liquid-glass .subject-card,.liquid-glass .pricing-card,.liquid-glass .template-toolbar,.liquid-glass .scenario-selector,.liquid-glass .popover,.liquid-glass .modal,.liquid-glass .command-box,.liquid-glass .day-info,.liquid-glass .sync-chip,.liquid-glass .account-chip{
  position:relative;
  background:linear-gradient(145deg,var(--glass-bg-strong),var(--glass-bg))!important;
  border-color:var(--glass-border)!important;
  box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.52),inset 0 -1px 0 rgba(120,136,166,.05);
  backdrop-filter:blur(28px) saturate(175%);
  -webkit-backdrop-filter:blur(28px) saturate(175%);
}
.liquid-glass .card::before,.liquid-glass .stat::before,.liquid-glass .subject-card::before,.liquid-glass .pricing-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:var(--glass-highlight);opacity:.44;
  -webkit-mask:linear-gradient(#000,transparent 45%);mask:linear-gradient(#000,transparent 45%);
}
.liquid-glass .card>* ,.liquid-glass .stat>* ,.liquid-glass .subject-card>* ,.liquid-glass .pricing-card>*{position:relative;z-index:1}
.liquid-glass .button-secondary,.liquid-glass .icon-button{
  background:rgba(255,255,255,.40);border-color:rgba(255,255,255,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.theme-dark.liquid-glass .button-secondary,.theme-dark.liquid-glass .icon-button{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.09)}
.reduce-transparency .sidebar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--sidebar)!important}

/* Cleaner navigation */
:root{--sidebar-w:224px}
.sidebar{padding:14px 10px 12px}
.sidebar-head{padding:2px 8px 12px}
.side-nav{gap:2px}
.nav-group-label{display:block;padding:12px 11px 5px;color:#707987;font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;user-select:none}
.nav-item{padding:8px 10px;border-radius:11px;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease)}
.nav-item:hover{transform:translateX(2px)}
.nav-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 27%,transparent),rgba(255,255,255,.035));box-shadow:inset 2px 0 0 color-mix(in srgb,var(--primary) 68%,white)}
.topbar{height:68px;padding:0 24px}
.app-main{padding-top:24px}
.topbar-demo-hidden{display:none!important}
.account-popover .popover-footer+ .popover-footer{border-top:1px solid var(--line)}
.day-info{border-radius:14px}
.card,.stat,.subject-card,.pricing-card{transition:transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease),border-color var(--motion-base) ease}
.liquid-glass .card:hover,.liquid-glass .stat:hover,.liquid-glass .subject-card:hover,.liquid-glass .pricing-card:hover{transform:translateY(-2px);box-shadow:var(--glass-shadow-hover),inset 0 1px 0 rgba(255,255,255,.55)}
.button{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,filter var(--motion-fast) ease,background var(--motion-fast) ease}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0) scale(.985)}

/* Motion: subtle and purposeful */
.view.active{animation:gf-view-in var(--motion-base) var(--motion-ease) both}
.marketing-copy{animation:gf-rise .65s var(--motion-ease) both}
.glass-showcase{animation:gf-rise .78s .06s var(--motion-ease) both}
.reveal-grid article{animation:gf-rise .48s var(--motion-ease) both}
.reveal-grid article:nth-child(2){animation-delay:.035s}.reveal-grid article:nth-child(3){animation-delay:.07s}.reveal-grid article:nth-child(4){animation-delay:.105s}.reveal-grid article:nth-child(5){animation-delay:.14s}.reveal-grid article:nth-child(6){animation-delay:.175s}.reveal-grid article:nth-child(7){animation-delay:.21s}.reveal-grid article:nth-child(8){animation-delay:.245s}
@keyframes gf-view-in{from{opacity:0;transform:translateY(8px) scale(.997)}to{opacity:1;transform:none}}
@keyframes gf-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Accessibility profiles */
.text-spacing{letter-spacing:.025em;line-height:1.65}.text-spacing p,.text-spacing li,.text-spacing small{line-height:1.7}.text-spacing .nav-item{letter-spacing:.015em}
.large-controls .button,.large-controls .icon-button,.large-controls .nav-item,.large-controls input,.large-controls select,.large-controls textarea{min-height:44px}.large-controls .toggle-row{padding-top:12px;padding-bottom:12px}.large-controls input[type="checkbox"]{min-width:22px;min-height:22px}
body[data-color-vision="deuteranopia"]{--primary:#2757c7;--primary-soft:rgba(39,87,199,.14)}
body[data-color-vision="protanopia"]{--primary:#1268a8;--primary-soft:rgba(18,104,168,.14)}
body[data-color-vision="tritanopia"]{--primary:#a63c84;--primary-soft:rgba(166,60,132,.14)}
body[data-color-vision="monochrome"]{--primary:#3f4a59;--primary-soft:rgba(63,74,89,.14)}
body[data-color-vision="monochrome"] .subject-dot,body[data-color-vision="monochrome"] .class-block,body[data-color-vision="monochrome"] .progress-track i{filter:grayscale(1)}
.accessibility-selects{margin-bottom:12px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Focus and keyboard affordances: always visible enough, stronger when requested */
:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 80%,white);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent)}
.strong-focus :focus-visible{outline-width:4px!important;outline-offset:4px!important;box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 20%,transparent)!important}
[aria-current="page"]{color:#fff!important}

/* Respect both app preference and OS preference */
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.glass-showcase{transform:none!important}}
@media (prefers-contrast:more){.card,.stat,.subject-card,.pricing-card,.topbar{border-width:2px}.nav-item.active{outline:2px solid #fff;outline-offset:-2px}}

@media(max-width:900px){
  .marketing-header nav{display:none}.marketing-pricing{grid-template-columns:1fr}.glass-showcase{transform:none}.marketing-hero{gap:42px}
  :root{--sidebar-w:236px}.nav-group-label{padding-top:9px}
}
@media(max-width:650px){
  .marketing-header.glass-nav{width:calc(100% - 20px);margin-top:8px;border-radius:15px}.marketing-header .brand span:last-child{font-size:.9rem}
  .glass-price-card{padding:22px}.public-price strong{font-size:2.25rem}.topbar{padding:0 12px}.account-chip span:last-child{display:none}
}


/* v8 · brand navigation, three-plan pricing and micro-polish */
.app-brand-lockup{display:flex;align-items:center;gap:9px;min-width:0}
.brand-mark-link{display:inline-grid;place-items:center;border-radius:10px;text-decoration:none;flex:0 0 auto}
.brand-mark-link .brand-mark{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,filter var(--motion-fast) ease}
.brand-mark-link:hover .brand-mark{transform:translateY(-1px) scale(1.035);box-shadow:0 7px 22px rgba(49,87,213,.26);filter:saturate(1.08)}
.brand-mark-link:active .brand-mark{transform:scale(.97)}
.app-brand-word{color:#fff;text-decoration:none;font-weight:760;letter-spacing:-.025em;font-size:.96rem;white-space:nowrap}
.app-brand-word:hover{color:#fff;text-decoration:none}

/* Clearer typography hierarchy */
.marketing-copy h1,.section-heading h2,.view-toolbar h2,.dashboard-greeting h2{font-kerning:normal;text-wrap:balance}
.section-heading h2{max-width:760px;line-height:1.08}
.feature-list h3,.glass-price-card h3,.pricing-card h3{letter-spacing:-.025em}
.feature-list p,.glass-price-card p,.pricing-card li{line-height:1.58}

.marketing-pricing-three{align-items:stretch}
.marketing-pricing-three .glass-price-card{display:flex;flex-direction:column;min-height:390px}
.marketing-pricing-three .glass-price-card .button{margin-top:auto}
.best-value-card{transform:translateY(-4px);box-shadow:0 28px 80px color-mix(in srgb,var(--primary) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.92)}
.best-value-card:hover{transform:translateY(-7px)}
.price-card-free{background:rgba(255,255,255,.50)}

.pricing-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;align-items:stretch}
.pricing-grid-three .pricing-card{min-height:500px}
.pricing-grid-three .annual-plan{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 72%,var(--line))}
.plan-saving{margin:8px 0 0;color:var(--primary);font-size:.74rem;font-weight:720;line-height:1.35}
.plus-preview-button{margin-top:16px}
[data-subscribe-period].selected-plan{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}

/* Distinguish academic grades from personal notes in copy and navigation */
#view-grades .view-toolbar h2{letter-spacing:-.035em}
#view-notes .view-toolbar h2{letter-spacing:-.025em}

/* More consistent touch targets without visually inflating the interface */
.brand-mark-link,.app-brand-word,.marketing-header nav a,.text-link{border-radius:8px}
.marketing-header .button,.glass-price-card .button{min-height:42px}
.feature-list article{min-height:190px}

@media(max-width:1100px){
  .marketing-pricing,.pricing-grid-three{grid-template-columns:1fr 1fr}
  .best-value-card,.pricing-grid-three .annual-plan{transform:none}
}
@media(max-width:760px){
  .marketing-pricing,.pricing-grid-three{grid-template-columns:1fr}
  .marketing-pricing-three .glass-price-card,.pricing-grid-three .pricing-card{min-height:auto}
}

/* v9 · accessible appearance palettes and management grouping */
.management-label{padding-top:8px;margin-top:2px}
.sidebar-home-block{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.09)}
.nav-home-link{color:#929ba9}
.nav-home-link:hover{color:#fff}

.accessible-appearance-section{overflow:hidden}
.appearance-intro{margin:7px 0 15px!important;max-width:760px}
.tone-picker{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:8px;margin-top:14px}
.tone-choice{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--muted);border-radius:12px;padding:9px 8px;display:grid;justify-items:center;gap:6px;cursor:pointer;min-height:66px;transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease}
.tone-choice:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 38%,var(--line));color:var(--text)}
.tone-choice.active{border-color:color-mix(in srgb,var(--primary) 66%,var(--line));background:var(--primary-soft);color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}
.tone-choice span{font-size:.7rem;font-weight:680}
.tone-swatch{display:block;width:28px;height:28px;border-radius:9px;border:1px solid rgba(35,45,65,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.tone-neutral{background:linear-gradient(145deg,#f8f9fb,#e8edf4)}
.tone-sky{background:linear-gradient(145deg,#eaf4ff,#cfe3fb)}
.tone-mint{background:linear-gradient(145deg,#eaf8f2,#cfeadd)}
.tone-lavender{background:linear-gradient(145deg,#f2edff,#ddd3f8)}
.tone-sand{background:linear-gradient(145deg,#fbf4e7,#eddfc4)}
.tone-rose{background:linear-gradient(145deg,#fff0f4,#f3d7df)}
.theme-dark .tone-swatch{border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}

/* Page tones: intentionally soft so content contrast remains the priority. */
body.app-body[data-page-tone="neutral"]{--page-tone-name:neutral}
body.app-body[data-page-tone="sky"]{--bg:#f3f7fd;--surface:#fbfdff;--surface-soft:#edf4fc;--line:#d9e4f1;background:radial-gradient(circle at 7% 8%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 29rem),radial-gradient(circle at 91% 15%,rgba(76,164,221,.14),transparent 31rem),linear-gradient(145deg,#f3f8ff 0%,#e9f2fb 52%,#f7faff 100%)}
body.app-body[data-page-tone="mint"]{--bg:#f2f8f5;--surface:#fbfefc;--surface-soft:#eaf5ef;--line:#d6e7de;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(72,169,129,.13),transparent 31rem),linear-gradient(145deg,#f3faf6 0%,#e9f4ee 52%,#f7fbf8 100%)}
body.app-body[data-page-tone="lavender"]{--bg:#f7f4fc;--surface:#fdfcff;--surface-soft:#f0ebf8;--line:#e2dced;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(139,110,207,.14),transparent 31rem),linear-gradient(145deg,#faf7ff 0%,#f0eaf8 52%,#fbf9fd 100%)}
body.app-body[data-page-tone="sand"]{--bg:#faf7f1;--surface:#fffdf9;--surface-soft:#f4eee3;--line:#e8dfd1;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(188,146,81,.13),transparent 31rem),linear-gradient(145deg,#fdf9f1 0%,#f3ecdf 52%,#fcfaf6 100%)}
body.app-body[data-page-tone="rose"]{--bg:#fbf5f7;--surface:#fffdfd;--surface-soft:#f7ebef;--line:#eadbe1;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(190,102,132,.12),transparent 31rem),linear-gradient(145deg,#fff8fa 0%,#f6eaf0 52%,#fdf9fa 100%)}

body.theme-dark.app-body[data-page-tone="neutral"]{--bg:#0e1014;--surface:#16191f;--surface-soft:#20242b;--line:#292e37}
body.theme-dark.app-body[data-page-tone="sky"]{--bg:#0e141b;--surface:#151d27;--surface-soft:#1b2734;--line:#2b3949;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 19%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(40,118,164,.13),transparent 31rem),linear-gradient(145deg,#0d141c 0%,#111d29 55%,#0c1218 100%)}
body.theme-dark.app-body[data-page-tone="mint"]{--bg:#0f1513;--surface:#161e1b;--surface-soft:#1d2924;--line:#2d3c36;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(51,128,95,.12),transparent 31rem),linear-gradient(145deg,#0e1512 0%,#13221b 55%,#0d1311 100%)}
body.theme-dark.app-body[data-page-tone="lavender"]{--bg:#121019;--surface:#1b1823;--surface-soft:#272232;--line:#393248;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 19%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(119,82,173,.13),transparent 31rem),linear-gradient(145deg,#121019 0%,#1a1525 55%,#100e16 100%)}
body.theme-dark.app-body[data-page-tone="sand"]{--bg:#17130f;--surface:#211c16;--surface-soft:#2d261d;--line:#41372a;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(142,103,52,.12),transparent 31rem),linear-gradient(145deg,#17130e 0%,#241c13 55%,#14110d 100%)}
body.theme-dark.app-body[data-page-tone="rose"]{--bg:#171015;--surface:#211820;--surface-soft:#2d222a;--line:#42313b;background:radial-gradient(circle at 8% 7%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 29rem),radial-gradient(circle at 91% 16%,rgba(151,64,97,.12),transparent 31rem),linear-gradient(145deg,#171014 0%,#241720 55%,#140e12 100%)}

/* High contrast deliberately removes decorative page tinting. */
body.high-contrast.app-body{background:var(--bg)!important}

@media(max-width:900px){.tone-picker{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.tone-picker{grid-template-columns:repeat(2,1fr)}}


/* GRADUSFLOW v10+ — direct reminder bell + contact */
.notification-bell{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-button:hover .notification-bell{transform:translateY(-1px)}
.notification-button .notification-bell{transition:transform .16s ease}
.popover-action-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.popover-action-row .popover-footer{border-top:0;min-height:42px}
.popover-action-row .popover-footer+.popover-footer{border-left:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px}
.contact-card,.contact-guidance{padding:24px}
.contact-card>p{color:var(--muted);max-width:720px;line-height:1.7}
.contact-email-state{display:flex;align-items:center;gap:14px;padding:16px;margin:20px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.contact-email-state b,.contact-email-state small{display:block}.contact-email-state small{color:var(--muted);margin-top:4px}
.contact-icon,.contact-public-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:1.1rem;flex:0 0 auto}
.contact-guidance ul{margin:18px 0 0;padding-left:19px;color:var(--muted);display:grid;gap:10px;line-height:1.55}
.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.contact-public{padding:34px;border-radius:22px;display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.contact-public h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.04;letter-spacing:-.045em;margin:12px 0 18px}
.contact-public p{color:#69707a;line-height:1.7;max-width:680px}
.contact-public-action{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.54)}
.contact-public-action b,.contact-public-action small{display:block}.contact-public-action small{color:#747b86;margin-top:4px}.contact-public-action .button{grid-column:1/3;margin-top:4px}
.theme-dark .contact-public-action{background:rgba(255,255,255,.045)}
@media(max-width:900px){.contact-layout,.contact-public{grid-template-columns:1fr}.contact-public-action{margin-top:2px}}
@media(max-width:560px){.popover-action-row{grid-template-columns:1fr}.popover-action-row .popover-footer+.popover-footer{border-left:0;border-top:1px solid var(--line)}.contact-public{padding:24px}.contact-public-action{grid-template-columns:auto 1fr}.contact-public-action .button{grid-column:1/3}}
@media(prefers-reduced-motion:reduce){.notification-button .notification-bell{transition:none}}


/* v10+ profile onboarding + accent-aware sidebar */
.sidebar{border-right:1px solid color-mix(in srgb,var(--primary) 18%,transparent)}
.sidebar .nav-group-label{color:color-mix(in srgb,var(--sidebar-text) 62%,transparent)}
.sidebar .app-brand-word{color:#fff}
.sidebar .brand-mark-link{filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--primary) 18%,transparent))}
.onboarding-form{display:grid;gap:14px}.onboarding-form .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-form .onboarding-note{margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--primary) 6%,var(--surface));color:var(--muted);font-size:.78rem;line-height:1.5}.onboarding-form .modal-actions{margin-top:2px}.onboarding-form .required-hint{font-size:.68rem;color:var(--muted);margin-top:-5px}
@media(max-width:650px){.onboarding-form .settings-grid{grid-template-columns:1fr}}


/* v10+ entry chooser: guest, GRADUSFLOW account or Google */
body.entry-open{overflow:hidden}
.entry-layer{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:22px;background:rgba(8,13,24,.42);backdrop-filter:blur(18px) saturate(1.15);opacity:0;transition:opacity .16s ease}
.entry-layer[hidden]{display:none}.entry-layer.is-open{opacity:1}
.entry-dialog{position:relative;width:min(680px,100%);padding:30px;border:1px solid rgba(255,255,255,.58);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(248,250,255,.70));box-shadow:0 34px 100px rgba(13,22,43,.25),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(34px) saturate(1.35);transform:translateY(8px) scale(.99);transition:transform .18s ease}
.entry-layer.is-open .entry-dialog{transform:none}.entry-dialog h2{font-size:clamp(1.75rem,4vw,2.65rem);line-height:1.04;letter-spacing:-.045em;margin:9px 42px 10px 0}.entry-intro{color:#68717e;line-height:1.65;margin:0 0 20px;max-width:580px}.entry-close{position:absolute;right:18px;top:17px;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.56);color:#4e5968;font-size:1.35rem;cursor:pointer}.entry-options{display:grid;gap:10px}.entry-option{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid #dfe5ef;border-radius:16px;background:rgba(255,255,255,.57);color:#192231;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.entry-option:hover,.entry-option:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 48%,#dfe5ef);box-shadow:0 13px 34px rgba(24,42,82,.09);text-decoration:none}.entry-option-featured{background:color-mix(in srgb,var(--primary) 7%,rgba(255,255,255,.77));border-color:color-mix(in srgb,var(--primary) 28%,#dfe5ef)}.entry-option-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-weight:850}.google-entry{background:#fff;color:#3557b7;border:1px solid #e2e7f0}.entry-option b,.entry-option small{display:block}.entry-option b{font-size:.92rem}.entry-option small{margin-top:4px;color:#6c7581;line-height:1.45;font-size:.72rem}.entry-arrow{font-size:1.15rem;color:#8993a1}.entry-footnote{display:block;text-align:center;color:#7a838e;font-size:.7rem;margin:16px 0 0}.account-entry-form{display:grid;gap:12px}.account-entry-form label{display:grid;gap:6px;font-size:.75rem;font-weight:650}.account-entry-form input{width:100%}.account-mode-switch{margin-top:12px}.account-entry-help{margin-top:12px!important}
.theme-dark .entry-dialog{background:linear-gradient(145deg,rgba(26,31,42,.91),rgba(17,21,30,.83));border-color:rgba(255,255,255,.12)}.theme-dark .entry-intro,.theme-dark .entry-option small,.theme-dark .entry-footnote{color:#aab2be}.theme-dark .entry-option{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.11);color:#eef2f8}.theme-dark .entry-option-featured{background:color-mix(in srgb,var(--primary) 14%,rgba(255,255,255,.05))}.theme-dark .entry-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.11);color:#d9e0e8}
@media(max-width:600px){.entry-layer{padding:12px}.entry-dialog{padding:23px 17px;border-radius:21px}.entry-option{grid-template-columns:40px 1fr auto;padding:13px 12px}.entry-option-icon{width:40px;height:40px}.entry-dialog h2{margin-right:38px}}
@media(prefers-reduced-motion:reduce){.entry-layer,.entry-dialog,.entry-option{transition:none}}

/* v10+ demo account: the Start CTA only exists in the standard demo session. */
.demo-start-button[hidden]{display:none!important}
.demo-start-button{box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 20%,transparent)}
@media(max-width:760px){.demo-start-button{min-width:38px;padding-inline:10px}}

/* v11.1 — calmer, progressively disclosed dashboard */
.dashboard-greeting-calm{margin-bottom:16px;align-items:center}.dashboard-greeting-calm h2{font-size:1.48rem}.dashboard-greeting-calm p{max-width:680px}
.dashboard-onboarding{max-width:880px;margin:4px auto 0;padding:28px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;align-items:center}.dashboard-onboarding[hidden]{display:none}.dashboard-onboarding-copy h3{font-size:1.35rem;margin:5px 0 8px;letter-spacing:-.025em}.dashboard-onboarding-copy>p:last-child{color:var(--muted);max-width:580px;line-height:1.6;margin:0}.dashboard-onboarding-steps{display:grid;gap:8px}.onboarding-step{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 76%,transparent)}.onboarding-step>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 13%,var(--surface));color:var(--primary);font-weight:750;font-size:.76rem}.onboarding-step.done>span{background:color-mix(in srgb,#18794e 15%,var(--surface));color:#18794e}.onboarding-step b{display:block;font-size:.82rem}.onboarding-step small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.muted-step{opacity:.76}.dashboard-onboarding-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-start;border-top:1px solid var(--line);padding-top:17px}
.dashboard-calm-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;align-items:start}.dashboard-calm-grid[hidden]{display:none}.dashboard-focus-card{min-width:0}.dashboard-simple-head{margin-bottom:12px}.dashboard-simple-head h3{font-size:.98rem}.dashboard-compartments{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dashboard-compartment{background:color-mix(in srgb,var(--surface-soft) 76%,transparent);border:1px solid var(--line);border-radius:12px;padding:13px;min-width:0}.dashboard-compartment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}.dashboard-compartment-head span{display:block;color:var(--muted);font-size:.62rem;font-weight:760;letter-spacing:.08em}.dashboard-compartment-head h4{margin:2px 0 0;font-size:.86rem}.dashboard-compartment-head .text-button{font-size:.69rem}.dashboard-progress-card{min-width:0}.dashboard-stats-compact{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dashboard-metric{padding:14px;border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 78%,transparent);border:1px solid var(--line)}.dashboard-metric span{display:block;color:var(--muted);font-size:.68rem;font-weight:670}.dashboard-metric strong{display:block;font-size:1.42rem;letter-spacing:-.04em;margin:6px 0 2px}.dashboard-metric small{display:block;color:var(--muted);font-size:.66rem;line-height:1.35}.dashboard-week-card{grid-column:1/-1}.dashboard-week-card .simple-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-week-card .simple-item{border:1px solid var(--line);border-radius:10px;padding:10px;background:color-mix(in srgb,var(--surface-soft) 65%,transparent);min-width:0}.dashboard-short-list .simple-item{padding:9px 0}.quiet-empty{min-height:72px;display:grid;place-items:center;text-align:center;color:var(--muted)}.quiet-empty p{margin:0;font-size:.78rem}
@media(max-width:1100px){.dashboard-calm-grid{grid-template-columns:1fr}.dashboard-week-card{grid-column:auto}.dashboard-week-card .simple-list{grid-template-columns:1fr}.dashboard-onboarding{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-greeting-calm{margin-bottom:13px}.dashboard-onboarding{padding:20px 17px;gap:18px}.dashboard-onboarding-actions{display:grid}.dashboard-compartments{grid-template-columns:1fr}.dashboard-stats-compact{grid-template-columns:1fr 1fr}.dashboard-calm-grid{gap:10px}}

/* v12 — Plus intelligence, progressive disclosure and premium identity */
.plus-mini-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 84%,white),color-mix(in srgb,var(--primary) 58%,#7c3aed));color:#fff;font-size:.6rem;line-height:1.4;font-weight:850;letter-spacing:.07em;vertical-align:middle;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 18%,transparent)}
.plus-inline-zone{margin-top:14px}.plus-inline-zone:empty{display:none}.plus-lock-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 20px;border-style:dashed;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.plus-lock-card h3{margin:2px 0 5px;font-size:.98rem}.plus-lock-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.plus-lock-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:1rem}
.plus-section-card{padding:20px}.plus-zone-grid{display:grid;gap:14px}.plus-zone-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.plus-metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.plus-metric-strip>div,.plus-result-pairs>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 75%,transparent)}.plus-metric-strip span,.plus-result-pairs span,.plus-widget span,.plus-subject-row span{display:block;color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.02em}.plus-metric-strip strong,.plus-result-pairs b{display:block;margin-top:5px;font-size:1rem}.plus-callout{padding:14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));background:color-mix(in srgb,var(--primary) 7%,var(--surface));display:grid;gap:3px}.plus-callout>span{color:var(--muted);font-size:.68rem}.plus-callout>strong{font-size:1.1rem}.plus-callout>small{color:var(--muted);line-height:1.45}.plus-callout.danger{border-color:color-mix(in srgb,#b42336 34%,var(--line));background:color-mix(in srgb,#b42336 6%,var(--surface))}
.plus-simulator-result{margin-top:12px}.plus-result-main{display:grid;gap:4px;padding:14px;border-radius:12px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line))}.plus-result-main span{font-size:.66rem;color:var(--muted);font-weight:700}.plus-result-main strong{font-size:1.6rem;letter-spacing:-.04em}.plus-result-main small{color:var(--muted)}.plus-result-pairs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.compact-v12{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-select{font-size:.7rem;color:var(--muted);display:flex;gap:8px;align-items:center}.compact-select select{min-width:150px}
.v12-trend-wrap{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(170px,.7fr);gap:18px;align-items:end}.v12-trend-wrap>div:last-child b,.v12-trend-wrap>div:last-child small{display:block}.v12-trend-wrap>div:last-child small{color:var(--muted);margin-top:5px;line-height:1.45}.v12-bars{height:120px;display:flex;align-items:end;gap:5px;padding:10px 8px 0;border-bottom:1px solid var(--line);background:linear-gradient(to top,color-mix(in srgb,var(--primary) 4%,transparent),transparent);border-radius:10px}.v12-bars i{flex:1;min-width:5px;max-width:30px;border-radius:5px 5px 2px 2px;background:linear-gradient(to top,color-mix(in srgb,var(--primary) 72%,#111827),color-mix(in srgb,var(--primary) 50%,white));opacity:.9}.plus-empty{padding:22px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.76rem;text-align:center;background:color-mix(in srgb,var(--surface-soft) 60%,transparent)}
.plus-subject-stats{display:grid;gap:7px}.plus-subject-row{display:grid;grid-template-columns:minmax(170px,1.5fr) repeat(5,minmax(70px,.6fr));gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 68%,transparent)}.plus-subject-row>div:first-child b,.plus-subject-row>div:first-child small{display:block}.plus-subject-row>div:first-child small{color:var(--muted);font-size:.67rem;margin-top:3px}.plus-subject-row strong{display:block;margin-top:3px;font-size:.82rem}.plus-health-pill{padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:750}.plus-health-pill.ok{background:rgba(24,121,78,.09);color:#18794e}.plus-health-pill.warn{background:rgba(184,110,0,.1);color:#8b5a00}
.plus-dashboard-card{grid-column:1/-1}.plus-dashboard-card[hidden]{display:none}.plus-widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.plus-widget{padding:13px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),color-mix(in srgb,var(--surface-soft) 76%,transparent))}.plus-widget strong{display:block;font-size:1.18rem;letter-spacing:-.03em;margin:5px 0 3px}.plus-widget small{display:block;color:var(--muted);font-size:.68rem;line-height:1.4}
.plus-transcript-card{overflow:hidden}.v12-tabs{margin:12px 0 15px;flex-wrap:wrap}.plus-projection-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:14px}.plus-projection-controls{padding:15px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.plus-projection-controls label{display:grid;gap:10px;font-size:.74rem;font-weight:650}.plus-projection-controls input[type=range]{width:100%}.range-output{display:flex;align-items:baseline;gap:8px;margin-top:12px}.range-output strong{font-size:1.65rem}.range-output small{color:var(--muted)}.plus-projection-results{display:grid;grid-template-columns:1fr;gap:8px}.plus-projection-results>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.plus-projection-results span{display:block;color:var(--muted);font-size:.66rem}.plus-projection-results strong{display:block;margin-top:5px;font-size:1rem}.semester-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.semester-card{padding:13px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 68%,transparent)}.semester-card span,.semester-card small{display:block;color:var(--muted);font-size:.67rem}.semester-card strong{display:block;font-size:1.35rem;margin:6px 0 4px}.credit-bar{height:5px;background:var(--surface-soft);border-radius:99px;overflow:hidden;margin-top:10px}.credit-bar i{display:block;height:100%;background:var(--primary);border-radius:inherit}.v12-panel-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.v12-panel-actions b,.v12-panel-actions small{display:block}.v12-panel-actions small{color:var(--muted);font-size:.68rem;margin-top:3px}.history-list{display:grid;gap:6px}.history-row{display:grid;grid-template-columns:90px 1fr 80px 80px;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:9px}.history-row time,.history-row small,.history-row span{color:var(--muted);font-size:.68rem}.history-row b{font-size:.76rem}.goals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.goal-card{padding:13px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.goal-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.goal-card span{font-size:.62rem;color:var(--muted);font-weight:750}.goal-card>b,.goal-card>strong,.goal-card>small{display:block}.goal-card>b{font-size:.8rem;margin:5px 0}.goal-card>strong{font-size:1rem}.goal-card>small{color:var(--muted);font-size:.66rem;margin-top:7px}
.advanced-study-day p{margin:8px 0 0;padding:8px;border-radius:8px;background:color-mix(in srgb,var(--primary) 4%,var(--surface-soft))}.advanced-study-day p strong,.advanced-study-day p span{display:block}.advanced-study-day p span{color:var(--muted);font-size:.67rem;margin-top:3px}.advanced-study-day .rest-day{color:var(--muted)}
.account-plan-badge{margin-left:2px;padding:2px 5px;border-radius:999px;background:linear-gradient(135deg,var(--primary),#7c3aed);color:white;font-size:.5rem;font-weight:850;letter-spacing:.06em}.account-plan-badge.preview{background:var(--surface-soft);color:var(--muted);border:1px solid var(--line)}.account-plan-badge[hidden]{display:none}
.plus-service-locked{position:relative}.plus-service-locked input:disabled,.plus-service-locked select:disabled,.plus-service-locked button:disabled{opacity:.55;cursor:not-allowed}.v12-cloud-gate{margin:11px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));font-size:.72rem;color:var(--muted)}.plus-channel-locked{opacity:.55}.channel-fieldset small{margin-left:4px;font-size:.56rem;font-weight:800;color:var(--primary)}.subscription-footnote{max-width:760px;margin:12px auto}.v12-course-plan .plan-ribbon{max-width:calc(100% - 26px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Premium palettes never replace accessibility controls; they only decorate the product. */
body[data-plus-palette="ocean"]{--primary:#0f6fa8;--primary-soft:rgba(15,111,168,.12);--sidebar-bg:linear-gradient(180deg,#0d3550,#0b2438)}
body[data-plus-palette="aurora"]{--primary:#6d48c7;--primary-soft:rgba(109,72,199,.12);--sidebar-bg:linear-gradient(180deg,#35245a,#1e1736)}
body[data-plus-palette="forest"]{--primary:#2d7153;--primary-soft:rgba(45,113,83,.12);--sidebar-bg:linear-gradient(180deg,#204b3a,#142e25)}
body[data-plus-palette="sunset"]{--primary:#ad5b45;--primary-soft:rgba(173,91,69,.12);--sidebar-bg:linear-gradient(180deg,#5f352f,#34211f)}
body[data-plus-palette]:not([data-plus-palette="none"]) .sidebar{background:var(--sidebar-bg)!important}
body[data-glass-intensity="subtle"] .card,body[data-glass-intensity="subtle"] .topbar,body[data-glass-intensity="subtle"] .sidebar{backdrop-filter:blur(10px) saturate(1.05)}
body[data-glass-intensity="strong"] .card,body[data-glass-intensity="strong"] .topbar,body[data-glass-intensity="strong"] .sidebar{backdrop-filter:blur(34px) saturate(1.45)}
.theme-dark .plus-lock-card,.theme-dark .plus-widget,.theme-dark .plus-subject-row,.theme-dark .semester-card,.theme-dark .goal-card{background:rgba(255,255,255,.035)}
@media(max-width:1100px){.plus-zone-grid-2,.plus-projection-layout{grid-template-columns:1fr}.plus-subject-row{grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(65px,.6fr))}.plus-subject-row>div:nth-child(5),.plus-subject-row>div:nth-child(6){display:none}.semester-comparison{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.plus-lock-card{grid-template-columns:auto 1fr}.plus-lock-card .button{grid-column:1/-1}.plus-widget-grid,.goals-grid{grid-template-columns:1fr}.plus-subject-row{grid-template-columns:1fr 1fr}.plus-subject-row>div:first-child{grid-column:1/-1}.plus-subject-row>div:nth-child(n+4){display:none}.plus-metric-strip,.plus-result-pairs,.compact-v12{grid-template-columns:1fr}.v12-trend-wrap{grid-template-columns:1fr}.history-row{grid-template-columns:72px 1fr 62px}.history-row>span{display:none}.v12-panel-actions{align-items:flex-start;flex-direction:column}.semester-comparison{grid-template-columns:1fr}.plus-projection-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.v12-bars i{transition:none}}


/* =========================
   v12.1 — refined collapsible navigation, calmer motion & compatibility fallbacks
   ========================= */
:root{--sidebar-collapsed-w:78px}
.sidebar{overflow:visible;transition:width var(--motion-base) var(--motion-ease),padding var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) ease}
.app-shell{transition:margin-left var(--motion-base) var(--motion-ease)}
.sidebar-head{position:relative}
.app-brand-lockup{min-width:0;overflow:hidden}
.app-brand-word,.nav-item b,.nav-group-label{white-space:nowrap;transition:opacity var(--motion-fast) ease,max-width var(--motion-base) var(--motion-ease),margin var(--motion-base) var(--motion-ease),padding var(--motion-base) var(--motion-ease)}
.app-brand-word{max-width:150px;opacity:1}
.nav-item{position:relative;overflow:visible;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease),padding var(--motion-base) var(--motion-ease),gap var(--motion-base) var(--motion-ease)}
.nav-item b{max-width:170px;opacity:1;overflow:hidden;text-overflow:ellipsis}

/* Desktop edge handle: it stays in the same physical place in both states. */
.sidebar-collapse-button{position:absolute;right:-17px;top:55px;z-index:34;width:34px;height:34px;border:1px solid rgba(255,255,255,.17);border-radius:11px;background:color-mix(in srgb,var(--sidebar) 88%,#fff 12%);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 3px rgba(255,255,255,.025);transition:transform var(--motion-fast) var(--motion-ease),background var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.sidebar-collapse-button:hover{transform:translateX(1px);background:color-mix(in srgb,var(--primary) 38%,var(--sidebar));border-color:rgba(255,255,255,.28);box-shadow:0 10px 28px rgba(0,0,0,.26),0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}
.sidebar-collapse-button:active{transform:translateX(1px) scale(.96)}
.sidebar-collapse-button:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 40%,transparent)}
.sidebar-collapse-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.sidebar-collapse-button .sidebar-toggle-frame{opacity:.65}
.sidebar-collapse-button .sidebar-toggle-divider{opacity:.8}
.sidebar-collapse-button .sidebar-toggle-chevron{transition:transform var(--motion-base) var(--motion-ease);transform-origin:13px 12px}
.desktop-only{display:grid}

body.sidebar-collapsed{--sidebar-w:var(--sidebar-collapsed-w)}
body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-w);padding-left:9px;padding-right:9px}
body.sidebar-collapsed .app-shell{margin-left:var(--sidebar-collapsed-w)}
body.sidebar-collapsed .sidebar-head{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed .app-brand-lockup{justify-content:center;width:100%;gap:0}
body.sidebar-collapsed .app-brand-word{opacity:0;max-width:0;margin:0;pointer-events:none}
body.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:10px 6px;min-height:42px}
body.sidebar-collapsed .nav-item b{opacity:0;max-width:0;pointer-events:none}
body.sidebar-collapsed .nav-item>span{width:22px;font-size:1.03rem}
body.sidebar-collapsed .sidebar-collapse-button .sidebar-toggle-chevron{transform:rotate(180deg)}
body.sidebar-collapsed .nav-item:hover{transform:none}
body.sidebar-collapsed .nav-item.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 52%,transparent),0 5px 16px rgba(0,0,0,.09)}
body.sidebar-collapsed .sidebar-home-block{padding-top:8px}

/* Group labels become quiet separators instead of disappearing abruptly. */
body.sidebar-collapsed .nav-group-label{display:block;max-width:none;height:1px;min-height:1px;margin:8px 8px;padding:0;overflow:hidden;color:transparent;background:rgba(255,255,255,.11);opacity:1;border-radius:99px;font-size:0;line-height:0}
body.sidebar-collapsed .management-label{margin-top:10px}

/* Purpose-built tooltip for icon-only navigation. Also appears on keyboard focus. */
body.sidebar-collapsed .nav-item::after{content:attr(data-nav-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translate(6px,-50%) scale(.98);padding:7px 10px;border:1px solid rgba(255,255,255,.10);border-radius:9px;background:rgba(17,20,27,.96);color:#fff;font-size:.76rem;font-weight:620;line-height:1.15;letter-spacing:.005em;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.24);opacity:0;visibility:hidden;pointer-events:none;z-index:80;transition:opacity var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease),visibility var(--motion-fast) step-end}
body.sidebar-collapsed .nav-item:hover::after,body.sidebar-collapsed .nav-item:focus-visible::after{opacity:1;visibility:visible;transform:translate(0,-50%) scale(1);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease),visibility 0s}

.sidebar-backdrop{position:fixed;inset:0;z-index:29;border:0;background:rgba(9,12,18,.35);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion-base) ease,visibility var(--motion-base) step-end;cursor:default}

/* Purposeful micro-interactions: no bounce, no visual noise. */
.nav-item>span{transition:transform var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) ease}
.nav-item:hover>span{transform:scale(1.08)}
.nav-item.active>span{transform:scale(1.06)}
.modal-layer.open .modal{animation:gf-dialog-in .22s var(--motion-ease) both}
.command-layer.open .command-box{animation:gf-dialog-in .19s var(--motion-ease) both}
.account-popover:not([hidden]),.popover:not([hidden]){animation:gf-popover-in .18s var(--motion-ease) both}
.view.active>.view-toolbar,.view.active>.dashboard-greeting,.view.active>.dashboard-onboarding,.view.active>.dashboard-calm-grid{animation:gf-soft-in .30s var(--motion-ease) both}
.progress-track i,.credit-bar i,.v12-bars i{transition:width .38s var(--motion-ease),height .38s var(--motion-ease),background var(--motion-fast) ease}
@keyframes gf-dialog-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes gf-popover-in{from{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:none}}
@keyframes gf-soft-in{from{opacity:.15;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Compatibility: preserve usability if color-mix() or backdrop-filter are unavailable. */
@supports not (color:color-mix(in srgb,#000 50%,#fff)){
  .nav-item:hover,.nav-item.active{background:rgba(255,255,255,.10)}
  .nav-item.active{box-shadow:inset 2px 0 0 var(--primary)}
  .topbar{background:rgba(255,255,255,.96)}
  .theme-dark .topbar{background:rgba(22,25,31,.96)}
  .marketing-plan-plus,.plus-lock-card,.plus-callout,.plus-result-main,.plus-projection-controls,.plus-projection-results>div,.semester-card,.goal-card,.plus-widget,.plus-subject-row,.advanced-study-day p,.v12-cloud-gate,.dashboard-week-card .simple-item{background:var(--surface-soft)}
  .plus-lock-card,.plus-callout,.plus-result-main{border-color:var(--line)}
  :focus-visible{outline-color:var(--primary);box-shadow:0 0 0 3px rgba(49,87,213,.16)}
  .sidebar-collapse-button{background:#171b23}
  .sidebar-collapse-button:hover{background:#27334d}
  body.sidebar-collapsed .nav-item.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .liquid-glass .topbar,.liquid-glass .card,.liquid-glass .stat,.liquid-glass .subject-card,.liquid-glass .pricing-card,.liquid-glass .template-toolbar,.liquid-glass .scenario-selector,.liquid-glass .popover,.liquid-glass .modal,.liquid-glass .command-box,.liquid-glass .day-info,.liquid-glass .sync-chip,.liquid-glass .account-chip{background:var(--surface)!important}
  .theme-dark.liquid-glass .topbar,.theme-dark.liquid-glass .card,.theme-dark.liquid-glass .stat,.theme-dark.liquid-glass .subject-card,.theme-dark.liquid-glass .pricing-card,.theme-dark.liquid-glass .popover,.theme-dark.liquid-glass .modal,.theme-dark.liquid-glass .command-box{background:#171b23!important}
  .liquid-glass .sidebar{background:var(--sidebar)!important}
  .sidebar-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}
.no-backdrop-filter .sidebar-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}

@media(max-width:760px){
  .desktop-only{display:none!important}
  body.sidebar-collapsed{--sidebar-w:236px}
  body.sidebar-collapsed .sidebar{width:236px;padding:14px 10px 12px}
  body.sidebar-collapsed .app-shell{margin-left:0}
  body.sidebar-collapsed .app-brand-word{opacity:1;max-width:150px;pointer-events:auto}
  body.sidebar-collapsed .nav-group-label{display:initial;height:auto;min-height:0;margin:initial;padding:initial;overflow:visible;color:inherit;background:none;opacity:1;font-size:inherit;line-height:inherit}
  body.sidebar-collapsed .nav-item{justify-content:flex-start;gap:11px;padding:8px 10px}
  body.sidebar-collapsed .nav-item b{opacity:1;max-width:170px;pointer-events:auto}
  body.sidebar-collapsed .nav-item>span{width:20px}
  body.sidebar-collapsed .nav-item::after{display:none}
  .sidebar{box-shadow:18px 0 50px rgba(8,13,24,.18);overflow:hidden}
  .sidebar.open+.sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--motion-base) ease,visibility 0s}
}
@media(prefers-reduced-motion:reduce){
  .sidebar,.app-shell,.sidebar-collapse-button,.sidebar-collapse-button .sidebar-toggle-chevron,.app-brand-word,.nav-item,.nav-item b,.nav-group-label,.nav-item>span,.nav-item::after,.modal-layer.open .modal,.command-layer.open .command-box,.account-popover:not([hidden]),.popover:not([hidden]),.view.active>.view-toolbar,.view.active>.dashboard-greeting,.view.active>.dashboard-onboarding,.view.active>.dashboard-calm-grid,.progress-track i,.credit-bar i,.v12-bars i{animation:none!important;transition:none!important}
}

/* =========================================================
   GRADUSFLOW v13 — lower-friction academic controls
   ========================================================= */
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:520}
.assessment-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:2px}.assessment-heading label{margin:0}.assessment-heading span{font-size:.72rem;color:var(--muted)}
.v13-assessment-row{grid-template-columns:minmax(130px,1.45fr) minmax(168px,.9fr) minmax(70px,.55fr) minmax(70px,.55fr) 34px;align-items:center}
.percent-stepper{display:grid;grid-template-columns:34px minmax(48px,1fr) 18px 34px;align-items:center;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface-soft)}
.percent-stepper button{height:38px;border:0;background:transparent;color:var(--text);font-size:1.05rem;cursor:pointer}.percent-stepper button:hover{background:var(--primary-soft);color:var(--primary)}
.percent-stepper input{width:100%;border:0!important;border-radius:0!important;text-align:right;padding:7px 2px!important;background:transparent!important;font-weight:750}.percent-stepper span{font-size:.78rem;color:var(--muted);text-align:center}
.assessment-total{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,1.25fr);align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);transition:border-color .18s ease,background .18s ease}.assessment-total>div{display:flex;flex-direction:column;gap:2px}.assessment-total b{font-size:.8rem}.assessment-total small{font-size:.7rem;color:var(--muted)}
.assessment-total-track{height:7px;background:var(--line);border-radius:99px;overflow:hidden}.assessment-total-track i{display:block;height:100%;width:0;background:var(--primary);border-radius:inherit;transition:width .24s ease}.assessment-total.ok{border-color:rgba(24,121,78,.38);background:rgba(24,121,78,.06)}.assessment-total.warn{border-color:rgba(184,110,0,.34)}
.v13-calendar-toolbar{gap:12px;flex-wrap:wrap}.calendar-view-switch{flex-wrap:wrap}.calendar-view-switch button{min-width:68px}
.calendar-preferences{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.calendar-preferences label{display:flex;align-items:center;gap:8px;margin:0;font-size:.78rem;font-weight:650}.calendar-preferences select{min-width:150px}.calendar-preferences p{margin:0 0 0 auto;color:var(--muted);font-size:.72rem;line-height:1.35}.holiday-toggle input{accent-color:var(--primary)}
.calendar-holiday{display:block;margin:2px 3px;padding:3px 6px;border-radius:6px;background:rgba(184,110,0,.11);color:#8a5200;font-size:.68rem;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .calendar-holiday{background:rgba(245,172,63,.13);color:#f0bd72}.calendar-day.has-holiday{background-image:linear-gradient(135deg,rgba(184,110,0,.025),transparent 48%)}.calendar-more{display:block;margin:2px 4px;color:var(--muted);font-size:.68rem}.week-holiday-label{display:block;margin-top:3px;color:#a56608;font-size:.61rem;font-weight:650;line-height:1.2}.holiday-agenda{background:rgba(184,110,0,.055)}
.multi-calendar{display:grid;gap:14px;padding:16px}.semester-view{grid-template-columns:repeat(3,minmax(0,1fr))}.course-view{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-month{border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--surface-soft);min-width:0}.mini-month header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;text-transform:capitalize}.mini-month header b{font-size:.82rem}.mini-month header small{font-size:.66rem;color:var(--muted)}.mini-week-head,.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-week-head span{padding:3px 0;text-align:center;font-size:.58rem;color:var(--muted);font-weight:700}.mini-day,.mini-empty{position:relative;display:grid;place-items:center;min-height:24px;border-radius:6px;font-size:.65rem}.mini-day b{font-weight:600}.mini-day.has-event{background:var(--primary-soft);color:var(--primary)}.mini-day.has-holiday{box-shadow:inset 0 0 0 1px rgba(184,110,0,.30)}.mini-day i{position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:currentColor}.calendar-range-note{margin:0 16px 16px;color:var(--muted);font-size:.72rem}
#downloadTranscriptPdf,#downloadTimetablePdf,#downloadCalendarPdf{white-space:nowrap}
@media(max-width:1050px){.course-view{grid-template-columns:repeat(3,minmax(0,1fr))}.semester-view{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-preferences p{width:100%;margin-left:0}}
@media(max-width:760px){.v13-assessment-row{grid-template-columns:1fr}.percent-stepper{max-width:220px}.assessment-total{grid-template-columns:1fr}.semester-view,.course-view{grid-template-columns:1fr 1fr}.calendar-view-switch{width:100%}.calendar-view-switch button{flex:1 1 30%;min-width:0}.calendar-preferences{align-items:stretch}.calendar-preferences label{justify-content:space-between;width:100%}.calendar-preferences select{flex:1}.toolbar-actions #downloadCalendarPdf,.toolbar-actions #downloadTimetablePdf{order:-1}}
@media(max-width:480px){.semester-view,.course-view{grid-template-columns:1fr}.calendar-view-switch button{flex-basis:45%}}

/* =========================================================
   GRADUSFLOW v13.1 · official holidays, Plus calendar skins,
   radically refined timetable and stricter assessment weights
   ========================================================= */

.v131-calendar-preferences{display:grid;grid-template-columns:auto minmax(150px,.8fr) minmax(190px,1.15fr) minmax(170px,.9fr) auto;gap:12px;align-items:end}
.v131-calendar-preferences>label{min-width:0;display:grid;gap:5px;align-items:center}.v131-calendar-preferences>.holiday-toggle{display:flex;align-items:center;align-self:center;padding-top:17px}.v131-calendar-preferences select{width:100%;min-width:0}.holiday-help-row{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding-top:10px;border-top:1px solid var(--line)}.holiday-help-row #holidayHelp{margin:0;max-width:900px;line-height:1.45}.holiday-source-link{flex:0 0 auto;font-size:.61rem;font-weight:760;color:var(--primary);text-decoration:none;white-space:nowrap;padding:3px 0}.holiday-source-link:hover{text-decoration:underline}.calendar-style-trigger{height:40px;align-self:end;display:flex;gap:7px;align-items:center;justify-content:center;white-space:nowrap}.calendar-style-trigger>span:first-child{color:var(--primary)}.calendar-style-trigger.is-plus-skin{border-color:color-mix(in srgb,var(--primary) 46%,var(--line));background:color-mix(in srgb,var(--primary) 8%,var(--surface))}

.calendar-skin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.calendar-skin-card{position:relative;display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;text-align:left;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast),box-shadow var(--motion-fast)}.calendar-skin-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 10px 26px rgba(17,24,39,.08)}.calendar-skin-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.calendar-skin-card.locked{cursor:pointer}.calendar-skin-card.locked .calendar-skin-preview,.calendar-skin-card.locked .calendar-skin-copy{opacity:.65}.calendar-skin-copy{min-width:0}.calendar-skin-copy b{display:flex;gap:6px;align-items:center;font-size:.8rem}.calendar-skin-copy b em{font-style:normal;font-size:.5rem;letter-spacing:.08em;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));color:var(--primary);border-radius:99px;padding:2px 5px}.calendar-skin-copy small{display:block;color:var(--muted);font-size:.66rem;line-height:1.35;margin-top:4px}.skin-lock{position:absolute;right:9px;top:8px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:.62rem}.calendar-skin-preview{height:62px;border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:14px repeat(2,1fr);gap:2px;padding:5px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.calendar-skin-preview span{border-radius:3px;background:rgba(255,255,255,.62)}.calendar-skin-preview span:nth-child(-n+3){grid-row:1}.calendar-skin-preview i{position:absolute}.skin-preview-standard{background:#f5f7fb}.skin-preview-standard span{background:#fff;border:1px solid #e3e7ef}.skin-preview-academic{background:#edf3ff}.skin-preview-academic span{background:#fff;border:1px solid #cfdbf8}.skin-preview-executive{background:#303742}.skin-preview-executive span{background:#424b58;border:1px solid #566171}.skin-preview-glass{background:linear-gradient(135deg,#dfe9ff,#eee8ff)}.skin-preview-glass span{background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px rgba(255,255,255,.65)}.skin-preview-editorial{background:#f4efe5}.skin-preview-editorial span{background:#fffaf0;border:1px solid #ddd2be}.skin-preview-midnight{background:#0e1830}.skin-preview-midnight span{background:#162644;border:1px solid #263b61}.calendar-skin-upsell{display:flex;gap:10px;align-items:center;margin-top:14px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.calendar-skin-upsell>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.calendar-skin-upsell>div{flex:1}.calendar-skin-upsell b,.calendar-skin-upsell small{display:block}.calendar-skin-upsell b{font-size:.76rem}.calendar-skin-upsell small{font-size:.64rem;color:var(--muted);margin-top:2px}

/* Premium calendar appearance: same information architecture, five Plus skins. */
#calendarStage[data-calendar-skin]{transition:background var(--motion-normal) ease,border-color var(--motion-normal) ease,box-shadow var(--motion-normal) ease}
#calendarStage[data-calendar-skin="academic"]{--cal-bg:#f4f7ff;--cal-panel:#fff;--cal-line:#d8e2f6;--cal-ink:#16213b;--cal-muted:#657493;--cal-accent:#2f5fcd;background:var(--cal-bg);border-color:#d8e2f6;color:var(--cal-ink);box-shadow:0 18px 48px rgba(47,95,205,.08)}
#calendarStage[data-calendar-skin="academic"] .calendar-month-head,#calendarStage[data-calendar-skin="academic"] .week-head{background:#e9f0ff;color:#365279}#calendarStage[data-calendar-skin="academic"] .calendar-day,#calendarStage[data-calendar-skin="academic"] .week-cell,#calendarStage[data-calendar-skin="academic"] .mini-month{background:var(--cal-panel);border-color:var(--cal-line)}#calendarStage[data-calendar-skin="academic"] .day-num{font-weight:800;color:#274d9c}#calendarStage[data-calendar-skin="academic"] .calendar-event,#calendarStage[data-calendar-skin="academic"] .week-event{background:#e6eeff;color:#23488e;border-color:#bfcff1}
#calendarStage[data-calendar-skin="executive"]{--cal-bg:#252b34;--cal-panel:#303741;--cal-line:#454f5d;--cal-ink:#f4f6f8;--cal-muted:#aeb7c4;--cal-accent:#86a8ff;background:var(--cal-bg);border-color:#424c59;color:var(--cal-ink);box-shadow:0 20px 55px rgba(0,0,0,.22)}#calendarStage[data-calendar-skin="executive"] .calendar-month-head,#calendarStage[data-calendar-skin="executive"] .week-head{background:#1f252d;color:#aeb7c4}#calendarStage[data-calendar-skin="executive"] .calendar-day,#calendarStage[data-calendar-skin="executive"] .week-cell,#calendarStage[data-calendar-skin="executive"] .agenda-day,#calendarStage[data-calendar-skin="executive"] .mini-month{background:var(--cal-panel);border-color:var(--cal-line);color:var(--cal-ink)}#calendarStage[data-calendar-skin="executive"] .outside{opacity:.48}#calendarStage[data-calendar-skin="executive"] .calendar-event,#calendarStage[data-calendar-skin="executive"] .week-event{background:#3d4d6b;color:#eef3ff;border-color:#5870a0}#calendarStage[data-calendar-skin="executive"] .calendar-holiday{background:#4d402a;color:#f5cf8d}
#calendarStage[data-calendar-skin="glass"]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 11%,transparent),rgba(145,119,255,.09)),rgba(255,255,255,.14);border-color:rgba(255,255,255,.48);box-shadow:0 24px 70px rgba(31,45,78,.14);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}#calendarStage[data-calendar-skin="glass"] .calendar-day,#calendarStage[data-calendar-skin="glass"] .week-cell,#calendarStage[data-calendar-skin="glass"] .agenda-day,#calendarStage[data-calendar-skin="glass"] .mini-month{background:color-mix(in srgb,var(--surface) 58%,transparent);border-color:rgba(255,255,255,.46);box-shadow:inset 0 1px rgba(255,255,255,.42)}#calendarStage[data-calendar-skin="glass"] .calendar-month-head,#calendarStage[data-calendar-skin="glass"] .week-head{background:color-mix(in srgb,var(--surface) 42%,transparent)}
#calendarStage[data-calendar-skin="editorial"]{--cal-paper:#f7f1e6;--cal-sheet:#fffaf1;--cal-line:#ddd1bc;--cal-ink:#312a23;background:var(--cal-paper);border-color:#ddd1bc;color:var(--cal-ink);box-shadow:0 18px 48px rgba(87,65,37,.10)}#calendarStage[data-calendar-skin="editorial"] .calendar-month-head,#calendarStage[data-calendar-skin="editorial"] .week-head{background:#ece2d1;color:#655847;font-family:Georgia,'Times New Roman',serif}#calendarStage[data-calendar-skin="editorial"] .calendar-day,#calendarStage[data-calendar-skin="editorial"] .week-cell,#calendarStage[data-calendar-skin="editorial"] .agenda-day,#calendarStage[data-calendar-skin="editorial"] .mini-month{background:var(--cal-sheet);border-color:var(--cal-line)}#calendarStage[data-calendar-skin="editorial"] .day-num,#calendarStage[data-calendar-skin="editorial"] .mini-month header b{font-family:Georgia,'Times New Roman',serif;color:#4e4030}#calendarStage[data-calendar-skin="editorial"] .calendar-event{background:#eee2cb;color:#5c4934;border-color:#d8c5a5}
#calendarStage[data-calendar-skin="midnight"]{--cal-bg:#0b1428;--cal-panel:#111f39;--cal-line:#233858;--cal-ink:#edf4ff;--cal-muted:#9db0cb;background:radial-gradient(circle at 15% 0,#142b50 0,transparent 36%),var(--cal-bg);border-color:#203756;color:var(--cal-ink);box-shadow:0 24px 65px rgba(2,8,23,.35)}#calendarStage[data-calendar-skin="midnight"] .calendar-month-head,#calendarStage[data-calendar-skin="midnight"] .week-head{background:#0d1a31;color:#9db0cb}#calendarStage[data-calendar-skin="midnight"] .calendar-day,#calendarStage[data-calendar-skin="midnight"] .week-cell,#calendarStage[data-calendar-skin="midnight"] .agenda-day,#calendarStage[data-calendar-skin="midnight"] .mini-month{background:rgba(17,31,57,.94);border-color:#233858;color:#edf4ff}#calendarStage[data-calendar-skin="midnight"] .outside{opacity:.42}#calendarStage[data-calendar-skin="midnight"] .calendar-event,#calendarStage[data-calendar-skin="midnight"] .week-event{background:#1d3867;color:#f2f7ff;border-color:#31578f}#calendarStage[data-calendar-skin="midnight"] .calendar-holiday{background:#4b3820;color:#ffd695}#calendarStage[data-calendar-skin="midnight"] .calendar-range-note,#calendarStage[data-calendar-skin="midnight"] .mini-week-head span{color:#9db0cb}

/* Assessment percentages: the user can never increment beyond 100%. */
.percent-stepper button:disabled{opacity:.28;cursor:not-allowed;background:transparent!important;color:var(--muted)!important}.assessment-total.over{border-color:#b42336;background:rgba(180,35,54,.06)}.assessment-total.over b,.assessment-total.over small{color:#b42336}#addAssessment:disabled{opacity:.45;cursor:not-allowed}

/* Timetable v13.1 */
.timetable-controls{display:flex;align-items:end;justify-content:flex-start;gap:12px;padding:13px 15px;margin-bottom:12px}.timetable-controls label{min-width:150px}.timetable-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.tt-overview-item{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface-soft) 78%,transparent));box-shadow:0 7px 22px rgba(17,24,39,.035)}.tt-overview-item span,.tt-overview-item small{display:block}.tt-overview-item span{font-size:.56rem;font-weight:830;letter-spacing:.1em;color:var(--muted)}.tt-overview-item strong{display:block;margin:4px 0 2px;font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-overview-item small{font-size:.62rem;color:var(--muted)}.tt-overview-item.tt-conflict{border-color:rgba(180,35,54,.28);background:rgba(180,35,54,.045)}.tt-overview-item.tt-conflict strong{color:#b42336}
.timetable-board-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 14px 44px rgba(17,24,39,.06)}.tt-scroll{overflow:auto;max-width:100%}.tt-board{min-width:850px;background:var(--surface)}.tt-board-head{position:sticky;top:0;z-index:9;display:grid;grid-template-columns:68px repeat(5,minmax(145px,1fr));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.tt-corner{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line)}.tt-corner span{font-size:.54rem;font-weight:850;letter-spacing:.12em;color:var(--muted)}.tt-day-head{display:flex;gap:9px;align-items:center;padding:10px 12px;border-right:1px solid var(--line);min-width:0}.tt-day-head>span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--surface-soft);font-size:.61rem;font-weight:800;color:var(--muted)}.tt-day-head b,.tt-day-head small{display:block}.tt-day-head b{font-size:.73rem}.tt-day-head small{font-size:.55rem;color:var(--muted);margin-top:1px}.tt-day-head.is-today{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.tt-day-head.is-today>span{background:var(--primary);color:#fff}.tt-board-body{display:grid;grid-template-columns:68px 1fr;position:relative}.tt-time-rail{position:relative;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 60%,var(--surface))}.tt-time-rail span{position:absolute;right:10px;transform:translateY(-50%);font-size:.57rem;color:var(--muted);font-variant-numeric:tabular-nums}.tt-day-columns{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr))}.tt-day-column{position:relative;border-right:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-height)/2 - 1px),color-mix(in srgb,var(--line) 55%,transparent) calc(var(--hour-height)/2),transparent calc(var(--hour-height)/2 + 1px),transparent calc(var(--hour-height) - 1px),var(--line) var(--hour-height));background-size:100% var(--hour-height)}.tt-day-column.is-today{background-color:color-mix(in srgb,var(--primary) 2.5%,transparent)}.tt-class-card{position:absolute;left:6px;right:6px;z-index:3;display:block;width:calc(100% - 12px);padding:7px 8px 6px 11px;text-align:left;border:1px solid color-mix(in srgb,var(--class-color) 28%,var(--line));border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--class-color) 13%,var(--surface)),color-mix(in srgb,var(--class-color) 6%,var(--surface)));color:var(--text);box-shadow:0 5px 14px color-mix(in srgb,var(--class-color) 10%,transparent);cursor:pointer;overflow:hidden;transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast),border-color var(--motion-fast)}.tt-class-card:hover,.tt-class-card:focus-visible{transform:translateY(-1px);box-shadow:0 9px 22px color-mix(in srgb,var(--class-color) 17%,transparent);border-color:color-mix(in srgb,var(--class-color) 50%,var(--line));z-index:6}.tt-class-card .tt-class-accent{position:absolute;inset:0 auto 0 0;width:4px;background:var(--class-color)}.tt-class-card b,.tt-class-card small,.tt-class-card em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-class-card b{font-size:.69rem}.tt-class-card small{font-size:.58rem;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}.tt-class-card em{font-style:normal;font-size:.54rem;color:color-mix(in srgb,var(--class-color) 75%,var(--text));margin-top:3px;font-weight:700}.tt-class-card.has-conflict{border-color:rgba(180,35,54,.42);box-shadow:inset 0 0 0 1px rgba(180,35,54,.08)}.tt-class-card.has-conflict>i{position:absolute;right:5px;top:5px;font-style:normal;font-size:.47rem;background:#b42336;color:#fff;border-radius:99px;padding:2px 4px}.tt-now-line{position:absolute;left:0;right:0;z-index:8;border-top:1.5px solid #d23a4a;pointer-events:none}.tt-now-line i{position:absolute;width:7px;height:7px;border-radius:50%;background:#d23a4a;left:-4px;top:-4px}.tt-now-line small{position:absolute;right:4px;top:-15px;font-size:.5rem;font-weight:800;color:#c22e40;background:var(--surface);padding:1px 4px;border-radius:5px}.timetable-mobile-agenda{display:none}.timetable-first-empty{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:24px;border:1px dashed color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.tt-empty-symbol{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:1.15rem}.timetable-first-empty b{font-size:.86rem}.timetable-first-empty p{margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.45}

@media(max-width:1100px){.v131-calendar-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}.v131-calendar-preferences>.holiday-toggle{padding-top:0}.holiday-help-row{grid-column:1/-1}.calendar-style-trigger{width:100%}.timetable-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v131-calendar-preferences{display:grid;grid-template-columns:1fr}.holiday-help-row{grid-column:1}.calendar-skin-grid{grid-template-columns:1fr}.calendar-skin-card{grid-template-columns:84px 1fr}.calendar-skin-upsell{align-items:flex-start;flex-wrap:wrap}.calendar-skin-upsell .button{width:100%}.timetable-controls{display:grid;grid-template-columns:1fr 1fr}.timetable-controls label{min-width:0}.timetable-overview{grid-template-columns:1fr 1fr}.timetable-board-shell{display:none}.timetable-mobile-agenda{display:grid;gap:10px}.tt-mobile-day{border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.tt-mobile-day>header{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.tt-mobile-day>header>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-size:.59rem;font-weight:800;color:var(--muted)}.tt-mobile-day header b,.tt-mobile-day header small{display:block}.tt-mobile-day header b{font-size:.74rem}.tt-mobile-day header small{font-size:.57rem;color:var(--muted)}.tt-mobile-day>div{display:grid;gap:6px;padding:8px}.tt-mobile-day>div>button{display:grid;grid-template-columns:4px 1fr auto;gap:9px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);text-align:left;color:var(--text);cursor:pointer}.tt-mobile-day>div>button>i{width:4px;height:100%;min-height:31px;border-radius:99px;background:var(--class-color)}.tt-mobile-day>div>button b,.tt-mobile-day>div>button small{display:block}.tt-mobile-day>div>button b{font-size:.7rem}.tt-mobile-day>div>button small{font-size:.59rem;color:var(--muted);margin-top:2px}.tt-mobile-day>div>button>em{font-style:normal;color:var(--muted)}.tt-mobile-day>div>p{margin:2px 4px;color:var(--muted);font-size:.64rem}.timetable-first-empty{grid-template-columns:auto 1fr}.timetable-first-empty .button{grid-column:1/-1;width:100%}}
@media(max-width:480px){.timetable-overview{grid-template-columns:1fr}.timetable-controls{grid-template-columns:1fr}.calendar-skin-card{grid-template-columns:72px 1fr}.calendar-skin-preview{height:54px}}

body.reduce-motion .calendar-skin-card,body.reduce-motion .tt-class-card,#calendarStage{transition:none!important}
body.reduce-transparency #calendarStage[data-calendar-skin="glass"]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface)!important}

/* v13.1 final timetable refinement */
#view-timetable .view-toolbar{margin-bottom:14px}
#view-timetable .timetable-wrap{overflow:visible}
.tt-overview-item{position:relative;overflow:hidden}
.tt-overview-item::after{content:'';position:absolute;inset:auto -18px -30px auto;width:72px;height:72px;border-radius:50%;background:color-mix(in srgb,var(--primary) 4%,transparent);pointer-events:none}
.tt-overview-item.tt-next::after{background:color-mix(in srgb,var(--primary) 8%,transparent)}
.tt-board-head,.tt-board-body{font-variant-numeric:tabular-nums}
.tt-day-head:last-child,.tt-day-column:last-child{border-right:0}
.tt-class-card:active{transform:scale(.985)}
.tt-mobile-day>div>button:hover{border-color:color-mix(in srgb,var(--class-color) 38%,var(--line));background:color-mix(in srgb,var(--class-color) 4%,var(--surface))}
@media(max-width:760px){.holiday-help-row{display:grid;gap:6px}.holiday-source-link{justify-self:start}.tt-overview-item.tt-next{grid-column:1/-1}}
@supports not (color:color-mix(in srgb,white,black)){.tt-overview-item,.timetable-board-shell,.tt-class-card,.tt-mobile-day>div>button{background:var(--surface)}.tt-day-column.is-today{background:var(--surface-soft)}.tt-class-card{border-color:var(--line);box-shadow:0 5px 14px rgba(17,24,39,.08)}.calendar-style-trigger.is-plus-skin{background:var(--primary-soft);border-color:var(--primary)}}


/* =========================================================
   GRADUSFLOW v14 · comfort typography, calm calendar setup,
   10 original calendar skins (2 Free + 8 Plus)
   ========================================================= */
:root{--font-ui:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--content-leading:1.56;--control-radius:11px}
body{font-family:var(--font-ui);font-size:15.5px;line-height:var(--content-leading);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.brand,.app-brand-word{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance}p{line-height:1.58}.view-toolbar h2,.dashboard-greeting h2{font-size:1.72rem;line-height:1.12}.view-toolbar p,.dashboard-greeting p{font-size:.92rem;max-width:720px}.topbar h1{font-size:1.27rem}.card-head h3,.settings-section h3{line-height:1.25}.button,.icon-button,input,select,textarea{border-radius:var(--control-radius)}.button{min-height:40px}.app-main{padding-top:30px}.card{border-radius:16px}.settings-help,.modal-intro{line-height:1.58}.nav-item b{font-size:.88rem;letter-spacing:-.005em}.marketing-copy h1{letter-spacing:-.048em;line-height:.99}.marketing-copy .lead{line-height:1.62}.section-heading h2,.marketing-dark h2,.privacy-block h2{letter-spacing:-.04em;line-height:1.07}

/* Calendar configuration is progressively disclosed to reduce visual load. */
.calendar-settings-row{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:10px;margin-bottom:12px;align-items:start}.calendar-holiday-panel,.calendar-design-panel{padding:0!important;overflow:hidden;box-shadow:0 4px 18px rgba(20,24,32,.035)}.calendar-holiday-panel>summary{list-style:none;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;min-height:72px}.calendar-holiday-panel>summary::-webkit-details-marker{display:none}.calendar-holiday-panel>summary:hover{background:color-mix(in srgb,var(--primary) 2.5%,var(--surface))}.calendar-settings-glyph,.calendar-design-glyph{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:800}.calendar-settings-summary-copy{min-width:0;display:grid;gap:1px}.calendar-settings-summary-copy small,.calendar-design-panel small{font-size:.56rem;letter-spacing:.105em;font-weight:820;color:var(--muted)}.calendar-settings-summary-copy strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-settings-summary-copy em,.calendar-design-panel em{font-style:normal;font-size:.62rem;color:var(--muted)}.calendar-summary-action{font-size:.67rem;font-weight:760;color:var(--primary);padding:6px 9px;border-radius:9px;background:var(--primary-soft)}.calendar-holiday-panel[open] .calendar-summary-action{font-size:0}.calendar-holiday-panel[open] .calendar-summary-action::after{content:'Cerrar';font-size:.67rem}.holiday-panel-body{padding:2px 15px 15px;border-top:1px solid var(--line)}.holiday-panel-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:15px 0 13px}.holiday-panel-heading h3{font-size:1rem;margin:2px 0 3px}.holiday-panel-heading p:not(.card-kicker){margin:0;color:var(--muted);font-size:.72rem;max-width:650px}.holiday-master-switch{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.holiday-master-switch>span{display:grid}.holiday-master-switch b{font-size:.72rem}.holiday-master-switch small{font-size:.58rem;color:var(--muted)}.holiday-master-switch input{width:18px;height:18px;accent-color:var(--primary)}.holiday-location-flow{display:grid;grid-template-columns:minmax(160px,.8fr) 22px minmax(220px,1.15fr) 22px minmax(180px,.9fr);align-items:stretch;gap:6px}.calendar-location-step{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast)}.calendar-location-step:focus-within{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:0 0 0 3px var(--primary-soft)}.location-index{grid-row:1/3;align-self:start;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--surface-soft);color:var(--muted);font-size:.58rem;font-weight:850;font-variant-numeric:tabular-nums}.location-copy{min-width:0;display:grid;margin-bottom:6px}.location-copy b{font-size:.72rem}.location-copy small{font-size:.57rem;color:var(--muted)}.calendar-location-step select{grid-column:2;width:100%;min-width:0;border:0!important;background:transparent!important;color:var(--text)!important;padding:5px 24px 5px 0!important;font-size:.78rem;font-weight:720;letter-spacing:-.01em;line-height:1.35;box-shadow:none!important}.calendar-location-step select option{background:#fff;color:#202632;font-weight:600}.theme-dark .calendar-location-step select{color:var(--text)!important;color-scheme:dark}.theme-dark .calendar-location-step select option{background:#171a20;color:#f3f5f8}.location-connector{align-self:center;justify-self:center;color:var(--muted);font-size:1rem}.holiday-help-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.holiday-help-row>div{min-width:0;display:flex;align-items:center;gap:9px}.holiday-help-row p{margin:0;color:var(--muted);font-size:.65rem;line-height:1.45}.holiday-verification-badge{flex:0 0 auto;font-size:.5rem;font-weight:850;letter-spacing:.08em;color:var(--success);border:1px solid color-mix(in srgb,var(--success) 28%,var(--line));background:color-mix(in srgb,var(--success) 6%,var(--surface));padding:3px 6px;border-radius:99px}.holiday-source-link{font-size:.62rem;font-weight:760;color:var(--primary);text-decoration:none;white-space:nowrap}.holiday-source-link:hover{text-decoration:underline}.calendar-design-panel{width:100%;min-height:72px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;padding:13px 14px!important;cursor:pointer;transition:transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.calendar-design-panel:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 38%,var(--line));box-shadow:0 10px 28px rgba(20,24,32,.07)}.calendar-design-panel>span:nth-child(2){min-width:0;display:grid;gap:1px}.calendar-design-panel strong{font-size:.84rem}.calendar-design-panel>i{font-style:normal;color:var(--muted)}.calendar-design-panel.is-plus-skin{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background:color-mix(in srgb,var(--primary) 3%,var(--surface))}

/* Calendar skin picker: grouped to avoid ten equally loud choices. */
.calendar-skin-modal-head{max-width:680px}.calendar-skin-section{margin-top:17px}.calendar-skin-section+.calendar-skin-section{padding-top:14px;border-top:1px solid var(--line)}.calendar-skin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.calendar-skin-section-head b,.calendar-skin-section-head small{display:block}.calendar-skin-section-head b{font-size:.8rem}.calendar-skin-section-head small{font-size:.64rem;color:var(--muted);margin-top:2px}.calendar-skin-section-head>span:not(.plus-mini-badge){font-size:.6rem;font-weight:800;color:var(--muted);background:var(--surface-soft);border-radius:99px;padding:3px 7px}.calendar-skin-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.calendar-skin-card{min-height:86px}.calendar-skin-copy b em.free-tag{color:var(--muted);border-color:var(--line);background:var(--surface-soft)}.skin-preview-redwhite{background:#fff}.skin-preview-redwhite span{background:#fff;border:1px solid #ead9d9}.skin-preview-redwhite span:nth-child(-n+3){background:#b92d38;border-color:#b92d38}.skin-preview-sage{background:#eef4ef}.skin-preview-sage span{background:#fbfdfb;border:1px solid #cad9cd}.skin-preview-sand{background:#f6efe4}.skin-preview-sand span{background:#fffaf2;border:1px solid #ddccb5}.skin-preview-indigo{background:#eef0ff}.skin-preview-indigo span{background:#fafaff;border:1px solid #cfd2f5}.skin-preview-indigo span:nth-child(-n+3){background:#474a9f;border-color:#474a9f}

/* Two Free + eight Plus original visual systems; no third-party assets or templates. */
#calendarStage[data-calendar-skin="redwhite"]{--cal-red:#b72d38;background:#fff;border-color:#eadfe1;color:#252326;box-shadow:0 16px 44px rgba(91,27,34,.07)}#calendarStage[data-calendar-skin="redwhite"] .calendar-month-head,#calendarStage[data-calendar-skin="redwhite"] .week-head{background:var(--cal-red);color:#fff;border-color:#a92732}#calendarStage[data-calendar-skin="redwhite"] .calendar-day,#calendarStage[data-calendar-skin="redwhite"] .week-cell,#calendarStage[data-calendar-skin="redwhite"] .agenda-day,#calendarStage[data-calendar-skin="redwhite"] .mini-month{background:#fff;border-color:#eee3e4}#calendarStage[data-calendar-skin="redwhite"] .day-num{font-weight:780}#calendarStage[data-calendar-skin="redwhite"] .today .day-num{background:var(--cal-red);color:#fff}#calendarStage[data-calendar-skin="redwhite"] .calendar-event,#calendarStage[data-calendar-skin="redwhite"] .week-event{background:#f9e9eb;color:#8d202a;border-color:#e5b9be}#calendarStage[data-calendar-skin="redwhite"] .calendar-holiday{background:#fff1f2;color:#a0232f}
#calendarStage[data-calendar-skin="sage"]{--cal-sage:#5f7f6a;background:#edf3ee;border-color:#cbd9ce;color:#243129;box-shadow:0 18px 48px rgba(56,91,67,.08)}#calendarStage[data-calendar-skin="sage"] .calendar-month-head,#calendarStage[data-calendar-skin="sage"] .week-head{background:#dce9df;color:#3d5e48}#calendarStage[data-calendar-skin="sage"] .calendar-day,#calendarStage[data-calendar-skin="sage"] .week-cell,#calendarStage[data-calendar-skin="sage"] .agenda-day,#calendarStage[data-calendar-skin="sage"] .mini-month{background:#fbfdfb;border-color:#d4dfd6}#calendarStage[data-calendar-skin="sage"] .calendar-event,#calendarStage[data-calendar-skin="sage"] .week-event{background:#dfece2;color:#355840;border-color:#bfd2c4}
#calendarStage[data-calendar-skin="sand"]{--cal-clay:#a56142;background:#f5eee3;border-color:#dfcfba;color:#392e27;box-shadow:0 18px 48px rgba(91,63,40,.09)}#calendarStage[data-calendar-skin="sand"] .calendar-month-head,#calendarStage[data-calendar-skin="sand"] .week-head{background:#e9dac7;color:#70513f}#calendarStage[data-calendar-skin="sand"] .calendar-day,#calendarStage[data-calendar-skin="sand"] .week-cell,#calendarStage[data-calendar-skin="sand"] .agenda-day,#calendarStage[data-calendar-skin="sand"] .mini-month{background:#fffaf2;border-color:#e4d7c6}#calendarStage[data-calendar-skin="sand"] .calendar-event,#calendarStage[data-calendar-skin="sand"] .week-event{background:#f0ddcf;color:#7a482f;border-color:#d8baa5}
#calendarStage[data-calendar-skin="indigo"]{--cal-indigo:#474a9f;background:#eceefe;border-color:#cdd1f0;color:#26284d;box-shadow:0 20px 55px rgba(71,74,159,.12)}#calendarStage[data-calendar-skin="indigo"] .calendar-month-head,#calendarStage[data-calendar-skin="indigo"] .week-head{background:#474a9f;color:#fff}#calendarStage[data-calendar-skin="indigo"] .calendar-day,#calendarStage[data-calendar-skin="indigo"] .week-cell,#calendarStage[data-calendar-skin="indigo"] .agenda-day,#calendarStage[data-calendar-skin="indigo"] .mini-month{background:#fbfbff;border-color:#d9dbf3}#calendarStage[data-calendar-skin="indigo"] .calendar-event,#calendarStage[data-calendar-skin="indigo"] .week-event{background:#e1e2fa;color:#393d8b;border-color:#c2c5ef}

/* Calmer hierarchy: secondary controls retreat until needed. */
#view-calendar .v13-calendar-toolbar{margin-bottom:10px}.calendar-view-switch button{min-height:36px}.calendar-stage{border-radius:17px}.view-toolbar .toolbar-actions .button-secondary{box-shadow:none}.calendar-range-note{line-height:1.5}

@media(max-width:1080px){.calendar-settings-row{grid-template-columns:1fr}.calendar-design-panel{max-width:none}.holiday-location-flow{grid-template-columns:1fr 18px 1fr}.holiday-location-flow #holidayZoneConnector,.holiday-location-flow #holidaySubregionWrap:not([hidden]){grid-row:2}.holiday-location-flow #holidayZoneConnector{grid-column:2}.holiday-location-flow #holidaySubregionWrap:not([hidden]){grid-column:3}.holiday-help-row{align-items:flex-start}}
@media(max-width:760px){body{font-size:15px}.app-main{padding-left:18px;padding-right:18px}.view-toolbar h2,.dashboard-greeting h2{font-size:1.5rem}.calendar-holiday-panel>summary{grid-template-columns:38px minmax(0,1fr);padding:12px}.calendar-summary-action{display:none}.holiday-panel-heading{align-items:flex-start;display:grid;gap:10px}.holiday-master-switch{width:100%;justify-content:space-between}.holiday-location-flow{display:grid;grid-template-columns:1fr;gap:8px}.location-connector{display:none}.holiday-help-row{display:grid;gap:8px}.holiday-help-row>div{align-items:flex-start;display:grid;gap:6px}.calendar-skin-grid{grid-template-columns:1fr}.calendar-design-panel{min-height:68px}}
@media(prefers-reduced-motion:reduce){.calendar-design-panel,.calendar-location-step{transition:none}}
@supports not (color:color-mix(in srgb,white,black)){.calendar-holiday-panel>summary:hover,.calendar-design-panel.is-plus-skin{background:var(--surface)}.holiday-verification-badge{border-color:var(--line);background:var(--surface-soft)}.calendar-location-step:focus-within{border-color:var(--primary);box-shadow:var(--focus)}}


/* === GRADUSFLOW v15 — templates, calmer settings, refined CTAs and brand identity === */
.button-primary{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,#fff 8%),var(--primary));
  border-color:color-mix(in srgb,var(--primary) 78%,#000 8%);
  box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform var(--motion-fast,160ms) var(--motion-ease,ease),box-shadow var(--motion-fast,160ms) ease,filter var(--motion-fast,160ms) ease;
}
.button-primary::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.14) 50%,transparent 82%);transform:translateX(-120%);transition:transform .5s ease}
.button-primary:hover{filter:none;transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.24)}
.button-primary:hover::before{transform:translateX(120%)}
.button-primary:active{transform:translateY(0) scale(.985);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 16%,transparent)}
.cta-start,.cta-add{border-radius:12px;font-weight:720;letter-spacing:-.012em;min-height:42px}
.cta-start{gap:11px;padding-inline:17px}.cta-arrow{display:grid;place-items:center;width:23px;height:23px;border-radius:999px;background:rgba(255,255,255,.16);transition:transform var(--motion-fast,160ms) var(--motion-ease,ease)}
.cta-start:hover .cta-arrow{transform:translateX(2px)}
.cta-add{padding-left:9px;padding-right:15px;gap:8px}.cta-plus{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.16);font-size:1.05rem;line-height:1;font-weight:500}
#addSubject,#addClass,#addEvent,#addReminder,#addNote,#addTask{border-radius:11px}

.template-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.template-access-summary{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:.69rem;color:var(--muted)}.template-access-summary span,.template-access-summary b{padding:5px 8px;border-radius:999px;background:var(--surface-soft);font-weight:700}.template-access-summary b{color:var(--primary);background:var(--primary-soft)}
.template-card{position:relative;transition:transform var(--motion-fast,160ms) var(--motion-ease,ease),border-color var(--motion-fast,160ms) ease,box-shadow var(--motion-fast,160ms) ease}.template-card:not(.template-card-locked):hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 22%,var(--line));box-shadow:0 12px 26px rgba(20,24,32,.055)}
.template-card-locked{background:color-mix(in srgb,var(--surface) 92%,var(--primary-soft) 8%)}.template-card-locked .template-parts{opacity:.78}.template-plan-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 7px;font-size:.62rem;font-weight:800;letter-spacing:.04em;background:var(--primary-soft);color:var(--primary)}.template-lock-note{font-size:.68rem;color:var(--muted);margin:8px 0 0}.template-card .button[disabled]{cursor:not-allowed;opacity:.72}

.settings-category-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;padding:7px}.settings-category-tabs button{border:0;background:transparent;border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:var(--muted);transition:background var(--motion-fast,160ms) ease,color var(--motion-fast,160ms) ease,transform var(--motion-fast,160ms) ease}.settings-category-tabs button>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface-soft);font-size:.88rem}.settings-category-tabs button span:last-child{display:grid;gap:1px}.settings-category-tabs button b{font-size:.82rem;color:var(--text)}.settings-category-tabs button small{font-size:.66rem}.settings-category-tabs button.active{background:var(--primary-soft);color:var(--primary)}.settings-category-tabs button.active>span:first-child{background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary)}.settings-category-tabs button:hover{transform:translateY(-1px)}
.settings-section.settings-group-hidden{display:none!important}.settings-layout{gap:12px}.settings-layout>.settings-section{animation:v15SettingIn .22s var(--motion-ease,ease) both}@keyframes v15SettingIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.brand-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.brand-settings-head>div:first-child{max-width:680px}.brand-live-preview{min-width:130px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);display:flex;align-items:center;gap:10px}.brand-live-preview small{color:var(--muted);font-size:.68rem;line-height:1.25}.brand-mark-preview{width:42px;height:42px;border-radius:12px;flex:0 0 auto}
.brand-option-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.brand-option-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.brand-option-title b{font-size:.82rem}.brand-option-title small{font-size:.66rem;color:var(--muted)}
.logo-color-picker{display:grid;grid-template-columns:repeat(10,minmax(38px,1fr));gap:7px}.logo-color-choice{position:relative;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:5px}.logo-color-choice i{width:23px;height:23px;border-radius:50%;background:var(--logo-choice);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.logo-color-choice.active{border-color:color-mix(in srgb,var(--primary) 60%,var(--line));box-shadow:0 0 0 2px var(--primary-soft)}.logo-color-choice .plus-dot{position:absolute;right:3px;top:3px;font-size:.5rem;font-style:normal;font-weight:800;color:var(--primary)}.logo-color-choice.locked{opacity:.64}.logo-color-choice.locked::after{content:'+';position:absolute;right:4px;bottom:3px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.56rem;font-weight:900}
.dynamic-logo-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.logo-style-choice{position:relative;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:10px;display:flex;align-items:center;gap:9px;cursor:pointer;text-align:left;min-height:61px}.logo-style-choice:hover{border-color:var(--line-strong)}.logo-style-choice.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));background:var(--primary-soft)}.logo-style-choice .brand-mark{flex:0 0 auto}.logo-style-choice span:last-child{display:grid;gap:1px}.logo-style-choice b{font-size:.75rem}.logo-style-choice small{font-size:.62rem;color:var(--muted)}.logo-style-choice.locked{opacity:.68}.brand-advanced-settings{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.brand-advanced-settings summary{cursor:pointer;font-size:.76rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;list-style:none}.brand-advanced-settings summary::-webkit-details-marker{display:none}.brand-advanced-settings[open] summary{margin-bottom:12px}

/* User-selectable brand colors. The first three are available in Free. */
body[data-logo-color="indigo"]{--brand-logo:#4f46d9;--brand-logo-2:#6f67ef}body[data-logo-color="ocean"]{--brand-logo:#2563eb;--brand-logo-2:#4f82f4}body[data-logo-color="graphite"]{--brand-logo:#303845;--brand-logo-2:#556171}body[data-logo-color="violet"]{--brand-logo:#7c3aed;--brand-logo-2:#a066ff}body[data-logo-color="teal"]{--brand-logo:#0f8b8d;--brand-logo-2:#28b6b1}body[data-logo-color="emerald"]{--brand-logo:#16805a;--brand-logo-2:#35a978}body[data-logo-color="ruby"]{--brand-logo:#b52b4b;--brand-logo-2:#dc5771}body[data-logo-color="coral"]{--brand-logo:#c5533d;--brand-logo-2:#e67962}body[data-logo-color="amber"]{--brand-logo:#a96a00;--brand-logo-2:#d99a28}body[data-logo-color="chromeSilver"]{--brand-logo:#5b6570;--brand-logo-2:#e7edf2}body[data-logo-color="chromeTitanium"]{--brand-logo:#5b6170;--brand-logo-2:#c9bdf1}
body[data-logo-color] .brand-mark{background:linear-gradient(145deg,var(--brand-logo),var(--brand-logo-2))!important}

/* Five original Plus dynamic brand systems: CSS only, no third-party logo assets. */
body[data-logo-style="orbit"] .brand-mark:not([data-preview-logo-style]){overflow:visible;position:relative}body[data-logo-style="orbit"] .brand-mark:not([data-preview-logo-style])::before{content:"";position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--brand-logo) 42%,transparent);border-radius:50%;animation:v15OrbitSpin 5s linear infinite}body[data-logo-style="orbit"] .brand-mark:not([data-preview-logo-style])::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--brand-logo-2);top:-5px;left:50%;box-shadow:0 0 0 2px var(--surface)}@keyframes v15OrbitSpin{to{transform:rotate(360deg)}}
body[data-logo-style="pulse"] .brand-mark:not([data-preview-logo-style]){position:relative;animation:v15LogoPulse 2.8s ease-in-out infinite}body[data-logo-style="pulse"] .brand-mark:not([data-preview-logo-style])::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--brand-logo-2) 40%,transparent);animation:v15LogoRing 2.8s ease-in-out infinite}@keyframes v15LogoPulse{50%{box-shadow:0 8px 24px color-mix(in srgb,var(--brand-logo) 28%,transparent)}}@keyframes v15LogoRing{50%{inset:-7px;opacity:.2}}
body[data-logo-style="prism"] .brand-mark:not([data-preview-logo-style]){background:linear-gradient(120deg,var(--brand-logo),var(--brand-logo-2),color-mix(in srgb,var(--brand-logo) 45%,#fff))!important;background-size:220% 220%!important;animation:v15Prism 5s ease-in-out infinite}@keyframes v15Prism{50%{background-position:100% 50%}}
body[data-logo-style="flow"] .brand-mark:not([data-preview-logo-style]){position:relative;overflow:hidden}body[data-logo-style="flow"] .brand-mark:not([data-preview-logo-style])::after{content:"";position:absolute;inset:-35% auto -35% -45%;width:38%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);animation:v15Flow 3.4s ease-in-out infinite}@keyframes v15Flow{0%,25%{left:-50%}70%,100%{left:120%}}
body[data-logo-style="halo"] .brand-mark:not([data-preview-logo-style]){position:relative}body[data-logo-style="halo"] .brand-mark:not([data-preview-logo-style])::before{content:"";position:absolute;inset:-4px;border-radius:inherit;background:conic-gradient(from 0deg,transparent,var(--brand-logo-2),transparent 45%,var(--brand-logo),transparent 80%);z-index:-1;animation:v15Halo 6s linear infinite}body[data-logo-style="halo"] .brand-mark:not([data-preview-logo-style])::after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:var(--sidebar,#111827);z-index:-1}@keyframes v15Halo{to{transform:rotate(360deg)}}

body.reduce-motion[data-logo-style] .brand-mark,body.reduce-motion[data-logo-style] .brand-mark::before,body.reduce-motion[data-logo-style] .brand-mark::after{animation:none!important}
@media(prefers-reduced-motion:reduce){body[data-logo-style] .brand-mark,body[data-logo-style] .brand-mark::before,body[data-logo-style] .brand-mark::after{animation:none!important}.button-primary::before{display:none}.button-primary,.cta-arrow,.settings-category-tabs button,.template-card{transition:none!important}}
@media(max-width:900px){.logo-color-picker{grid-template-columns:repeat(5,1fr)}.dynamic-logo-picker{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.settings-category-tabs{grid-template-columns:1fr}.settings-category-tabs button small{display:none}.brand-settings-head{display:grid}.brand-live-preview{width:100%}.dynamic-logo-picker{grid-template-columns:1fr}.template-access-summary{margin-left:0;width:100%}}

.logo-style-choice .brand-mark{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--brand-logo,#4f46d9),var(--brand-logo-2,#6f67ef))!important}
.logo-style-choice .logo-preview-orbit{overflow:visible}.logo-style-choice .logo-preview-orbit::before{content:"";position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--brand-logo,#4f46d9) 42%,transparent);border-radius:50%}.logo-style-choice .logo-preview-orbit::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--brand-logo-2,#6f67ef);top:-4px;left:50%}
.logo-style-choice .logo-preview-pulse{box-shadow:0 6px 18px color-mix(in srgb,var(--brand-logo,#4f46d9) 28%,transparent)}.logo-style-choice .logo-preview-prism{background:linear-gradient(120deg,var(--brand-logo,#4f46d9),var(--brand-logo-2,#6f67ef),#b5a9ff)!important}.logo-style-choice .logo-preview-flow::after{content:"";position:absolute;inset:-30% 30% -30% 45%;transform:rotate(18deg);background:rgba(255,255,255,.28)}.logo-style-choice .logo-preview-halo::before{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid color-mix(in srgb,var(--brand-logo-2,#6f67ef) 55%,transparent)}

/* v15 warmth pass — modern and reassuring without copying a third-party visual system. */
.marketing-body{
  background:
    radial-gradient(circle at 10% 4%,rgba(92,76,220,.075),transparent 28rem),
    radial-gradient(circle at 92% 18%,rgba(54,153,139,.055),transparent 31rem),
    linear-gradient(180deg,#fcfcfd 0%,#f8f9fb 52%,#fbfbfc 100%);
}
.marketing-hero{position:relative}
.marketing-copy .lead{color:#626a77}.microcopy{color:#7d8490}
.product-preview,.glass-price-card,.contact-public{border-color:rgba(110,120,140,.16)}
.feature-list article{background:rgba(255,255,255,.42)}
.calendar-stage{border-radius:18px;box-shadow:0 8px 30px rgba(30,38,55,.045),inset 0 1px 0 rgba(255,255,255,.45)}
.calendar-holiday{font-weight:680;letter-spacing:-.01em}

/* v15.1 — consumer-friendly kinetic identity, clearer appearance controls and ergonomic sidebar. */
/* The wordmark moves with the selected Plus identity, while the classic identity remains calm. */
.kinetic-wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;isolation:isolate}
.kinetic-wordmark>span{display:inline-block;transform-origin:50% 72%;will-change:transform,opacity,filter,color;text-shadow:0 0 0 transparent}
body[data-logo-style="orbit"] .kinetic-wordmark>span{animation:v151WordOrbit 4.8s cubic-bezier(.45,.05,.55,.95) infinite;animation-delay:calc(var(--letter-index)*70ms)}
body[data-logo-style="pulse"] .kinetic-wordmark>span{animation:v151WordPulse 2.9s ease-in-out infinite;animation-delay:calc(var(--letter-index)*55ms)}
body[data-logo-style="prism"] .kinetic-wordmark>span{background:linear-gradient(100deg,var(--brand-logo,#4f46d9),color-mix(in srgb,var(--brand-logo-2,#6f67ef) 70%,#fff),var(--brand-logo,#4f46d9));background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:v151WordPrism 4.6s ease-in-out infinite;animation-delay:calc(var(--letter-index)*45ms)}
body[data-logo-style="flow"] .kinetic-wordmark>span{animation:v151WordFlow 3.7s cubic-bezier(.22,.8,.24,1) infinite;animation-delay:calc(var(--letter-index)*80ms)}
body[data-logo-style="halo"] .kinetic-wordmark>span{animation:v151WordHalo 5.4s ease-in-out infinite;animation-delay:calc(var(--letter-index)*60ms)}
@keyframes v151WordOrbit{0%,72%,100%{transform:translateY(0) rotate(0);filter:none}82%{transform:translateY(-2px) rotate(-2deg);filter:drop-shadow(0 3px 5px color-mix(in srgb,var(--brand-logo,#4f46d9) 25%,transparent))}91%{transform:translateY(1px) rotate(1deg)}}
@keyframes v151WordPulse{0%,65%,100%{transform:scale(1);opacity:1}78%{transform:scale(1.035);opacity:.84;text-shadow:0 0 13px color-mix(in srgb,var(--brand-logo-2,#6f67ef) 32%,transparent)}}
@keyframes v151WordPrism{0%,28%,100%{background-position:0 50%}70%{background-position:100% 50%}}
@keyframes v151WordFlow{0%,58%,100%{transform:translateX(0);opacity:1}68%{transform:translateX(1.5px);opacity:.76}78%{transform:translateX(-.5px);opacity:1}}
@keyframes v151WordHalo{0%,62%,100%{text-shadow:0 0 0 transparent;transform:translateY(0)}76%{text-shadow:0 0 10px color-mix(in srgb,var(--brand-logo-2,#6f67ef) 44%,transparent);transform:translateY(-1px)}90%{text-shadow:0 0 3px color-mix(in srgb,var(--brand-logo,#4f46d9) 20%,transparent)}}
body.reduce-motion .kinetic-wordmark>span{animation:none!important;transform:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){.kinetic-wordmark>span{animation:none!important;transform:none!important;filter:none!important}}

/* Interface color now uses the same visual language as Accessible Appearance. */
.interface-presentation-section,.accessibility-v151{overflow:hidden}
.interface-presentation-section>.settings-grid,.accessibility-v151>.settings-grid{margin-top:14px}
.interface-color-panel{margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-soft) 78%,transparent),color-mix(in srgb,var(--surface) 92%,transparent))}
.settings-visual-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.settings-visual-heading b{display:block;font-size:.8rem}.settings-visual-heading small{display:block;margin-top:4px;color:var(--muted);font-size:.69rem;line-height:1.45}.settings-preview-chip{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.58rem;font-weight:800;letter-spacing:.04em}
.interface-accent-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.interface-accent-choice{min-height:58px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:9px 10px;text-align:left;cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast)}.interface-accent-choice i{width:22px;height:22px;border-radius:50%;background:var(--accent-choice);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 3px 9px color-mix(in srgb,var(--accent-choice) 22%,transparent)}.interface-accent-choice span{font-size:.68rem;font-weight:700}.interface-accent-choice:hover{transform:translateY(-1px);border-color:var(--line-strong)}.interface-accent-choice.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));background:var(--primary-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}

/* Accessibility is presented as a guided control panel rather than a dense toggle list. */
.accessibility-intro-v151{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;margin:13px 0 15px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 5%,var(--surface-soft)),var(--surface))}.accessibility-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-size:1rem;font-weight:850;letter-spacing:-.04em}.accessibility-intro-v151 b{font-size:.82rem}.accessibility-intro-v151 small{display:block;margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.45}
.accessibility-v151 .accessibility-selects label{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.accessibility-v151 .accessibility-selects select{margin-top:7px}
.accessibility-v151 .toggle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.accessibility-v151 .toggle-row{margin:0!important;border:1px solid var(--line)!important;border-radius:13px!important;background:var(--surface)!important;padding:12px!important;display:grid!important;grid-template-columns:25px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;transition:border-color var(--motion-fast),background var(--motion-fast),transform var(--motion-fast)}.accessibility-v151 .toggle-row:hover{border-color:var(--line-strong)!important;background:color-mix(in srgb,var(--primary) 3%,var(--surface))!important;transform:translateY(-1px)}.accessibility-option-index{font-style:normal;font-size:.57rem;font-weight:800;letter-spacing:.05em;color:var(--muted);width:24px;height:24px;border-radius:8px;background:var(--surface-soft);display:grid;place-items:center}.accessibility-v151 .toggle-row span b{font-size:.76rem}.accessibility-v151 .toggle-row span small{font-size:.64rem;line-height:1.42;margin-top:3px}.accessibility-v151 .settings-help:last-child{margin-top:15px;padding:11px 13px;border-radius:11px;background:var(--surface-soft)}

/* Sidebar: the navigation list itself scrolls; brand and management actions remain easy to reach. */
.sidebar.sidebar-v151{overflow:hidden!important;min-height:100dvh}.sidebar-v151 .sidebar-head{flex:0 0 auto}.sidebar-v151 .side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding:3px 5px 12px 0;margin-right:-5px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent}.sidebar-v151 .side-nav::-webkit-scrollbar{width:6px}.sidebar-v151 .side-nav::-webkit-scrollbar-track{background:transparent}.sidebar-v151 .side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}.sidebar-v151 .side-nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.36)}.sidebar-v151 .sidebar-bottom{flex:0 0 auto;margin-top:0;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--sidebar) 92%,black 8%) 18%)}.sidebar-v151 .nav-group-label{position:sticky;top:-3px;z-index:2;padding-top:7px;padding-bottom:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 96%,transparent) 72%,transparent)}.sidebar-v151 .sidebar-bottom .nav-group-label{position:static;background:none}

@media(max-width:900px){.interface-accent-picker{grid-template-columns:repeat(3,1fr)}.accessibility-v151 .toggle-list{grid-template-columns:1fr}}
@media(max-width:600px){.interface-accent-picker{grid-template-columns:repeat(2,1fr)}.settings-visual-heading{display:grid}.settings-preview-chip{justify-self:start}.sidebar-v151 .side-nav{padding-bottom:18px}}

/* v16 — layered holidays, account center, unified sidebar and product-scale polish. */
.v16-ui{--v16-radius-lg:18px;--v16-radius-md:14px;--v16-control:42px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.v16-ui .view.active{animation:v16ViewIn .24s cubic-bezier(.2,.8,.2,1) both}.v16-ui .view-toolbar{margin-bottom:24px}.v16-ui .view-toolbar h2,.v16-ui .dashboard-greeting h2{font-size:clamp(1.48rem,1.15rem + .75vw,1.84rem);line-height:1.08;letter-spacing:-.038em}.v16-ui .view-toolbar p,.v16-ui .dashboard-greeting p{font-size:clamp(.84rem,.8rem + .12vw,.94rem);line-height:1.62}.v16-ui .card{border-radius:var(--v16-radius-lg);box-shadow:0 1px 1px rgba(20,24,32,.025),0 10px 34px rgba(20,24,32,.025)}.v16-ui .button{min-height:var(--v16-control);padding-inline:15px;font-weight:680;letter-spacing:-.008em}.v16-ui input,.v16-ui select,.v16-ui textarea{min-height:var(--v16-control);font-size:.85rem}.v16-ui .nav-item{min-height:42px;border-radius:11px;padding:10px 11px}.v16-ui .nav-item b{font-size:.865rem;font-weight:610}.v16-ui .nav-group-label{font-size:.59rem;letter-spacing:.11em;font-weight:820}.v16-ui .topbar{min-height:var(--topbar-h);box-shadow:0 1px 0 rgba(20,24,32,.025)}
@keyframes v16ViewIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* One continuous sidebar: Management is intentionally reached by vertical scrolling. */
.sidebar-v16-unified{padding-bottom:12px!important}.sidebar-v16-unified .side-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:3px 5px 24px 0!important;margin-right:-5px!important;scrollbar-gutter:stable}.sidebar-v16-unified .side-nav>.management-label{margin-top:12px}.sidebar-v16-unified .sidebar-home-block{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-v16-unified .side-nav::-webkit-scrollbar{width:7px}.sidebar-v16-unified .side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.sidebar-v16-unified .side-nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.4);background-clip:padding-box}

/* v16 calendar location flow and layered holiday intelligence. */
.v16-ui .holiday-location-flow{grid-template-columns:minmax(170px,.82fr) 24px minmax(250px,1.18fr);gap:8px}.v16-ui .holiday-panel-heading h3{font-size:1.02rem;letter-spacing:-.025em}.v16-ui .holiday-panel-heading p{max-width:680px}.holiday-layer-panel{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-soft) 68%,var(--surface))}.holiday-layer-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px}.holiday-layer-intro>div{display:grid;gap:2px}.holiday-layer-intro b{font-size:.76rem}.holiday-layer-intro small{font-size:.63rem;color:var(--muted);line-height:1.45}.holiday-layer-intro>span{font-size:.55rem;letter-spacing:.07em;font-weight:800;color:var(--muted);text-transform:uppercase}.holiday-layer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.holiday-layer-option{display:flex!important;align-items:center!important;justify-content:space-between;gap:10px;min-width:0;padding:10px 11px!important;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;transition:transform var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}.holiday-layer-option:hover{transform:translateY(-1px);border-color:var(--line-strong);background:color-mix(in srgb,var(--primary) 2.5%,var(--surface))}.holiday-layer-option>span{display:grid;grid-template-columns:8px minmax(0,1fr);column-gap:7px;align-items:center;min-width:0}.holiday-layer-option>span i{grid-row:1/3;width:7px;height:7px;border-radius:999px;background:var(--holiday-layer-color,var(--primary))}.holiday-layer-option b{font-size:.68rem}.holiday-layer-option small{font-size:.56rem;color:var(--muted);line-height:1.3}.holiday-layer-option input{width:17px;height:17px;accent-color:var(--primary)}.holiday-layer-option.official{--holiday-layer-color:#a56608}.holiday-layer-option.bridge{--holiday-layer-color:#3157d5}.holiday-layer-option.religious{--holiday-layer-color:#7b4ab4}.holiday-layer-option.seasonal{--holiday-layer-color:#18794e}
.calendar-holiday{border-left:2px solid transparent}.calendar-holiday.holiday-official{background:rgba(184,110,0,.11);color:#8a5200;border-left-color:#b86e00}.calendar-holiday.holiday-bridge{background:color-mix(in srgb,#3157d5 10%,transparent);color:color-mix(in srgb,#3157d5 86%,var(--text));border-left-color:#3157d5}.calendar-holiday.holiday-religious{background:color-mix(in srgb,#7b4ab4 10%,transparent);color:color-mix(in srgb,#7b4ab4 86%,var(--text));border-left-color:#7b4ab4}.calendar-holiday.holiday-seasonal{background:color-mix(in srgb,#18794e 10%,transparent);color:color-mix(in srgb,#18794e 86%,var(--text));border-left-color:#18794e}.theme-dark .calendar-holiday.holiday-official{background:rgba(245,172,63,.13);color:#f0bd72}.theme-dark .calendar-holiday.holiday-bridge{color:#aabaff}.theme-dark .calendar-holiday.holiday-religious{color:#d8b4fe}.theme-dark .calendar-holiday.holiday-seasonal{color:#a7e6c3}.holiday-agenda-bridge{background:color-mix(in srgb,#3157d5 5%,var(--surface))}.holiday-agenda-religious{background:color-mix(in srgb,#7b4ab4 5%,var(--surface))}.holiday-agenda-seasonal{background:color-mix(in srgb,#18794e 5%,var(--surface))}.event-type-official{color:#8a5200}.event-type-bridge{color:#3157d5}.event-type-religious{color:#7b4ab4}.event-type-seasonal{color:#18794e}

/* Dedicated Account Center. */
.account-view-toolbar{align-items:center}.account-view-toolbar .card-kicker{margin:0 0 5px}.account-view-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.65rem;font-weight:780;white-space:nowrap}.account-view-status.connected{color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,var(--line));background:color-mix(in srgb,var(--success) 6%,var(--surface))}.account-center-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px}.account-center-card{padding:22px}.account-center-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;margin-bottom:18px}.account-center-heading h3{margin:2px 0 5px;font-size:1.08rem;letter-spacing:-.025em}.account-center-heading p:not(.card-kicker){margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.account-center-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:850;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 20%,transparent)}.account-center-icon.temporary{background:var(--surface-soft);color:var(--text);border:1px solid var(--line);box-shadow:none}.account-auth-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:11px;background:var(--surface-soft);margin-bottom:13px}.account-auth-switch button{min-height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:720;cursor:pointer}.account-auth-switch button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 5px rgba(20,24,32,.07)}.account-auth-form,.account-temporary-form{display:grid;gap:11px}.account-auth-form>label,.account-temporary-form>label,.account-auth-form .two-col label,.account-temporary-form .two-col label{display:grid;gap:6px;font-size:.7rem;font-weight:680;color:var(--text)}.account-auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:var(--muted);font-size:.62rem}.account-auth-divider::before,.account-auth-divider::after{content:'';height:1px;background:var(--line);flex:1}.account-alt-actions,.account-center-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.account-signed-card{display:grid;gap:18px}.account-signed-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.account-signed-identity b,.account-signed-identity small{display:block}.account-signed-identity small{font-size:.68rem;color:var(--muted);margin-top:2px}.account-state-pill{font-size:.56rem;font-weight:800;color:var(--success);border:1px solid color-mix(in srgb,var(--success) 25%,var(--line));border-radius:999px;padding:4px 7px}.account-privacy-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;margin-top:14px;padding:15px 18px}.account-privacy-note>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--surface-soft);color:var(--primary)}.account-privacy-note b{font-size:.76rem}.account-privacy-note p{margin:3px 0 0;color:var(--muted);font-size:.69rem;line-height:1.5}

@media(max-width:1050px){.holiday-layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-center-grid{grid-template-columns:1fr}.account-center-card{padding:19px}}
@media(max-width:760px){.v16-ui .holiday-location-flow{grid-template-columns:1fr}.holiday-layer-intro{display:grid}.holiday-layer-intro>span{justify-self:start}.holiday-layer-grid{grid-template-columns:1fr}.account-view-toolbar{align-items:flex-start}.account-center-heading{grid-template-columns:36px minmax(0,1fr)}.account-center-icon{width:36px;height:36px;border-radius:11px}.account-auth-form .two-col,.account-temporary-form .two-col{grid-template-columns:1fr}.account-signed-identity{grid-template-columns:auto 1fr}.account-state-pill{grid-column:2}.account-center-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.v16-ui .view.active{animation:none}.holiday-layer-option{transition:none}.holiday-layer-option:hover{transform:none}}
body.reduce-motion.v16-ui .view.active{animation:none}.reduce-motion .holiday-layer-option{transition:none}.reduce-motion .holiday-layer-option:hover{transform:none}


/* v16.1 — onboarding, empty timetable, hover-only holiday names and expanded premium identity. */
.entry-options-v161 .entry-option{min-height:88px}.entry-options-v161 .entry-option-featured{box-shadow:0 10px 28px rgba(49,87,213,.08)}
.entry-options-v161 .entry-option small{line-height:1.42}

.empty-timetable-board{margin-top:12px}.tt-empty-column{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 34%,transparent),transparent)}
.timetable-first-empty-v161{margin-bottom:12px}.timetable-first-empty-v161 p{max-width:680px}

.calendar-day.holiday-hover-day{position:relative;isolation:isolate}.holiday-hover-indicator{display:inline-flex;align-items:center;gap:3px;margin-left:6px;vertical-align:middle}.holiday-hover-indicator i{display:block;width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.holiday-hover-indicator b{font-size:.54rem;color:var(--primary);font-weight:800}
.calendar-day.holiday-hover-day::after{content:attr(data-holiday-tooltip);position:absolute;left:8px;top:34px;z-index:60;max-width:260px;width:max-content;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--text) 94%,#111);color:var(--surface);font-size:.68rem;line-height:1.35;font-weight:650;box-shadow:0 10px 28px rgba(17,24,39,.18);opacity:0;transform:translateY(3px) scale(.985);pointer-events:none;transition:opacity .12s ease,transform .12s ease;transition-delay:0s}
.calendar-day.holiday-hover-day:hover::after,.calendar-day.holiday-hover-day:focus-visible::after{opacity:1;transform:none;transition-delay:.7s}
.calendar-day.holiday-hover-day:nth-child(7n)::after,.calendar-day.holiday-hover-day:nth-child(7n-1)::after{left:auto;right:8px}

.logo-color-picker{grid-template-columns:repeat(11,minmax(38px,1fr))}.logo-color-choice[data-logo-color-choice="chromeSilver"] i{background:linear-gradient(135deg,#4d5661 0%,#f7fafc 38%,#858f9a 58%,#e4eaef 78%,#66717c 100%)}.logo-color-choice[data-logo-color-choice="chromeTitanium"] i{background:linear-gradient(135deg,#343a46 0%,#e9e2ff 28%,#78899a 50%,#d9cfff 70%,#525d68 100%)}
body[data-logo-color="chromeSilver"] .brand-mark{background:linear-gradient(125deg,#38414b 0%,#f7fafc 28%,#707b86 49%,#f0f4f7 68%,#525c67 100%)!important;background-size:180% 180%!important}
body[data-logo-color="chromeTitanium"] .brand-mark{background:linear-gradient(125deg,#343a46 0%,#d7ceff 26%,#6e8091 48%,#f4f0ff 69%,#4a5561 100%)!important;background-size:180% 180%!important}

/* Three additional Plus motion identities: Vector, Aurora and Fase. */
body[data-logo-style="vector"] .brand-mark:not([data-preview-logo-style]){position:relative;overflow:hidden}body[data-logo-style="vector"] .brand-mark:not([data-preview-logo-style])::after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(255,255,255,.26) 8px 9px);transform:translateX(-70%);animation:v161VectorMark 3.8s cubic-bezier(.4,0,.2,1) infinite}@keyframes v161VectorMark{0%,45%{transform:translateX(-72%)}75%,100%{transform:translateX(72%)}}
body[data-logo-style="aurora"] .brand-mark:not([data-preview-logo-style]){background:linear-gradient(125deg,var(--brand-logo),#88e8db,var(--brand-logo-2),#d7b8ff,var(--brand-logo))!important;background-size:300% 300%!important;animation:v161AuroraMark 6.8s ease-in-out infinite}@keyframes v161AuroraMark{0%,100%{background-position:0 50%}50%{background-position:100% 45%}}
body[data-logo-style="phase"] .brand-mark:not([data-preview-logo-style]){animation:v161PhaseMark 3.6s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes v161PhaseMark{0%,60%,100%{transform:translateY(0) rotate(0)}72%{transform:translateY(-2px) rotate(-3deg)}84%{transform:translateY(1px) rotate(2deg)}}
.logo-style-choice .logo-preview-vector::after{content:"";position:absolute;inset:5px 2px;background:repeating-linear-gradient(90deg,transparent 0 4px,rgba(255,255,255,.32) 5px 6px)}.logo-style-choice .logo-preview-aurora{background:linear-gradient(125deg,var(--brand-logo,#4f46d9),#88e8db,var(--brand-logo-2,#6f67ef),#d7b8ff)!important}.logo-style-choice .logo-preview-phase{transform:rotate(-4deg);box-shadow:3px 3px 0 color-mix(in srgb,var(--brand-logo-2,#6f67ef) 28%,transparent)}
body[data-logo-style="vector"] .kinetic-wordmark>span{animation:v161WordVector 4s ease-in-out infinite;animation-delay:calc(var(--letter-index)*40ms)}body[data-logo-style="aurora"] .kinetic-wordmark>span{background:linear-gradient(100deg,var(--brand-logo,#4f46d9),#59cfc1,var(--brand-logo-2,#6f67ef),#c8a7ff);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:v161WordAurora 6s ease-in-out infinite;animation-delay:calc(var(--letter-index)*48ms)}body[data-logo-style="phase"] .kinetic-wordmark>span{animation:v161WordPhase 3.8s cubic-bezier(.45,.05,.55,.95) infinite;animation-delay:calc(var(--letter-index)*72ms)}
@keyframes v161WordVector{0%,58%,100%{transform:translateX(0);opacity:1}70%{transform:translateX(2px);opacity:.68}82%{transform:translateX(-1px);opacity:1}}@keyframes v161WordAurora{0%,100%{background-position:0 50%;filter:none}50%{background-position:100% 50%;filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--brand-logo-2,#6f67ef) 20%,transparent))}}@keyframes v161WordPhase{0%,58%,100%{transform:translateY(0) rotate(0)}70%{transform:translateY(-2px) rotate(-1deg)}82%{transform:translateY(1px) rotate(1deg)}}
body.reduce-motion[data-logo-style="vector"] .brand-mark,body.reduce-motion[data-logo-style="aurora"] .brand-mark,body.reduce-motion[data-logo-style="phase"] .brand-mark,body.reduce-motion[data-logo-style="vector"] .kinetic-wordmark>span,body.reduce-motion[data-logo-style="aurora"] .kinetic-wordmark>span,body.reduce-motion[data-logo-style="phase"] .kinetic-wordmark>span{animation:none!important}
@media(prefers-reduced-motion:reduce){body[data-logo-style="vector"] .brand-mark,body[data-logo-style="aurora"] .brand-mark,body[data-logo-style="phase"] .brand-mark,body[data-logo-style="vector"] .kinetic-wordmark>span,body[data-logo-style="aurora"] .kinetic-wordmark>span,body[data-logo-style="phase"] .kinetic-wordmark>span{animation:none!important}.calendar-day.holiday-hover-day::after{transition:none!important}}
@media(max-width:900px){.logo-color-picker{grid-template-columns:repeat(6,1fr)}}@media(max-width:600px){.logo-color-picker{grid-template-columns:repeat(4,1fr)}}


/* v17 — progressive Account flow and a subtly more living product surface. */
.v17-ui{--v17-lift:translateY(-2px);--v17-ease:cubic-bezier(.2,.75,.22,1)}
.account-choice-stage,.account-detail-stage{max-width:1040px}.account-choice-stage[hidden],.account-detail-stage[hidden],.account-center-card[hidden]{display:none!important}
.account-choice-intro{padding:24px;overflow:hidden;position:relative}.account-choice-intro::after{content:'';position:absolute;width:280px;height:280px;right:-110px;top:-145px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 14%,transparent),transparent 68%);pointer-events:none}
.account-choice-intro>div:first-child{max-width:680px;position:relative;z-index:1}.account-choice-intro h3{margin:2px 0 7px;font-size:1.15rem;letter-spacing:-.03em}.account-choice-intro>div:first-child>p:not(.card-kicker){margin:0;color:var(--muted);font-size:.76rem;line-height:1.6}
.account-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;position:relative;z-index:1}.account-path-card{appearance:none;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);padding:15px;min-height:112px;text-align:left;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;cursor:pointer;box-shadow:0 5px 18px rgba(20,24,32,.025);transition:transform .2s var(--v17-ease),border-color .2s ease,box-shadow .2s ease,background .2s ease}.account-path-card:hover,.account-path-card:focus-visible{transform:var(--v17-lift);border-color:color-mix(in srgb,var(--primary) 38%,var(--line));box-shadow:0 14px 34px rgba(20,35,70,.08);background:color-mix(in srgb,var(--primary) 2.4%,var(--surface));outline:none}.account-path-card.featured{background:color-mix(in srgb,var(--primary) 5%,var(--surface));border-color:color-mix(in srgb,var(--primary) 23%,var(--line))}.account-path-card>span:nth-child(2){display:block;min-width:0}.account-path-card b,.account-path-card small{display:block}.account-path-card b{font-size:.79rem;letter-spacing:-.012em}.account-path-card small{margin-top:5px;color:var(--muted);font-size:.63rem;line-height:1.45}.account-path-card>i{font-style:normal;color:var(--muted);transition:transform .2s var(--v17-ease)}.account-path-card:hover>i{transform:translateX(3px)}
.account-path-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:850;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 17%,transparent)}.account-path-icon.google{background:var(--surface);color:#3557b7;border:1px solid var(--line);box-shadow:none}.account-path-icon.guest{background:var(--surface-soft);color:var(--text);border:1px solid var(--line);box-shadow:none}
.account-back-choice{margin:0 0 10px;padding:7px 2px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;font-weight:710;cursor:pointer}.account-back-choice:hover,.account-back-choice:focus-visible{color:var(--primary);outline:none}.account-center-grid-v17{grid-template-columns:minmax(0,760px)}.account-google-card .account-center-icon.google{background:#fff;color:#3557b7;border:1px solid var(--line);box-shadow:none}.account-google-panel{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.account-google-panel b{font-size:.77rem}.account-google-panel p{margin:4px 0 0;color:var(--muted);font-size:.66rem;line-height:1.5}.account-google-orbit{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;position:relative;background:var(--surface);border:1px solid var(--line);font-weight:850;color:#3557b7}.account-google-orbit::after{content:'';position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:22px;animation:v17Orbit 7s linear infinite}
.v17-ui .app-main{background-image:radial-gradient(circle at 12% 2%,color-mix(in srgb,var(--primary) 4%,transparent),transparent 30%),radial-gradient(circle at 96% 18%,color-mix(in srgb,var(--primary) 3%,transparent),transparent 24%);background-size:125% 125%;animation:v17Ambient 18s ease-in-out infinite alternate}
.v17-ui .dashboard-calm-grid>.card,.v17-ui .settings-section,.v17-ui .plus-section-card{transition:transform .2s var(--v17-ease),box-shadow .2s ease,border-color .2s ease}.v17-ui .dashboard-calm-grid>.card:hover,.v17-ui .settings-section:hover,.v17-ui .plus-section-card:hover{transform:translateY(-1px);box-shadow:0 14px 38px rgba(20,24,32,.045);border-color:color-mix(in srgb,var(--primary) 12%,var(--line))}
.v17-ui .button{transition:transform .15s var(--v17-ease),box-shadow .18s ease,background .18s ease,border-color .18s ease}.v17-ui .button:active{transform:translateY(1px) scale(.992)}
.v17-ui .side-nav .nav-item.active{position:relative;overflow:hidden}.v17-ui .side-nav .nav-item.active::after{content:'';position:absolute;right:8px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;animation:v17NavPulse 2.8s ease-in-out infinite}.v17-ui .sync-chip #cloudStatusDot{animation:v17StatusBreath 3.4s ease-in-out infinite}
.v17-ui .view.active{animation-duration:.28s}.v17-ui .topbar{backdrop-filter:saturate(1.08) blur(15px)}
@keyframes v17Ambient{from{background-position:0% 0%,100% 0%}to{background-position:8% 5%,92% 8%}}@keyframes v17Orbit{to{transform:rotate(360deg)}}@keyframes v17NavPulse{0%,100%{opacity:.25;transform:scale(.78)}50%{opacity:.72;transform:scale(1)}}@keyframes v17StatusBreath{0%,100%{transform:scale(.92);opacity:.72}50%{transform:scale(1.12);opacity:1}}
@media(max-width:900px){.account-path-grid{grid-template-columns:1fr}.account-path-card{min-height:88px}.account-google-panel{grid-template-columns:48px 1fr}.account-google-panel .button{grid-column:1/-1;width:100%}.account-google-orbit{width:46px;height:46px;border-radius:14px}}
@media(max-width:600px){.account-choice-intro{padding:18px}.account-path-card{grid-template-columns:40px minmax(0,1fr) auto;padding:13px}.account-path-icon{width:40px;height:40px}.account-center-actions .text-button{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.v17-ui .app-main,.account-google-orbit::after,.v17-ui .side-nav .nav-item.active::after,.v17-ui .sync-chip #cloudStatusDot{animation:none!important}.account-path-card,.account-path-card>i,.v17-ui .dashboard-calm-grid>.card,.v17-ui .settings-section,.v17-ui .plus-section-card,.v17-ui .button{transition:none!important}.account-path-card:hover,.v17-ui .dashboard-calm-grid>.card:hover,.v17-ui .settings-section:hover,.v17-ui .plus-section-card:hover{transform:none!important}}
body.reduce-motion.v17-ui .app-main,body.reduce-motion .account-google-orbit::after,body.reduce-motion.v17-ui .side-nav .nav-item.active::after,body.reduce-motion.v17-ui .sync-chip #cloudStatusDot{animation:none!important}body.reduce-motion .account-path-card,body.reduce-motion.v17-ui .dashboard-calm-grid>.card,body.reduce-motion.v17-ui .settings-section,body.reduce-motion.v17-ui .plus-section-card,body.reduce-motion.v17-ui .button{transition:none!important}


/* ===== GRADUSFLOW v18 · Legal foundation & consent ===== */
.marketing-footer-v18{align-items:center;gap:22px;flex-wrap:wrap}.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.footer-legal a,.footer-legal button,.legal-inline-button{font:inherit;color:inherit;opacity:.78;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.footer-legal a:hover,.footer-legal button:hover,.legal-inline-button:hover{opacity:1;text-decoration:underline}.legal-body{min-height:100vh}.legal-nav{position:sticky;top:14px;z-index:20}.legal-shell{padding-top:78px;padding-bottom:72px;max-width:1000px}.legal-hero{padding:28px 0 34px;border-bottom:1px solid var(--line,rgba(15,23,42,.12))}.legal-hero h1{font-size:clamp(2.25rem,5vw,4.7rem);line-height:.98;letter-spacing:-.055em;margin:.2em 0}.legal-lead{font-size:clamp(1.02rem,1.8vw,1.22rem);line-height:1.68;max-width:760px;opacity:.82}.legal-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;font-size:.88rem;opacity:.68}.legal-meta a,.legal-document a{color:inherit;text-underline-offset:3px}.legal-document{margin-top:34px;display:grid;gap:18px}.legal-document section{padding:clamp(20px,4vw,34px);border:1px solid var(--line,rgba(15,23,42,.1));border-radius:24px;background:color-mix(in srgb,var(--card,#fff) 88%,transparent);box-shadow:0 18px 48px rgba(15,23,42,.055);backdrop-filter:blur(18px)}.legal-document h2{font-size:clamp(1.18rem,2vw,1.55rem);margin:0 0 13px;letter-spacing:-.025em}.legal-document h3{font-size:1rem;margin:20px 0 7px}.legal-document p,.legal-document li{line-height:1.72}.legal-document ul{padding-left:1.2rem}.legal-data{display:grid;gap:0;margin:18px 0 22px;border:1px solid var(--line,rgba(15,23,42,.1));border-radius:18px;overflow:hidden}.legal-data div{display:grid;grid-template-columns:minmax(130px,.38fr) 1fr;gap:18px;padding:12px 15px;border-bottom:1px solid var(--line,rgba(15,23,42,.08))}.legal-data div:last-child{border-bottom:0}.legal-data dt{font-weight:700}.legal-data dd{margin:0;overflow-wrap:anywhere}.legal-table{display:grid;gap:10px}.legal-table>div{display:grid;grid-template-columns:minmax(150px,.36fr) 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line,rgba(15,23,42,.08))}.legal-table>div:last-child{border-bottom:0}.cookie-category-list{display:grid;gap:12px}.cookie-category-list article{border:1px solid var(--line,rgba(15,23,42,.09));border-radius:18px;padding:16px 18px}.cookie-category-list article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.cookie-category-list h3{margin:0}.cookie-state{font-size:.78rem;font-weight:750;padding:5px 9px;border-radius:999px;background:rgba(99,102,241,.09)}.cookie-state.required{background:rgba(16,185,129,.1)}.legal-footer a{color:inherit}.consent-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:1200;width:min(1180px,calc(100vw - 28px));display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid rgba(148,163,184,.3);border-radius:24px;background:color-mix(in srgb,var(--card,#fff) 92%,transparent);box-shadow:0 25px 70px rgba(15,23,42,.18);backdrop-filter:blur(26px)}.consent-banner[hidden]{display:none}.consent-copy{display:flex;gap:14px;align-items:flex-start;max-width:700px}.consent-copy b{display:block;font-size:1rem;margin-bottom:4px}.consent-copy p{margin:0 0 5px;font-size:.9rem;line-height:1.48;opacity:.78}.consent-copy a{font-size:.82rem;color:inherit;text-underline-offset:3px}.consent-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(99,102,241,.1);font-size:1.35rem;flex:none}.consent-actions{display:grid;grid-template-columns:repeat(3,max-content);gap:8px}.consent-actions .button{min-width:128px}.consent-layer{position:fixed;inset:0;z-index:1300;background:rgba(2,6,23,.46);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.consent-layer[hidden]{display:none}.consent-panel{position:relative;width:min(690px,100%);max-height:min(780px,calc(100vh - 36px));overflow:auto;border-radius:28px;background:var(--card,#fff);border:1px solid rgba(148,163,184,.25);box-shadow:0 35px 100px rgba(2,6,23,.28);padding:clamp(22px,4vw,34px)}.consent-panel h2{font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.035em;margin:.2em 0}.consent-intro,.consent-note{line-height:1.6;opacity:.76}.consent-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line,rgba(15,23,42,.12));background:transparent;font-size:1.35rem;cursor:pointer}.consent-category{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line,rgba(15,23,42,.09))}.consent-category b,.consent-category small{display:block}.consent-category small{margin-top:3px;opacity:.66;line-height:1.4}.consent-category input{width:22px;height:22px;accent-color:var(--accent,#6366f1)}.consent-required{font-size:.78rem;font-weight:750;white-space:nowrap;padding:5px 8px;border-radius:999px;background:rgba(16,185,129,.1)}.consent-panel-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.consent-open{overflow:hidden}.legal-settings-card{overflow:hidden}.legal-settings-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.legal-settings-links>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--line,rgba(15,23,42,.1));border-radius:15px;color:inherit;text-decoration:none;background:rgba(255,255,255,.025)}.legal-settings-links>a:hover{transform:translateY(-1px);border-color:rgba(99,102,241,.35)}.legal-settings-links .button{grid-column:1/-1;justify-content:center}
@media(max-width:800px){.legal-nav nav{display:none}.legal-shell{padding-top:44px}.legal-data div,.legal-table>div{grid-template-columns:1fr;gap:4px}.consent-banner{align-items:stretch;flex-direction:column}.consent-actions{grid-template-columns:1fr}.consent-actions .button{width:100%}.consent-panel-actions{grid-template-columns:1fr}.legal-settings-links{grid-template-columns:1fr}.legal-settings-links .button{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.legal-settings-links>a{transition:none}.consent-banner,.consent-layer,.consent-panel{scroll-behavior:auto}}
