/* Studio desk — an editorial home, with direct access to working tools. */
html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}
body:has(.hub-layout){background:#ffffff;color:#252720;--paper:#ffffff;--card:#ffffff;--ink:#252720;--line:#d6d5cc;--muted:#707267;--accent:#C52F2F}
body:has(.hub-layout) .portal-header{height:86px;margin:0 4vw;gap:22px;border-bottom:1px solid var(--line)}
body:has(.hub-layout) .wordmark{font-size:29px;letter-spacing:-1.5px}body:has(.hub-layout) .workspace-label{font-size:10px;letter-spacing:1.5px}body:has(.hub-layout) .header-tools{gap:14px}body:has(.hub-layout) .role-dot i{background:var(--accent)}
body:has(.hub-layout) .portal-main{max-width:1600px;margin:auto;padding:46px 4vw 100px}body:has(.hub-layout) #portal>footer{display:none}
.hub-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}.hub-apps{min-width:0}
.home-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:42px}.home-kicker{font-size:10px;letter-spacing:2px;font-weight:650;display:block;margin-bottom:19px}.home-intro h1{font-size:clamp(42px,4.8vw,75px);line-height:1.01;letter-spacing:-3.3px;font-weight:650;margin:0}.home-intro h1>span{color:var(--accent)}.home-stamp{font-size:116px;line-height:1;font-weight:400;color:var(--accent);transform:rotate(-12deg);padding-right:10px}
.launcher-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:2px solid var(--ink)}.launcher-toolbar h2{font-size:14px;font-weight:650;margin:0;letter-spacing:0}.launcher-toolbar h2>span{font-size:10px;color:var(--muted);font-weight:400;margin-left:9px}
.launcher-search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);width:185px;padding:6px 0}.launcher-search svg{width:15px;height:15px;color:var(--muted)}.launcher-search input{border:0;background:none;min-width:0;width:100%;font-size:12px;color:var(--ink);outline:none}.launcher-search:focus-within{border-color:var(--accent)}.launcher-search kbd{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:1px 4px}
.launcher-app{display:flex;align-items:center;gap:17px;padding:23px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .15s,padding .15s}.launcher-app[hidden]{display:none}.launcher-app:hover:not(.planned){background:#f5f5f5;padding-left:12px;padding-right:12px}.app-index{font:11px ui-monospace,monospace;color:var(--muted);width:19px;flex-shrink:0}.launcher-icon{display:grid;place-items:center;width:39px;height:39px;flex-shrink:0;color:var(--ink)}.launcher-icon svg{width:26px;height:26px;stroke-width:1.4}.launcher-icon img{width:38px;height:38px;object-fit:contain}.launcher-copy{min-width:0;flex:1}.launcher-copy h3{font-size:23px;letter-spacing:-.7px;line-height:1.2;font-weight:550;margin:0}.launcher-copy p{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0 0;max-width:420px}.launcher-go{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.launcher-go svg{width:17px;height:17px}.launcher-app:hover .launcher-go{background:var(--accent);color:#fff;border-color:var(--accent)}
.launcher-upcoming{margin-top:29px}.launcher-upcoming h2{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 7px}.launcher-app.planned{opacity:.45;filter:grayscale(1);padding-top:16px;padding-bottom:16px}.planned h3{font-size:17px;letter-spacing:-.25px}.planned .launcher-icon{width:30px;height:30px}.planned .launcher-icon svg{width:21px;height:21px}.hub-type-icon{font:23px Georgia,serif}.soon-label{font-size:10px;color:var(--muted)}.launcher-empty{padding:35px 0;font-size:14px}
.hub-links{position:sticky;top:28px;background:#292e27;color:#ffffff;border-radius:3px;padding:28px 22px 12px;--paper:#353b31;--card:#292e27;--ink:#ffffff;--line:#57604e;--muted:#bdc5b1;max-height:calc(100dvh - 56px);overflow:auto;scrollbar-width:thin;scrollbar-color:#56604d transparent;border-top:5px solid #C52F2F}
.ql-compact .ql{margin:0;padding:0;border:0}.ql-compact .ql-header{position:relative;display:flex;align-items:center;justify-content:space-between;margin:0 0 30px;gap:8px}.ql-compact .ql-header h2{font-size:25px;font-weight:500;letter-spacing:-.9px;margin:0}.ql-compact .ql-header h2>span,.ql-compact .ql-header .eyebrow,.ql-compact .ql-header p{display:none}
.ql-options summary{list-style:none;cursor:pointer;font-size:16px;padding:4px 6px;letter-spacing:1px;color:var(--muted)}.ql-options summary::-webkit-details-marker{display:none}.ql-options-panel{position:absolute;top:35px;right:0;width:225px;background:var(--card);border:1px solid var(--line);padding:14px;z-index:5;box-shadow:0 8px 20px #0003;border-radius:6px}.ql-compact .ql-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}.ql-compact .ql-button{font-size:12px;padding:10px;border-radius:4px}.ql-compact .ql-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:14px 0 0}.ql-compact .ql-search{min-width:0;padding:0 8px}.ql-compact .ql-search input{font-size:12px;padding:10px 0}.ql-compact .ql-toolbar select{font-size:12px;padding:10px}.ql-compact #ql-count{font-size:11px}
.ql-compact .ql-group{margin-bottom:26px}.ql-compact .ql-group h3{font-size:11px;letter-spacing:.25px;font-weight:500;color:var(--muted);margin-bottom:16px}.ql-compact .ql-group h3 span,.ql-compact .ql-group h3 small{display:none}.ql-compact .ql-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ql-compact .ql-tile{border:0;background:none;border-radius:4px}.ql-compact .ql-tile>a,.ql-compact .ql-placeholder{min-height:106px;padding:5px 0;gap:10px;justify-content:flex-start}.ql-compact .ql-tile strong{font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:normal}.ql-compact .ql-icon{width:44px;height:44px;border:1px solid #65705b;background:#3c4435;color:#e6efda;border-radius:10px;font-size:16px}.ql-compact .ql-icon img{width:31px;height:31px;background:#fff;border-radius:6px;padding:3px}.ql-compact .ql-tile small,.ql-compact .ql-external,.ql-compact .ql-personal-empty{display:none}.ql-compact .ql-edit{padding:3px;font-size:11px}.ql-compact .ql-tile:hover{background:#ffffff08;transform:none;box-shadow:none}
[data-theme=dark] body:has(.hub-layout){background:#20221e;--paper:#20221e;--card:#292e27;--ink:#f3f1e9;--line:#45483f;--muted:#a7ac9f;--accent:#C52F2F}
[data-theme=dark] .launcher-app:hover:not(.planned){background:#2d3029}[data-theme=dark] .hub-links{background:#161b15}
.app-switcher{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:90;font-family:Inter,'Segoe UI',sans-serif;color:var(--ink,#242624)}
.switch-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line,#deded7);border-radius:22px;padding:11px 17px;background:var(--card,#fff);color:inherit;box-shadow:0 6px 30px #0002;cursor:pointer;font-size:12px}.switch-toggle>span:first-child{font-size:23px;line-height:1}.switch-chevron{color:var(--muted,#70726d);font-size:14px}
.app-switcher nav{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:12px;border:1px solid var(--line,#deded7);border-radius:22px;background:var(--card,#fff);box-shadow:0 15px 45px #0003;width:max-content;max-width:calc(100vw - 24px)}.app-switcher nav[hidden]{display:none}.app-switcher a{display:flex;flex-direction:column;align-items:center;gap:8px;width:77px;padding:8px 3px;text-decoration:none;color:inherit;font-size:10px;text-align:center;border-radius:13px}.app-switcher a:hover,.app-switcher a[aria-current=page]{background:var(--paper,#ffffff)}.switch-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-size:25px;color:white;background:#43525b;box-shadow:inset 0 1px 1px #fff5}.switch-icon.blue{background:#798fb3}.switch-icon.green{background:#7aa18b}.switch-icon.orange{background:#d48a60}.switch-icon.purple{background:#9c82bc}


.app-switcher nav{overflow-x:auto}.switch-icon.pink{background:#b98da3;font-family:Georgia,serif;font-size:21px}.switch-icon.sand{background:#b79777}
body:has(.hub-layout) .app-switcher{display:none}
@media(max-width:1100px){.hub-layout{grid-template-columns:minmax(0,1fr) 265px;gap:35px}.hub-links{padding-left:18px;padding-right:18px}.home-stamp{font-size:87px}.launcher-copy h3{font-size:21px}.home-intro h1{font-size:55px}}
@media(max-width:780px){body:has(.hub-layout) .portal-header{height:auto;min-height:75px;gap:12px;padding:18px 0}.hub-layout{grid-template-columns:1fr}.hub-links{position:relative;top:auto;max-height:none;margin-top:10px;padding:25px}.ql-compact .ql-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-intro{margin-bottom:30px}.home-intro h1{font-size:54px}.home-stamp{font-size:94px}.launcher-app{gap:12px}.launcher-copy h3{font-size:21px}.launcher-copy p{font-size:12px}.app-index{display:none}.launcher-search{width:145px}}
@media(max-width:420px){.home-intro h1{font-size:44px;letter-spacing:-2px}.home-stamp{font-size:67px}.launcher-copy h3{font-size:19px}.launcher-icon{width:31px}.launcher-icon img{width:31px}.ql-compact .ql-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header-tools{gap:5px!important}}
@media(prefers-reduced-motion:reduce){.launcher-app,.ql-tile{transition:none}}

/* Expandable floating shortcuts: compact by default, details on demand. */
.hub-layout{grid-template-columns:minmax(0,1fr) 224px;gap:60px}
.hub-links,[data-theme=dark] .hub-links{position:fixed;right:4vw;top:116px;bottom:28px;width:224px;max-height:max-content;max-height:calc(100dvh - 144px);padding:15px 14px 8px;border:1px solid var(--line);border-radius:23px;background:var(--card);color:var(--ink);box-shadow:0 12px 40px #25272014,0 2px 6px #25272007;--paper:#ffffff;--card:#ffffff;--ink:#252720;--line:#deded4;--muted:#73776b;z-index:15;scrollbar-color:#d8dace transparent}
[data-theme=dark] .hub-links{--paper:#262d24;--card:#30372c;--ink:#ffffff;--line:#515c46;--muted:#bdc5b1}
.hub-links.links-expanded{width:min(490px,calc(100vw - 48px));padding:21px 22px 14px;box-shadow:0 18px 65px #25272030,0 2px 8px #2527200a}
.ql-compact .ql-header{margin-bottom:15px;gap:10px;min-height:30px}.ql-compact:not(.ql-expanded) .ql-header>div:first-of-type{display:none}.ql-compact .ql-options{margin-left:auto}
.ql-expand{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:21px;cursor:pointer;flex-shrink:0}.ql-expand:hover,.ql-options summary:hover{background:var(--paper)}.ql-options summary{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;font-size:15px;letter-spacing:0;color:var(--ink)}
.ql-compact .ql-header h2{font-size:20px;letter-spacing:-.5px}.ql-compact:not(.ql-expanded) .ql-group h3{display:none}.ql-compact .ql-group{margin:0;padding:16px 0;border-top:1px solid var(--line)}.ql-compact .ql-group:first-child{border-top:0;padding-top:0}.ql-compact .ql-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ql-compact .ql-icon{width:45px;height:45px;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:12px}.ql-compact .ql-tile>a,.ql-compact .ql-placeholder{min-height:94px;padding:7px 1px;gap:9px}.ql-compact .ql-tile strong{font-size:12px;line-height:1.4;font-weight:500;color:var(--ink)}.ql-compact .ql-tile:hover{background:var(--paper)}
.ql-options-panel{top:36px;width:195px;border-radius:12px;padding:12px;background:var(--card);color:var(--ink);border:1px solid var(--line)}
.ql-expanded .ql-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ql-expanded .ql-group{padding:22px 0}.ql-expanded .ql-group h3{display:block;font-size:14px;font-weight:600;letter-spacing:0;color:var(--ink);margin:0 0 16px}.ql-expanded .ql-group h3>span{display:inline;font-size:11px}.ql-expanded .ql-group h3 small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:7px}.ql-expanded .ql-header p{display:block;font-size:12px;line-height:1.5;margin-top:5px}.ql-expanded .ql-tile small{display:block;font-size:10px;color:var(--muted)}.ql-expanded .ql-tile>a,.ql-expanded .ql-placeholder{min-height:123px}.ql-expanded .ql-tile strong{font-size:13px}.ql-expanded .ql-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:4px 0 20px}.ql-expanded .ql-search{flex-basis:100%}.ql-expanded .ql-toolbar select{flex:1;max-width:none;min-width:0}.ql-expanded #ql-count{align-self:center}.ql-expanded .ql-personal-empty{display:flex;padding:15px;margin-top:15px;gap:12px}.ql-expanded .ql-personal-empty h3{font-size:14px}.ql-expanded .ql-personal-empty p{font-size:12px}
@media(max-width:1100px){.hub-layout{grid-template-columns:minmax(0,1fr) 210px;gap:28px}.hub-links{width:210px;right:4vw}}
@media(max-width:780px){.hub-layout{grid-template-columns:1fr}.hub-links,[data-theme=dark] .hub-links{position:relative;right:auto;top:auto;bottom:auto;width:224px;max-height:65dvh;margin:0 0 0 auto}.hub-links.links-expanded{width:100%;max-height:75dvh}.ql-expanded .ql-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* App tiles on the studio desk. */
.launcher-toolbar{margin-bottom:20px}.launcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.launcher-app{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-height:207px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--card);transition:border-color .15s,box-shadow .15s}
.launcher-app:hover:not(.planned){padding:24px;background:var(--card);border-color:var(--accent);box-shadow:0 5px 16px #25272009}
.launcher-app .app-index{position:absolute;top:26px;right:24px;font-size:10px;width:auto}.launcher-icon{width:48px;height:48px;border-radius:13px;background:var(--paper)}.launcher-icon img{width:44px;height:44px}.launcher-copy{flex:1;padding-right:12px}.launcher-copy h3{font-size:21px;line-height:1.25;letter-spacing:-.6px}.launcher-copy p{font-size:12px;line-height:1.6;margin-top:8px;padding-right:12px}.launcher-go{position:absolute;right:20px;bottom:20px;width:28px;height:28px}.launcher-go svg{width:15px;height:15px}
.launcher-app.planned{padding:21px;min-height:127px;gap:14px;background:transparent}.planned .launcher-copy{padding-right:35px}.planned h3{font-size:16px}.soon-label{position:absolute;right:20px;bottom:21px}.launcher-upcoming{margin-top:26px}.launcher-upcoming h2{margin-bottom:14px}
@media(max-width:1100px){.launcher-app,.launcher-app:hover:not(.planned){padding:20px;min-height:213px}.launcher-copy h3{font-size:19px}.launcher-app .app-index{top:23px;right:20px}.launcher-copy p{padding-right:5px}}
@media(max-width:780px){.launcher-grid{gap:13px}.launcher-app,.launcher-app:hover:not(.planned){padding:20px;min-height:210px}.launcher-copy{padding-right:0}.launcher-copy p{padding-right:0}.launcher-go{display:none}.launcher-app.planned{padding:18px;min-height:140px}.soon-label{position:static}.planned .launcher-copy{padding-right:0}}
@media(max-width:420px){.launcher-app,.launcher-app:hover:not(.planned){padding:17px;min-height:227px}.launcher-copy h3{font-size:18px}.launcher-copy p{font-size:11px}.launcher-app .app-index{display:block;top:20px;right:16px}.launcher-icon{width:40px;height:40px}.launcher-icon img{width:36px;height:36px}}

/* Compact shortcuts use a single vertical column; expanded view keeps its overview. */
@media(min-width:781px){.hub-layout{grid-template-columns:minmax(0,1fr) 120px;gap:45px}}
.hub-links:not(.links-expanded){width:120px;padding:13px 10px 8px}
.ql-compact:not(.ql-expanded) .ql-header{gap:8px;margin-bottom:10px}
.ql-compact:not(.ql-expanded) .ql-grid{grid-template-columns:minmax(0,1fr);gap:9px}
.ql-compact:not(.ql-expanded) .ql-group{padding:13px 0}
.ql-compact:not(.ql-expanded) .ql-group:first-child{padding-top:0}
.ql-compact:not(.ql-expanded) .ql-tile>a,.ql-compact:not(.ql-expanded) .ql-placeholder{min-height:0;padding:7px 3px;gap:4px}
.ql-compact:not(.ql-expanded) .ql-icon{margin-bottom:0;width:45px;height:45px}
.ql-compact:not(.ql-expanded) .ql-tile strong{font-size:12px;line-height:1.3;max-width:94px}
.ql-compact:not(.ql-expanded) .ql-options-panel{position:fixed;right:calc(4vw + 132px);top:130px;width:min(230px,calc(100vw - 175px));z-index:25}
@media(max-width:780px){.hub-links:not(.links-expanded){width:120px}}

/* Quiet edge rail. The handle sits outside the independently scrolling contents. */
.hub-links,.hub-links:not(.links-expanded),[data-theme=dark] .hub-links{right:0;padding:0;border-radius:16px 0 0 16px;overflow:visible;box-shadow:none;border:1px solid var(--line);border-right:0;--card:#ffffff;--line:#deded5;background:var(--card)}
.hub-links:not(.links-expanded){width:102px}
.hub-links.links-expanded{padding:0;box-shadow:-10px 0 30px #25272012}
[data-theme=dark] .hub-links{--card:#292f25;--line:#3d4635}
#quick-links.ql-compact{height:100%;border-radius:inherit}
.ql-compact>.ql{height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:13px 9px 8px;border-radius:inherit}
.ql-expanded>.ql{padding:21px 22px 14px}
.ql-compact>.ql-expand{position:absolute;left:-25px;top:50%;transform:translateY(-50%);width:26px;height:52px;padding:0 0 0 4px;border-radius:52px 0 0 52px;border:1px solid var(--line);border-right:0;background:var(--card);color:var(--muted);font-size:18px;z-index:2}
.ql-compact>.ql-expand:hover{color:var(--ink);background:var(--card)}
.ql-compact:not(.ql-expanded) .ql-header{min-height:25px;margin-bottom:7px}
.ql-compact:not(.ql-expanded) .ql-options summary{color:var(--muted)}
.ql-compact:not(.ql-expanded) .ql-icon{background:transparent;border-color:color-mix(in srgb,var(--line) 70%,transparent)}
.ql-compact:not(.ql-expanded) .ql-options-panel{right:114px;top:130px;width:min(230px,calc(100vw - 140px))}
@media(min-width:781px){.hub-layout{grid-template-columns:minmax(0,1fr) 76px;gap:30px}}
@media(max-width:780px){.hub-links,.hub-links:not(.links-expanded),[data-theme=dark] .hub-links{height:65dvh;right:-4vw;margin-left:auto}.hub-links.links-expanded{width:min(490px,calc(100vw - 30px));height:75dvh}.ql-compact>.ql-expand{left:-25px}}

/* Official MAGNEDS wordmark: original vector geometry, brand red. */
.magneds-logo{display:block;width:172px;height:auto;flex-shrink:0;object-fit:contain}
.portal-header>a{display:inline-flex;align-items:center}
#portal>footer .magneds-logo,.login-panel-footer .magneds-logo{width:100px;height:auto}
.portal-back{display:inline-flex;align-items:center;gap:9px}.portal-back .magneds-logo{width:100px;height:auto}
@media(max-width:650px){.portal-header .magneds-logo{width:145px}.portal-back .magneds-logo{width:83px}}

/* Shared brand tokens and interaction accents across every app. */
:root{--brand:#C52F2F;--brand-hover:#A92525;--brand-soft:color-mix(in srgb,var(--brand) 9%,transparent);--accent:var(--brand)}
body:has(.hub-layout),[data-theme=dark] body:has(.hub-layout){--accent:var(--brand)}
.solid,.rw .solid,button.primary,button.dark,[data-theme=dark] button.primary,[data-theme=dark] button.dark{background:var(--brand);border-color:var(--brand);color:#fff}
.solid:hover,.rw .solid:hover,button.primary:hover:not(:disabled),button.dark:hover:not(:disabled),[data-theme=dark] button.primary:hover:not(:disabled),[data-theme=dark] button.dark:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}
.pj-main-drop>.solid{color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--brand)}
input[type=checkbox],input[type=radio],progress,.card-check,[data-theme=dark] .card-check,.variant-controls input,.variant-select input{accent-color:var(--brand)}
.card.selected,[data-theme=dark] .card.selected,.variant-selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.filter-tags button.active,.segmented button.active,[data-theme=dark] .filter-tags button.active,[data-theme=dark] .segmented button.active{background:var(--brand);border-color:var(--brand);color:#fff}
#hide-duplicates.active{background:var(--brand);border-color:var(--brand);color:#fff}
.upload-drop.dragover,[data-theme=dark] .upload-drop.dragover,.pj-drop.dragging{border-color:var(--brand);background:var(--brand-soft)}
.rw,[data-theme=dark] .rw{--rw-blue:var(--brand);--rw-pale:var(--brand-soft)}
.rw-tabs button.active{border-color:var(--brand);color:var(--brand)}
.rw-search:focus-within{outline-color:var(--brand)}
.rw-metrics>div:first-child{background:var(--brand);color:#fff}.rw-metrics>div:first-child small{color:#ffffffd9}.rw-metrics>div:first-child:after{color:#ffffff80}
.rw-btn.active,.rw-btn:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.switch-icon,.switch-icon.blue,.switch-icon.green,.switch-icon.orange,.switch-icon.purple,.switch-icon.pink,.switch-icon.sand{background:var(--brand);color:#fff}
.app-switcher a[aria-current=page]{outline:1px solid var(--brand);outline-offset:-1px}

/* Unified, locally available humanist interface typography. */
:root{--hub-font:"Segoe UI", "Segoe UI Variable", system-ui, sans-serif;font-family:var(--hub-font)}
body,button,input,select,textarea,.rw button,.rw input,.rw select,.rw textarea,.app-switcher{font-family:var(--hub-font)}
h1,h2,h3{font-family:var(--hub-font)}
.portal-login.login-split h1{font-weight:600;letter-spacing:-1.25px;line-height:1.12}
.home-intro h1{font-weight:600;letter-spacing:-2px;line-height:1.05}
.workspace-label{letter-spacing:.3px;font-weight:500;text-transform:none}

/* Stronger title hierarchy throughout MAGNEDS HUB. */
:is(#portal,#app,dialog) :is(h1,h2,h3){font-weight:700}
.workspace-label{font-weight:650;letter-spacing:.7px}
.card-title,.rw-item-title,.ql-compact .ql-tile strong{font-weight:600}

#my-runway{margin-top:40px;border-top:1px solid var(--line);padding-top:25px}#my-runway[hidden]{display:none}#my-runway>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}#my-runway h2{margin:5px 0 0;font-size:24px;font-weight:700}#my-runway header span{font-size:10px;letter-spacing:1.5px;color:var(--accent)}#my-runway header a{font-size:13px;color:var(--muted);text-decoration:none}.my-runway-list{display:grid;gap:8px}.my-runway-task{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--ink);text-decoration:none;background:var(--card)}.my-runway-task:hover{border-color:var(--accent);background:#c52f2f04}.my-runway-number{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.my-runway-task>div{display:grid;gap:6px;flex:1;min-width:0}.my-runway-task small{font-size:12px;color:var(--muted)}.my-runway-task strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.my-runway-task div>span{font-size:12px;color:var(--muted)}.my-runway-task>b{color:var(--accent);font-weight:400;font-size:20px}

/* Home: personal overview first, followed by a four-app desktop launcher. */
.hub-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-bottom:36px;align-items:stretch}.hub-overview:has(#my-runway[hidden]){grid-template-columns:1fr}.hub-overview>#hub-welcome,.hub-overview>#my-runway{margin:0;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--card);min-width:0}
#hub-welcome{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:310px}.welcome-date{font-size:12px;color:var(--muted);text-transform:capitalize}#hub-welcome h1{font-size:clamp(25px,2.4vw,38px);line-height:1.2;letter-spacing:-1px;margin:22px 0 26px;font-weight:500}#hub-welcome h1 strong{font-weight:750;color:var(--accent)}.welcome-weather{display:flex;align-items:center;gap:16px;margin-top:auto}.weather-symbol{font-size:38px;color:var(--accent);line-height:1}.welcome-weather>div>span{font-size:12px;color:var(--muted)}.welcome-weather p{margin:6px 0;font-size:14px}.welcome-weather b{font-size:27px;font-weight:650;margin-right:7px}.welcome-weather small{color:var(--muted);font-size:11px}.weather-source{font-size:9px;color:var(--muted);margin-top:12px;text-decoration:none}
.hub-overview #my-runway h2{font-size:22px}.hub-overview #my-runway>header{margin-bottom:12px}.hub-overview .my-runway-task{padding:12px 0;border:0;border-top:1px solid var(--line);border-radius:0;gap:12px}.hub-overview .my-runway-task strong{font-size:14px}.hub-overview .my-runway-task small{font-size:11px}.hub-overview .my-runway-task div>span{font-size:11px}.hub-overview #my-runway header a{font-size:11px}.hub-overview .my-runway-list{gap:0}
@media(min-width:1000px){.hub-apps .launcher-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hub-apps .launcher-copy h3{font-size:18px}.hub-apps .launcher-app{min-height:210px;padding:20px}.hub-apps .launcher-app:hover:not(.planned){padding:20px}.hub-apps .launcher-copy p{font-size:11px;padding:0}.hub-apps .launcher-copy{padding:0}.hub-apps .launcher-app.planned{min-height:140px}}
@media(max-width:780px){.hub-overview{grid-template-columns:1fr;gap:16px}.hub-overview>#hub-welcome,.hub-overview>#my-runway{padding:22px}#hub-welcome{min-height:280px}#hub-welcome h1{font-size:30px}}
.hub-google{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:16px;padding:10px 14px 10px 22px;background:var(--card);margin:0 0 24px;max-width:760px;box-shadow:0 4px 20px #00000003}.hub-google>span{font-size:23px;font-weight:750;color:var(--muted)}.hub-google input{border:0!important;box-shadow:none!important;background:transparent!important;flex:1;min-width:0;font-size:15px;padding:10px 0!important;color:var(--ink)}.hub-google button{border:0;background:var(--accent);color:#fff;border-radius:10px;width:38px;height:38px;font-size:21px;cursor:pointer}.hub-google:focus-within{outline:2px solid var(--accent);outline-offset:3px}
#hub-fresh{margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}#hub-fresh>header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}#hub-fresh header span{font-size:10px;letter-spacing:1.5px;color:var(--accent)}#hub-fresh h2{font-size:26px;letter-spacing:-.6px;margin:7px 0 0}#hub-fresh header p{color:var(--muted);font-size:12px;margin:0}.fresh-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:20px}.fresh-library,.fresh-project{border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--card);min-width:0}.fresh-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.fresh-section-title h3{margin:0;font-size:16px}.fresh-section-title a{font-size:12px;color:var(--muted);text-decoration:none}.fresh-marbles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fresh-marble{text-decoration:none;min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--ink)}.fresh-marble img{width:100%;height:120px;object-fit:contain;border-radius:10px;background:#f7f7f8;margin-bottom:7px}.fresh-marble small{font-size:9px;color:var(--accent)}.fresh-marble strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.fresh-marble span{font-size:10px;color:var(--muted)}.fresh-project{display:flex;flex-direction:column;align-items:start}.fresh-launch-icon{color:var(--accent);font-size:28px;margin-bottom:20px}.fresh-project small{font-size:9px;letter-spacing:1.2px;color:var(--muted)}.fresh-project h3{font-size:22px;letter-spacing:-.5px;margin:9px 0}.fresh-project p,.fresh-empty{font-size:13px;color:var(--muted);line-height:1.6}.fresh-soon{margin-top:auto;font-size:10px;color:var(--muted)}@media(max-width:900px){.fresh-layout{grid-template-columns:1fr}.fresh-marbles{grid-template-columns:repeat(2,minmax(0,1fr))}#hub-fresh>header{display:block}#hub-fresh header p{margin-top:9px}.hub-google{max-width:none}}
#hub-welcome h1 .welcome-title{display:block;font-size:clamp(14px,1.25vw,18px);font-weight:450;letter-spacing:0;line-height:1.5;color:var(--muted);margin-top:9px}

/* One quiet focus treatment for the whole search control. */
.hub-google{width:min(100%,580px);max-width:580px;margin:0 auto 36px;gap:14px;padding:7px 9px 7px 20px;border-color:#e7e7e9;border-radius:999px;background:var(--card);box-shadow:0 3px 16px #00000005;transition:border-color .18s,box-shadow .18s}
.hub-google>span{font-size:20px;color:var(--ink)}
.hub-google input,.hub-google input:focus,.hub-google input:focus-visible{outline:none!important;outline-offset:0;font-family:inherit;font-size:15px}
.hub-google:focus-within{outline:none;border-color:#b7b7bd;box-shadow:0 0 0 3px #88888812,0 5px 20px #00000006}
.hub-google button{border-radius:50%;background:transparent;color:var(--muted);width:38px;height:38px}
.hub-google button:hover{background:var(--accent);color:white}
.hub-google button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

.hub-google button{display:grid;place-items:center;padding:0;line-height:1;flex:0 0 38px}.hub-google button svg{display:block;width:18px;height:18px;margin:0}
