:root{color:#17202a;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;letter-spacing:0;--ink: #17202a;--muted: #657180;--line: #dfe5ea;--panel: #ffffff;--panel-strong: #eef3f7;--accent: #1f8a70;--accent-strong: #146c58;--blue: #3159d6;--coral: #d86b49;--yellow: #d5a72c;--shadow: 0 16px 40px rgba(31, 45, 61, .08);--soft-shadow: 0 10px 28px rgba(31, 45, 61, .06);--field: #fbfcfd;--hero: linear-gradient(135deg, #eef7f3 0%, #f7f9fb 52%, #f7f1e8 100%);--danger-bg: #fff4ef;--danger-line: #ffd1c2}:root[data-theme=dark]{color:#edf3f7;background:#101418;--ink: #edf3f7;--muted: #9aa8b5;--line: #2b3640;--panel: #171d22;--panel-strong: #202932;--accent: #53c2a8;--accent-strong: #7ce0c8;--blue: #8ca8ff;--coral: #f09673;--yellow: #f0c95a;--shadow: 0 18px 42px rgba(0, 0, 0, .3);--soft-shadow: 0 10px 28px rgba(0, 0, 0, .22);--field: #12181d;--hero: linear-gradient(135deg, #13241f 0%, #151b23 52%, #241d14 100%);--danger-bg: #271612;--danger-line: #693222}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(31,138,112,.08),transparent 28rem),var(--hero);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding:18px}.boot-screen{align-items:center;color:var(--muted);display:flex;gap:10px;justify-content:center}.auth-page{align-items:center;display:grid;gap:24px;grid-template-columns:minmax(320px,1.1fr) minmax(300px,420px);margin:0 auto;max-width:1080px;min-height:100vh;padding:24px}.auth-hero{background:var(--hero);border:1px solid var(--line);box-shadow:var(--shadow);min-height:500px;padding:40px}.auth-hero h1{font-size:46px;line-height:1.02;margin:18px 0;max-width:620px}.auth-hero p:last-child{color:var(--muted);font-size:18px;line-height:1.5;max-width:560px}.large-mark{height:58px;width:58px}.auth-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:14px;padding:18px}.segmented-control{background:var(--panel-strong);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding:4px}.segmented-control button{background:transparent;border:0;color:var(--muted);font-weight:800;min-height:34px}.segmented-control button.is-active{background:var(--panel);box-shadow:var(--soft-shadow);color:var(--ink)}.auth-note,.inline-error{font-size:13px;margin:0}.auth-note{color:var(--muted)}.dev-code{background:color-mix(in srgb,var(--yellow) 18%,transparent);border:1px solid color-mix(in srgb,var(--yellow) 60%,var(--line));color:var(--ink);font-size:13px;font-weight:800;margin:0;padding:10px}.inline-error{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--coral);padding:10px}.top-bar{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto 16px;max-width:1480px}.brand,.top-actions,.panel-heading,.card-head,.card-meta,.next-action,.tool-title,.log-controls,.filter-group,.metric,.task-row,.detail-top{align-items:center;display:flex}.brand{gap:12px}.brand-mark,.icon-tile{align-items:center;background:#132028;color:#fff;display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.brand h1,.panel h2,.project-board h2,.detail-panel h2{font-size:22px;line-height:1.1;margin:0}.panel-kicker{color:var(--accent-strong);font-size:12px;font-weight:800;line-height:1.2;margin:0 0 3px;text-transform:uppercase}.top-actions{gap:10px}.user-chip{align-items:center;background:var(--panel);border:1px solid var(--line);color:var(--ink);display:inline-flex;gap:8px;min-height:42px;padding:0 12px 0 8px}.user-chip span{align-items:center;background:var(--accent);color:#fff;display:inline-flex;font-size:13px;font-weight:900;height:28px;justify-content:center;width:28px}.user-chip strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-box{align-items:center;background:var(--panel);border:1px solid var(--line);display:flex;gap:8px;height:42px;min-width:280px;padding:0 12px}.search-box input,.inline-form input{border:0;min-width:0;outline:none;width:100%}.icon-button{align-items:center;background:var(--panel);border:1px solid var(--line);color:var(--ink);display:inline-flex;height:42px;justify-content:center;min-width:42px;padding:0 12px}.icon-button:hover,.project-card:hover{border-color:#b8c6d2}.icon-button.is-active{border-color:var(--accent);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}.danger{color:#b42318}.toast{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--coral);margin:0 auto 16px;max-width:1480px;padding:12px 14px}.success-toast{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent-strong)}.workspace{display:grid;gap:16px;grid-template-columns:minmax(270px,330px) minmax(420px,1fr) minmax(320px,390px);margin:0 auto;max-width:1480px}.left-rail{display:grid;gap:16px}.panel,.detail-panel,.project-board{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.panel,.detail-panel{padding:16px}.panel-heading{gap:10px;margin-bottom:16px}.icon-tile{background:var(--panel-strong);color:var(--accent-strong);height:36px;width:36px}.form-panel{display:grid;gap:12px}label{color:var(--muted);display:grid;font-size:13px;font-weight:700;gap:6px}input,select,textarea{background:var(--field);border:1px solid var(--line);color:var(--ink);min-height:40px;outline:none;padding:9px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f8a7024}.split-fields{display:grid;gap:10px;grid-template-columns:1fr 1fr}.scale-grid{display:grid;gap:8px}.scale-control{align-items:center;display:grid;gap:8px;grid-template-columns:84px 1fr 22px}.scale-control input{min-height:auto;padding:0}.primary-action{align-items:center;background:var(--accent);border:1px solid var(--accent);color:#fff;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:42px;padding:0 14px}.primary-action:hover{background:var(--accent-strong)}.primary-action.compact{min-height:40px}.secondary-action{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font-weight:800;min-height:34px;padding:0 10px}.secondary-action:hover{border-color:var(--accent);color:var(--accent-strong)}.link-button{background:transparent;border:0;color:var(--accent-strong);font-weight:800;justify-self:start;min-height:28px;padding:0}.link-button:hover{color:var(--accent)}.summary-panel{display:grid;gap:10px}.security-panel{display:grid;gap:12px}.security-status{display:grid;gap:8px}.security-status p{color:var(--muted);line-height:1.4;margin:0}.status-pill{align-items:center;border:1px solid var(--line);display:inline-flex;font-size:12px;font-weight:900;justify-self:start;min-height:28px;padding:5px 9px;text-transform:uppercase}.status-pill.is-on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent-strong)}.status-pill.is-off{background:var(--panel-strong);color:var(--muted)}.security-action{justify-self:start}.security-code-form{display:grid;gap:10px}.code-inline{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.account-settings{display:grid;gap:16px;margin:0 auto;max-width:1180px}.account-header,.account-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.account-header{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px}.account-header h2{font-size:26px;line-height:1.1;margin:0 0 6px}.account-header p:last-child,.account-copy,.account-hint{color:var(--muted);line-height:1.45;margin:0}.account-back,.security-action{align-items:center;display:inline-flex;gap:8px}.account-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.account-card{align-content:start;display:grid;gap:14px;padding:16px}.account-card h3{font-size:18px;line-height:1.15;margin:0}.account-form,.account-code-form{display:grid;gap:10px}.account-hint{align-items:center;display:flex;gap:7px}.metric{border-top:1px solid var(--line);gap:8px;min-height:42px;padding-top:10px}.metric svg{color:var(--blue)}.metric span{color:var(--muted);flex:1;font-size:13px}.metric strong{font-size:18px}.project-board{min-width:0;padding:16px}.board-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.filter-group{border:1px solid var(--line);gap:8px;height:42px;padding:0 10px}.filter-group select{background:transparent;border:0;min-height:auto;padding:0}.project-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.project-card{background:var(--field);border:1px solid var(--line);display:grid;gap:12px;min-height:250px;padding:14px;transition:border-color .16s ease,transform .16s ease}.project-card.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px #1f8a703d}.project-card:hover{transform:translateY(-1px)}.card-head{align-items:flex-start;gap:12px}.card-head h3{font-size:18px;line-height:1.2;margin:0 0 6px}.card-head p,.detail-top p,.log-entry p{color:var(--muted);line-height:1.45;margin:0}.score-ring{align-items:center;background:radial-gradient(circle at center,var(--panel) 56%,transparent 57%),conic-gradient(var(--accent) var(--score),var(--line) 0);display:flex;flex:0 0 auto;height:58px;justify-content:center;width:58px}.score-ring span{font-size:18px;font-weight:900}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-row span,.stage-select,.focus-button{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:800;min-height:28px;padding:5px 8px}.progress-line{background:var(--line);height:8px;overflow:hidden}.progress-line span{background:linear-gradient(90deg,var(--accent),var(--blue));display:block;height:100%}.card-meta{color:var(--muted);gap:12px}.card-meta span,.next-action{align-items:center;display:inline-flex;gap:6px}.next-action{background:color-mix(in srgb,var(--accent) 9%,transparent);border-left:3px solid var(--yellow);color:var(--ink);font-size:13px;line-height:1.35;padding:9px 10px}.stage-select{justify-self:start}.detail-panel{align-self:start;display:grid;gap:16px;max-height:calc(100vh - 92px);overflow:auto}.detail-top{align-items:flex-start;gap:12px;justify-content:space-between}.detail-stats{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.detail-stats .metric{border:1px solid var(--line);display:grid;gap:6px;justify-items:start;min-height:88px;padding:10px}.detail-stats .metric span{flex:initial}.tool-block{border-top:1px solid var(--line);display:grid;gap:12px;padding-top:14px}.tool-title{gap:8px}.plan-title{justify-content:space-between}.plan-title div{align-items:center;display:flex;gap:8px}.tool-title h3{font-size:16px;margin:0}.focus-plan{background:color-mix(in srgb,var(--accent) 5%,transparent);border:1px solid var(--line);padding:12px}.plan-card{display:grid;gap:10px}.plan-summary{align-items:center;display:flex;gap:10px;justify-content:space-between}.plan-summary strong{line-height:1.25}.plan-summary span{background:var(--panel);border:1px solid var(--line);color:var(--accent-strong);flex:0 0 auto;font-size:12px;font-weight:900;padding:5px 8px}.plan-card>p{color:var(--muted);line-height:1.45;margin:0}.plan-steps{display:grid;gap:8px}.plan-steps div{background:var(--panel);border:1px solid var(--line);padding:9px}.plan-steps span{color:var(--accent-strong);display:block;font-size:12px;font-weight:900;margin-bottom:4px;text-transform:uppercase}.plan-steps p{line-height:1.4;margin:0}.plan-empty{align-items:center;color:var(--muted);display:flex;gap:8px;line-height:1.35}.inline-form,.log-form{display:grid;gap:8px}.inline-form{grid-template-columns:minmax(0,1fr) auto auto}.inline-form input{border:1px solid var(--line);padding:0 10px}.check-control{align-items:center;background:var(--field);border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:row;gap:6px;justify-content:center;min-height:42px;padding:0 10px}.check-control input{min-height:auto}.task-list,.log-list{display:grid;gap:8px}.task-row{background:var(--field);border:1px solid var(--line);gap:8px;min-height:42px;padding:7px}.task-row span{flex:1;min-width:0;overflow-wrap:anywhere}.task-row.is-done span{color:var(--muted);text-decoration:line-through}.check-button{align-items:center;background:transparent;border:0;color:var(--accent-strong);display:inline-flex;height:30px;justify-content:center;width:30px}.focus-button{min-width:64px}.focus-button.is-focus{background:color-mix(in srgb,var(--yellow) 20%,transparent);border-color:var(--yellow);color:var(--ink)}.log-controls{gap:8px}.log-controls select{flex:1}.minutes-control{align-items:center;display:flex;flex-direction:row;gap:6px}.minutes-control input{width:82px}.log-entry{background:var(--field);border:1px solid var(--line);padding:10px}.log-entry div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.log-entry strong{color:var(--blue)}.log-entry span{color:var(--muted);font-size:12px}.empty-detail{align-content:center;justify-items:center;min-height:240px;text-align:center}@media (max-width: 1220px){.workspace{grid-template-columns:minmax(260px,330px) minmax(420px,1fr)}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-panel{grid-column:1 / -1;max-height:none}}@media (max-width: 820px){.auth-page{grid-template-columns:1fr;padding:12px}.auth-hero{min-height:auto;padding:24px}.auth-hero h1{font-size:34px}.app-shell{padding:12px}.top-bar,.board-toolbar{align-items:stretch;flex-direction:column}.top-actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:10px;width:100%}.user-chip{flex:1 0 100%}.search-box{flex:1 1 180px;max-width:100%;min-width:0;width:auto}.top-actions .icon-button{align-self:stretch;display:inline-flex;flex:0 0 42px;min-width:42px;padding:0;width:42px}.top-actions .mobile-hide{display:none}.workspace{grid-template-columns:1fr}.account-header{align-items:stretch;flex-direction:column}.account-grid,.split-fields,.detail-stats,.inline-form,.code-inline,.log-controls{grid-template-columns:1fr}.log-controls{align-items:stretch;display:grid}.scale-control{grid-template-columns:78px minmax(0,1fr) 22px}.minutes-control input{width:100%}}
