/* Shared visual direction: quiet surfaces, fine rose/violet accents, no card motion. */
:root,[data-theme=dark]{--bg:#11131e;--panel:#1b1e2b;--panel2:#222636;--text:#eef0f8;--muted:#afb5cd;--line:#353a50;--accent:#baa4ff;--rose:#e59bc6;--accent-soft:#302843;--surface-shadow:0 5px 22px #00000015;--accent-line:linear-gradient(100deg,var(--accent),var(--rose),transparent)}
[data-theme=light]{--bg:#f5f5fb;--panel:#fff;--panel2:#f0eff8;--text:#22243e;--muted:#616780;--line:#dedfed;--accent:#6945cc;--rose:#b73584;--accent-soft:#f0eafb;--surface-shadow:0 5px 22px #38325707}
body{background:radial-gradient(ellipse at 92% 0%,color-mix(in srgb,var(--rose) 5%,transparent),transparent 38%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.035em}h1{line-height:1.15}h2{line-height:1.3}.eyebrow{color:var(--accent);letter-spacing:.13em}.muted,.footnote{color:var(--muted)}
.card,.account-card,dialog,.work-strip,.stat{box-shadow:var(--surface-shadow);border-color:var(--line);border-radius:18px}
.topbar{background:var(--bg);border-color:var(--line)}
.sidebar,[data-theme=light] .sidebar{background:var(--panel);border-color:var(--line)}
.sidebar nav button{position:relative;border-radius:10px;min-height:44px}
.sidebar nav button.active,[data-theme=light] .sidebar nav button.active{background:var(--accent-soft);color:var(--accent)}
.sidebar nav button.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--accent-line);border-radius:3px}
button,input,select,textarea{transition:background-color .16s,border-color .16s,box-shadow .16s}
button,[data-theme=light] button{background:var(--panel2);border-color:var(--line);color:var(--text)}
button:hover,[data-theme=light] button:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
button.primary,[data-theme=light] .primary{background:var(--accent);border-color:var(--accent);color:#191329;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 12%,transparent)}
[data-theme=light] .primary{color:#fff}
button.primary:hover,[data-theme=light] .primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text));border-color:var(--accent)}
input,select,textarea,[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:var(--panel);color:var(--text);border-color:var(--line)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
button:disabled{opacity:.5;cursor:not-allowed}
.segmented button.active,[data-theme=light] .segmented button.active,.review-sections button.active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.review-sections button.active{box-shadow:inset 0 -2px var(--rose)}
.rotation-strip,.preview-banner,[data-theme=light] .rotation-strip{background:var(--panel);border:1px solid var(--line);border-top:2px solid color-mix(in srgb,var(--accent) 55%,var(--rose));box-shadow:var(--surface-shadow)}
#view-overview .countdown-card{border-top-color:var(--rose)}
.item-row:hover,.specialty-row:hover{background:var(--accent-soft)}
.danger,.account-card .account-signout,[data-theme=light] .danger,[data-theme=light] .account-card .account-signout{background:color-mix(in srgb,#e45874 12%,var(--panel));color:#ee9cae;border-color:color-mix(in srgb,#e45874 45%,var(--line))}
[data-theme=light] .danger,[data-theme=light] .account-card .account-signout{color:#a92447}
.save-status.saved,[data-theme=light] .save-status.saved{background:color-mix(in srgb,#4faf87 14%,var(--panel));border-color:color-mix(in srgb,#4faf87 48%,var(--line));color:#87d9b6}
[data-theme=light] .save-status.saved{color:#21684f}
.public-intro h2{font-size:clamp(22px,2.2vw,30px);max-width:760px;margin:8px 0 12px}.public-intro p{max-width:790px;line-height:1.6}.public-intro a{display:inline-block;margin:6px 20px 6px 0;color:var(--accent)}
body:not(.account-ready)>#public-intro{margin:24px auto;padding:28px;max-width:1050px}
body:not(.account-ready):not(.auth-open) #account-gate{position:relative;inset:auto;height:auto;min-height:0;background:transparent}
body.account-ready:not(.public-preview) #public-intro{display:none}
.reference-intro{padding:20px 24px;background:var(--accent-soft);border:1px solid var(--line);border-radius:16px;margin-bottom:24px;line-height:1.65}.reference-intro p{margin:0 0 12px}.reference-intro p:last-child{margin-bottom:0}.reference-intro details{font-size:14px}.reference-intro summary{cursor:pointer;color:var(--accent)}
.reference-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:16px}.reference-filters label{min-width:0}.reference-filters input,.reference-filters select{width:100%;min-height:46px}
.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reference-book{padding:24px;min-width:0;border-top:2px solid color-mix(in srgb,var(--accent) 35%,var(--line));display:flex;flex-direction:column}.reference-book h2{font-size:21px;margin:18px 0 8px}.reference-meta{display:flex;gap:12px;justify-content:space-between;align-items:start}.reference-meta .eyebrow{margin:0;font-size:11px;overflow-wrap:anywhere}.reference-meta .tag{font-size:11px;white-space:nowrap}.reference-publisher{font-weight:600;margin:0}.reference-note{font-size:14px;line-height:1.6;border-left:2px solid var(--rose);padding-left:12px;color:var(--muted)}.reference-source{font-size:12px;color:var(--muted);margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.reference-document{max-width:1140px;margin:auto;padding:30px 30px 60px}.reference-public-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:48px}.reference-public-nav a{color:var(--accent)}
.reference-book[hidden],.reference-filters[hidden]{display:none}
@media(min-width:1600px){.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.reference-grid,.reference-filters{grid-template-columns:1fr}.reference-document{padding:24px 16px}.reference-book{padding:20px}.reference-meta{flex-wrap:wrap}.reference-intro{padding:18px}.public-intro{flex-direction:column;align-items:stretch}.public-intro button{width:100%}.public-intro a{display:block}.card,.account-card,dialog{border-radius:14px}}
@media(prefers-reduced-motion:reduce){button,input,select,textarea{transition:none}}

body.auth-open:not(.account-ready)>#public-intro{display:none}
/* Keep the introduction on the public overview; secondary pages stay focused. */
.public-preview:has(#view-overview[hidden]) #public-intro{display:none}
body:has(#view-references:not([hidden])) .rotation-strip{display:none}
.rotation-strip,.preview-banner,[data-theme=light] .rotation-strip{border-top-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(110deg,var(--accent),var(--rose),var(--line)) border-box}
/* Decorative motion stays on accents: widgets and reading surfaces remain still. */
@media(prefers-reduced-motion:no-preference){
 .rotation-strip,.preview-banner,[data-theme=light] .rotation-strip{background-size:100% 100%,220% 100%;animation:accent-flow 12s ease-in-out infinite alternate}
 .sidebar nav button.active:after{background-size:220% 100%;animation:accent-flow 9s ease-in-out infinite alternate}
 .view:not([hidden])>.page-heading{animation:heading-reveal .24s ease-out both}
 .reference-book{transition:border-color .25s,box-shadow .25s}
 .reference-book:hover,.reference-book:focus-within{border-top-color:var(--rose);box-shadow:0 5px 24px color-mix(in srgb,var(--accent) 10%,transparent)}
}
@keyframes accent-flow{from{background-position:0% 0%,0% 50%}to{background-position:0% 0%,100% 50%}}
/* A single background layer needs its own movement definition. */
@media(prefers-reduced-motion:no-preference){.sidebar nav button.active:after{animation-name:nav-accent-flow}}
@keyframes nav-accent-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes heading-reveal{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.rotation-strip,.preview-banner,.sidebar nav button.active:after,.view:not([hidden])>.page-heading{animation:none}.reference-book{transition:none}}

/* Publisher cover thumbnails, matched to the documented edition. */
.reference-cover{margin:16px 0;display:flex;align-items:center;gap:18px;min-height:170px}
.reference-cover img{width:110px;height:160px;object-fit:contain;flex:none;filter:drop-shadow(0 5px 6px #18102825);border-radius:3px}
.reference-cover figcaption{font-size:12px;line-height:1.5;color:var(--muted);max-width:130px}
@media(max-width:520px){.reference-cover{min-height:140px}.reference-cover img{width:90px;height:135px}}

.sidebar nav button .nav-icon{display:block!important;width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:0;align-self:center}
.sidebar nav button{min-height:46px;align-items:center}
body:not(.public-preview) #public-intro{display:none!important}
#account-gate:not([hidden]) .account-card{animation:account-appear .22s ease-out both}
@keyframes account-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#account-gate:not([hidden]) .account-card{animation:none}}
@media(max-width:760px){.sidebar nav button{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;min-height:80px}.sidebar nav button .nav-icon{display:block!important}}

.calendar-grip{display:inline-block;touch-action:none;cursor:grab;padding:4px 8px;float:right;font-size:19px}.calendar-grip.dragging{background:var(--accent);color:var(--panel);cursor:grabbing}[data-move-event]{cursor:grab}

.calendar-event>.calendar-grip{margin-left:auto;align-self:center;padding:8px;cursor:grab;touch-action:none}

/* Compact calendar and pointer-based scheduling. */
.calendar-shell{padding:16px!important}.calendar-controls>summary{display:none}.calendar-tools{display:flex;align-items:center;gap:16px}.calendar-tools>label{max-width:180px}.calendar-method{position:relative}.calendar-method>summary{cursor:pointer;font-weight:600}.calendar-method[open]>div{position:absolute;top:100%;left:0;width:min(440px,80vw);padding:18px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px #0002;z-index:12;border-radius:12px}.calendar-header{margin:12px 0}.calendar-shell>.footnote{margin:8px 0 0;font-size:11px}.calendar-shell .filters{margin-bottom:8px}.hour-scroll{height:clamp(260px,calc(100dvh - 340px),672px);max-height:none}.time-head strong{padding:6px 4px}.all-day>div{max-height:90px;overflow:auto}.calendar-grid{max-height:calc(100dvh - 300px);overflow:auto}.calendar-grid .calendar-day{height:clamp(62px,calc((100dvh - 325px)/6),110px);min-height:0;overflow:auto}.timed-event,.general-event,.calendar-day-entry{background:color-mix(in srgb,var(--event-color,#7544ca) 20%,var(--panel))!important;color:var(--text)!important;border-left:3px solid var(--event-color,#7544ca)}.timed-event.short-event{padding:0 3px;line-height:1.1}.timed-event.short-event strong{display:none}.timed-event.tiny-event>*{visibility:hidden}.timed-event.tiny-event{padding:0;min-height:6px}.timed-event span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-day-entry{min-height:20px;flex-shrink:0}.calendar-shell [data-move-event]{touch-action:none;cursor:grab;user-select:none}.calendar-drag-source{opacity:.35}.calendar-drag-preview{box-shadow:0 12px 28px #0005!important;cursor:grabbing}.calendar-drop-label{position:fixed;z-index:10001;pointer-events:none;background:var(--panel);color:var(--text);border:1px solid var(--accent);border-radius:6px;padding:6px 10px;font-size:12px}.calendar-grip{display:none}
@media(max-width:600px){.calendar-controls>summary{display:block;cursor:pointer}.calendar-tools{flex-wrap:wrap}.calendar-method[open]>div{position:static;width:100%}.calendar-grid{max-height:60dvh}.hour-scroll{height:55dvh}.calendar-shell{padding:10px!important}#view-calendar .page-heading p.muted{display:none}.calendar-header{gap:4px}.calendar-header h2{font-size:13px}}

#public-landing{display:none;background:var(--bg);color:var(--text);padding:24px max(24px,calc((100vw - 1120px)/2));min-height:100dvh}.landing-visible #public-landing{display:block}.landing-visible .app,.landing-visible .sidebar,.landing-visible main,.landing-visible .topbar{display:none!important}#public-landing nav{display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-hero{padding:80px 0 60px;max-width:850px}.landing-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.1;letter-spacing:-.035em;margin:20px 0}.landing-hero p{max-width:620px;font-size:19px;line-height:1.7}.landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}.landing-features article{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 6px 18px #00000008;transition:transform .2s,box-shadow .2s}.landing-features article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000012}.landing-features p{line-height:1.7}.landing-prices{margin-top:64px}#public-landing footer{padding:48px 0 16px}.landing-visible #account-gate{z-index:10002}@media(max-width:600px){.landing-hero{padding:46px 0 34px}#public-landing nav strong{max-width:190px}.landing-prices{margin-top:36px}}@media(prefers-reduced-motion:reduce){.landing-features article{transition:none}.landing-features article:hover{transform:none}}
.landing-visible> :not(#public-landing):not(#account-gate):not(dialog):not(script):not(style){display:none!important}

#public-landing{background:radial-gradient(ellipse at 90% 8%,#f2dce7 0,transparent 38%),radial-gradient(ellipse at 10% 35%,#e3e0ff 0,transparent 45%),#f9f7fd;color:#292536}.landing-hero{position:relative}.landing-features article:nth-child(1){background:#eee7fd}.landing-features article:nth-child(2){background:#e3f2ef}.landing-features article:nth-child(3){background:#fff0dc}.landing-features article span{font-size:12px;font-weight:800;letter-spacing:.12em;color:#6541b0}.landing-showcase{display:grid;grid-template-columns:1fr 1.5fr;gap:32px;align-items:center;margin:64px 0}.showcase-copy h2{font-size:32px;line-height:1.2}.landing-showcase figure{margin:0;padding:12px;background:#fff;border-radius:22px;box-shadow:0 22px 60px #6b49a826;transform:rotate(-1deg)}.landing-showcase img{display:block;width:100%;height:auto;border-radius:12px}.landing-showcase figcaption,.showcase-graph small{display:block;font-size:12px;color:#605b70;margin-top:10px}.showcase-graph svg{width:100%;max-height:140px}.landing-prices article{color:#292536}@media(max-width:760px){.landing-showcase{grid-template-columns:1fr;margin:36px 0;gap:20px}.landing-showcase figure{transform:none}.showcase-copy h2{font-size:27px}}
.landing-showcase>*{min-width:0}.landing-showcase img{max-width:100%}.showcase-graph{min-width:0}#public-landing footer{overflow-wrap:anywhere}

.tool-tours{margin:60px 0}.tool-tours article{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:40px 0}.tool-tours h2{font-size:30px;line-height:1.2}.tool-scene{padding:26px;border-radius:22px;background:#eee7fd;min-height:230px;position:relative;overflow:hidden;box-shadow:0 14px 40px #60449518}.tool-scene small{font-size:11px;letter-spacing:.1em}.card-scene{background:#e3f2ef}.calendar-scene{background:#fff0dc}.demo-progress{height:9px;background:#d5c7f0;border-radius:10px;overflow:hidden;margin:22px 0}.demo-progress i{display:block;height:100%;background:#7544ca;animation:tour-progress 6s infinite}.demo-save{display:inline-block;background:#7544ca;color:white;padding:10px;border-radius:10px}.demo-saved{display:block;margin-top:12px;color:#267547;animation:tour-reveal 6s infinite}.demo-answer,.demo-grades{animation:tour-reveal 6s infinite}.mini-week{display:grid;grid-template-columns:repeat(5,1fr);margin:20px 0 8px;font-size:12px}.mini-grid{height:160px;position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#d8c8a9 calc(20% - 1px),#d8c8a9 20%),repeating-linear-gradient(0deg,transparent 0,transparent 39px,#d8c8a9 39px,#d8c8a9 40px)}.mini-event,.moving-event{position:absolute;padding:8px;border-radius:7px;font-size:11px;font-style:normal;max-width:43%;background:#d9c7f2;top:12px;left:0}.moving-event{top:70px;background:#bde0d8;animation:tour-place 6s infinite}.tours-paused *{animation-play-state:paused!important}@keyframes tour-progress{0%,15%{width:20%}55%,100%{width:85%}}@keyframes tour-reveal{0%,30%{opacity:.1;transform:translateY(5px)}55%,100%{opacity:1;transform:none}}@keyframes tour-place{0%,20%{transform:translate(0,-50px);opacity:.6}60%,100%{transform:translate(105px,0);opacity:1}}@media(max-width:700px){.tool-tours article{grid-template-columns:1fr;gap:16px}.tool-tours h2{font-size:25px}.tool-scene{min-height:210px}}@media(prefers-reduced-motion:reduce){.tool-scene *{animation:none!important}.demo-progress i{width:85%}.moving-event{left:35%}}
/* Product demonstrations share the dashboard's white cards and purple controls. */
.landing-hero{display:grid;grid-template-columns:1.6fr 1fr;max-width:none;gap:42px;align-items:center}.hero-copy{min-width:0}.hero-chart{background:#ffffffcf;border:1px solid #e2d9f1;border-radius:26px;padding:26px;box-shadow:0 20px 60px #6542a314;transform:rotate(2deg)}.hero-ring{position:relative;max-width:240px;margin:10px auto}.hero-ring svg{width:100%;display:block}.hero-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-ring strong{font-size:28px}.hero-ring span{font-size:13px;color:#726a83}.hero-chart ul{padding:0;list-style:none;font-size:14px}.hero-chart li{display:flex;align-items:center;gap:10px;margin:9px 0}.hero-chart li i{width:9px;height:9px;background:#7544ca;border-radius:50%}.hero-chart li:nth-child(2) i{background:#629dd4}.hero-chart li:nth-child(3) i{background:#b8a4da}.hero-chart p{font-size:13px;margin-bottom:0}.scene-playing .ring-fill{animation:draw-ring 2.8s ease-out both}@keyframes draw-ring{from{stroke-dasharray:0 478}to{stroke-dasharray:330 478}}
.tool-scene{background:#fff;border:1px solid #dcd5e9;min-height:300px;color:#292536}.scene-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center}.scene-tag{font-size:11px;background:#f0ebfa;color:#7047b7;padding:5px 9px;border-radius:20px}.scene-tabs{display:flex;gap:16px;border-bottom:1px solid #e4dfed;font-size:12px;padding:12px 0;margin-bottom:15px}.scene-tabs span:first-child{color:#7544ca;font-weight:700}.scene-field{display:flex;justify-content:space-between;margin:12px 0;font-size:13px;color:#746c82}.scene-field b{color:#393147}.tool-scene .demo-progress i,.tool-scene .demo-saved{animation:none}.tool-scene .demo-progress i{width:20%}.tool-scene .demo-saved{opacity:0}.scene-playing .demo-progress i{animation:tour-progress 3.5s ease both}.scene-playing .demo-saved{animation:tour-reveal 3.5s ease both}.calendar-scene{background:#f2f7fc}.card-scene{background:#f7f5fb;perspective:1000px}.flip-stage{height:290px;perspective:1000px}.flip-card{position:relative;height:100%;transform-style:preserve-3d}.flip-front,.flip-back{position:absolute;inset:0;padding:18px;border:1px solid #ded7eb;border-radius:14px;background:white;backface-visibility:hidden}.flip-front h3{font-size:19px;line-height:1.4}.flip-back{transform:rotateY(180deg)}.flip-back p{font-size:14px;line-height:1.5}.mistake-note{color:#74677f}.scene-reveal{display:inline-block;padding:10px 15px;border:1px solid #dcd4eb;background:#f1edf8;border-radius:9px;font-size:13px}.scene-ratings{display:flex;flex-wrap:wrap;gap:5px}.scene-ratings span{font-size:10px;padding:5px;border-radius:5px;background:#efeaf7}.scene-source{display:block;font-size:10px;margin-top:10px;color:#756989}.fake-cursor{position:absolute;font-size:27px;color:#272133;text-shadow:1px 1px white;transform:rotate(-110deg);font-style:normal;pointer-events:none}.flash-cursor{left:68%;top:60%;opacity:0}.scene-playing .flip-card{animation:card-turn 4.5s ease both}.scene-playing .flash-cursor{animation:cursor-click 4.5s ease both}@keyframes card-turn{0%,42%{transform:rotateY(0)}65%,100%{transform:rotateY(180deg)}}@keyframes cursor-click{0%{opacity:0;transform:translate(30px,30px) rotate(-110deg)}25%,40%{opacity:1;transform:translate(-80px,-20px) rotate(-110deg)}45%{opacity:1;transform:translate(-80px,-20px) rotate(-110deg) scale(.8)}65%,100%{opacity:0;transform:translate(-80px,-20px) rotate(-110deg)}}
.scene-calendar-nav{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:18px 0}.mini-week{margin-left:30px}.mini-grid{margin-left:30px;background-color:#f1edf8;height:190px;border:1px solid #dbd5e6;border-radius:6px}.scene-hour{position:absolute;left:-31px;top:10px;font-size:9px;color:#777}.scene-hour.second{top:88px}.mini-event{width:18%;max-width:none;left:60%;top:85px;border-left:3px solid #629dd4;background:#deebf7;font-size:10px}.moving-event{width:36%;max-width:none;left:0;top:10px;border-left:3px solid #7544ca;background:#e1d8ef;font-size:10px;animation:none}.calendar-cursor{right:0;bottom:-13px}.scene-playing .moving-event{animation:calendar-drag 4.5s ease both}@keyframes calendar-drag{0%,20%{left:0;top:10px;box-shadow:none}35%,65%{box-shadow:0 8px 18px #5c438b30;transform:rotate(-2deg)}85%,100%{left:40%;top:48px;transform:none;box-shadow:none}}
.price-grid{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.landing-prices .price-monthly{background:#fff;border:1px solid #ded9e7}.landing-prices .price-annual{background:linear-gradient(135deg,#f0e8ff,#e4d5ff);border:2px solid #8b60d6;box-shadow:0 16px 40px #7544ca22;position:relative}.price-grid article{display:flex;flex-direction:column;padding:32px!important}.price-value{font-size:36px;letter-spacing:-1px}.price-annual .price-value{color:#6536b5}.launch-badge{align-self:flex-start;padding:7px 12px;border-radius:20px;background:#7544ca;color:white!important;font-size:11px!important;letter-spacing:.08em!important;font-weight:750}.price-grid ul{padding-left:20px;line-height:2;font-size:15px;margin:12px 0 24px}.price-grid button{margin-top:auto;min-height:48px}.price-grid .price-terms,.annual-description{font-size:13px}.annual-reference{font-size:14px;color:#6c498f}.price-grid article:hover{transform:none}.landing-prices>p{line-height:1.5}#public-landing footer{display:block!important;line-height:2}#public-landing footer a{display:inline;white-space:nowrap;margin-right:6px}
@media(max-width:760px){.landing-hero{grid-template-columns:1fr;gap:28px}.hero-chart{max-width:340px;width:100%;box-sizing:border-box;justify-self:center;transform:none}.price-grid{grid-template-columns:1fr}.tool-scene{padding:16px}.flip-stage{height:325px}.flip-back p{font-size:13px}.price-value{font-size:32px}}@media(prefers-reduced-motion:reduce){.scene-playing *{animation:none!important}.ring-fill{stroke-dasharray:330 478}.tool-scene .demo-progress i{width:85%}.tool-scene .demo-saved{opacity:1}.flip-card{transform:rotateY(180deg)}.fake-cursor{display:none}.moving-event{left:40%;top:48px}}

.scene-playing .ring-secondary{animation:draw-secondary 2.8s ease-out both}@keyframes draw-secondary{from{stroke-dasharray:0 478}to{stroke-dasharray:65 478}}@media(prefers-reduced-motion:reduce){.scene-playing .ring-secondary{animation:none!important}}
.landing-prices .price-grid article.price-monthly{background:#f8f8fb;color:#292536;border:1px solid #dcdce5}.landing-prices .price-grid article.price-annual{background:linear-gradient(135deg,#f0e8ff,#ddc9ff);color:#292536;border:2px solid #8b60d6}
/* Replay when a scene re-enters view; saving the demonstration item is manual. */
.item-scene .demo-saved,.item-scene.scene-playing .demo-saved{animation:none!important;opacity:0}.item-scene.item-saved .demo-saved{opacity:1}.item-scene .demo-save{cursor:pointer;border:0;font:inherit}.item-scene.item-saved .demo-progress i{width:100%;animation:none}
.flash-cursor{left:var(--cursor-x,50%);top:var(--cursor-y,60%)}@keyframes cursor-click{0%{opacity:0;transform:translate(80px,60px) rotate(-110deg)}25%,40%{opacity:1;transform:translate(0,0) rotate(-110deg)}45%{opacity:1;transform:rotate(-110deg) scale(.8)}65%,100%{opacity:0;transform:rotate(-110deg)}}
.scene-ratings span{font-size:12px;padding:8px;border:1px solid #ded6eb}.scene-ratings span:nth-child(1){background:#fbe5e8;color:#9d3044}.scene-ratings span:nth-child(2){background:#fff0d8;color:#8b5b16}.scene-ratings span:nth-child(3){background:#e4edf9;color:#355e91}.scene-ratings span:nth-child(4){background:#e1f2e9;color:#2d714c}
.mini-grid .moving-event,.mini-grid .mini-event{box-sizing:border-box;width:calc(20% - 4px);max-width:calc(20% - 4px);padding:5px 3px;font-size:9px;overflow-wrap:anywhere}.mini-grid .mini-event{left:60%;top:88px}.mini-grid .moving-event{left:0;top:8px}.calendar-cursor{right:3px;bottom:-10px;font-size:23px}@keyframes calendar-drag{0%,15%{left:0;top:8px;transform:none}30%{left:18%;top:35px;transform:rotate(-2deg);box-shadow:0 8px 18px #5c438b30}60%{left:55%;top:8px;transform:rotate(-2deg)}75%{left:80%;top:8px;transform:none}85%,100%{left:80%;top:125px;transform:none;box-shadow:none}}
#public-landing{position:relative;isolation:isolate}#public-landing:before{content:'';position:absolute;z-index:-1;pointer-events:none;top:260px;left:0;width:100%;height:700px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 600'%3E%3Cpath d='M-80 420 C250 540 390 100 650 220 S1050 570 1520 180' fill='none' stroke='%237544ca' stroke-opacity='.06' stroke-width='65'/%3E%3C/svg%3E") center/cover no-repeat}

/* Shared, restrained depth on surfaces; no movement on touch screens. */
.card,.stat,.reference-book,.tool-scene,.price-grid article,.access-offer{transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.card:hover,.stat:hover,.reference-book:hover,.tool-scene:hover,.landing-prices .price-grid article:hover,.unlock-offers .access-offer:hover{transform:translateY(-3px) scale(1.012);box-shadow:0 16px 36px #6542a326}}
.price-grid{row-gap:14px}.price-grid article{display:grid;grid-template-rows:subgrid;grid-row:span 8;gap:14px}.price-grid article>*{margin-top:0;margin-bottom:0}.price-grid h3{align-self:center}.price-grid .price-spacer{visibility:hidden}.price-grid ul{margin:8px 0;line-height:1.65}.price-grid li{min-height:42px}.price-grid button{align-self:end}.price-grid .price-value{font-size:clamp(26px,2.5vw,36px)}
.hero-ring strong{font-size:23px;line-height:1.25;text-align:center}.scene-playing .ring-secondary{animation-delay:.75s;animation-duration:2s}
@keyframes calendar-drag{0%,15%{left:0;top:8px;transform:none}35%{left:20%;top:2px;transform:translateY(-5px) rotate(-2deg);box-shadow:0 12px 16px #5c438b33}70%{left:60%;top:8px;transform:translateY(-12px);box-shadow:0 12px 16px #5c438b33}80%{left:60%;top:8px;transform:translateY(2px) scale(1.03,.94);box-shadow:0 2px 4px #5c438b22}88%{left:60%;top:8px;transform:translateY(-5px) scale(.99,1.02)}95%,100%{left:60%;top:8px;transform:none;box-shadow:none}}
.scene-playing .calendar-cursor{animation:calendar-release 4.5s both}@keyframes calendar-release{0%,70%{opacity:1}85%,100%{opacity:0;translate:15px 15px}}
#public-landing:before{background:none;top:180px;height:900px}
#public-landing:after{content:'';position:absolute;z-index:-1;pointer-events:none;top:180px;left:0;width:100%;height:900px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 700'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop stop-color='%237544ca' stop-opacity='.05'/%3E%3Cstop offset='.45' stop-color='%239779ed' stop-opacity='.45'/%3E%3Cstop offset='.7' stop-color='%23629dd4' stop-opacity='.3'/%3E%3Cstop offset='1' stop-color='%237544ca' stop-opacity='.03'/%3E%3C/linearGradient%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='12'/%3E%3C/filter%3E%3C/defs%3E%3Cpath id='w' d='M-80 430 C210 510 350 520 500 310 S700 200 820 320 S1100 530 1510 210' fill='none' stroke='url(%23g)' stroke-width='24' filter='url(%23b)'/%3E%3Cpath d='M-80 430 C210 510 350 520 500 310 S700 200 820 320 S1100 530 1510 210' fill='none' stroke='url(%23g)' stroke-width='3'/%3E%3C/svg%3E") center/cover no-repeat}
@media(max-width:760px){.price-grid .price-spacer{display:none}.price-grid article{display:flex;gap:14px}.price-grid li{min-height:0;margin-bottom:10px}}

@media(max-width:760px){.price-grid h3,.price-grid button{align-self:stretch}.price-grid button{width:100%}}

.price-grid .launch-badge{justify-self:start}
/* Typography and motion are presentation choices, never drag-surface behavior. */
body,input,select,textarea,button{font-family:'Avenir Next',Avenir,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}h1,h2,h3{letter-spacing:-.035em}body{font-weight:400}button{font-weight:600}
@media(hover:hover){.card:hover,.stat:hover,.tool-scene:hover{transform:none;box-shadow:var(--surface-shadow)}#view-overview .card:hover,#view-overview .stat:hover,.reference-book:hover,.landing-prices .price-grid article:hover,.unlock-offers .access-offer:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 16px 36px #6542a326}}
@media(prefers-reduced-motion:reduce){#view-overview .card:hover,#view-overview .stat:hover,.reference-book:hover,.landing-prices .price-grid article:hover,.unlock-offers .access-offer:hover{transform:none}}
.flip-back{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:12px}.flip-back p{margin:0}.flip-back .scene-ratings{justify-content:center;margin-top:8px}.scene-playing .ring-secondary{animation-delay:2.8s;animation-duration:1.4s}.ring-secondary{stroke-linecap:round;stroke-dasharray:0 478}.scene-playing .ring-secondary{animation-fill-mode:both}@media(prefers-reduced-motion:reduce){.ring-secondary{stroke-dasharray:65 478}}
.mini-grid{height:240px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#dbd5e6 calc(20% - 1px),#dbd5e6 20%),repeating-linear-gradient(180deg,#f1edf8 0,#f1edf8 79px,#dbd5e6 79px,#dbd5e6 80px)}.mini-grid .moving-event,.mini-grid .mini-event{height:64px;display:flex;flex-direction:column;justify-content:center;padding:5px;font-size:10px;margin-left:2px}.scene-hour{top:0!important}.scene-hour.second{top:80px!important}.scene-hour.third{top:160px!important}.scene-hour.fourth{top:230px!important}.mini-grid .mini-event{top:88px}
.visual-stat{display:flex;align-items:center;gap:20px}.stat-ring{flex:0 0 90px;width:90px;height:90px;border-radius:50%;background:conic-gradient(var(--ring-color) var(--ring-pct),var(--line) 0);display:grid;place-items:center;position:relative}.stat-ring:before{content:'';position:absolute;inset:9px;background:var(--panel);border-radius:50%}.stat-ring strong{position:relative;font-size:25px}.visual-stat small{color:var(--muted);font-size:12px}.specialty-info .progress{display:block!important;height:9px;background:var(--line);border-radius:10px;margin-top:10px;overflow:hidden}.specialty-info .progress>span{display:block;height:100%;background:var(--color,var(--accent));border-radius:10px}.specialty-info{flex:1;min-width:0}
#overview-scores{margin:24px 0}.score-head{display:flex;align-items:baseline;gap:15px;margin:20px 0 5px}.score-head strong{font-size:30px;color:var(--accent)}.score-head span{font-size:13px;color:var(--muted)}.score-chart{width:100%;height:auto;max-height:220px;display:block;color:var(--muted)}.score-item{display:grid;grid-template-columns:80px 1fr 50px;gap:12px;align-items:center;margin:14px 0;font-size:13px}.score-track{height:9px;border-radius:8px;background:var(--line);overflow:hidden}.score-track i{display:block;height:100%;background:linear-gradient(90deg,#629dd4,#8c64db);border-radius:8px}.chart-empty{padding:30px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);margin-top:18px}.week-chart{display:flex;align-items:flex-end;gap:8px;height:90px;margin:8px 0}.week-chart>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:5px}.week-chart i{display:block;width:75%;min-height:2px;border-radius:5px 5px 0 0;background:linear-gradient(#aa8be6,#7544ca)}.week-chart small{font-size:10px;color:var(--muted)}
#view-calendar>.page-heading{display:none}.calendar-controls{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(150px,1fr) 115px auto auto;align-items:center;gap:10px}.calendar-controls input,.calendar-controls select{width:100%;min-width:0;height:44px}.calendar-method>summary{display:block;list-style:none;border:1px solid var(--line);padding:11px 13px;border-radius:10px;background:var(--panel);white-space:nowrap;font-size:13px}.calendar-method>summary:after{content:' ▾'}.calendar-method>summary::-webkit-details-marker{display:none}.calendar-method[open]>div{right:0;left:auto;z-index:20}.calendar-controls #plan-new{height:44px;white-space:nowrap;padding:8px 12px;font-size:13px}.calendar-header{display:grid;grid-template-columns:44px 1fr 44px auto;align-items:center}.calendar-header h2{text-align:center}.all-day>div{height:76px;max-height:none;overflow:auto}.all-day.expanded>div{height:210px}.all-day [data-free-expand]{display:block;margin-top:5px;padding:2px 9px;min-height:24px;font-size:16px}.calendar-shell{transform:none!important}.hour-scroll{max-height:none!important}.calendar-shell .footnote{line-height:1.3}
@media(max-width:1100px){.calendar-controls{grid-template-columns:minmax(100px,1fr) minmax(130px,1fr) 110px}.calendar-method{grid-column:1/3}.calendar-controls #plan-new{grid-column:3;white-space:normal}.visual-stat{gap:10px}.stat-ring{flex-basis:70px;width:70px;height:70px}.stat-ring strong{font-size:21px}}
@media(max-width:600px){.calendar-controls{grid-template-columns:1fr 1fr}.calendar-layout-label{grid-column:1}.calendar-method{grid-column:2}.calendar-controls #plan-new{grid-column:1/-1}.calendar-method>summary{white-space:normal}.calendar-method[open]>div{position:absolute;width:min(85vw,400px)}.score-head{flex-wrap:wrap;gap:5px}.flip-stage{height:355px}}

@keyframes draw-secondary{0%{stroke-dasharray:0 478;opacity:0}1%{opacity:1}100%{stroke-dasharray:65 478;opacity:1}}
#widget-grid.editing .card:hover,#widget-grid.editing .stat:hover{transform:none}
/* Stable controls, compact dashboard surfaces and flip cards. */
body{font-weight:450}h1,h2,h3,.stat-label,.specialty-name,.overview-next{font-weight:750}button,summary{font-weight:650}
.calendar-controls>label,.calendar-controls>details,.calendar-controls>select,.calendar-controls>button{margin:0!important;align-self:center}.calendar-controls input,.calendar-controls select,.calendar-method>summary,.calendar-controls #plan-new{height:46px;min-height:46px;margin:0;box-sizing:border-box}.calendar-method>summary{display:flex;align-items:center;justify-content:center;padding:8px 12px}.calendar-header{grid-template-columns:40px 1fr 40px auto auto}.calendar-header button{font-size:12px}.calendar-method[open]{z-index:21}
#widget-grid{grid-auto-flow:row dense;gap:18px}.home-widget{min-width:0}.home-widget .widget-content{min-width:0}.home-widget[data-widget=specialties] #specialties{max-height:390px;overflow-y:auto;padding-right:6px}.home-widget[data-widget=specialties] .section-title{display:block}.home-widget[data-widget=specialties] #overview-year{width:100%;margin:12px 0}.home-widget[data-widget=scores] .score-chart{max-height:160px}.home-widget[data-widget=next] .card,.home-widget[data-widget=due] .card{min-height:220px}#overview-scores{margin:0}.home-widget[data-widget=scores] .score-item{margin:9px 0}.home-widget[data-widget=lowTime] .score-item{grid-template-columns:70px 1fr 55px}
.flashcard{perspective:1200px}.flashcard-turn{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.flashcard-front,.flashcard-answer{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-height:320px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;background:var(--panel);border-radius:16px;overflow-wrap:anywhere}.flashcard-front>* ,.flashcard-answer>*{max-width:100%;margin:0}.flashcard-front .flashcard-head{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.flashcard-answer{transform:rotateY(180deg);border:1px solid var(--line)}.flashcard.is-flipped .flashcard-turn{transform:rotateY(180deg)}.flashcard .review-actions{justify-content:center;flex-wrap:wrap}.flashcard .row-actions{justify-content:center;margin-top:16px}.flip-front{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.flip-front>*{margin:0}.flip-front .scene-toolbar{width:100%;justify-content:center;flex-wrap:wrap}
#commitment-dialog{width:min(640px,calc(100% - 24px))}#commitment-form>label{display:grid;gap:6px;margin:14px 0}#commitment-form .form-grid label{display:grid;gap:8px}#commitment-warning{color:var(--accent)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#view-sessions #session-stats .stat:hover,#view-sessions #session-scores:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 16px 36px #6542a326}}@media(prefers-reduced-motion:reduce){.flashcard-turn{transition:none}}
@media(max-width:800px){#widget-grid{display:flex;flex-direction:column}.home-widget{width:100%}.calendar-header{grid-template-columns:36px 1fr 36px}.calendar-header #month-today{grid-column:1/2}.calendar-header #commitment-new{grid-column:2/4}.flashcard-front,.flashcard-answer{padding:16px;min-height:340px}}
.calendar-period{display:flex;justify-content:flex-end;margin:2px 0 10px}.calendar-period label{display:flex;align-items:center;gap:10px;font-size:12px;margin:0}.calendar-period select{padding:5px 10px;min-height:32px}.repeat-days{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.repeat-days label{display:flex;align-items:center;gap:4px}.repeat-days input{width:16px;height:16px;min-height:16px}.flashcard-answer{margin:0}

/* Navigation des préférences et titres de cartes flexibles. */
.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.settings-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:6px}.settings-sidebar button{text-align:left;background:transparent;border-color:transparent;white-space:normal}.settings-sidebar button[aria-current=page]{background:var(--surface-soft,#eee8fb);color:var(--accent,#7244c9);border-color:var(--border,#ded8eb)}.settings-layout .settings-grid{display:block;min-width:0}.settings-panel{min-width:0}.settings-panel[hidden]{display:none!important}.settings-panel h2{margin:0 0 24px}.settings-panel .form-grid{gap:20px}.settings-layout .personal-settings{min-height:440px}.settings-layout .settings-save{margin-top:24px}
.flashcard,.flashcard-turn,.flashcard-front,.flashcard-answer{min-width:0;max-width:100%}.flashcard header{flex-wrap:wrap;min-width:0}.flashcard h2,.flashcard h3,.flashcard header strong,.flashcard header span,.flashcard-front,.flashcard-answer{overflow-wrap:anywhere;white-space:normal}.flashcard header>*{min-width:0;max-width:100%}
@media(max-width:700px){.settings-layout{grid-template-columns:1fr;gap:16px}.settings-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.settings-sidebar button{font-size:.9rem;padding:10px}.settings-layout .personal-settings{min-height:0}}

.settings-layout .settings-compact{width:100%;max-width:none;margin:0}.specialty-initial{font-size:23px;line-height:1;flex-shrink:0}
.flashcard{border:1px solid var(--line);box-shadow:0 6px 18px #55408012;padding:14px;border-radius:20px;background:var(--panel)}.flashcard-front,.flashcard-answer{min-height:230px;padding:20px;gap:12px;border:1px solid var(--line);background:linear-gradient(135deg,#8654d512,transparent 85%),var(--panel)}.flashcard-answer{background:linear-gradient(135deg,#3489b918,transparent 85%),var(--panel)}.flashcard h3{font-size:1.05rem;line-height:1.45}.flashcard .row-actions{margin-top:10px}.flashcard .flashcard-head{min-width:0;max-width:100%;flex-wrap:wrap}.flashcard .tag{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.flashcard-front,.flashcard-answer{min-height:220px;padding:16px}.flashcard{padding:10px}}

.daily-priority{padding:14px 0;border-top:1px solid var(--line)}#daily-availability{display:flex;gap:12px;align-items:end;flex-wrap:wrap}#daily-availability label{flex:1;min-width:150px}#daily-availability input{width:100%}
/* Les graphiques s’adaptent à la place réellement disponible. */
.home-widget{container-type:inline-size}.home-widget[data-widget=stats] .stats{min-width:0}
@container(max-width:560px){#stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.visual-stat{flex-direction:column;justify-content:center;gap:10px;text-align:center;padding:14px 6px!important;min-width:0}.visual-stat .stat-ring{width:64px;height:64px;flex-basis:64px}.visual-stat .stat-ring strong{font-size:22px}.visual-stat .stat-label{font-size:12px;line-height:1.3;white-space:normal}.visual-stat .stat-note,.visual-stat small{display:none}.score-chart{height:150px}.score-summary{flex-wrap:wrap}}
body.account-ready{background:radial-gradient(ellipse at 85% 15%,#9563db12,transparent 45%),radial-gradient(ellipse at 15% 65%,#539ddb10,transparent 50%),var(--bg);background-attachment:fixed}.account-ready main{background:transparent}.account-ready .card{box-shadow:0 5px 20px #66508a0a}.topbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.topbar .rotation-strip{position:relative;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none;order:1;max-width:390px;flex:1}.topbar .topbar-actions{order:2;margin-left:auto}.topbar .rotation-control{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.topbar .rotation-control label{margin:0;font-size:12px;white-space:nowrap}.topbar #current-rotation{height:42px;max-width:200px;padding:6px 10px}.topbar #rotation-year{font-size:11px}.topbar #rotation-details{position:absolute;top:100%;left:0;right:0;z-index:35;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px;font-size:12px}.topbar #rotation-details:not([open]){position:static;background:transparent;border:0;padding:2px;text-align:center}.topbar #rotation-details[open]{max-height:60vh;overflow:auto}
@media(max-width:1000px){.topbar .rotation-strip{order:3;flex-basis:100%;max-width:none}.topbar .rotation-control{justify-content:center}.topbar #rotation-details[open]{position:relative}.topbar .topbar-actions{flex-wrap:wrap}}
/* A quiet identity across the workspace, and an icon-only navigation mode. */
.medical-icon{width:28px;height:28px;display:inline-block;vertical-align:middle;flex:none}.reference-meta .medical-icon{width:22px;height:22px;margin-right:8px}.sidebar-label{display:flex;align-items:center;justify-content:space-between;gap:8px}#sidebar-toggle{font-size:24px;line-height:1;padding:3px 8px;min-height:32px;color:var(--accent);background:var(--bg)}.topbar>.sr-only{position:absolute}.topbar{gap:12px;padding-top:12px;padding-bottom:12px}.topbar .rotation-strip{align-self:center}.topbar .rotation-control{flex-wrap:nowrap}.topbar .topbar-actions{display:flex;align-items:center;gap:10px}.topbar .topbar-actions>button{min-height:44px}.presentation-link{background:linear-gradient(110deg,#7544ca,#4b78ba)!important;color:white!important;border-color:transparent!important;box-shadow:0 4px 14px #7544ca26}
@media(min-width:901px){body.sidebar-collapsed .sidebar{width:82px;padding:28px 12px}body.sidebar-collapsed .workspace{margin-left:82px}body.sidebar-collapsed .brand-name,body.sidebar-collapsed .sidebar-label>span,body.sidebar-collapsed .nav-count,body.sidebar-collapsed .profile>span:not(.avatar),body.sidebar-collapsed .sidebar-bottom>a{display:none}body.sidebar-collapsed .sidebar-label{justify-content:center;margin-left:0;margin-right:0}body.sidebar-collapsed .sidebar nav button{font-size:0;gap:0;justify-content:center;padding:13px}body.sidebar-collapsed .sidebar nav button .nav-icon{width:24px;height:24px}body.sidebar-collapsed .brand{justify-content:center}body.sidebar-collapsed .profile{justify-content:center}body.sidebar-collapsed .sidebar nav button:focus-visible{outline-offset:-2px}}
@media(max-width:900px){#sidebar-toggle{display:none}.topbar .rotation-control{flex-wrap:wrap}.topbar .topbar-actions{flex-wrap:wrap}}
#public-landing{background:radial-gradient(ellipse at 5% 15%,#9473e729,transparent 60%),radial-gradient(ellipse at 95% 65%,#699dd22b,transparent 65%),radial-gradient(ellipse at 40% 95%,#ba8ccd20,transparent 65%),var(--bg)}#public-landing:before{display:none}#public-landing:after{inset:0;width:100%;height:100%;background:url('identity-waves.svg') center/100% 100% no-repeat}body.account-ready:not(.landing-visible){background-image:url('identity-waves.svg'),radial-gradient(ellipse at 85% 15%,#9563db0c,transparent 65%),radial-gradient(ellipse at 15% 65%,#539ddb0c,transparent 65%);background-size:100% 300vh,auto,auto;background-blend-mode:soft-light,normal,normal}.landing-nav-links{display:flex;gap:20px;align-items:center;font-size:14px}.landing-visible:not(.auth-open) #account-gate{display:none}.landing-visible .workspace{display:none}#public-landing #offres{scroll-margin-top:24px}@media(max-width:700px){#public-landing nav{flex-wrap:wrap}.landing-nav-links{order:3;width:100%;justify-content:space-between;gap:10px;font-size:12px}}
.review-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.review-paths article{padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,#8654d510,transparent)}.review-paths p{font-size:14px;color:var(--muted);margin-bottom:16px}.review-paths button{width:100%}#review-start-dialog{max-width:620px}#review-start-steps{padding-left:24px;line-height:1.7}#review-start-steps li{padding:8px 0}#session-form[data-guided=true] label:has([name=kind]),#session-form[data-guided=true] .picker-inputs,#session-form[data-guided=true] .picker>.footnote,#session-form[data-guided=true] #session-chrono-start,#session-form[data-guided=true] .completion-item>.form-grid,#session-form[data-guided=true] .completion-item>.footnote,#session-form[data-guided=true] .first-reading-estimate{display:none}#session-form[data-guided=true] .completion-item{padding:16px}#session-form[data-guided=true] .recall-buttons h3{margin:0 0 12px}.recall-buttons .review-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.recall-buttons button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.recall-buttons button[data-report-rating="1"]{background:#b5375216;color:var(--red,#b53752)}.recall-buttons button[data-report-rating="2"]{background:#aa750e16;color:var(--amber)}.recall-buttons button[data-report-rating="3"]{background:#437fb516;color:var(--blue,#437fb5)}.recall-buttons button[data-report-rating="4"]{background:#29855516;color:var(--green)}@media(max-width:650px){.review-paths{grid-template-columns:1fr}.recall-buttons .review-actions{grid-template-columns:1fr 1fr}}
.landing-faq{margin:70px 0 30px;max-width:850px}.landing-faq details{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.landing-faq summary{cursor:pointer}.landing-faq p{line-height:1.65}.landing-faq a{color:var(--accent);text-decoration:underline}

/* Keep the rotation selector and its college menu on the same header row. */
.topbar{align-items:center}.topbar .topbar-actions{align-self:center;margin-top:0;margin-bottom:0}.topbar .rotation-strip{max-width:520px;min-width:0;flex:1 1 440px}.topbar .rotation-control{flex-wrap:nowrap;align-items:center}.topbar #rotation-year{display:none}.topbar #current-rotation{min-width:0;max-width:220px;flex:1 1 180px;margin:0;order:0;height:44px}.topbar #rotation-details,.topbar #rotation-details:not([open]),.topbar #rotation-details[open]{position:relative;inset:auto;margin:0;padding:0;border:0;background:transparent;max-height:none;overflow:visible;flex:0 0 auto;text-align:left}.topbar #rotation-details>summary{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:10px;white-space:nowrap;font-size:12px;font-weight:650;list-style:none;background:var(--panel)}.topbar #rotation-details>summary::-webkit-details-marker{display:none}.topbar #rotation-details>summary:after{content:'▾'}.topbar #rotation-details[open]>summary:after{content:'▴'}.topbar .rotation-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(480px,calc(100vw - 40px));max-height:60vh;overflow:auto;padding:16px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 12px 32px #30204425;z-index:50}.topbar .rotation-strip{animation:none}.topbar .rotation-popover .rotation-books{grid-template-columns:1fr}.topbar .rotation-control label{flex:none}
@media(max-width:1100px){.topbar .rotation-strip{order:3;flex-basis:100%;max-width:none}.topbar .rotation-control{justify-content:center}}
@media(max-width:480px){.topbar .rotation-control{gap:6px;flex-wrap:wrap}.topbar .rotation-control label{width:100%;text-align:center}.topbar #current-rotation{max-width:220px;flex:1 1 150px}.topbar #rotation-details>summary{font-size:11px;padding:8px}.topbar .rotation-popover{right:0}}

/* Readable presentation in either account theme; the showcase keeps its light palette. */
#public-landing{--bg:#f9f7fd;--panel:#fff;--text:#292536;--muted:#696276;--line:#ded8eb;--accent:#7544ca;--surface-soft:#eee8fb;color:var(--text);color-scheme:light}#public-landing h1,#public-landing h2,#public-landing h3,#public-landing p,#public-landing label{color:inherit}#public-landing input,#public-landing select{background:#fff;color:#292536}#public-landing .muted{color:#696276}
body.account-ready:not(.landing-visible){background-blend-mode:normal,normal,normal;background-color:var(--bg)}
.overview-next,.flashcard h3,.flashcard h2,.flashcard-front,.flashcard-answer{white-space:normal;overflow-wrap:anywhere;word-break:normal;min-width:0;max-width:100%}.overview-next{text-align:left;display:block;width:100%;line-height:1.45}.home-widget,.home-widget .card{min-width:0}
.settings-layout{max-width:1050px;margin:0 auto;grid-template-columns:210px minmax(0,1fr);gap:28px}.settings-layout .personal-settings{min-height:0;background:color-mix(in srgb,var(--panel) 90%,var(--accent));border:1px solid var(--line);padding:28px}.settings-panel h2{font-size:24px;margin-bottom:22px}.settings-sidebar{padding:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,transparent)}.settings-sidebar button{padding:12px 14px}.settings-panel label{font-weight:600;gap:8px}.settings-panel .review-preferences{padding:0;border:0;background:transparent;box-shadow:none}.settings-panel .review-preferences>h3{display:none}.settings-panel .review-preferences form{display:grid;gap:20px}.settings-panel .review-preferences details{padding:14px;border-radius:12px;background:var(--bg)}.settings-panel .review-preferences button{justify-self:start}
@media(min-width:1800px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.topbar .rotation-strip{grid-column:2;grid-row:1;max-width:none;margin:0;justify-self:center}.topbar .topbar-actions{grid-column:3;grid-row:1;justify-self:end;margin:0}.topbar>[role=status],.topbar>.sync-status{grid-column:1;grid-row:1}}
@media(max-width:700px){.settings-layout{grid-template-columns:1fr}.settings-layout .personal-settings{padding:18px}}

@media(min-width:1101px) and (max-width:1799px){.topbar .rotation-strip{order:3;flex-basis:100%;max-width:none;margin:0 auto}.topbar .rotation-control{justify-content:center}}
#public-landing{--panel2:#f0ecf8;--accent-soft:#eee8fb}#public-landing button{background:#eee8f8;color:#292536;border-color:#ded8eb}#public-landing button.primary{background:#7544ca;color:#fff;border-color:#7544ca}#public-landing .price-monthly button{background:#eee8f8;color:#292536}
