/* Generated copies of existing navigation-only rules; no business selectors. */
:root body .desktop-side-links .desktop-side-label-compact{display:none!important;}
/* Reused from style.css */
body.wb-titanium .desktop-side-nav{
    display: none;
}
@media (min-width: 1100px){
body.wb-titanium .desktop-side-nav{
        position: fixed;
        z-index: 20;
        top: 20px;
        bottom: 20px;
        left: 20px;
        display: flex;
        width: 164px;
        flex-direction: column;
        border: 1px solid var(--titanium-line);
        border-radius: var(--titanium-radius);
        background: var(--titanium-brush);
        padding: 14px 10px;
        box-shadow: var(--titanium-shadow-1), inset 0 1px 0 rgba(255, 255, 255, .9);
    }
body.wb-titanium .desktop-side-brand{
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 7px 20px;
        color: var(--titanium-graphite);
        font-size: 14px;
        font-weight: 850;
    }
body.wb-titanium .desktop-side-brand img{ width: 28px; height: 28px; border-radius: 7px; }
body.wb-titanium .desktop-side-links{ display: grid; gap: 6px; }
body.wb-titanium .desktop-side-links a{ display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 7px; min-height: 42px; border-radius: 6px; padding: 8px; color: var(--titanium-muted); font-size: 13px; font-weight: 720; transition: background var(--titanium-motion) var(--titanium-ease), color var(--titanium-motion) var(--titanium-ease), transform var(--titanium-motion) var(--titanium-ease); }
body.wb-titanium .desktop-side-links i{ display: grid; place-items: center; font-style: normal; font-size: 17px; line-height: 1; }
body.wb-titanium .desktop-side-links a.active{ background: var(--titanium-blue-soft); color: var(--primary-strong); }
body.wb-titanium .desktop-side-links a:hover{ background: rgba(255, 255, 255, .72); color: var(--titanium-graphite); transform: translateX(2px); }
}
@media print{
body.wb-titanium .desktop-side-nav{ display: none !important; }
}
body.wb-titanium.theme-aurora-titanium .desktop-side-nav{
    border-color: #bcc4c5;
    background: var(--titanium-metal);
    box-shadow: inset 1px 0 0 rgba(255, 255, 255, .92), inset -1px 0 0 rgba(86, 96, 98, .08), 0 5px 16px rgba(46, 57, 59, .11);
}
body.wb-titanium.theme-aurora-titanium .desktop-side-links a.active{
    border: 1px solid rgba(161, 176, 181, .34);
    background: linear-gradient(90deg, rgba(255, 255, 255, .78), rgba(231, 240, 243, .76));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), 0 2px 4px rgba(50, 61, 63, .08);
}
body.wb-titanium.theme-aurora-titanium .desktop-side-nav{
    border-color: #aeb5b6;
    background: linear-gradient(110deg, rgba(255, 255, 255, .52), rgba(255, 255, 255, .08) 48%, rgba(117, 125, 126, .06)), repeating-linear-gradient(0deg, #e1e3e3 0, #e1e3e3 1px, #e9eaea 1px, #e9eaea 3px);
    box-shadow: var(--titanium-metal-rim), 0 5px 13px rgba(42, 50, 52, .14);
}
/* Reused from site-layout.css */
body.wb-titanium .desktop-side-nav{display:none!important}
@media (min-width: 1180px){
body.wb-titanium .desktop-side-nav{
        display: flex !important; flex-direction: column; position: fixed; inset: 0 auto 0 0;
        width: var(--workspace-sidebar); height: 100dvh; margin: 0; padding: 32px 18px;
        border: 0; border-right: 1px solid var(--line); border-radius: 0;
        background: var(--panel); box-shadow: none; z-index: 105;
    }
body.wb-titanium .desktop-side-brand{ min-height: 52px; padding: 0 12px; margin: 0 0 34px; gap: 12px; font-size: 21px; }
body.wb-titanium .desktop-side-brand img{ width: 34px; height: 34px; border-radius: 9px; }
body.wb-titanium .desktop-side-links{ display: grid; gap: 8px; }
body.wb-titanium .desktop-side-links a{ grid-template-columns: 22px minmax(0,1fr); gap: 12px; min-height: 50px; padding: 12px 14px; font-size: 15px; border-radius: 9px; }
body.wb-titanium .desktop-side-links a.active{ background: color-mix(in srgb,var(--workspace-accent) 15%,transparent); color: var(--text); border-left: 3px solid var(--workspace-accent); }
}
@media (max-width: 1179px){
body.wb-titanium .desktop-side-nav{ display: none !important; }
}
@media print{
body.wb-titanium .desktop-side-nav{ display: none !important; }
}
body.wb-titanium .desktop-side-links img{ width: 21px; height: 21px; opacity: .76; }
body.wb-titanium[data-theme="opal_obsidian"] .desktop-side-links img{ filter: brightness(0) invert(.88); }
body.wb-titanium .desktop-side-links a.active img{ opacity: 1; }
/* Reused from skins.css */
:root[data-skin] body.wb-titanium .desktop-side-nav{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;}
:root[data-skin] body.wb-titanium .desktop-side-brand{position:relative;isolation:isolate;background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important;}
:root[data-skin] body.wb-titanium .desktop-side-brand::before{content:'';position:absolute;inset:-3px -3px;z-index:-1;pointer-events:none;background:#101215;clip-path:polygon(2% 13%,83% 0,81% 12%,100% 3%,94% 90%,0 100%);}
:root[data-skin] body.wb-titanium .desktop-side-links a{position:relative;isolation:isolate;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;clip-path:none!important;overflow:visible!important;font-weight:900!important;transform:none!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a::before{content:'';position:absolute;inset:0;z-index:-1;background:#101215!important;pointer-events:none;}
:root[data-skin] body.wb-titanium .desktop-side-links a::after{content:'';position:absolute;inset:5px -5px -5px 5px;z-index:-2;background:var(--skin-hit)!important;pointer-events:none;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active{color:#101215!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active img{filter:brightness(0)!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a:not(.active) img{filter:brightness(0) invert(1)!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a span{font-style:normal!important;text-shadow:none!important;filter:none!important;transform:none!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a:focus-visible{outline:3px solid var(--skin-focus)!important;outline-offset:8px!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a:not(.active):hover::before{background:#303137!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a:active{transform:none!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a:active::before{translate:1px 1px;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active::after{animation:skin-selection-arrive 180ms ease-out both;}
@media(min-width:1180px){
:root[data-skin] body.wb-titanium .desktop-side-brand{font-size:27px!important;line-height:1.25!important;min-height:70px!important;padding:12px 9px!important;margin-bottom:34px!important;border:0!important;box-shadow:5px 5px 0 var(--skin-hit)!important;}
:root[data-skin] body.wb-titanium .desktop-side-brand img{width:38px;height:38px;border-radius:8px;}
:root[data-skin] body.wb-titanium .desktop-side-links{gap:24px!important;padding:7px 4px!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a{grid-template-columns:30px minmax(0,1fr)!important;gap:10px!important;padding:16px 10px!important;min-height:88px!important;font-size:23px!important;line-height:1.25!important;letter-spacing:-.6px;}
:root[data-skin] body.wb-titanium .desktop-side-links a img{width:29px!important;height:29px!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a span{font-weight:950!important;white-space:nowrap;}
:root[data-skin] body.wb-titanium .desktop-side-links a::before{inset:-3px -4px!important;clip-path:polygon(5% 8%,72% 1%,69% 9%,100% 0,91% 83%,94% 89%,0 100%,3% 47%,0 41%)!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a:nth-child(2n)::before{clip-path:polygon(0 15%,96% 0,93% 19%,100% 16%,90% 89%,4% 100%,5% 79%,0 84%)!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a::after{inset:6px -7px -7px 1px!important;clip-path:polygon(0 7%,100% 0,89% 91%,96% 88%,90% 100%,2% 100%)!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active{outline:0!important;color:#111!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active::before{background:var(--skin-selection)!important;filter:drop-shadow(3px 0 #111) drop-shadow(-3px 0 #111) drop-shadow(0 3px #111) drop-shadow(0 -3px #111);}
:root[data-skin] body.wb-titanium .desktop-side-links a.active::after{background:var(--skin-spark)!important;inset:5px -10px -9px 0!important;clip-path:polygon(2% 6%,100% 0,94% 94%,0 100%)!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active:hover::before{background:var(--skin-selection)!important;}
}
@media(prefers-reduced-motion:reduce){
:root[data-skin] body.wb-titanium .desktop-side-links a,:root[data-skin] body.wb-titanium .desktop-side-links a::before,:root[data-skin] body.wb-titanium .desktop-side-links a::after{animation:none!important;transition:none!important;translate:none!important;}
}
@media(forced-colors:active){
:root[data-skin] body.wb-titanium .desktop-side-links a{color:ButtonText!important;background:ButtonFace!important;border:2px solid ButtonText!important}
:root[data-skin] body.wb-titanium .desktop-side-links a::before,:root[data-skin] body.wb-titanium .desktop-side-links a::after{display:none!important}
:root[data-skin] body.wb-titanium .desktop-side-links a.active{outline:3px solid Highlight!important}
}
:root[data-skin] body.wb-titanium .desktop-side-links a.active:focus-visible{outline:3px solid var(--skin-focus)!important;outline-offset:8px!important;}
@media(forced-colors:active){
:root[data-skin] body.wb-titanium .desktop-side-links a.active:focus-visible{outline-color:Highlight!important;}
}
:root[data-skin] body.wb-titanium .desktop-side-links a{--skin-nav-face:polygon(3% 10%,96% 0,94% 22%,99% 18%,96% 40%,100% 48%,96% 62%,99% 82%,94% 78%,94% 96%,0 100%,2% 55%,0 29%);--skin-nav-cut:polygon(0 6%,95% 0,94% 12%,100% 8%,97% 32%,100% 43%,96% 57%,100% 80%,95% 75%,98% 98%,0 100%,2% 50%);}
:root[data-skin] body.wb-titanium .desktop-side-links a > :is(span,img){position:relative!important;z-index:3!important;transform:none!important;translate:none!important;rotate:none!important;clip-path:none!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a > span{min-width:0;box-sizing:border-box;padding-inline:1px 8px;text-shadow:none!important;filter:none!important;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active::before{inset:-3px -4px!important;background:var(--skin-selection)!important;clip-path:var(--skin-nav-face)!important;z-index:1;pointer-events:none;filter:drop-shadow(2px 0 #101215) drop-shadow(-2px 0 #101215) drop-shadow(0 2px #101215) drop-shadow(0 -2px #101215);}
:root[data-skin] body.wb-titanium .desktop-side-links a.active::after{inset:-5px -7px -7px -5px!important;background:#ed1736!important;clip-path:var(--skin-nav-cut)!important;z-index:0;pointer-events:none;filter:drop-shadow(3px 3px 0 var(--skin-hit));animation:none;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active.skin-nav-ack::before{animation:skin-nav-face-open 170ms ease-out both;}
:root[data-skin] body.wb-titanium .desktop-side-links a.active.skin-nav-ack::after{animation:skin-nav-cut-open 210ms ease-out both;}
@media(prefers-reduced-motion:reduce){
:root[data-skin] body.wb-titanium .desktop-side-links a.active.skin-nav-ack::before,:root[data-skin] body.wb-titanium .desktop-side-links a.active.skin-nav-ack::after{animation:none!important;scale:1!important;translate:none!important;opacity:1!important;}
}
:root[data-skin] body.wb-titanium .desktop-side-brand > :is(span,img){position:relative!important;z-index:2!important;}
@media(forced-colors:active){
:root[data-skin] body.wb-titanium .desktop-side-links a.active{background:ButtonFace!important;color:ButtonText!important;}
}
/* Windowed whiteboard keeps primary navigation. Only the native fullscreen
   diagnostic, populated from the verified fullscreen owner, hides it on screen.
   Timer immersion remains an existing modal top-layer exception. */
:root body.wb-titanium{--wb-primary-nav-width:226px;}
:root body.wb-titanium .desktop-side-nav{
 box-sizing:border-box;display:flex!important;flex-direction:column;position:fixed;inset:0 auto 0 0;
 width:var(--wb-primary-nav-width)!important;height:100dvh;margin:0!important;padding:32px 18px!important;
 z-index:111;overflow-y:auto!important;overflow-x:hidden!important;
}
:root body.wb-titanium .desktop-side-brand{display:flex;align-items:center;flex-shrink:0;}
:root body.wb-titanium .desktop-side-links{display:grid;gap:24px;padding:7px 4px;}
:root body.wb-titanium .desktop-side-links a{display:grid;text-decoration:none;align-items:center;box-sizing:border-box;}
:root:not([data-native-fullscreen=true]) body.wb-titanium .wb-heading{margin-left:var(--wb-primary-nav-width)!important;}
:root:not([data-native-fullscreen=true]) body.wb-titanium .wb-heading-brand{display:none!important;}
:root:not([data-native-fullscreen=true]) body.wb-titanium main.app-shell{left:calc(var(--wb-primary-nav-width) + 3.2vw)!important;}
:root[data-native-fullscreen=true] body :is(.desktop-side-nav){display:none!important;}
/* Every ordinary page recovers rail width at every viewport in real fullscreen. */
:root[data-native-fullscreen=true] body.site-touch-layout main.app-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-inline:clamp(12px,2.5vw,48px)!important;}
/* Use the existing five links as a bottom row at the shared mobile breakpoint.
   Native fullscreen keeps its existing hidden-navigation behavior. */
@media screen and (max-width:1179px){
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium{--wb-primary-nav-width:0px;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium main.app-shell{bottom:calc(max(var(--wb-dock),154px) + 12px + env(safe-area-inset-bottom))!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-nav{
  inset:auto auto calc(max(76px,var(--classroom-bottom-reserve,0px)) + env(safe-area-inset-bottom)) 50%!important;transform:translateX(-50%);
  display:flex!important;flex-direction:column;width:min(660px,calc(100% - 24px))!important;
  height:auto!important;min-height:72px;padding:8px!important;border:0!important;border-radius:18px;
  background:var(--geo-paper,var(--panel))!important;box-shadow:none!important;overflow:visible!important;z-index:111;
 }
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-brand{display:none!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:4px!important;padding:0!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a{
  display:flex!important;flex-direction:column;justify-content:center;gap:4px!important;
  min-width:0;min-height:56px!important;padding:6px!important;font-size:13px!important;line-height:1.2!important;
  color:var(--geo-ink,var(--text))!important;background:transparent!important;border:0!important;border-radius:8px!important;box-shadow:none!important;
 }
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a::before,
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a::after{display:none!important;content:none!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a.active{background:var(--geo-yellow)!important;color:#101114!important;font-weight:700!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a img{width:20px!important;height:20px!important;filter:var(--geo-icon-filter)!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a.active img{filter:brightness(0)!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links a span{white-space:nowrap!important;text-align:center;padding:0!important;font-weight:inherit!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links .desktop-side-label{display:none!important;}
 :root:root:root:not([data-native-fullscreen=true]) body.wb-titanium .desktop-side-links .desktop-side-label-compact{display:block!important;}
 :root:root:root:root:not([data-native-fullscreen=true]) body.wb-titanium:has([data-floating-main-actions]:not([hidden])) .desktop-side-nav{bottom:calc(max(128px,var(--classroom-bottom-reserve,0px)) + env(safe-area-inset-bottom))!important;}
 :root:root:root:root:not([data-native-fullscreen=true]) body.wb-titanium.page-classroom_tools[data-classroom-bottom-tool] main.app-shell{bottom:calc(var(--classroom-bottom-reserve,100px) + 84px + env(safe-area-inset-bottom))!important;}
}
@media(max-width:760px){
 :root:not([data-native-fullscreen=true]) body.wb-titanium main.app-shell{left:calc(var(--wb-primary-nav-width) + 12px)!important;}
 :root:not([data-native-fullscreen=true]) body.wb-titanium .wb-heading{padding-inline:12px!important;gap:8px!important;}
 :root:not([data-native-fullscreen=true]) body.wb-titanium .wb-heading h1{font-size:clamp(20px,5vw,28px)!important;white-space:normal!important;}
}
@media screen and (min-width:1180px){
 :root:root body.wb-titanium .desktop-side-nav{overflow-y:auto!important;overflow-x:hidden!important;}
}
@media print{:root[data-skin] body.wb-titanium .desktop-side-nav,:root[data-skin] body.site-touch-layout .desktop-side-nav{display:none!important;}}
