/* 8aPDF Workspace v4: scope changes to Studio, preserve Classic. */
html[data-ui-mode="studio"] { --ws-ease:cubic-bezier(.2,.8,.2,1) }
html[data-ui-mode="studio"] .top-shell{border:0!important;border-bottom:0!important;box-shadow:none!important;background:var(--bg)!important}
html[data-ui-mode="studio"] .top-nav{border:0!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-ui-mode="studio"] #subjectFilters{display:none!important}
html[data-ui-mode="studio"] #workspaceEssentials,
html[data-ui-mode="studio"] .workspace-essentials,
html[data-ui-mode="studio"] #studioPreviewLinks{display:none!important}
html[data-ui-mode="studio"] :is(.top-nav,.pdf-card,.notice-card,.widget,.feature,.big-search,.settings,.dialog,.chip,.toast,.command-card,.studio-mobile-nav){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-ui-mode="studio"] #siteAmbientGlow{display:none!important}
html[data-ui-mode="studio"] .studio-sidebar{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important;gap:12px!important;padding-bottom:max(22px,env(safe-area-inset-bottom))!important}
html[data-ui-mode="studio"] .studio-sidebar::-webkit-scrollbar{display:none!important}
html[data-ui-mode="studio"] .studio-sidebar :is(.studio-nav-group,.studio-side-end){flex-shrink:0!important;min-width:0!important}
html[data-ui-mode="studio"] .studio-side-end{margin-top:0!important}
html[data-ui-mode="studio"] .studio-nav-caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-ui-mode="studio"] .studio-side-link{min-width:0!important;max-width:100%;gap:12px;min-height:41px;border-radius:11px!important;overflow:hidden}
html[data-ui-mode="studio"] .studio-side-link span{min-width:0;white-space:normal;line-height:1.32;overflow-wrap:anywhere}
html[data-ui-mode="studio"] .studio-side-link kbd{flex-shrink:0}
html[data-ui-mode="studio"] .studio-nav-secondary{border:0!important}
html[data-ui-mode="studio"] .workspace-sidebar-group{display:flex;flex-direction:column;gap:3px;padding:8px 0}
html[data-ui-mode="studio"] .workspace-sidebar-group .studio-side-link{background:none}
html[data-ui-mode="studio"] .ws-icon{display:inline-grid;place-items:center;flex:none;width:21px;height:21px;color:var(--text-soft);font-size:17px}
html[data-ui-mode="studio"] #workspaceHomeActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:14px 0 7px}
html[data-ui-mode="studio"] .ws-quiet{border:1px solid var(--line-bold);background:var(--surface);color:var(--text);padding:9px 12px;border-radius:11px;min-height:38px;cursor:pointer;font:inherit;font-size:.77rem;font-weight:650;transition:transform .22s var(--ws-ease),border-color .22s}
html[data-ui-mode="studio"] .ws-quiet:hover{transform:translateY(-2px);border-color:var(--text-soft)}
html[data-ui-mode="studio"] .ws-mobile-title{display:none}
html[data-ui-mode="studio"] .pdf-summary-utility{width:100%;min-height:36px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-bold);border-radius:10px;background:var(--surface-high);color:var(--text);font:inherit;font-size:.74rem;font-weight:700;cursor:pointer;transition:transform .22s var(--ws-ease),background .22s}
html[data-ui-mode="studio"] .pdf-summary-utility:hover{transform:translateY(-2px);background:var(--hover)}
html[data-ui-mode="studio"] :is(.pdf-card,.notice-card,.widget){min-width:0;overflow-wrap:anywhere}
html[data-ui-mode="studio"] #dashboardWidgets{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-ui-mode="studio"] #newSchoolPlanner{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-ui-mode="studio"] .ws-hidden-widget{display:none!important}
/* App-like compact settings and tools */
.ws-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.75);display:grid;place-items:center;padding:14px;animation:wsFade .22s both}
.ws-overlay[hidden]{display:none!important}
.ws-dialog{width:min(600px,100%);max-height:min(88dvh,850px);overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);border:1px solid var(--line-bold);border-radius:18px;padding:23px;box-shadow:0 24px 72px rgba(0,0,0,.28);animation:wsRaise .25s var(--ws-ease) both}
.ws-dialog h2{margin:0;font-size:clamp(1.13rem,3vw,1.4rem);font-weight:740;letter-spacing:-.025em}
.ws-dialog p{font-size:.8rem;line-height:1.55;color:var(--muted);margin:8px 0 18px}
.ws-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}
.ws-dialog :is(button,input,select){font:inherit}
.ws-dialog button{background:var(--surface-high);border:1px solid var(--line-bold);color:var(--text);min-height:37px;border-radius:10px;padding:8px 12px;cursor:pointer;font-size:.79rem}
.ws-dialog button:hover{background:var(--hover)}
.ws-dialog button:disabled{opacity:.5;cursor:not-allowed}
.ws-dialog input:not([type="checkbox"]):not([type="range"]),.ws-dialog select{padding:10px 12px;background:var(--surface-soft);border:1px solid var(--line-bold);border-radius:9px;color:var(--text);max-width:100%;min-width:0;font:inherit;font-size:.83rem}
.ws-dialog input[type="file"]{width:100%;font-size:.74rem!important}
.ws-dialog input[type="checkbox"]{width:17px;height:17px;accent-color:var(--text);flex-shrink:0}
.ws-dialog input[type="range"]{accent-color:var(--text);max-width:100%}
.ws-dialog .ws-line{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.84rem}
.ws-dialog .ws-line>span{flex:1;min-width:0;overflow-wrap:anywhere}
.ws-dialog .ws-line small{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}
.ws-dialog .ws-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ws-dialog .ws-primary{background:var(--button);color:var(--button-text);border-color:var(--button)}
.ws-dialog .ws-notice{padding:11px 12px;background:var(--surface-high);border:1px solid var(--line);border-radius:11px;line-height:1.5;font-size:.76rem;color:var(--text-soft);margin:10px 0}
.ws-dialog .ws-status{font-size:.76rem;overflow-wrap:anywhere;color:var(--muted)}
.ws-dialog .ws-tools{display:flex;flex-wrap:wrap;gap:9px}
.ws-dialog .ws-tools button{flex:1 1 130px}
.ws-dialog .ws-tag{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.075em}
.ws-dialog .ws-task{display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding:10px 0;font-size:.81rem}
.ws-dialog .ws-task label{flex:1;min-width:0;line-height:1.42;overflow-wrap:anywhere}
.ws-dialog .ws-task label.done{text-decoration:line-through;color:var(--muted)}
.ws-dialog .ws-task button{padding:1px 6px;min-height:27px}
.ws-dialog #wsTaskSearch{width:100%}
.ws-dialog .ws-track{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.ws-dialog .ws-track button{min-width:110px}
.ws-dialog .ws-track.active button{border-color:var(--text);font-weight:750}
@keyframes wsFade{from{opacity:0}to{opacity:1}}@keyframes wsRaise{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}
html[data-ws-boost="on"] #siteAmbientGlow,html[data-ws-boost="on"] .hero::before{display:none!important}
html[data-ws-boost="on"] .pdf-card,html[data-ws-boost="on"] .notice-card,html[data-ws-boost="on"] .widget{box-shadow:none!important;filter:none!important;animation:none!important}
html[data-ws-boost="on"] .pdf-card:hover,html[data-ws-boost="on"] .widget:hover{transform:none!important}
@media(max-width:820px){
 html[data-ui-mode="studio"] #dashboardWidgets,html[data-ui-mode="studio"] #newSchoolPlanner{grid-template-columns:1fr!important}
 html[data-ui-mode="studio"] .hero{padding:12px 0 2px!important}
 html[data-ui-mode="studio"] .hero .hero-inner{text-align:center!important;padding-top:12px!important;padding-bottom:3px!important}
 html[data-ui-mode="studio"] .hero .eyebrow-pill{margin:0 auto 10px!important;font-size:.61rem!important}
 html[data-ui-mode="studio"] .hero h1{display:none!important}
 html[data-ui-mode="studio"] .ws-mobile-title{display:block;font-size:clamp(1.8rem,7vw,2.5rem);line-height:1.15;letter-spacing:-.055em;font-weight:800;margin:2px auto 10px;max-width:18ch;text-wrap:balance}
 html[data-ui-mode="studio"] .hero p{font-size:.82rem!important;line-height:1.55!important;margin:0 auto!important;text-align:center!important;max-width:360px!important}
 html[data-ui-mode="studio"] .hero .big-search{max-width:100%;margin:19px 0 5px!important}
 html[data-ui-mode="studio"] #workspaceHomeActions{margin:8px 0 5px}
 html[data-ui-mode="studio"] .hero .suggestions{display:none!important}
 html[data-ui-mode="studio"] .top-shell{padding:5px 12px!important}
 html[data-ui-mode="studio"] .top-nav{width:100%!important;min-width:0;gap:5px!important;padding:0 3px!important}
 html[data-ui-mode="studio"] .top-nav>.brand{font-size:.96rem!important;flex-shrink:0}
 html[data-ui-mode="studio"] .top-nav #topSearch{display:none!important}
 html[data-ui-mode="studio"] .top-nav .round-btn{width:34px!important;height:36px!important}
 html[data-ui-mode="studio"] .top-nav>.nav-right{gap:2px!important;min-width:0;flex:none!important;max-width:none!important}
 html[data-ui-mode="studio"] #dashboardWidgets>.widget,html[data-ui-mode="studio"] #newSchoolPlanner>.widget{padding:16px!important}
 .ws-dialog{padding:17px;border-radius:16px}
}
@media(max-width:370px){html[data-ui-mode="studio"] .top-nav>.brand{font-size:.83rem!important} html[data-ui-mode="studio"] .top-nav .round-btn{width:32px!important} .ws-dialog .ws-cols{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ws-dialog,.ws-overlay{animation:none!important}html[data-ui-mode="studio"] .pdf-summary-utility{transition:none!important}}

html[data-ui-mode="studio"] #newSchoolPlanner:not(:has(>.widget:not(.ws-hidden-widget))){display:none!important}
html[data-ui-mode="studio"] #dashboardWidgets:not(:has(>.widget:not(.ws-hidden-widget))){display:none!important}
/* Keep original navigation functional without duplicate shortcuts. */
html[data-ui-mode="studio"] .studio-nav-secondary [data-go="tasks"],
html[data-ui-mode="studio"] .studio-nav-secondary [data-go="zip"],
html[data-ui-mode="studio"] .studio-side-end [data-go="tasks"]{display:none!important}
/* Mobile upload layout and centered home edit control */
.ws-dialog .ws-file-field{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.ws-dialog .ws-file-field label{display:block;white-space:normal;overflow-wrap:normal;font-size:.85rem;font-weight:650}
.ws-dialog .ws-file-field label small{display:block;font-size:.7rem;font-weight:400;color:var(--muted);margin-top:3px}
.ws-dialog .ws-file-field input[type=file]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
html[data-ui-mode="studio"] #workspaceHomeActions{justify-content:center!important;width:100%;margin:16px auto!important}
html[data-ui-mode="studio"] #workspaceHomeActions .ws-quiet{min-width:175px;text-align:center}
@media(max-width:600px){.ws-dialog .ws-file-field{gap:12px}.ws-dialog .ws-file-field input[type=file]{font-size:12px!important}}

/* Clean mobile PDF toolbar: no redundant live-library caption or layout toggles */
html[data-ui-mode="studio"] #gridToggle,html[data-ui-mode="studio"] #listToggle{display:none!important}
html[data-ui-mode="studio"] .pdf-toolbar .library-meta,html[data-ui-mode="studio"] .pdf-toolbar .live-library-label{display:none!important}

html[data-ui-mode="studio"] #libraryStatus{display:none!important}
html[data-ui-mode="studio"] #gridBtn,html[data-ui-mode="studio"] #listBtn{display:none!important}
html[data-ui-mode="studio"] .filter-foot{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}
html[data-ui-mode="studio"] .filter-foot .mini-tabs{display:none!important}

/* Persistent music mini-player */
.ws-music-dock{position:fixed;z-index:10020;left:50%;bottom:16px;transform:translateX(-50%);width:min(760px,calc(100% - 24px));display:grid;grid-template-columns:auto minmax(110px,1fr) auto auto auto minmax(110px,1.3fr) auto auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(127,127,127,.25);border-radius:18px;background:var(--panel,#171717);box-shadow:0 14px 42px rgba(0,0,0,.25)}
.ws-music-dock[hidden]{display:none!important}.ws-music-dock #wsYTMount{position:absolute;width:1px;height:1px;overflow:hidden;opacity:.01;pointer-events:none}.ws-now{min-width:0}.ws-now strong,.ws-now small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-now small{opacity:.65}.ws-music-dock button{border:0;border-radius:999px;min-width:38px;height:38px;cursor:pointer}.ws-music-dock input{width:100%}.ws-wave{height:28px;width:27px;display:flex;align-items:center;justify-content:center;gap:2px}.ws-wave i{display:block;width:3px;height:7px;border-radius:3px;background:currentColor;opacity:.65}.ws-music-dock.is-playing .ws-wave i{animation:wsBeat .7s ease-in-out infinite alternate}.ws-music-dock.is-playing .ws-wave i:nth-child(2){animation-delay:.15s}.ws-music-dock.is-playing .ws-wave i:nth-child(3){animation-delay:.3s}.ws-music-dock.is-playing .ws-wave i:nth-child(4){animation-delay:.08s}@keyframes wsBeat{to{height:24px;opacity:1}}
@media(max-width:650px){.ws-music-dock{bottom:9px;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;gap:6px}.ws-music-dock #wsSeek,.ws-music-dock #wsMusicTime{grid-column:1/-1;grid-row:2}.ws-music-dock #wsMusicTime{justify-self:end;font-size:11px;pointer-events:none}.ws-music-dock button{min-width:34px;height:34px}}

/* Music visualizer v2 — always visible, animated while playing */
.ws-music-dock .ws-wave{display:flex!important;align-items:center;justify-content:center;gap:3px;width:34px;min-width:34px;height:34px;padding:5px;border-radius:10px;background:rgba(127,127,127,.12);overflow:hidden}
.ws-music-dock .ws-wave i{display:block!important;width:4px;min-width:4px;height:8px;border-radius:999px;background:currentColor!important;opacity:.9;transform-origin:center;animation:none}
.ws-music-dock.is-playing .ws-wave i{animation:wsMusicWave .55s ease-in-out infinite alternate!important}
.ws-music-dock.is-playing .ws-wave i:nth-child(1){animation-duration:.42s!important}
.ws-music-dock.is-playing .ws-wave i:nth-child(2){animation-duration:.63s!important;animation-delay:-.2s!important}
.ws-music-dock.is-playing .ws-wave i:nth-child(3){animation-duration:.48s!important;animation-delay:-.34s!important}
.ws-music-dock.is-playing .ws-wave i:nth-child(4){animation-duration:.7s!important;animation-delay:-.12s!important}
@keyframes wsMusicWave{0%{height:6px;transform:scaleY(.7);opacity:.55}50%{height:24px;transform:scaleY(1);opacity:1}100%{height:12px;transform:scaleY(.85);opacity:.8}}
@media (prefers-reduced-motion:reduce){.ws-music-dock.is-playing .ws-wave i{animation-duration:1.5s!important}}

/* Apple-inspired animated artwork, fluid glass mini player */
.ws-music-dock{--song-hue:215;grid-template-columns:54px minmax(110px,1fr) auto auto auto minmax(100px,1.2fr) auto auto!important;background:color-mix(in srgb,var(--panel,#181818) 90%,transparent)!important;backdrop-filter:blur(24px) saturate(1.3);border-radius:22px!important;padding:12px 16px!important;box-shadow:0 18px 60px rgba(0,0,0,.24)!important}
.ws-music-dock .ws-album-art{position:relative;width:52px;height:52px;overflow:hidden;isolation:isolate;border-radius:13px;background:linear-gradient(135deg,hsl(var(--song-hue) 65% 30%),hsl(calc(var(--song-hue) + 80) 78% 58%));box-shadow:0 5px 15px rgba(0,0,0,.2);display:grid;place-items:center}
.ws-music-dock .ws-album-art span{position:relative;z-index:2;font-size:24px;color:white;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.ws-music-dock .ws-orb{position:absolute;width:75%;height:75%;border-radius:45%;filter:blur(5px);opacity:.8;transition:transform .5s}
.ws-music-dock .ws-orb-a{top:-25%;left:-20%;background:#ffb3c9}
.ws-music-dock .ws-orb-b{bottom:-25%;right:-25%;background:#9ad8ff}
.ws-music-dock .ws-orb-c{top:25%;right:0;background:#b9a1ff;mix-blend-mode:screen}
.ws-music-dock.is-playing .ws-orb-a{animation:wsFlowA 4s ease-in-out infinite alternate}
.ws-music-dock.is-playing .ws-orb-b{animation:wsFlowB 5s ease-in-out infinite alternate}
.ws-music-dock.is-playing .ws-orb-c{animation:wsFlowC 6s ease-in-out infinite alternate}
@keyframes wsFlowA{to{transform:translate(22px,23px) rotate(100deg) scale(1.5)}}
@keyframes wsFlowB{to{transform:translate(-22px,-20px) rotate(-90deg) scale(1.5)}}
@keyframes wsFlowC{to{transform:translate(-15px,12px) rotate(180deg) scale(.65)}}
.ws-music-dock #wsPlayPause{background:currentColor;filter:invert(.06);font-weight:700}
.ws-song-search{display:flex;gap:8px;margin:14px 0}.ws-song-search input{flex:1;min-width:0;border:1px solid rgba(127,127,127,.3);border-radius:12px;padding:12px;background:transparent;color:inherit}.ws-song-search button{border:0;border-radius:12px;padding:10px 16px;cursor:pointer}.ws-video-panel{margin-top:12px}
@media(max-width:650px){.ws-music-dock{grid-template-columns:44px minmax(0,1fr) auto auto auto auto!important;padding:10px!important}.ws-music-dock .ws-album-art{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.ws-music-dock.is-playing .ws-orb{animation:none!important}}

/* Restore compact equalizer and honor active theme */
.ws-music-dock{grid-template-columns:34px minmax(110px,1fr) auto auto auto minmax(100px,1.2fr) auto auto!important;color:var(--text-primary,var(--text,#202124))!important;background:var(--surface,var(--card-bg,#fff))!important;border:1px solid var(--border-color,rgba(100,100,100,.22))!important}
html[data-tone="dark"] .ws-music-dock,html[data-theme="dark"] .ws-music-dock,html[data-theme="pure-black"] .ws-music-dock{color:var(--text-primary,#f6f6f6)!important;background:var(--surface,#202124)!important}
html[data-tone="light"] .ws-music-dock,html[data-theme="light"] .ws-music-dock{color:#202124!important;background:#fff!important;border-color:#dadce0!important}
.ws-music-dock .ws-wave{display:flex!important;align-items:center;justify-content:center;width:34px;height:34px;gap:3px;border-radius:9px;background:rgba(127,127,127,.09)}
.ws-music-dock .ws-wave i{display:block;width:3px;height:9px;border-radius:4px;background:currentColor}
.ws-music-dock.is-playing .ws-wave i{animation:wsBeat .65s ease-in-out infinite alternate}
.ws-music-dock.is-playing .ws-wave i:nth-child(2){animation-delay:-.23s}
.ws-music-dock.is-playing .ws-wave i:nth-child(3){animation-delay:-.41s}
.ws-music-dock.is-playing .ws-wave i:nth-child(4){animation-delay:-.15s}
.ws-music-dock button{color:inherit!important;background:rgba(127,127,127,.12)!important}
.ws-music-dock #wsPlayPause{background:rgba(127,127,127,.18)!important;filter:none!important}
.ws-music-dock input{accent-color:currentColor}
#wsSoundList{max-height:440px;overflow-y:auto}
#wsSoundList .ws-track{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 6px}
#wsSoundList .ws-track button{flex-shrink:0}

/* Official YouTube playback must remain visible; retain mini-player controls */
.ws-music-dock{grid-template-columns:34px minmax(110px,1fr) auto auto auto minmax(100px,1.2fr) auto auto!important}
.ws-music-dock #wsYTMount{position:relative!important;grid-column:1/-1;grid-row:2;opacity:1!important;pointer-events:auto!important;width:100%!important;height:160px!important;overflow:visible!important;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;background:#111}
.ws-music-dock #wsYTMount iframe{width:min(100%,285px)!important;height:160px!important;min-width:285px;max-width:100%;border:0}
@media(max-width:650px){.ws-music-dock #wsYTMount{grid-row:3;height:140px!important}.ws-music-dock #wsYTMount iframe{height:140px!important;width:250px!important;min-width:0}}

/* Ultra-premium responsive music dock — keep fully inside mobile viewport */
.ws-music-dock{
 left:max(12px,env(safe-area-inset-left))!important;
 right:max(12px,env(safe-area-inset-right))!important;
 bottom:max(12px,env(safe-area-inset-bottom))!important;
 width:auto!important;max-width:760px!important;margin-inline:auto!important;
 box-sizing:border-box!important;overflow:hidden!important;
 padding:12px 14px!important;border-radius:22px!important;
 background:color-mix(in srgb,var(--surface,#fff) 92%,transparent)!important;
 border:1px solid color-mix(in srgb,currentColor 16%,transparent)!important;
 box-shadow:0 18px 55px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12)!important;
 backdrop-filter:blur(24px) saturate(155%)!important;
 -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
}
html[data-theme="dark"] .ws-music-dock,html[data-theme="pure-black"] .ws-music-dock,html[data-tone="dark"] .ws-music-dock{
 background:rgba(20,20,22,.88)!important;border-color:rgba(255,255,255,.13)!important;color:#f7f7f8!important;
 box-shadow:0 20px 65px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08)!important
}
html[data-theme="light"] .ws-music-dock,html[data-tone="light"] .ws-music-dock{
 background:rgba(255,255,255,.91)!important;border-color:rgba(20,20,20,.12)!important;color:#171717!important;
 box-shadow:0 18px 55px rgba(20,20,20,.16),inset 0 1px 0 rgba(255,255,255,.8)!important
}
.ws-music-dock .ws-now{min-width:0!important}.ws-music-dock .ws-now strong,.ws-music-dock .ws-now small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-music-dock button{border-radius:999px!important;min-width:40px!important;height:40px!important;transition:transform .18s ease,background .18s ease!important}
.ws-music-dock button:active{transform:scale(.94)}
.ws-music-dock #wsPlayPause{min-width:46px!important;height:46px!important}
.ws-music-dock .ws-wave{border-radius:12px!important}
@media(max-width:650px){
 .ws-music-dock{
  left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;
  bottom:max(10px,env(safe-area-inset-bottom))!important;max-width:none!important;
  padding:10px 11px!important;border-radius:20px!important;
  grid-template-columns:38px minmax(0,1fr) 42px 46px 42px 36px!important;
  gap:7px!important
 }
 .ws-music-dock #wsBack10,.ws-music-dock #wsFwd10{font-size:13px!important;padding:0!important}
 .ws-music-dock #wsDockClose{min-width:36px!important;width:36px!important}
 .ws-music-dock #wsSeek{grid-column:1/6!important;width:100%!important;min-width:0!important;margin:2px 0 0!important}
 .ws-music-dock #wsMusicTime{grid-column:6!important;font-size:11px!important;white-space:nowrap!important}
 .ws-music-dock #wsYTMount{grid-column:1/-1!important;width:100%!important;max-width:100%!important}
}

/* Mobile music dock hotfix: compact, centered, never overflows */
.ws-music-dock{box-sizing:border-box!important}
@media(max-width:650px){
 .ws-music-dock{
  left:12px!important;right:12px!important;bottom:74px!important;
  width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;
  min-width:0!important;margin:0!important;padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 38px 44px 38px 34px!important;
  grid-template-rows:auto auto!important;gap:7px!important;
  border-radius:20px!important;overflow:hidden!important
 }
 .ws-music-dock #wsYTMount{
  position:absolute!important;width:1px!important;height:1px!important;
  min-width:1px!important;max-width:1px!important;opacity:0!important;
  pointer-events:none!important;overflow:hidden!important
 }
 .ws-music-dock #wsYTMount iframe{width:1px!important;height:1px!important;min-width:1px!important;max-width:1px!important}
 .ws-music-dock .ws-wave{grid-column:1!important;grid-row:1!important;width:34px!important;height:34px!important}
 .ws-music-dock .ws-now{grid-column:2!important;grid-row:1!important;min-width:0!important}
 .ws-music-dock #wsBack10{grid-column:3!important;grid-row:1!important}
 .ws-music-dock #wsPlayPause{grid-column:4!important;grid-row:1!important}
 .ws-music-dock #wsFwd10{grid-column:5!important;grid-row:1!important}
 .ws-music-dock #wsDockClose{grid-column:6!important;grid-row:1!important}
 .ws-music-dock #wsSeek{grid-column:1/6!important;grid-row:2!important;width:100%!important;min-width:0!important;margin:0!important}
 .ws-music-dock #wsMusicTime{grid-column:6!important;grid-row:2!important;font-size:10px!important;text-align:right!important;white-space:nowrap!important}
 .ws-music-dock button{min-width:0!important;width:100%!important;padding:0!important}
}

/* Final mobile music dock: restore original full-width feel, premium finish */
@media(max-width:650px){
 #wsMusicDock.ws-music-dock{
  position:fixed!important;left:14px!important;right:14px!important;
  bottom:82px!important;width:auto!important;max-width:none!important;min-width:0!important;
  margin:0!important;box-sizing:border-box!important;overflow:hidden!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 40px 46px 40px 36px!important;
  grid-template-rows:46px 24px!important;column-gap:6px!important;row-gap:4px!important;
  padding:10px 11px 9px!important;border-radius:22px!important;
  background:rgba(18,18,20,.94)!important;border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;-webkit-backdrop-filter:blur(22px) saturate(145%)!important;
  transform:none!important
 }
 #wsMusicDock .ws-wave{grid-column:1!important;grid-row:1!important;align-self:center!important}
 #wsMusicDock .ws-now{display:block!important;grid-column:2!important;grid-row:1!important;align-self:center!important;min-width:0!important}
 #wsMusicDock .ws-now strong{font-size:15px!important;line-height:1.15!important}
 #wsMusicDock .ws-now small{font-size:11px!important;opacity:.68!important;margin-top:3px!important}
 #wsMusicDock #wsBack10{grid-column:3!important;grid-row:1!important}
 #wsMusicDock #wsPlayPause{grid-column:4!important;grid-row:1!important}
 #wsMusicDock #wsFwd10{grid-column:5!important;grid-row:1!important}
 #wsMusicDock #wsDockClose{grid-column:6!important;grid-row:1!important}
 #wsMusicDock #wsSeek{grid-column:1/6!important;grid-row:2!important;width:100%!important;min-width:0!important;align-self:center!important}
 #wsMusicDock #wsMusicTime{grid-column:6!important;grid-row:2!important;align-self:center!important;font-size:9px!important;white-space:nowrap!important}
 #wsMusicDock button{height:40px!important;min-width:0!important;width:100%!important;padding:0!important;border-radius:50%!important}
 #wsMusicDock #wsPlayPause{height:46px!important}
}
html[data-theme="light"] #wsMusicDock.ws-music-dock,html[data-tone="light"] #wsMusicDock.ws-music-dock{
 background:rgba(255,255,255,.95)!important;color:#18181a!important;border-color:rgba(0,0,0,.1)!important;
 box-shadow:0 14px 42px rgba(0,0,0,.14),inset 0 1px 0 #fff!important
}

/* Ensure native hidden attribute always wins over music dock display rules */
#wsMusicDock[hidden]{display:none!important}

/* 2026-10-11 — clean study dashboard, one typographic hero across all devices */
html[data-ui-mode="studio"] .hero{padding:28px 0 5px!important}
html[data-ui-mode="studio"] .hero .hero-inner{text-align:left!important;max-width:1350px}
html[data-ui-mode="studio"] .hero h1{display:block!important;max-width:100%!important;margin:14px 0 9px!important;font-family:var(--ui-font,Inter,system-ui,sans-serif)!important;font-style:normal!important;font-weight:750!important;font-size:clamp(2rem,3.1vw,3rem)!important;line-height:1.12!important;letter-spacing:-.055em!important;text-align:left!important}
html[data-ui-mode="studio"] .hero .ws-mobile-title{display:none!important}
html[data-ui-mode="studio"] .hero p{max-width:640px!important;color:var(--muted)!important;font-size:.91rem!important;text-align:left!important;margin:0!important;line-height:1.58!important}
html[data-ui-mode="studio"] .hero .big-search{max-width:760px!important;margin:19px 0 10px!important}
html[data-ui-mode="studio"] #dashboardWidgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;padding-top:16px!important;align-items:start!important}
html[data-ui-mode="studio"] #dashboardWidgets>.widget{min-width:0;align-self:start!important;min-height:0!important;height:auto!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:none!important;padding:19px 21px!important;background:var(--surface)!important;overflow:hidden;transition:border-color .2s ease,background .2s ease}
html[data-ui-mode="studio"] #dashboardWidgets>.widget:hover{transform:none!important;border-color:var(--line-bold)!important}
html[data-ui-mode="studio"] #dashboardWidgets .widget-header{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:14px!important;min-height:25px}
html[data-ui-mode="studio"] #dashboardWidgets .widget-header svg{width:17px;height:17px;flex:none}
html[data-ui-mode="studio"] #dashboardWidgets .widget-header strong{font-size:.84rem!important;font-weight:720;letter-spacing:-.018em}
html[data-ui-mode="studio"] #dashboardWidgets .widget-header button{font:inherit;font-size:.7rem!important;color:var(--muted)!important;padding:5px 3px;border:0!important;background:transparent!important}
html[data-ui-mode="studio"] #dashboardWidgets .widget-header button:hover{color:var(--text)!important}
html[data-ui-mode="studio"] #dashboardWidgets .timetable-day-select{margin-left:auto;min-height:32px;padding:4px 9px;border:1px solid var(--line-bold);border-radius:9px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:.69rem}
html[data-ui-mode="studio"] #dashboardWidgets>.widget :is(#todayList,#announcementsWidget,#recentWidget,#notesList){min-width:0}
html[data-ui-mode="studio"] #dashboardWidgets .list-row{display:flex;align-items:center;gap:12px;min-height:0!important;width:100%;padding:10px 3px!important;margin:0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--text-soft);text-align:left;box-shadow:none!important;transition:background .17s ease,padding .17s ease}
html[data-ui-mode="studio"] #dashboardWidgets .list-row:last-child{border-bottom:0!important}
html[data-ui-mode="studio"] #dashboardWidgets button.list-row:hover{background:var(--surface-high)!important;padding-left:9px!important;padding-right:9px!important}
html[data-ui-mode="studio"] #dashboardWidgets .list-row .timestamp{font-size:.68rem!important;font-weight:650!important;color:var(--muted);min-width:44px}
html[data-ui-mode="studio"] #dashboardWidgets .list-row .item-body{flex:1;min-width:0}
html[data-ui-mode="studio"] #dashboardWidgets .list-row .item-body strong{display:block;font-size:.77rem!important;line-height:1.5!important;font-weight:660;white-space:normal!important;overflow-wrap:anywhere!important;text-overflow:clip!important;overflow:visible!important;letter-spacing:-.015em}
html[data-ui-mode="studio"] #dashboardWidgets .list-row .item-body span{display:block;color:var(--muted)!important;font-size:.67rem!important;margin-top:3px;line-height:1.35;white-space:normal!important;overflow-wrap:anywhere!important;overflow:visible!important}
html[data-ui-mode="studio"] #dashboardWidgets #todayList .item-body span{display:none}
html[data-ui-mode="studio"] #dashboardWidgets #todayList .list-row{padding:9px 3px!important;min-height:39px!important}
html[data-ui-mode="studio"] #dashboardWidgets .small-icon{width:27px;height:27px;flex:none;border:0!important;background:var(--surface-high)!important;border-radius:9px}
html[data-ui-mode="studio"] #dashboardWidgets .notes-form{margin:4px 0 7px!important;display:flex;gap:7px;align-items:center}
html[data-ui-mode="studio"] #dashboardWidgets .notes-form input{min-height:42px;font-size:.73rem!important;padding:10px 12px;border:1px solid var(--line)!important;border-radius:10px;background:var(--surface-soft)!important}
html[data-ui-mode="studio"] #dashboardWidgets .notes-form input:focus{border-color:var(--line-bold)!important;box-shadow:0 0 0 2px var(--surface-high)}
html[data-ui-mode="studio"] #dashboardWidgets .notes-form button{height:40px;width:40px;border-radius:10px}
html[data-ui-mode="studio"] #dashboardWidgets #notesList .load-state{min-height:0!important;padding:9px 2px 4px!important;text-align:left!important;font-size:.71rem!important;color:var(--muted)!important}
html[data-ui-mode="studio"] #dashboardWidgets #notesList .task-row{min-height:39px!important;font-size:.74rem!important}
html[data-ui-mode="studio"] #dashboardWidgets button:focus-visible,html[data-ui-mode="studio"] #dashboardWidgets select:focus-visible{outline:2px solid var(--text-soft);outline-offset:3px}
@media(max-width:850px){
 html[data-ui-mode="studio"] #dashboardWidgets{grid-template-columns:1fr!important;gap:12px!important}
 html[data-ui-mode="studio"] #dashboardWidgets>.widget{padding:16px 16px!important;border-radius:15px!important}
 html[data-ui-mode="studio"] .hero .hero-inner{text-align:left!important}
 html[data-ui-mode="studio"] .hero h1{font-size:clamp(1.85rem,7.3vw,2.25rem)!important;margin:10px 0 9px!important}
 html[data-ui-mode="studio"] .hero p{text-align:left!important;font-size:.82rem!important;line-height:1.5!important}
 html[data-ui-mode="studio"] .hero .eyebrow-pill{margin:0!important}
}
@media(max-width:420px){
 html[data-ui-mode="studio"] #dashboardWidgets>.widget{padding:14px 13px!important}
 html[data-ui-mode="studio"] #dashboardWidgets .widget-header{gap:5px}
 html[data-ui-mode="studio"] #dashboardWidgets .widget-header strong{font-size:.76rem!important}
 html[data-ui-mode="studio"] #dashboardWidgets .list-row .item-body strong{font-size:.73rem!important}
}
@media(prefers-reduced-motion:reduce){html[data-ui-mode="studio"] #dashboardWidgets .list-row{transition:none!important}}

/* 2026-10-11 — center the study-library hero on BOTH desktop and mobile.
   Override earlier left-alignment rules without modifying the classic layout,
   dashboard widgets, navigation, or the search input's typing direction. */
html[data-ui-mode="studio"] .hero .hero-inner{
  text-align:center!important;
}
html[data-ui-mode="studio"] .hero .eyebrow-pill{
  margin:0 auto!important;
}
html[data-ui-mode="studio"] .hero h1{
  text-align:center!important;
  margin:14px auto 9px!important;
  text-wrap:balance;
}
html[data-ui-mode="studio"] .hero p{
  text-align:center!important;
  margin:0 auto!important;
  max-width:min(100%,720px)!important;
  text-wrap:pretty;
}
html[data-ui-mode="studio"] .hero .big-search{
  margin:19px auto 10px!important;
  width:100%;
  max-width:760px!important;
}
html[data-ui-mode="studio"] #workspaceHomeActions{
  justify-content:center!important;
  margin-inline:auto!important;
}
@media(max-width:850px){
  html[data-ui-mode="studio"] .hero .hero-inner{text-align:center!important}
  html[data-ui-mode="studio"] .hero .eyebrow-pill{margin:0 auto!important}
  html[data-ui-mode="studio"] .hero h1{text-align:center!important;margin:10px auto 9px!important}
  html[data-ui-mode="studio"] .hero p{text-align:center!important;margin:0 auto!important;max-width:min(100%,540px)!important}
  html[data-ui-mode="studio"] .hero .big-search{margin:19px auto 10px!important}
}

/* Motivational hero subtitle: comfortably readable, but not oversized. */
html[data-ui-mode="studio"] .hero p{
  font-size:clamp(.99rem,1.15vw,1.1rem)!important;
  font-weight:450!important;
  letter-spacing:-.012em;
  line-height:1.6!important;
  text-align:center!important;
  margin:0 auto!important;
}
@media(max-width:850px){
  html[data-ui-mode="studio"] .hero p{
    font-size:.93rem!important;
    line-height:1.55!important;
  }
}

/* 8aPDF Typing Hero — centered typographic headline, not a card or a banner. */
html[data-ui-mode="studio"] .hero :is(h1,h2).study-typing-heading{
  position:relative;
  display:block!important;
  width:100%;
  max-width:min(100%,1100px)!important;
  min-height:1.28em;
  margin:14px auto 9px!important;
  text-align:center!important;
  line-height:1.14!important;
  overflow-wrap:normal;
  text-wrap:balance;
}
html[data-ui-mode="studio"] .hero #studyTypingText{
  font:inherit;
  letter-spacing:inherit;
  color:inherit;
}
html[data-ui-mode="studio"] .hero .study-typing-caret{
  display:inline-block;
  vertical-align:-.105em;
  height:.9em;
  width:3px;
  margin-inline-start:.09em;
  border-radius:3px;
  background:currentColor;
  animation:studyTypingBlink 1s steps(1,end) infinite;
}
@keyframes studyTypingBlink{
  0%,49%{opacity:.92}
  50%,100%{opacity:0}
}
html[data-ui-mode="studio"] .hero .study-typing-heading.study-typing-still .study-typing-caret{display:none}
@media(max-width:850px){
 html[data-ui-mode="studio"] .hero :is(h1,h2).study-typing-heading{
   min-height:2.35em;
   font-size:clamp(1.85rem,7.3vw,2.25rem)!important;
   line-height:1.14!important;
   margin:10px auto 9px!important;
 }
}
@media(max-width:375px){
 html[data-ui-mode="studio"] .hero :is(h1,h2).study-typing-heading{
   min-height:2.5em;
   font-size:clamp(1.6rem,7.7vw,1.85rem)!important;
 }
}
@media(prefers-reduced-motion:reduce){
 html[data-ui-mode="studio"] .hero .study-typing-caret{animation:none!important;display:none!important}
}
html[data-motion="off"][data-ui-mode="studio"] .hero .study-typing-caret{animation:none!important;display:none!important}
