:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#242624;background:#ffffff;--paper:#ffffff;--card:#fff;--ink:#242624;--muted:#70726d;--line:#deded7;--accent:#C52F2F}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.portal-header{height:100px;display:flex;align-items:center;gap:25px;margin:0 5vw;border-bottom:1px solid var(--line)}.wordmark{font-weight:950;font-size:32px;letter-spacing:-1.6px}.brand-dot{font-size:12px;vertical-align:top;display:inline-block;margin:6px 0 0 4px}.header-divider{height:22px;width:1px;background:var(--line)}.workspace-label,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.workspace-label{color:var(--muted)}.header-tools{margin-left:auto;display:flex;align-items:center;gap:16px}.header-tools button,.header-tools select{border:0;background:transparent;color:var(--ink);font-size:12px;padding:8px}.header-tools select{max-width:140px}.role-dot{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:1px}.role-dot i{width:6px;height:6px;border-radius:50%;background:#579578}.logout{border-left:1px solid var(--line)!important;padding-left:17px!important}.portal-main{max-width:1420px;margin:auto;padding:58px 5vw 80px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:56px}.eyebrow{color:var(--muted);margin-bottom:20px}h1{font-size:clamp(42px,5vw,74px);line-height:1.04;font-weight:650;letter-spacing:-3px;margin:0 0 22px}h1 .accent{color:var(--accent)}p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.intro-note{padding:0 40px 0 30px;display:flex;gap:24px;align-items:center}.intro-note p{font-size:17px;line-height:1.55}.tiny-cross{font-size:72px;color:var(--accent);font-weight:300}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.section-heading h2{font-size:19px;font-weight:600;margin:0;letter-spacing:-.3px}.section-heading h2 span{font-size:11px;vertical-align:top;margin-left:10px;color:var(--muted)}.section-heading p{font-size:12px}.apps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}.app-tile{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:var(--card);overflow:hidden;transition:transform .2s,box-shadow .2s}a.app-tile:hover{transform:translateY(-5px);box-shadow:0 18px 34px #24262412}.tile-art{height:225px;position:relative;overflow:hidden;isolation:isolate}.tile-number{position:absolute;left:20px;top:19px;font-size:9px;font-weight:700;letter-spacing:1.6px;z-index:3}.marble-art{background:#d5eae2;color:#34584d;display:grid;place-items:center}.marble-art img{position:relative;width:185px;height:185px;object-fit:contain;z-index:2;margin-top:20px;transform:rotate(-8deg)}.orb{position:absolute;border-radius:50%;box-shadow:inset -10px -10px 20px #12352b23,inset 5px 5px 14px #ffffffa1}.orb-one{width:120px;height:120px;background:#a7d7c8;left:-30px;bottom:-30px}.orb-two{width:75px;height:75px;right:-17px;top:40px;background:#f0edaa}.font-art{background:#ebe4f4;color:#554563}.type-study{font-size:100px;font-family:Georgia,serif;letter-spacing:-9px;position:absolute;left:22px;top:50px;line-height:1}.type-study span{position:absolute;left:97px;top:70px;font-family:Arial,sans-serif;font-size:70px;color:#927caf;font-weight:750}.type-study i{font-size:80px;position:absolute;left:166px;top:-6px;font-weight:300;color:#b8a5cd}.print-art{background:#f4ddc6;color:#795332}.print-sheet{position:absolute;width:123px;height:157px;background:#fffaf1;box-shadow:0 8px 16px #6b43251a;top:59px;left:calc(50% - 61px)}.sheet-back{transform:rotate(-16deg);background:#edb494;left:calc(50% - 79px);top:50px}.sheet-front{transform:rotate(9deg);padding:16px;color:#b44933}.sheet-front strong{font-size:28px;font-weight:950;line-height:.93;letter-spacing:-1px}.print-swatches{display:flex;gap:5px;margin-top:15px}.print-swatches i{width:15px;height:15px;border-radius:50%;background:#ee6a49}.print-swatches i:nth-child(2){background:#282a30}.print-swatches i:nth-child(3){background:#4b92b5}.print-swatches i:nth-child(4){background:#edc345}.plugin-art{background:#dce7f4;color:#466083}.plugin-symbol{display:grid;grid-template-columns:repeat(2,66px);gap:7px;position:absolute;left:calc(50% - 69px);top:66px;transform:rotate(-8deg)}.plugin-symbol span{height:62px;display:grid;place-items:center;background:#b3cbe7;color:#2e4c79;font-size:39px;border-radius:13px}.plugin-symbol span:nth-child(2),.plugin-symbol span:nth-child(3){background:#39628e;color:#e5edf7}.tile-copy{padding:21px;display:flex;flex-direction:column;flex:1}.tile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.status{font-size:10px;letter-spacing:.2px;display:inline-flex;align-items:center;gap:6px}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.ready{color:#478168}.construction{color:#947844}.tile-arrow svg{width:18px;height:18px}.plan-dot{width:7px;height:7px;border:1px solid #aaa69d;border-radius:50%}h3{font-size:19px;letter-spacing:-.5px;font-weight:650;margin:0 0 11px;line-height:1.22}.tile-copy p{font-size:12px;line-height:1.7;margin-bottom:25px}.tile-action{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:auto;font-size:12px;font-weight:600;padding-top:15px;border-top:1px solid var(--line)}.tile-action svg{width:16px}.muted{color:#92958e;font-size:11px;font-weight:400}footer{margin:0 5vw;padding:27px 0 33px;border-top:1px solid var(--line);display:flex;gap:20px;font-size:11px;color:var(--muted)}footer>span:first-child{color:var(--ink);font-weight:800;letter-spacing:-.5px}footer>span:last-child{margin-left:auto}.back-link{font-size:13px;display:inline-flex;gap:10px;margin-bottom:30px;color:var(--muted)}.plugins-intro{margin-bottom:45px}.plugins-intro h1{font-size:58px}.download-card{display:grid;grid-template-columns:280px 1fr;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}.plugin-preview{background:#dce7f4;display:flex;flex-direction:column;gap:28px;align-items:center;justify-content:center;padding:40px;color:#385476;font-size:10px;letter-spacing:2px;font-weight:600}.figma-symbol{width:90px;display:grid;grid-template-columns:45px 45px}.figma-symbol i{height:45px;background:#f36b50;border-radius:25px 0 0 25px}.figma-symbol i:nth-child(2){background:#fb997e;border-radius:0 25px 25px 0}.figma-symbol i:nth-child(3){background:#9b74e6}.figma-symbol i:nth-child(4){background:#6bbcec;border-radius:50%}.figma-symbol i:nth-child(5){background:#65b49b;border-radius:25px 0 25px 25px}.plugin-description{padding:36px}.plugin-description h3{font-size:28px;margin:15px 0}.plugin-description p{max-width:600px}.plugin-facts{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 26px}.plugin-facts span{font-size:11px;border:1px solid var(--line);padding:6px 10px;border-radius:5px;color:var(--muted)}.solid{display:inline-flex;gap:15px;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--ink);color:var(--paper);padding:14px 19px;font-size:13px;font-weight:600}.solid:hover{background:var(--accent);color:white}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;margin-left:20px}.install-help{margin-top:24px;border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--card)}summary{cursor:pointer;font-size:14px;font-weight:600}.install-help li{font-size:14px;line-height:1.8;color:var(--muted);margin:8px 0}.install-help p{font-size:12px}.admin-note{margin-bottom:14px!important}.portal-login{max-width:1200px;padding:80px 5vw;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}.portal-login h1{font-size:58px}.portal-login form{padding:36px;background:var(--card);border:1px solid var(--line);border-radius:16px}.portal-login h2{font-size:25px;letter-spacing:-1px;margin:20px 0 12px}.portal-login form>p{font-size:13px}.portal-login label{display:grid;gap:9px;margin-top:27px;font-size:13px}.portal-login input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:7px;padding:13px;width:100%}.portal-login .solid{width:100%;margin:12px 0 20px}.portal-login small{font-size:11px;line-height:1.6;color:var(--muted)}.login-motif{font-size:130px;font-weight:950;letter-spacing:-15px;line-height:1;margin-top:35px;color:var(--accent)}.login-motif span{font-size:65px;display:inline-block;vertical-align:top;margin:8px 0 0 25px}.error{color:#c44030!important;margin-top:10px!important}.boot{padding:80px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[data-theme=dark]{--paper:#191d1d;--card:#232929;--ink:#edf0e9;--line:#39413e;--muted:#a5ada7;background:var(--paper);color:var(--ink)}[data-theme=dark] select option{background:var(--card);color:var(--ink)}[data-theme=dark] .construction{color:#dcc18c}[data-theme=dark] .ready{color:#8dc9ad}@media(min-width:1700px){.tile-art{height:260px}}@media(max-width:1150px){.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-art{height:235px}.intro-note{padding-right:0}.portal-header{gap:17px}.workspace-label{display:none}}@media(max-width:650px){.portal-header{height:auto;min-height:95px;flex-wrap:wrap;padding:20px 0;gap:12px}.wordmark{font-size:27px}.header-divider{display:none}.header-tools{gap:5px}.role-dot{display:none}.header-tools select{max-width:110px}.header-tools button{font-size:11px;padding:6px}.portal-main{padding-top:35px}.intro{margin-bottom:36px}.intro-note{display:none}h1{font-size:47px;letter-spacing:-2px}.section-heading p{display:none}.apps-grid{gap:14px}.tile-art{height:190px}.tile-copy{padding:16px}h3{font-size:17px}.tile-number{font-size:8px;left:12px}.marble-art img{width:150px;height:150px}.type-study{font-size:80px;left:12px;top:53px}.type-study span{left:60px;font-size:55px;top:55px}.type-study i{left:100px;top:-10px;font-size:65px}.print-sheet{top:53px;height:140px;width:105px}.sheet-front strong{font-size:24px}.plugin-symbol{transform:rotate(-8deg) scale(.8);top:50px}.tile-action{font-size:10px}.status{font-size:9px}.tile-top{margin-bottom:13px}.tile-arrow{display:none}.tile-copy p{font-size:11px}.download-card{grid-template-columns:1fr}.plugin-preview{padding:30px}.plugin-description{padding:24px}.text-link{margin:20px 0 0}.plugins-intro h1{font-size:45px}footer{flex-wrap:wrap;gap:12px}footer>span:last-child{margin-left:0;width:100%}.portal-login{grid-template-columns:1fr;gap:30px;padding-top:35px}.portal-login h1{font-size:44px}.login-motif{display:none}.portal-login form{padding:26px}}

