:root{--bg:#091722;--surface:#10212e;--surface-2:#142735;--border:#223744;--text:#edf3f7;--muted:#9aafbd;--dim:#6e8797;--done:#65dfc1;--active:#ffb46e;--blue:#5c9efa;--font:Arial,Helvetica,sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}svg{flex-shrink:0}button{border:0}::selection{color:#fff;background:#2f6d83}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--border);z-index:15;background:#0d1e2b;flex-direction:column;width:258px;padding:33px 23px 25px;display:flex;position:fixed;inset:0 auto 0 0}.project-brand{letter-spacing:1.3px;align-items:center;gap:12px;margin-bottom:51px;font-size:12px;font-weight:700;display:flex}.project-brand small{letter-spacing:.2px;color:var(--muted);margin-top:6px;font-size:11px;font-weight:400;display:block}.brand-symbol{color:var(--text);letter-spacing:-3px;background:#1b3443;border-radius:12px;place-content:center;width:43px;height:43px;font-size:32px;font-weight:700;display:grid}.brand-symbol>span{color:var(--done)}.sidebar-label{letter-spacing:1.9px;color:var(--dim);margin:0 12px 15px;font-size:9px;font-weight:700}.overview-link{color:var(--text);background:#172d3b;border-radius:7px;align-items:center;gap:10px;padding:13px 12px;font-size:12px;display:flex}.overview-link>svg:last-child{color:var(--dim);margin-left:auto}.phase-nav{padding:17px 0 20px;position:relative}.phase-link{color:var(--muted);border-radius:7px;align-items:center;gap:12px;padding:14px 11px;font-size:12px;transition:background .2s;display:flex}.phase-link:hover{color:var(--text);background:#172d3b}.phase-link small{color:var(--dim);margin-top:6px;font-size:10px;display:block}.phase-nav-number{border:1px solid var(--border);width:25px;height:25px;color:var(--dim);border-radius:50%;flex-shrink:0;place-content:center;font-size:9px;display:grid}.current .phase-nav-number{color:var(--active);background:#392c24;border-color:#694b32}.current>span:last-child{color:var(--text)}.is-done{color:var(--done);border-color:#345f55}.history-link{color:var(--muted);border-top:1px solid var(--border);align-items:center;gap:9px;margin:7px 11px;padding-top:21px;font-size:11px;display:flex}.sidebar-bottom{margin-top:auto}.sidebar-project-note{color:var(--muted);align-items:center;gap:7px;margin:30px 8px 23px;font-size:10px;display:flex}.live-dot{background:var(--done);border-radius:50%;width:6px;height:6px}.sthel-brand{letter-spacing:-1.5px;border-top:1px solid var(--border);padding:18px 8px 0;font-size:28px;font-weight:700}.sthel-brand span{letter-spacing:1.1px;color:var(--dim);text-transform:uppercase;margin-top:7px;font-size:8px;font-weight:400;display:block}.main-area{margin-left:258px}.topbar{border-bottom:1px solid var(--border);background:#091722eb;justify-content:space-between;align-items:center;height:73px;padding:0 52px;display:flex}.breadcrumbs{color:var(--dim);letter-spacing:.7px;align-items:center;gap:13px;font-size:10px;display:flex}.breadcrumbs span{color:var(--muted);letter-spacing:.2px}.private-label{color:var(--muted);border:1px solid var(--border);border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:10px;display:flex}.private-label>span{background:var(--dim);border-radius:50%;width:5px;height:5px}main{max-width:1240px;margin:auto;padding:51px 52px 24px}.hero{justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:39px;display:flex}.eyebrow{letter-spacing:1.9px;color:var(--muted);font-size:9px;font-weight:700}h1{letter-spacing:-2.2px;margin-top:19px;font-size:51px;font-weight:500;line-height:1.11}h1>span{color:var(--done);display:block}.hero p{color:var(--muted);margin-top:19px;font-size:13px;line-height:1.8}.hero-side{flex-direction:column;flex-shrink:0;align-items:flex-end;padding-bottom:3px;display:flex}.hero-project-code{letter-spacing:1.7px;color:var(--dim);margin-bottom:22px;font-size:8px}.project-stamp{color:var(--muted);align-items:center;gap:14px;margin-bottom:27px;font-size:11px;line-height:1.8;display:flex}.project-stamp>span{color:#b5c8d3;letter-spacing:-3px;font-size:47px;line-height:1}.project-stamp strong{color:var(--dim);font-size:10px;font-weight:400}.primary-button,.secondary-button{border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:12px 17px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.primary-button{background:var(--done);color:#0c2d29;box-shadow:0 4px 16px #0001}.primary-button:hover:not(:disabled){background:#91ebd6}.secondary-button{color:var(--muted);border:1px solid var(--border);background:0 0}.secondary-button:hover{background:var(--surface-2)}.loading{color:var(--muted);align-items:center;gap:8px;padding-bottom:16px;font-size:12px;display:flex}.load-error{color:#ffbdaf;border:1px solid #835044;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:15px;font-size:12px;display:flex}.load-error button{color:inherit;background:0 0;align-items:center;gap:7px;display:flex}.overall-progress{background:linear-gradient(120deg,#152b39,#11232f);border:1px solid #2c4250;border-radius:12px;padding:24px 27px 20px;box-shadow:0 7px 35px #00000012}.progress-heading{justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.progress-heading h2{letter-spacing:-1px;font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;margin-top:13px;font-size:35px;font-weight:500;display:flex}.progress-heading h2>span{color:var(--dim);font-size:22px}.progress-heading h2>small{letter-spacing:0;color:var(--muted);margin-left:9px;font-size:11px;font-weight:400}.percentage{text-align:right;color:var(--done);letter-spacing:-1.7px;font-variant-numeric:tabular-nums;font-size:38px}.percentage>span{margin-left:3px;font-size:20px}.percentage small{color:var(--dim);letter-spacing:0;margin-top:3px;font-size:9px;display:block}.segment-bar{grid-template-columns:repeat(25,1fr);gap:5px;height:17px;display:grid}.segment{background:#294354;border-radius:3px;transition:background .3s,transform .2s;position:relative}.segment:hover{transform:translateY(-3px)}.segment.done{background:var(--done)}.segment.progress{background:var(--blue)}.progress-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:17px;display:flex}.legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.legend>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.legend i{border-radius:50%;width:6px;height:6px;display:inline-block}.legend .done{background:var(--done)}.legend .progress{background:var(--blue)}.legend .pending{background:#587588}.updated{color:var(--dim);white-space:nowrap;font-size:9px}.roadmap-heading{justify-content:space-between;align-items:flex-end;margin:51px 0 28px;display:flex}.roadmap-heading h2,.section-title h2{letter-spacing:-.5px;margin-top:10px;font-size:23px;font-weight:500}.vertical-hint{color:var(--dim);align-items:center;gap:7px;padding-bottom:4px;font-size:10px;display:flex}.phase-section{grid-template-columns:48px minmax(0,1fr);column-gap:19px;scroll-margin-top:32px;display:grid}.phase-index{flex-direction:column;align-items:center;display:flex}.phase-index>span{border:1px solid var(--border);color:var(--dim);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:50%;place-content:center;width:36px;height:36px;font-size:12px;display:grid}.phase-index>div{background:var(--border);flex:1;width:1px;margin:11px 0}.phase-index.active>span{color:var(--active);background:#3b2d21;border-color:#745234}.phase-index.done>span{color:var(--done);border-color:#447260}.phase-section:last-child .phase-index>div{background:linear-gradient(var(--border),transparent)}.phase-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:30px;overflow:hidden}.phase-header{justify-content:space-between;gap:20px;padding:27px 28px 20px;display:flex}.phase-kicker{letter-spacing:1.6px;color:var(--dim);font-size:8px;font-weight:700}.phase-title h2{letter-spacing:-.6px;margin:8px 0;font-size:24px;font-weight:500}.phase-title p{color:var(--muted);max-width:380px;font-size:11px;line-height:1.65}.phase-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:12px;padding-top:2px;display:flex}.phase-meta small{font-variant-numeric:tabular-nums;color:var(--dim);font-size:10px}.phase-state{white-space:nowrap;border-radius:4px;padding:6px 9px;font-size:9px}.phase-state.progress{color:var(--active);background:#3b2c23}.phase-state.pending{color:var(--muted);background:#1e3443}.phase-state.done{color:var(--done);background:#1a3c35}.phase-period{color:var(--muted);border-block:1px solid var(--border);background:#112632;align-items:center;gap:7px;padding:11px 28px;font-size:10px;line-height:1.6;display:flex}.phase-period>span{color:var(--dim);white-space:nowrap;margin-left:auto;font-size:9px}.task-list{padding:3px 28px 8px}.task{border-bottom:1px solid var(--border);align-items:flex-start;gap:13px;padding:23px 0;scroll-margin-top:40px;display:flex;position:relative}.task:last-child{border-bottom:0}.task-marker{width:20px;height:20px;color:var(--bg);border:1px solid #456170;border-radius:50%;flex-shrink:0;place-content:center;margin-top:1px;display:grid;position:relative}.task.done .task-marker{border-color:var(--done);background:var(--done)}.task.progress .task-marker{border-color:var(--active);background:#3f3025}.task.progress .task-marker>span{background:var(--active);border-radius:50%;width:6px;height:6px}.task-content{flex:1;min-width:0}.task-title-row{align-items:baseline;gap:9px;display:flex}.task-code{color:var(--dim);font-variant-numeric:tabular-nums;font-size:9px;font-weight:700}.task.done .task-code{color:var(--done)}.task.progress .task-code{color:var(--active)}.task-title{color:var(--text);text-align:left;background:0 0;padding:0;font-size:13px;font-weight:500;line-height:1.5}.task-title:hover{color:var(--done)}.task-title:disabled{opacity:1}.task-note,.task-description{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px;font-size:11px;line-height:1.7}.task.progress .task-note{color:#d4a57b}.task.done .task-note{color:#91c4b8}.task-actions{flex-shrink:0;align-items:center;gap:14px;padding-top:2px;display:flex}.status-badge{color:var(--dim);white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:flex}.status-badge.progress{color:var(--active)}.status-badge.done{color:var(--done)}.edit-task{color:var(--dim);background:0 0;padding:1px 0 1px 3px}.edit-task:hover{color:var(--text)}.task-links{color:var(--dim);flex-wrap:wrap;gap:17px;margin-top:10px;font-size:9px;display:flex}.task-links span,.task-links a{align-items:center;gap:5px;display:flex}.task-links a{color:#94b9ef}.task-links a:hover{text-decoration:underline}.history-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-left:67px;padding:27px 28px;scroll-margin-top:25px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title>svg{color:var(--dim)}.section-title h2{font-size:21px}.history-empty{color:var(--dim);align-items:flex-start;gap:14px;padding:28px 0 7px;display:flex}.history-empty strong{color:var(--muted);font-size:11px;font-weight:500}.history-empty p{max-width:490px;margin-top:7px;font-size:11px;line-height:1.75}.history-list{margin:14px 0 0;padding:0;list-style:none}.history-list li{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:19px 0;display:flex}.history-list li:last-child{border:0;padding-bottom:0}.history-dot{background:var(--dim);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.history-dot.progress{background:var(--active)}.history-dot.done{background:var(--done)}.history-list li>div{flex:1;min-width:0}.history-list strong{font-size:11px;font-weight:500}.history-list p{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:10px;line-height:1.7}.history-list time{color:var(--dim);white-space:nowrap;margin-top:2px;font-size:9px}.page-footer{color:var(--dim);justify-content:space-between;align-items:center;gap:20px;margin:39px 0 8px;font-size:8px;line-height:1.8;display:flex}.page-footer>span:first-child{letter-spacing:1.4px;white-space:nowrap}.page-footer>span:last-child{text-align:right;max-width:390px}.edit-dialog{color:var(--text);background:var(--surface);border:1px solid #3a5261;border-radius:15px;width:min(640px,100vw - 32px);max-height:calc(100dvh - 40px);padding:0;overflow:auto;box-shadow:0 30px 100px #0006}.edit-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#03101cc9}.dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 27px 23px;display:flex}.dialog-header h2{letter-spacing:-.5px;margin-top:11px;font-size:23px;font-weight:500;line-height:1.3}.icon-button{color:var(--muted);background:0 0;place-content:center;min-width:24px;min-height:24px;margin-top:1px;padding:0;display:grid}.dialog-body{padding:24px 27px}.status-fieldset{border:0;margin:0 0 24px;padding:0}.status-fieldset legend,.form-field{color:var(--muted);font-size:11px;font-weight:500}.status-options{gap:8px;margin-top:12px;display:flex}.status-option{cursor:pointer;flex:1;min-width:0;position:relative}.status-option input{opacity:0;width:1px;height:1px;position:absolute}.status-option>span{border:1px solid var(--border);white-space:nowrap;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:12px 8px;font-size:10px;display:flex}.status-option input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.status-option.selected.pending>span{color:var(--text);background:#233b4a;border-color:#557485}.status-option.selected.progress>span{color:var(--active);background:#3e3026;border-color:#ac7d4c}.status-option.selected.done>span{color:var(--done);background:#1f4038;border-color:#468e7a}.option-circle{border:1px solid;border-radius:50%;width:13px;height:13px}.form-field{flex-direction:column;gap:9px;margin-bottom:20px;display:flex}.form-field textarea,.form-field input{color:var(--text);background:#0b1c28;border:1px solid #2e4857;border-radius:6px;width:100%;padding:12px;font-size:12px;line-height:1.6}.form-field textarea{resize:vertical}.form-field input:disabled{opacity:.4;cursor:not-allowed}.form-field input::placeholder,.form-field textarea::placeholder{color:#6e8797}.form-columns{grid-template-columns:1fr 1.5fr;gap:16px;display:grid}.scope-detail{border-top:1px solid var(--border);padding:15px 0 0}.scope-detail summary{cursor:pointer;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;list-style:none;display:flex}.scope-detail summary::-webkit-details-marker{display:none}.scope-detail[open] summary>svg{transform:rotate(90deg)}.scope-detail p{color:var(--dim);margin-top:11px;font-size:11px;line-height:1.75}.form-error{color:#ffc0ae;background:#3c2626;border-radius:6px;margin-top:16px;padding:12px;font-size:12px;line-height:1.7}.dialog-footer{border-top:1px solid var(--border);background:#0e1e2a;justify-content:flex-end;gap:10px;padding:20px 27px;display:flex}.toast{z-index:100;color:var(--done);white-space:nowrap;background:#173c32;border:1px solid #427867;border-radius:9px;align-items:center;gap:10px;padding:15px 21px;font-size:12px;display:flex;position:fixed;bottom:28px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 8px 30px #0004}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (width>=1500px){main{padding-top:64px}.hero{padding-bottom:45px}h1{font-size:59px}.task-title{font-size:14px}.task-note,.task-description{font-size:12px}}@media (width<=1100px){.sidebar{width:220px;padding-left:17px;padding-right:17px}.main-area{margin-left:220px}.topbar{padding-inline:30px}main{padding:38px 30px 20px}.hero-side{display:none}h1{font-size:47px}.hero{padding-bottom:30px}.phase-card{margin-bottom:25px}.phase-header{padding:24px 20px 18px}.phase-period,.task-list{padding-inline:20px}.task-actions{gap:10px}.status-badge{font-size:8px}.phase-title p{max-width:290px}.phase-title h2{font-size:22px}.phase-section{grid-template-columns:36px minmax(0,1fr);gap:12px}.history-section{margin-left:48px;padding-inline:20px}.updated{display:none}.toast{left:calc(50% + 90px)}}@media (width<=760px){.sidebar{display:none}.main-area{margin-left:0}.topbar{height:58px;padding-inline:22px}.breadcrumbs,.private-label{font-size:9px}main{padding:31px 20px 20px}.hero{padding-bottom:28px}h1{letter-spacing:-1.8px;margin-top:15px;font-size:44px}.hero p{font-size:12px}.hero .eyebrow{letter-spacing:1.5px;font-size:8px}.overall-progress{border-radius:10px;padding:21px 20px 18px}.progress-heading h2{font-size:31px}.progress-heading h2>small{font-size:10px}.percentage{font-size:33px}.percentage small{font-size:8px}.segment-bar{gap:3px;height:14px}.segment{border-radius:2px}.legend{gap:12px}.legend>span{font-size:9px}.roadmap-heading{margin:35px 0 23px}.roadmap-heading h2{font-size:22px}.vertical-hint{display:none}.phase-index>span{width:30px;height:30px;font-size:10px}.phase-section{grid-template-columns:30px minmax(0,1fr);gap:9px}.phase-header{gap:10px;padding:21px 17px 17px}.phase-title h2{font-size:21px}.phase-title p{font-size:10px}.phase-meta{gap:10px}.phase-meta small{font-size:9px}.phase-state{padding:5px 7px;font-size:8px}.phase-period{align-items:flex-start;gap:6px;padding:10px 17px;font-size:9px}.phase-period>svg{margin-top:2px}.phase-period>span{display:none}.task-list{padding-inline:17px}.task{flex-wrap:wrap;gap:10px;padding:19px 0}.task-marker{width:17px;height:17px;margin-top:2px}.task-content{flex:1;min-width:calc(100% - 28px)}.task-title-row{gap:6px}.task-code{font-size:8px}.task-title{font-size:12px}.task-note,.task-description{margin-top:6px;font-size:10px;line-height:1.8}.task-actions{flex:1;justify-content:space-between;margin-left:27px;padding-top:0}.status-badge{font-size:9px}.edit-task{border-radius:4px;min-width:32px;min-height:30px;margin-top:-6px;margin-right:-8px;padding:7px 10px}.edit-task:hover{background:#1d3544}.history-section{margin-left:39px;padding:23px 18px}.section-title h2{font-size:19px}.section-title>svg{display:none}.history-empty{gap:10px;padding-top:22px}.history-empty p{font-size:10px}.history-empty strong{font-size:11px}.history-list time{font-size:8px}.history-list strong{font-size:10px}.history-list li{flex-wrap:wrap;gap:9px}.history-list li>div{min-width:75%}.history-list time{padding-left:16px}.page-footer{margin-top:30px;display:block}.page-footer>span{display:block}.page-footer>span:last-child{text-align:left;margin-top:12px}.toast{white-space:normal;width:max-content;max-width:calc(100% - 24px);font-size:11px;bottom:18px;left:50%}.dialog-header,.dialog-body{padding:21px}.dialog-header h2{font-size:21px}.dialog-footer{padding:17px 21px}.form-columns{grid-template-columns:1fr;gap:0}.status-options{gap:5px}.status-option>span{gap:5px;padding-inline:4px;font-size:9px}.status-option>span svg{width:13px}.edit-dialog{max-height:calc(100dvh - 24px)}}.brand-symbol{justify-content:center;align-items:center;line-height:1;display:flex}.logout-form button{color:var(--muted);background:0 0;padding:8px;font-size:11px;text-decoration:underline}.topbar-tools{align-items:center;gap:12px;display:flex}.admin-link{color:var(--muted);white-space:nowrap;padding:8px;font-size:11px;text-decoration:underline}.admin-link:hover{color:var(--text)}.task-title-readonly{cursor:default}.viewer-note{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.6}.topbar-tools{flex-wrap:wrap;justify-content:flex-end}@media (width<=600px){.topbar-tools .private-label{display:none}}
