:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eff4fa;background:#0b1219;font-synthesis:none;font-weight:400;font-size:15px;--bg: #0b1219;--panel: #111b25;--line: #263542;--muted: #9daec0;--accent: #19d5e5;--soft: #a4f5ff;--sidebar: 226px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a{transition:color .16s ease,background-color .16s ease,opacity .16s ease}a{color:var(--accent);text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,3.5vw,48px);line-height:1.14;letter-spacing:-1.5px;font-weight:650}h2{font-size:27px;letter-spacing:-.5px;font-weight:620}h3{font-size:20px;font-weight:620;letter-spacing:-.35px}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:36px 20px 30px;background:#0e1720;border-right:1px solid #16232f;display:flex;flex-direction:column;z-index:5}.brand{display:flex;flex-direction:column;align-items:center;width:124px;margin:0 auto 36px;color:#e9f1fa;font-size:15px;gap:4px;letter-spacing:.3px}.brand img{width:70px;height:62px;object-fit:contain}.sidebar nav{display:flex;flex-direction:column;gap:14px}.nav-item{height:53px;display:flex;align-items:center;gap:17px;text-align:left;background:transparent;border-radius:10px;padding:0 17px;color:#ccd7e4;position:relative}.nav-item.active{background:#16303a;color:#a6f6ff}.nav-item.active:before{content:"";position:absolute;left:0;height:29px;width:2px;background:var(--accent);border-radius:3px}.nav-item:hover{background:#172833}.profile-button{display:flex;align-items:center;text-align:left;gap:12px;background:transparent;margin-top:auto;padding:10px 0 0;width:100%}.avatar{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--accent);border-radius:50%;background:#233341;font-size:14px}.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.profile-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.profile-name small{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--muted);font-size:12px}.workspace{margin-left:var(--sidebar);padding:24px 36px 70px;max-width:1900px}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px;color:#b4c5d7;font-size:12px;letter-spacing:1px}.private-badge{display:inline-flex;align-items:center;gap:8px;letter-spacing:0;border:1px solid var(--line);border-radius:30px;padding:7px 13px;color:var(--muted);font-size:11px}.dot{width:7px;height:7px;background:#7d8ba1;border-radius:50%;display:inline-block}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.page-heading p{font-size:19px;color:var(--muted);margin-top:14px;line-height:1.5}.primary,.secondary,.danger-button{min-height:46px;padding:12px 20px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:14px;font-weight:550;white-space:nowrap}.primary{background:var(--accent);color:#052027;border:1px solid transparent}.primary:hover{background:#65eaf5}.secondary{background:#172530;border:1px solid #354755;color:#e1edf7}.secondary:hover{background:#203440}.page-heading>.primary{margin-top:0;height:51px}.toolbar{display:flex;align-items:center;gap:24px;margin-bottom:47px}.search{flex:1;display:flex;align-items:center;gap:15px;height:49px;padding:0 17px;border:1px solid #2b3d4d;border-radius:9px;background:#121d27;min-width:180px;color:#b9cbdc;margin:0}.search input{background:none;border:0;outline:none;color:var(--text);width:100%;min-width:0;padding:0;height:100%;font-size:16px}.search:focus-within{outline:2px solid var(--accent);outline-offset:3px}.search input:focus-visible{outline:none}.search input::placeholder{color:#93a7bb}kbd{font-family:inherit;font-size:11px;white-space:nowrap;color:#798c9f;border:1px solid #2b3d4d;border-radius:4px;padding:3px 5px}.filters{display:flex;align-items:center;gap:6px;flex-shrink:0}.filter{background:transparent;color:#cfdae9;padding:12px 14px;min-height:44px;border:1px solid transparent;border-radius:9px;font-size:13px}.filter.selected{background:#17333e;border-color:#286578;color:#6ee9fa}.filter:hover{background:#192c37}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.text-button{background:transparent;color:var(--soft);display:inline-flex;align-items:center;gap:13px;padding:7px 0;font-size:14px}.text-button:hover{color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{background:#121c25;border:1px solid #2b3d4d;border-radius:9px;overflow:hidden;min-width:0;transition:transform .18s ease}.project-card:hover{transform:translateY(-3px)}.project-image{height:200px;position:relative;background:#13212a}.project-image>img{width:100%;height:100%;object-fit:cover}.favorite{position:absolute;right:13px;top:13px;background:#0c1924d9;border:1px solid #536575;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;color:#c2cddb}.favorite.is-favorite{color:#ffc35e}.favorite:hover{background:#233a49}.project-body{padding:18px 23px 13px}.project-body h3{font-size:20px;overflow-wrap:anywhere}.project-type{color:var(--muted);font-size:15px;margin-top:10px}.status{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:#a9b8ca}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.project-body>.status{margin-top:15px}.status.planned{color:#f4c572}.status.draft{color:#83c4f6}.status.live{color:#73d9b6}.status.archived{color:#9ba7b8}.card-bottom{border-top:1px solid #273642;margin-top:18px;padding-top:8px;display:flex;justify-content:space-between;align-items:center}.card-bottom .text-button{font-weight:550}.section-foot{margin-top:36px;font-size:13px;color:var(--muted)}.section-foot button{background:transparent;color:var(--accent);padding:0}.empty-state{border:1px dashed #314250;border-radius:12px;padding:65px 24px;text-align:center;background:#0f1922;color:var(--muted)}.empty-state>svg{color:#69bbce;margin-bottom:18px}.empty-state h3{color:#e2edf6;font-size:23px}.empty-state p{margin:12px auto 25px;max-width:440px;line-height:1.6}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:7px;background:transparent;color:#b6c9dc}.icon-button:hover{background:#21333f}.dialog{padding:28px;width:440px;max-width:calc(100vw - 32px);max-height:90dvh;color:#e9f1fa;background:#101c27;border:1px solid #354b5b;border-radius:16px;box-shadow:0 25px 100px #0008;overflow:auto}.dialog.wide{width:560px}.dialog::backdrop{background:#030a10b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog[open]{animation:dialog-enter .16s ease-out}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dialog h2{font-size:24px;overflow-wrap:anywhere}.dialog-heading .icon-button{flex-shrink:0}form label{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#cbd9e7;margin-bottom:19px}form input,form select,form textarea{width:100%;border:1px solid #344a5b;background:#0d1720;color:#f0f5fa;border-radius:8px;padding:12px 13px;min-height:45px}form textarea{resize:vertical;line-height:1.5}form small{font-size:12px;color:var(--muted);line-height:1.5}.optional{color:var(--muted);font-weight:400;font-size:11px;display:inline}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox{flex-direction:row;align-items:center;gap:10px;margin:22px 0}.checkbox input{width:17px;min-height:17px;accent-color:var(--accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.error{color:#ffd0cb;background:#382023;border:1px solid #704146;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6;margin:14px 0}.notice{background:#132b36;color:#b6d8e3;border:1px solid #294957;border-radius:8px;padding:15px;line-height:1.6;font-size:13px;margin-bottom:20px}.detail-meta{display:flex;gap:20px;color:var(--muted)}.description{line-height:1.7;white-space:pre-wrap;margin:23px 0;color:#c8d8e6;overflow-wrap:anywhere}.detail-bottom{display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.danger{color:#f5a6a0}.danger-button{background:#813537;color:#fff}.confirm{margin-top:22px;border:1px solid #76464a;background:#281a22;padding:16px;border-radius:8px;line-height:1.6;font-size:14px}.confirm .dialog-actions{flex-wrap:wrap}.muted{color:var(--muted);line-height:1.6;font-size:13px}.toast{position:fixed;bottom:26px;left:calc(50% + 70px);transform:translate(-50%);background:#1d3542;border:1px solid #477080;padding:14px 22px;border-radius:10px;box-shadow:0 10px 30px #0005;font-size:14px;z-index:20;max-width:calc(100vw - 30px);animation:dialog-enter .16s ease}.operations{max-width:950px;margin-top:45px}.operation-row{display:flex;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.operation-row>svg{color:#9fdae5;flex-shrink:0}.operation-row>div{flex:1}.operation-row h3{font-size:17px}.operation-row p{color:var(--muted);font-size:14px;line-height:1.6;margin-top:7px}.pill{background:#16333a;border:1px solid #2c555e;color:#a6e8db;border-radius:25px;padding:7px 11px;font-size:11px;white-space:nowrap}.pill.warning{color:#f6cd85;background:#30291e;border-color:#5c4b2e}.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:36px 48px 26px;background:radial-gradient(ellipse at 50% 30%,#12303b66,transparent 58%),#0b1219}.auth-header{width:100%;max-width:1280px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:56px}.auth-brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:650;letter-spacing:2px;color:#eff4fa}.brand-os{color:#8ba3b2;font-weight:400}.auth-brand img{width:42px;height:42px;object-fit:contain}.auth-private{display:flex;align-items:center;gap:8px;color:#a5b7c5;border:1px solid #263b47;border-radius:100px;padding:9px 13px;font-size:11px}.auth-box{width:100%;max-width:460px;margin:auto;padding:42px 40px 56px;isolation:isolate}.lock-symbol{width:48px;height:48px;border:1px solid #2c5260;background:#17333e;border-radius:14px;display:grid;place-items:center;color:var(--accent);margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#87c7d7;margin-bottom:12px}.auth-box h1{font-size:30px;letter-spacing:-1px;line-height:1.2}.auth-intro{color:#adbdcb;line-height:1.7;margin:16px 0 30px;font-size:14px}.password-field{position:relative}.password-field input{padding-right:50px}.password-field button{position:absolute;right:2px;top:2px;width:44px;height:44px;display:grid;place-items:center;background:none;color:#b6cbdc;border-radius:9px}.password-field button:hover{color:#fff;background:#ffffff09}.auth-box input{min-height:48px;background:#0b141d}.auth-submit{width:100%;min-height:48px;margin-top:10px;justify-content:space-between}.auth-foot{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#a5b8c7;margin-top:26px;line-height:1.5;border-top:1px solid #263541;padding-top:24px}.auth-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 24px;font-size:12px;color:#9aaebb;padding-top:56px}.auth-footer a{color:#bccbd5;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.auth-footer a:hover{color:var(--accent)}@media(max-width:600px){.auth-header{margin-bottom:32px}.auth-private{font-size:10px;padding:8px 10px}.auth-footer{padding-top:28px;font-size:11px}}.profile-preview{display:flex;align-items:center;gap:20px;margin:10px 0 25px}.profile-preview>img,.profile-preview>span{width:70px;height:70px;border-radius:50%;object-fit:cover;border:1px solid #4b8796;display:grid;place-items:center;background:#203441}.upload-button{cursor:pointer;display:flex;flex-direction:row;align-items:center;gap:8px;color:var(--soft);margin:0}.upload-button input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;padding:0}.upload-button:focus-within{outline:2px solid var(--accent);outline-offset:4px}.center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:22px;padding:35px;text-align:center}.center-state h1{font-size:30px}.center-state p{color:var(--muted)}.loading-logo{width:80px}.skip-link{position:fixed;top:-80px;left:260px;z-index:100;background:var(--accent);color:#071922;padding:14px;border-radius:5px}.skip-link:focus{top:15px}@keyframes dialog-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.workspace{padding-left:50px;padding-right:50px}.project-image{height:235px}}@media(max-width:1250px){:root{--sidebar: 200px}.sidebar{padding-left:14px;padding-right:14px}.workspace{padding:24px 28px 60px}.toolbar{flex-wrap:wrap;gap:15px;margin-bottom:32px}.search{flex-basis:100%}.project-image{height:170px}.project-body{padding:16px}.filters{gap:6px}.filter{padding:10px 17px}.page-heading p{font-size:17px}}@media(max-width:950px){:root{--sidebar: 80px}.sidebar{padding:23px 10px}.brand{width:60px;margin-bottom:30px}.brand img{width:48px;height:48px}.brand>span,.nav-item>span,.profile-name,.profile-button>svg{display:none}.nav-item{justify-content:center;padding:0}.sidebar nav{gap:12px}.profile-button{justify-content:center}.workspace{padding:24px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading h1{font-size:36px}.page-heading>.primary{font-size:12px;padding:10px 14px}.topline{margin-bottom:35px}.toast{left:calc(50% + 30px)}}@media(max-width:600px){:root{--sidebar: 0px}.sidebar{inset:auto 0 0;width:100%;height:76px;padding:8px 12px;background:#0e1923f5;border-right:0;border-top:1px solid #314250;flex-direction:row;align-items:center}.brand{display:none}.sidebar nav{flex:1;flex-direction:row;gap:3px;justify-content:space-around}.nav-item{height:56px;flex-direction:column;gap:5px;padding:6px 9px;font-size:10px;min-width:57px}.nav-item>span{display:block}.nav-item svg{width:21px;height:21px}.nav-item.active:before{display:none}.profile-button{width:45px;margin:0 0 0 5px;padding:0}.avatar{width:34px;height:34px;font-size:11px}.workspace{padding:19px 20px 110px}.topline{margin-bottom:29px}.topline>span:first-child{font-size:10px}.private-badge{font-size:9px;padding:6px 8px}.page-heading{flex-wrap:wrap;gap:20px;margin-bottom:22px}.page-heading h1{font-size:34px}.page-heading p{font-size:15px;margin-top:10px}.page-heading>.primary{height:42px;min-height:42px;font-size:13px}.toolbar{gap:13px;margin-bottom:25px}.filters{width:100%;overflow-x:auto;gap:2px}.filter{padding:9px 11px;font-size:12px}.search{height:46px}.search input{font-size:14px}.search kbd{display:none}.section-heading{align-items:center;margin-bottom:17px}.section-heading h2{font-size:22px}.section-heading>.text-button{font-size:11px;gap:5px}.project-grid{grid-template-columns:1fr;gap:20px}.project-image{height:190px}.project-body{padding:18px 20px 12px}.project-body h3{font-size:20px}.section-foot{margin-top:24px;font-size:12px}.dialog{padding:22px}.form-row{gap:12px}.dialog-actions{gap:8px}.dialog-actions button{padding:11px 14px;font-size:13px}.operation-row{flex-wrap:wrap;gap:12px}.operation-row>div{min-width:200px}.operation-row .pill{margin-left:36px}.toast{bottom:90px;left:50%;width:max-content;max-width:calc(100vw - 30px)}.auth-page{padding:25px 18px}.auth-box{padding:30px 25px 56px}.auth-brand{font-size:14px;gap:8px}.auth-box h1{font-size:29px}.empty-state{padding:40px 18px}.skip-link{left:20px}.description{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.project-card:hover{transform:none}}.auth-box h1+form{margin-top:30px}.auth-box{position:relative}.auth-surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:visible;pointer-events:none;filter:drop-shadow(0 24px 38px #00000030)}.auth-surface path{fill:#101f29;stroke:#3a5364;stroke-width:1}.auth-legal{position:absolute;right:16px;bottom:0;font-size:11px}.auth-legal a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border-radius:6px;color:#adbdc9;line-height:1.3;text-decoration:none}.auth-legal a:hover{color:#d5f5f7}.auth-legal a:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.auth-card-brand{width:fit-content;margin-bottom:32px;gap:12px;font-size:16px}.auth-card-brand img{width:44px;height:44px}.auth-box h1{font-size:32px;letter-spacing:-1px}.auth-box label{font-size:14px}.auth-submit{font-size:16px}.auth-box input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@media(min-width:481px)and (max-width:600px){.auth-box{padding:42px 40px 56px}}.security-intro{display:flex;gap:14px;align-items:flex-start;margin:8px 0 24px}.security-intro>svg{color:var(--accent);flex-shrink:0}.security-intro h3,.mfa-step h3{font-size:16px;margin-bottom:8px}.security-intro p,.mfa-step p{color:#aebfcd;font-size:13px;line-height:1.7}.security-status{display:grid;gap:18px}.security-enabled{color:#6ee2be;line-height:1.6}.mfa-enrollment{gap:24px}.mfa-step{display:grid;gap:14px;border-top:1px solid #283b48;padding-top:20px}.mfa-qr{display:block;max-width:100%;height:auto;justify-self:center;border-radius:12px}.mfa-step summary{cursor:pointer;color:#adbfce;font-size:13px}.mfa-step details p{margin-top:12px}.mfa-secret{display:block;overflow-wrap:anywhere;margin-top:12px;line-height:1.8;-webkit-user-select:all;user-select:all}.recovery-codes{display:grid;gap:8px;padding:16px;background:#0b141d;border:1px solid #283b48;border-radius:12px}.recovery-codes code{font-size:13px;text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.mfa-step .checkbox{align-items:flex-start;line-height:1.6}.auth-alternatives{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.auth-alternatives .text-button{font-size:12px;line-height:1.5;text-align:left}