.runway-art{background:#dfe5f0}.runway-steps{width:65%;display:grid;gap:12px;transform:rotate(-7deg)}.runway-steps>span{display:flex;align-items:center;gap:18px;background:#ffffffcf;padding:13px 20px;border-radius:7px;color:#394561;font-weight:600}.runway-steps i{height:5px;background:#a2afc9;border-radius:4px;width:70%}.runway-steps>span:first-child{background:#27364f;color:white;transform:translateX(12px)}.runway-placeholder{border:1px solid var(--line);border-radius:16px;padding:40px;background:var(--card);max-width:760px}.runway-placeholder h2{margin:24px 0 15px;font-size:28px}.runway-placeholder p{color:var(--muted);line-height:1.7;max-width:570px}
/* Full-height, equal split for the shared workspace sign-in. */
.portal-login.login-split{width:100%;max-width:none;min-height:100svh;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch}.login-visual{position:relative;min-height:100svh;overflow:hidden;background:#bd424e;display:flex;align-items:center;justify-content:center;padding:8%}.login-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.login-brand{position:relative;width:90%;max-width:540px;height:auto;filter:drop-shadow(0 2px 20px #52203315)}.login-visual-top,.login-visual-bottom{position:absolute;left:8%;right:8%;display:flex;justify-content:space-between;color:#fff;z-index:1}.login-visual-top{top:45px;font-size:10px;letter-spacing:1.6px}.login-visual-bottom{bottom:55px;align-items:flex-end}.login-visual-bottom p{font-size:clamp(27px,3vw,46px);line-height:1.12;letter-spacing:-1px;font-weight:550;color:white}.login-visual-bottom>span{font-size:62px;font-weight:200;line-height:1}.login-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:110px clamp(30px,6vw,105px) 100px;background:var(--paper)}.login-tools{position:absolute;top:35px;left:clamp(30px,6vw,105px);right:clamp(30px,6vw,105px);display:flex;align-items:center;justify-content:flex-end;gap:18px}.login-tools select,.login-tools button{background:none;border:0;color:var(--ink);font-size:12px;padding:8px}.portal-login.login-split form{width:100%;max-width:430px;margin:auto;padding:0;background:none;border:0;border-radius:0}.login-split .eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted)}.portal-login.login-split h1{font-size:clamp(34px,3.6vw,54px);line-height:1.07;letter-spacing:-2px;margin:20px 0}.portal-login.login-split form>p{font-size:16px;line-height:1.7}.portal-login.login-split label{font-size:14px;margin-top:38px;gap:11px}.portal-login.login-split input{background:var(--card);padding:17px 15px;font-size:17px;border-radius:8px}.portal-login.login-split .solid{padding:17px;font-size:15px;justify-content:space-between;margin-top:18px;margin-bottom:20px}.portal-login.login-split small{font-size:12px}.login-panel-footer{position:absolute;bottom:36px;left:clamp(30px,6vw,105px);right:clamp(30px,6vw,105px);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.login-panel-footer>span:first-child{font-weight:750;color:var(--ink)}
@media(max-width:700px){.portal-login.login-split{grid-template-columns:1fr}.login-visual{min-height:310px;padding:70px 30px 100px}.login-brand{max-width:320px;width:80%}.login-visual-top{top:24px;font-size:8px}.login-visual-bottom{bottom:24px}.login-visual-bottom p{font-size:25px}.login-visual-bottom>span{font-size:42px}.login-panel{min-height:580px;padding:90px 28px}.login-tools{top:22px;left:28px;right:28px}.login-panel-footer{left:28px;right:28px;bottom:25px}.portal-login.login-split h1{font-size:38px}}
.login-split .login-tools label{display:block;margin:0;font-size:12px}.login-split .login-tools select{max-width:160px}
.website-art{background:#ead9cf;color:#714535}.website-window{position:absolute;left:15%;right:10%;top:49px;background:#fffaf3;border:1px solid #c9b6a6;border-radius:9px;box-shadow:8px 12px 0 #cfb4a3;transform:rotate(-5deg);overflow:hidden}.website-browser{height:25px;border-bottom:1px solid #e8dccf;display:flex;gap:4px;align-items:center;padding-left:10px}.website-browser i{width:4px;height:4px;border-radius:50%;background:#c9aa96}.website-layout{display:flex;gap:12px;padding:15px;align-items:center;justify-content:space-between}.website-layout b{font-size:22px;line-height:.95;letter-spacing:-1px;color:#85432f}.website-layout>i{background:#cb7456;color:#f9e7cf;border-radius:50%;font-size:39px;font-style:normal;width:59px;height:59px;display:grid;place-items:center}.website-lines{display:flex;gap:6px;padding:0 15px 17px}.website-lines i{height:25px;background:#e8d7c3;border-radius:3px;flex:1}


/* Independent pools of shade and light moving across the brand-red canvas. */
.login-visual{background:#C52F2F;isolation:isolate}
.login-brand{filter:brightness(0) invert(1)}
.login-visual::before,.login-visual::after{content:'';position:absolute;inset:-40%;pointer-events:none;z-index:-1;will-change:transform;filter:blur(24px)}
.login-visual::before{opacity:.7;background:radial-gradient(ellipse at 22% 28%,#35090bbf 0,transparent 46%),radial-gradient(ellipse at 78% 72%,#650d1bba 0,transparent 44%),radial-gradient(ellipse at 88% 10%,#1f081267 0,transparent 38%);animation:login-shadow-flow 17s ease-in-out infinite alternate}
.login-visual::after{background:radial-gradient(ellipse at 29% 68%,#ffb18d26 0,transparent 27%),radial-gradient(ellipse at 72% 28%,#ff785638 0,transparent 31%),radial-gradient(ellipse at 56% 82%,#e953452b 0,transparent 25%);animation:login-light-play 13s ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes login-shadow-flow{0%{transform:translate3d(-6%,-4%,0) rotate(-14deg) scale(1.02)}45%{transform:translate3d(7%,-2%,0) rotate(8deg) scale(.94)}100%{transform:translate3d(-2%,8%,0) rotate(24deg) scale(1.12)}}
@keyframes login-light-play{0%{transform:translate3d(7%,5%,0) rotate(15deg) scale(1)}40%{transform:translate3d(-9%,1%,0) rotate(-12deg) scale(1.16)}100%{transform:translate3d(2%,-8%,0) rotate(-28deg) scale(.95)}}
@media(prefers-reduced-motion:reduce){.login-visual::before,.login-visual::after{animation:none;will-change:auto;transform:none}}



/* Wider brand canvas and a compact sign-in column. */
@media(min-width:701px){
 .portal-login.login-split{grid-template-columns:minmax(0,65fr) minmax(0,35fr)}
 .login-panel{padding:105px clamp(28px,3.6vw,70px) 95px}
 .login-tools,.login-panel-footer{left:clamp(28px,3.6vw,70px);right:clamp(28px,3.6vw,70px)}
 .portal-login.login-split h1{font-size:clamp(30px,3vw,48px)}
 .portal-login.login-split form>p{font-size:14px}
}

/* Login: compact, centered sign-in on the left; brand panel on the right. */
.login-split .login-panel{align-items:center;padding-top:100px;padding-bottom:100px}
.login-split .login-panel>.account-form{margin:0 auto;width:100%;max-width:430px}
@media(min-width:701px){
 .portal-login.login-split{grid-template-columns:minmax(0,35fr) minmax(0,65fr)}
 .login-split .login-panel{grid-column:1;grid-row:1}
 .login-split .login-visual{grid-column:2;grid-row:1}
}
@media(max-width:700px){.login-split .login-panel{order:-1;min-height:100svh}}

.login-split .account-form form label{margin:18px 0 0;gap:8px}
.login-split .account-form form h1{margin:16px 0}
.login-split .account-form form>p{margin:12px 0;line-height:1.5}
.login-split .account-form form>.error:empty{display:none}
.login-split .account-form form>.solid{margin:22px 0 12px}
.login-split .account-form form>small{margin-top:8px}
