:root{--brand-500:#2563eb;--brand-600:#1d4ed8;--brand-400:#3b82f6;--accent:#0ea5e9;--brand-grad:linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);--brand-soft:#eff6ff;--brand-ring:#2563eb2e;--bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafc;--surface-3:#eef2f7;--border:#e4e9f0;--border-strong:#cbd5e1;--text:#0f172a;--text-2:#334155;--muted:#64748b;--muted-2:#94a3b8;--ok:#059669;--ok-bg:#ecfdf5;--ok-bd:#a7f3d0;--warn:#b45309;--warn-bg:#fffbeb;--warn-bd:#fde68a;--err:#dc2626;--err-bg:#fef2f2;--err-bd:#fecaca;--done-bg:#f0fdf4;--ink-900:#0b1224;--ink-800:#0f172a;--ink-700:#1e293b;--ink-600:#334155;--ink-text:#e2e8f0;--r-sm:7px;--r-md:11px;--r-lg:16px;--shadow-sm:0 1px 2px #0f172a0d, 0 1px 1px #0f172a08;--shadow-md:0 4px 14px #0f172a14, 0 1px 3px #0f172a0f;--shadow-lg:0 18px 48px #0f172a2e, 0 4px 12px #0f172a14;--font-sans:"Pretendard Variable", Pretendard, "Segoe UI", system-ui, -apple-system, "Noto Sans KR", "Noto Sans JP", sans-serif;--font-mono:"Cascadia Code", Consolas, "D2Coding", "SF Mono", monospace;font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{color:var(--text);letter-spacing:-.015em;margin:.3em 0}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}a{color:var(--brand-500);text-decoration:none}a:hover{color:var(--brand-600)}::selection{background:var(--brand-ring)}:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted-2)}::-webkit-scrollbar-track{background:0 0}button{font:inherit;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;padding:.42rem .85rem;font-size:.86rem;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s,transform 60ms;display:inline-flex}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--brand-grad);color:#fff;border-color:#0000;box-shadow:0 2px 8px #2563eb4d}button.primary:hover:not(:disabled){filter:brightness(1.06);background:var(--brand-grad);box-shadow:0 4px 14px #2563eb61}button.success{background:var(--ok);border-color:var(--ok);color:#fff}button.success:hover:not(:disabled){filter:brightness(1.08);background:var(--ok)}button.danger{color:var(--err);border-color:var(--err-bd);background:var(--surface)}button.danger:hover:not(:disabled){background:var(--err-bg);border-color:var(--err)}button.ghost{color:var(--muted);background:0 0;border-color:#0000;padding:.3rem .5rem}button.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}button.link{color:var(--brand-500);box-shadow:none;background:0 0;border:none}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.mini{border-radius:6px;padding:.14rem .45rem;font-size:.78rem}button.mini.auto{color:#5b21b6;background:#f5f3ff;border-color:#c4b5fd}button.mini.auto:hover:not(:disabled){background:#ede9fe}button.mini.on{background:var(--warn-bg);border-color:#fbbf24}button.lg{border-radius:var(--r-md);width:100%;padding:.6rem 1rem;font-size:.95rem}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:.42rem .6rem;font-size:.88rem;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-ring);outline:none}input::placeholder{color:var(--muted-2)}input.short{width:5.5rem}label{color:var(--text-2);flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;display:flex}label input,label select{font-weight:400}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--brand-600);flex:none;margin:0;padding:0}label.check{flex-direction:row;align-self:flex-start;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500}label:has(>input[type=checkbox]){flex-direction:row;align-self:flex-start;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500}label:has(>input[type=radio]){flex-direction:row;align-self:flex-start;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500}fieldset{border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:.35rem;padding:.7rem .9rem;display:flex}fieldset legend{color:var(--muted);padding:0 .3rem;font-size:.78rem;font-weight:700}fieldset label{flex-direction:row;align-items:center;gap:.45rem;font-size:.85rem;font-weight:400}.topbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffd9;align-items:center;gap:.9rem;padding:.5rem 1.1rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.55rem;display:inline-flex}.brand-name{letter-spacing:-.02em;color:var(--text);font-size:1.08rem;font-weight:800}.spacer{flex:1}.seg{background:var(--surface-3);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.22rem .6rem;font-size:.74rem;font-weight:600}.seg button.active{background:var(--surface);color:var(--brand-600);box-shadow:var(--shadow-sm)}.user-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:.45rem;padding:.2rem .35rem .2rem .2rem;display:inline-flex}.user-chip .avatar{background:var(--brand-grad);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:inline-flex}.user-chip .user-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.82rem;overflow:hidden}.page{max-width:860px;margin:1.6rem auto 3rem;padding:0 1.2rem}.page.wide{max-width:1560px}.page-head{flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:1rem;display:flex}.page-head h2{margin:0}.center-page{justify-content:center;align-items:center;min-height:40vh;display:flex}.muted{color:var(--muted)}.error{color:var(--err);font-size:.85rem}.mono{font-family:var(--font-mono);font-size:.86em}.small{font-size:.8rem}.spinner{border:3px solid var(--border);border-top-color:var(--brand-500);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:1rem}.row-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0;display:flex}.row-form input{flex:1;min-width:10rem}.row-form.grow{flex:1;justify-content:flex-end}.row-form.grow input{max-width:320px}.login-wrap{grid-template-columns:1.1fr 1fr;min-height:calc(100vh - 53px);display:grid}.login-hero{color:#e2e8f0;background:radial-gradient(1200px 700px at 20% 0,#1e3a8a 0%,#0f172a 55%,#020617 100%);justify-content:center;align-items:center;padding:3rem 2rem;display:flex;position:relative;overflow:hidden}.login-hero:after{content:"";pointer-events:none;background:radial-gradient(500px 300px at 85% 80%,#0ea5e92e,#0000 70%),radial-gradient(400px 260px at 70% 20%,#2563eb26,#0000 70%);position:absolute;inset:0}.hero-inner{z-index:1;max-width:460px;position:relative}.hero-logo{align-items:center;gap:.9rem;display:flex}.hero-logo h1{color:#fff;letter-spacing:-.03em;margin:0;font-size:2.2rem;font-weight:800}.hero-tagline{color:#93c5fd;margin:.9rem 0 2rem;font-size:1.05rem}.hero-features{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.hero-features li{color:#cbd5e1;border-radius:var(--r-md);background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:.95rem;display:flex}.hero-features .fx{font-size:1.15rem}.login-panel{justify-content:center;align-items:center;padding:2rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(380px,100%);box-shadow:var(--shadow-md);flex-direction:column;gap:.8rem;padding:1.8rem;display:flex}.login-card h2{margin:0 0 .4rem}.or-sep{color:var(--muted-2);align-items:center;gap:.7rem;font-size:.75rem;display:flex}.or-sep:before,.or-sep:after{content:"";background:var(--border);flex:1;height:1px}@media (width<=860px){.login-wrap{grid-template-columns:1fr}.login-hero{display:none}}.project-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s,border-color .15s;position:relative}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-400);transform:translateY(-2px)}.pc-body{color:inherit;padding:1rem 1rem .85rem;display:block}.pc-name{color:var(--text);font-size:1.02rem;font-weight:700}.pc-badges{flex-wrap:wrap;gap:.3rem;min-height:1.2rem;margin-top:.5rem;display:flex}.pc-meta{margin-top:.6rem}.pc-del{opacity:0;transition:opacity .12s;position:absolute;top:.5rem;right:.5rem}.project-card:hover .pc-del{opacity:1}.empty-state{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:4rem 1rem}.empty-icon{margin-bottom:.6rem;font-size:2.4rem}.badge{vertical-align:middle;background:var(--surface-3);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.12rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge.warn{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn)}.badge.state-pending{background:var(--surface-3)}.badge.state-taken{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-bd)}.badge.state-taken.mine{box-shadow:0 0 0 2px var(--brand-500) inset}.badge.state-done{background:var(--ok-bg);color:#065f46;border-color:var(--ok-bd)}.badge.state-pending:before,.badge.state-taken:before,.badge.state-done:before{content:"";background:var(--muted-2);border-radius:50%;width:6px;height:6px}.badge.state-taken:before{background:#f59e0b}.badge.state-done:before{background:var(--ok)}.badge.role-owner{color:#075985;background:#e0f2fe;border-color:#bae6fd}.badge.role-admin{background:var(--err-bg);color:#991b1b;border-color:var(--err-bd)}.badge.role-editor{color:#166534;background:#dcfce7;border-color:#bbf7d0}.badge.role-setter{color:#854d0e;border-color:var(--warn-bd);background:#fef9c3}.badge.role-viewer{background:var(--surface-3)}.badge.hw{color:#5b21b6;background:#ede9fe;border-color:#ddd6fe}.chips{gap:.3rem;display:inline-flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.14rem .55rem;font-size:.74rem;font-weight:600}.chip.ok{color:#166534;border-color:var(--ok-bd);background:var(--ok-bg)}.chip.warnc{color:var(--warn);border-color:var(--warn-bd);background:var(--warn-bg)}.chip.errc{color:#b91c1c;border-color:var(--err-bd);background:var(--err-bg)}.state-tabs{background:var(--surface-3);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.state-tab{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600}.state-tab:hover:not(.active){background:#ffffffb3}.state-tab.active{background:var(--surface);color:var(--brand-600);box-shadow:var(--shadow-sm)}.state-tab .c{opacity:.65;margin-left:.2rem;font-weight:500}.worker-pill{background:var(--surface-3);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:999px;max-width:96px;padding:.1rem .55rem;font-size:.72rem;font-weight:600;display:inline-block;overflow:hidden}.worker-pill.mine{background:var(--brand-500);color:#fff;border-color:var(--brand-500)}.worker-pill.done{background:var(--ok-bg);color:#166534;border-color:var(--ok-bd)}.worker-pill.rsv{color:#5b21b6;background:#ede9fe;border-color:#ddd6fe}[data-theme=dark] .worker-pill.rsv{color:#c4b5fd;background:#312e81}.ap-table .menu-trigger,.bulkbar .menu-trigger{font-size:.78rem;font-weight:500;line-height:inherit;border-radius:6px;padding:.14rem .45rem}.apc-actions .menu-trigger{font-size:.82rem;font-weight:500;line-height:inherit;border-radius:6px;padding:.3rem .7rem}.apc-actions button,.bulkbar button,.ap-table .actions button,.ap-table td .menu-trigger{vertical-align:middle;align-items:center;gap:.25rem;min-height:1.65rem;display:inline-flex}.ap-table .worker-col{text-align:center}.footer-note{color:var(--muted-2);flex-basis:100%;font-size:.72rem}.owner-line{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.menu-items.portal{max-height:calc(100vh - 16px);overflow-y:auto}.friend-id{flex-direction:column;min-width:0;line-height:1.25;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.55rem;margin:.7rem 0;display:flex}.proj-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);align-items:flex-start;padding:.85rem 1rem}.project-title{margin:0;font-size:1.25rem}.menu-wrap{position:relative}.menu-trigger{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);padding:.42rem .85rem;font-size:.95rem;font-weight:700;line-height:1}.menu-trigger:hover{border-color:var(--border-strong);background:var(--surface-2)}.menu-trigger.open{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-ring)}.menu-items{z-index:1300;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);flex-direction:column;min-width:230px;max-height:70vh;padding:.35rem;animation:.12s ease-out pop;display:flex;overflow-y:auto}.menu-items>button{text-align:left;border-radius:var(--r-sm);background:0 0;border:none;justify-content:flex-start;padding:.45rem .65rem;font-weight:400}.menu-items>button:hover{background:var(--brand-soft);color:var(--brand-600)}.menu-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);border-top:1px solid var(--border);margin-top:.25rem;padding:.5rem .65rem .15rem;font-size:.68rem;font-weight:700}.menu-items>.menu-label:first-child{border-top:none;margin-top:0}.menu-row{gap:.35rem;padding:.25rem .6rem .4rem;display:flex}.menu-row button{flex:1}details.menu{position:relative}details.menu>summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);white-space:nowrap;padding:.42rem .85rem;font-size:.86rem;font-weight:500;list-style:none;transition:border-color .12s,background .12s}details.menu>summary::-webkit-details-marker{display:none}details.menu>summary:hover{border-color:var(--border-strong);background:var(--surface-2)}details.menu[open]>summary{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-ring)}details.menu>.menu-items{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);flex-direction:column;min-width:230px;padding:.35rem;animation:.12s ease-out pop;display:flex;position:absolute;top:calc(100% + 6px);right:0}details.menu .menu-items button{text-align:left;border-radius:var(--r-sm);background:0 0;border:none;justify-content:flex-start;padding:.45rem .65rem;font-weight:400}details.menu .menu-items button:hover{background:var(--brand-soft);color:var(--brand-600)}details.menu .menu-items hr{border:none;border-top:1px solid var(--border);margin:.25rem .3rem}.presence-bar{align-items:center;display:flex}.presence-bar>*+*{margin-left:-8px}.presence-bar .menu-trigger{box-shadow:none;background:0 0;border:none;border-radius:50%;padding:0}.presence-bar .menu-trigger:hover{background:0 0;transform:translateY(-2px)}.presence-avatar{color:#fff;border:2px solid var(--surface);cursor:default;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.82rem;font-weight:700;line-height:1;transition:transform .1s;display:inline-flex;position:relative;box-shadow:0 1px 3px #0003}.presence-avatar:hover{z-index:2;transform:translateY(-2px)}.presence-avatar.me{outline:2px solid var(--brand-400);outline-offset:1px}.presence-avatar .pa-n{background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 3px;font-size:.55rem;font-style:normal;font-weight:700;line-height:1.3;position:absolute;bottom:-4px;right:-4px}.presence-badge{color:#fff;white-space:nowrap;box-shadow:0 0 0 2px var(--surface);border-radius:999px;padding:.16rem .6rem;font-size:.7rem;font-weight:700}.lock-banner{background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:var(--r-md);color:var(--warn);align-items:center;gap:.6rem;margin:.6rem 0;padding:.5rem .85rem;font-size:.85rem;display:flex}.edit-banner{color:#fff;border-radius:var(--r-md);background:linear-gradient(90deg,#0ea5e9,#38bdf8);margin:.6rem 0;padding:.5rem .9rem;font-size:.85rem;font-weight:500;box-shadow:0 3px 10px #0ea5e94d}.tabs{flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.4rem;display:flex}.tabs .tab{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);align-items:center;font-size:.84rem;display:inline-flex}.tabs .tab-name{color:var(--muted);background:0 0;border:none;padding:.3rem .6rem;font-weight:500}.tabs .tab.active{background:var(--surface);border-color:var(--brand-400);box-shadow:var(--shadow-sm)}.tabs .tab.active .tab-name{color:var(--brand-600);font-weight:700}.tabs .tab-x{color:var(--muted-2);background:0 0;border:none;padding:0 .35rem}.tabs .tab-x:hover{color:var(--err)}.tabs .tab.add{color:var(--muted);background:0 0;border-style:dashed;padding:.3rem .6rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);max-height:62vh;overflow:auto}.ap-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.85rem}.ap-table th{z-index:3;background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.5rem;font-size:.72rem;font-weight:700;position:sticky;top:0}.ap-table td{border-bottom:1px solid var(--surface-3);vertical-align:middle;padding:.14rem .25rem}.ap-table tbody tr{transition:background .1s}.ap-table tbody tr:hover td{border-bottom-color:var(--surface-3);background:#2563eb0f}.ap-table tr.row-taken td{background:var(--warn-bg)}.ap-table tr.row-reserved td{background:#f5f3ff}.badge.state-reserved{color:#5b21b6;background:#ede9fe;border-color:#ddd6fe}[data-theme=dark] .ap-table tr.row-reserved td{background:#231a3d}[data-theme=dark] .badge.state-reserved{color:#c4b5fd;background:#312e81}.ap-table tr.row-done td{background:var(--done-bg)}.ap-table tr.row-done input{color:var(--muted)}.ap-table tr.row-excluded td{opacity:.5;background:var(--surface-2)!important}.ap-table .actions{white-space:nowrap}.stat-col{text-align:center;width:28px}.status-ico{font-size:.85rem;font-weight:800}.status-ico.ok{color:var(--ok)}.status-ico.err,.status-ico.errc{color:var(--err)}.status-ico.warnc{color:#d97706}.cell{width:100%;min-width:5.5rem;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;padding:.28rem .4rem}.cell:focus{border-color:var(--brand-400);background:var(--surface);box-shadow:0 0 0 3px var(--brand-ring)}.cell:disabled{color:var(--muted);background:0 0}.cell.err{background:var(--err-bg);box-shadow:inset 0 0 0 1px var(--err-bd)}input.invalid{background:var(--err-bg);border-color:var(--err)}.prov-grid{grid-template-columns:max-content 1fr;align-items:center;gap:.65rem 1rem;margin:.3rem 0;display:grid}.prov-grid .pg-label{color:var(--text-2);white-space:nowrap;font-size:.84rem;font-weight:600}.prov-grid .pg-fields{flex-wrap:wrap;align-items:flex-end;gap:.5rem;min-width:0;display:flex}.pg-mini{color:var(--muted);flex-direction:column;gap:2px;font-size:.72rem;font-weight:600;display:flex}.pg-mini input{width:132px}.pg-file{flex:1;min-width:180px;max-width:340px}@media (width<=560px){.prov-grid{grid-template-columns:1fr;gap:.3rem}.prov-grid .pg-label{margin-top:.45rem}.pg-mini{flex:1}.pg-mini input{width:100%}}.cell.warn{background:var(--warn-bg);box-shadow:inset 0 0 0 1px var(--warn-bd)}.cell.hw-empty{border-left:3px solid #fbbf24;border-radius:3px 6px 6px 3px}.cell.mono{font-family:var(--font-mono)}.rm-toggle{border:1px solid var(--border);background:var(--surface-3);border-radius:999px;display:inline-flex;overflow:hidden}.rm-toggle .rm-opt{color:var(--muted-2);background:0 0;border:none;border-radius:0;min-width:26px;padding:.14rem .5rem;font-size:.72rem;font-weight:700}.rm-toggle .rm-opt.active{color:#fff}.rm-toggle .rm-opt.active.x{background:var(--muted-2)}.rm-toggle .rm-opt.active.o{background:var(--brand-500)}.edit-mode .table-wrap{box-shadow:inset 0 0 0 2px #38bdf8, var(--shadow-sm);background:#f0f9ff}.edit-mode .ap-table th{color:#0369a1;background:#e0f2fe}.edit-bar{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:.5rem .75rem}.detail-row td{background:var(--surface-2);border-top:1px dashed var(--border-strong);padding:.7rem .9rem}.detail-grid-wrap{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.3rem 1rem;font-size:.82rem;display:grid}.detail-item{border-bottom:1px dotted var(--border);gap:.5rem;padding:.18rem 0;display:flex}.detail-item .k{color:var(--muted);min-width:90px;font-weight:600}.detail-item .v{font-family:var(--font-mono);word-break:break-all}.detail-item .v.empty{color:var(--muted-2);font-family:inherit;font-style:italic}.legal-sec p{white-space:pre-line}.guide-intro{color:var(--text-2);max-width:720px;margin:0;font-size:.95rem}.guide-h{border-left:4px solid var(--brand-500);align-items:center;gap:.4rem;margin:1.1rem 0 .2rem;padding-left:.6rem;font-size:1.05rem;display:flex}.guide-walk-card{flex-direction:column;gap:.7rem;display:flex}.gw-title{color:var(--brand-600);margin:0;font-size:.98rem}.guide-walk{grid-template-columns:minmax(0,1.4fr) 1fr;align-items:start;gap:1rem;display:grid}@media (width<=700px){.guide-walk{grid-template-columns:1fr}}.gm{color:#fff;background:#e11d48;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.gm-target{outline-offset:3px;border-radius:8px;outline:2px dashed #fb7185;position:relative}.gm-target>.gm{z-index:1;position:absolute;top:-.55rem;left:-.55rem;box-shadow:0 1px 3px #00000040}.gmock{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:.8rem;padding:1rem .9rem .9rem;display:flex;overflow:hidden}.gmock-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.gmock-btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-sm);color:var(--text-2);pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}.gmock-btn.primary{background:var(--brand-grad,var(--brand-500));color:#fff;border-color:#0000}.gmock-btn.success{background:var(--ok);color:#fff;border-color:#0000}.gmock-btn.danger{color:var(--err);border-color:var(--err-bd)}.gmock-input{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);min-width:120px;color:var(--muted-2);flex:1;padding:.3rem .6rem;font-size:.82rem;position:relative}.gmock-empty{justify-content:center;padding:.4rem 0;display:flex}.gmock-table{flex-direction:column;gap:4px;display:flex}.gmt-row{background:var(--surface);border:1px solid var(--border);border-radius:5px;height:16px;position:relative}.gmt-row.head{background:var(--surface-3)}.gmt-row.err{background:var(--err-bg);border-color:var(--err-bd)}.gmt-row.done{background:var(--done-bg,#ecfdf5)}.gmt-row.taken{background:var(--warn-bg)}.gmt-row .gm{position:absolute;top:-.45rem;left:-.5rem}.gmock-console{color:#cbd5e1;font-family:var(--font-mono);background:#0f172a;border-radius:8px;padding:.5rem .7rem;font-size:.72rem;line-height:1.55}.gmock-console .c1{color:#7dd3fc}.gmock-console .c2{color:#86efac}.gw-steps{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.gw-steps li{align-items:flex-start;gap:.5rem;font-size:.88rem;line-height:1.55;display:flex}.gw-steps li .gm{margin-top:.2rem}.guide-memo{background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:var(--r-sm);color:var(--text-2);padding:.5rem .75rem;font-size:.82rem;line-height:1.55}.guide-memo b{color:#b45309;letter-spacing:.06em;margin-right:.4rem;font-size:.72rem}.guide-roles table{border-collapse:collapse;width:100%;font-size:.88rem}.guide-roles td{border-bottom:1px solid var(--surface-3);padding:.4rem .6rem}.guide-roles .gr-role{white-space:nowrap;color:var(--brand-600);font-weight:700}.guide-faq{flex-direction:column;gap:.5rem;display:flex}.guide-faq details{padding:0;overflow:hidden}.guide-faq summary{cursor:pointer;align-items:center;gap:.45rem;padding:.65rem .9rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.guide-faq summary:before{content:"Q.";color:var(--brand-600);font-weight:800}.guide-faq details[open] summary{border-bottom:1px dashed var(--border)}.guide-faq details p{color:var(--text-2);margin:0;padding:.6rem .9rem .75rem;font-size:.86rem;line-height:1.6}.tab-menu{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:.15rem;display:flex}.tab-menu .tm{color:var(--muted);box-shadow:none;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:.5rem .85rem;font-size:.88rem;font-weight:600;position:relative}.tab-menu .tm:hover:not(.active){color:var(--text);background:var(--surface-2)}.tab-menu .tm.active{color:var(--brand-600);border-bottom-color:var(--brand-600);background:0 0}.tab-menu .tm .c{color:var(--muted-2);background:var(--surface-3);border-radius:999px;margin-left:.35rem;padding:.05rem .4rem;font-size:.7rem;font-weight:700}.tab-menu .tm.active .c{color:var(--brand-600);background:var(--brand-soft)}.tab-menu .tm .dot{background:var(--err);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite dot-pulse;position:absolute;top:7px;right:5px}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.admin-table .menu-trigger{border-radius:6px;padding:.14rem .45rem;font-size:.78rem}.clog-list{border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:column;gap:2px;max-height:55vh;padding:.3rem;display:flex;overflow:auto}.clog-row{border-bottom:1px dashed var(--surface-3)}.clog-head{width:100%;box-shadow:none;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.3rem .4rem;font-size:.8rem;display:flex}.clog-head:hover{background:var(--surface-2)}.clog-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);flex:1;font-size:.72rem;overflow:hidden}.clog-text{color:#cbd5e1;white-space:pre-wrap;word-break:break-all;background:#0f172a;border-radius:8px;max-height:300px;margin:0 0 .4rem;padding:.55rem .7rem;font-size:.72rem;line-height:1.5;overflow:auto}.proj-search{width:200px;min-width:120px}@media (width<=760px){.proj-search{flex:1;width:auto}}.ap-table .sel-col{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;width:2rem}.ap-table td.sel-col input{pointer-events:none}.ap-table tr.row-sel td,.ap-table tbody tr.row-sel:hover td{background:var(--brand-soft);border-bottom-color:#2563eb40}.bulkbar{z-index:950;background:var(--surface);border:1.5px solid var(--brand-500);width:fit-content;max-width:min(92vw,900px);box-shadow:0 6px 20px #2563eb40, var(--shadow-md,0 8px 24px #00000026);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem auto 0;padding:.45rem .9rem;font-size:.85rem;animation:.18s ease-out bulk-in;display:flex;position:sticky;bottom:.9rem}.bulkbar>b{color:var(--brand-600)}.bulkbar .spacer{min-width:.5rem}@keyframes bulk-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.bulkbar{bottom:4.4rem}}.result-mark{cursor:help;margin-left:.3rem;font-size:.85em}.result-mark.fail,.result-mark.patch_fail{color:var(--err)}.result-mark.no_os_risk{color:var(--err);font-weight:700}.result-mark.info_diff{color:var(--warn);font-weight:700}.result-mark.info_match{color:var(--ok)}.menu-trigger.result-mark{box-shadow:none;cursor:pointer;vertical-align:middle;background:0 0;border:none;min-width:0;min-height:0;padding:0 .15rem;line-height:1}.menu-trigger.result-mark:hover{background:var(--surface-3);border-radius:6px}.rm-note{white-space:normal;word-break:break-all;border-bottom:1px solid var(--border);flex-direction:column;gap:.3rem;max-width:320px;margin-bottom:.25rem;padding:.45rem .65rem .5rem;font-size:.8rem;display:flex}.rm-diff{border-collapse:collapse;font-size:.74rem;font-family:var(--font-mono)}.rm-diff td{vertical-align:top;padding:.08rem .3rem}.rm-diff .exp{color:var(--muted);text-decoration:line-through}.rm-diff .act{color:var(--brand-600);font-weight:700}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--r-lg);width:min(500px,94vw);max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;gap:.7rem;padding:1.4rem;animation:.16s cubic-bezier(.2,.9,.3,1.2) pop;display:flex;position:relative;overflow:auto}.dialog h3{margin:0 0 .2rem;padding-right:2rem}.modal-x{z-index:2;box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:.3rem;line-height:0;position:absolute;top:.75rem;right:.75rem}.modal-x:hover:not(:disabled){background:var(--surface-3);color:var(--text);border-color:#0000}.consent-body{white-space:pre-line;background:var(--surface-2);border:1px solid var(--surface-3);border-radius:var(--r-md);padding:.8rem .95rem;font-size:.9rem;line-height:1.65}.dialog.wide{width:min(780px,94vw)}.dialog.dark{background:var(--ink-800);color:var(--ink-text);border:1px solid var(--ink-700)}.dialog.dark h3{color:#e0f2fe}.dialog.dark .muted{color:#94a3b8}@keyframes fadeIn{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(6px)}}.share-list{flex-direction:column;gap:.4rem;max-height:40vh;padding:0;list-style:none;display:flex;overflow:auto}.share-list li{border-bottom:1px solid var(--surface-3);align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.share-list .mono{text-overflow:ellipsis;flex:1;overflow:hidden}.gshare{flex-direction:column;gap:.55rem;display:flex}.gshare-add{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.4rem;display:grid}.gshare-add .gs-input{min-width:0}.gshare-h{margin:.35rem 0 0;font-size:.86rem;font-weight:700}.gshare-list{flex-direction:column;max-height:44vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.gshare-list li{border-bottom:1px solid var(--surface-3);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.34rem .1rem;display:grid}.gshare-list li:last-child{border-bottom:none}.gs-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.gs-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:500;overflow:hidden}.gs-me{color:var(--muted);margin-left:.25rem;font-size:.8rem;font-weight:400}.gs-sub{color:var(--muted);font-size:.74rem;font-weight:400;display:block}.gs-roletxt{color:var(--muted);justify-self:end;padding-right:.5rem;font-size:.82rem}.gshare-list select.gs-rolesel{justify-self:end;min-width:120px}.gs-pending .gs-avatar{opacity:.55}.gshare-list li.gs-newrow{background:var(--brand-soft);border-radius:8px;padding-left:.35rem;padding-right:.35rem}.gs-removed .gs-name{opacity:.55;text-decoration:line-through}.gs-removed .gs-avatar{opacity:.4}.gshare-list select.gs-staged{border-color:var(--brand-400);box-shadow:0 0 0 2px var(--brand-ring)}.gs-mode{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.gs-mode button{white-space:nowrap;background:0 0;border:none;border-radius:0;padding:.32rem .6rem;font-size:.78rem;font-weight:600}.gs-mode button.on{background:var(--brand-500);color:#fff}.gs-combo{min-width:0;position:relative}.gs-combo .gs-input{width:100%}.gs-combo-list{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:1px;max-height:200px;padding:.25rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f172a1f}.gs-combo-list>button{text-align:left;background:0 0;border:none;border-radius:6px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:.5rem;padding:.3rem .45rem;display:grid}.gs-combo-list>button:hover{background:var(--surface-2)}.gs-avatar.sm{width:24px;height:24px;font-size:.7rem}.gs-combo-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;font-weight:500;overflow:hidden}.gs-combo-empty{padding:.4rem .5rem}.friend-list li{grid-template-columns:34px minmax(0,1fr) auto auto auto}.friend-list.fl-2 li{grid-template-columns:34px minmax(0,1fr) auto auto}.friend-list li.fl-1{grid-template-columns:34px minmax(0,1fr) auto}.friend-list li.fl-0{border-bottom:none;display:block}.friend-list input.short{width:110px}.friend-list .check{white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}@media (width<=640px){.friend-list li{grid-template-columns:34px minmax(0,1fr) auto;row-gap:.3rem}.friend-list input.short{grid-column:2;width:100%}.friend-list .check{grid-column:2/4}}.qpass-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.qpass-list li{border-bottom:1px solid var(--surface-3);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.32rem .1rem;display:flex}.qpass-list li.expired{opacity:.55}.qpass-new{margin-top:.55rem}.ud-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.ud-row+.ud-row{margin-top:.6rem}.ud-field{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.72rem;font-weight:600;display:flex}.ud-field.grow{flex:1;min-width:150px}.ud-field input,.ud-field select{font-weight:400}.ud-field input{width:120px}.ud-field.grow input{width:100%}.qpass-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .9rem;margin-top:.55rem;display:grid}.qpass-grid .ud-field input{width:100%}.au-id{max-width:280px}button.au-name{box-shadow:none;min-height:0;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:.88rem;font-weight:700;display:inline-flex}button.au-name:hover{color:var(--brand-600);background:0 0;border-color:#0000;text-decoration:underline}.au-mail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.75rem;display:block;overflow:hidden}.au-exp{color:var(--muted-2);margin-top:2px;font-size:.72rem}th.au-actions,td.au-actions{text-align:right;width:3.2rem}.badge.online{background:var(--ok-bg);color:#065f46;border-color:var(--ok-bd)}.dot-live{background:#10b981;border-radius:50%;width:6px;height:6px;margin-right:.15rem;animation:1.8s infinite livePulse;display:inline-block;box-shadow:0 0 #10b98199}@keyframes livePulse{70%{box-shadow:0 0 0 5px #10b98100}to{box-shadow:0 0 #10b98100}}.au-ip{color:var(--muted);margin-top:2px;font-size:.7rem}button.menu-trigger.own-chip{box-shadow:none;background:0 0;border:none;gap:.35rem;min-height:0;padding:.1rem .25rem;font-weight:400}button.menu-trigger.own-chip:hover{background:var(--surface-3)}.own-name{font-size:.85rem;font-weight:600}.own-pop{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;max-width:300px;margin-bottom:.25rem;padding:.5rem .65rem;font-size:.8rem;display:flex}.own-pop>div{align-items:baseline;gap:.4rem;display:flex}.own-pop .k{color:var(--muted);min-width:3.2rem;font-size:.72rem}.own-pop code{word-break:break-all;background:var(--surface-3);border-radius:4px;padding:0 .3rem;font-size:.72rem}.withdraw-fold>summary{cursor:pointer;align-items:center;gap:.4rem;font-size:1.02rem;font-weight:700;list-style:none;display:flex}.withdraw-fold>summary::-webkit-details-marker{display:none}.withdraw-fold>summary:after{content:"▾";color:var(--muted);margin-left:auto}.withdraw-fold[open]>summary:after{content:"▴"}.withdraw-fold[open]>summary{margin-bottom:.5rem}.switch{flex:none;width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch i{background:var(--border-strong);cursor:pointer;border-radius:999px;font-style:normal;transition:background .15s;position:absolute;inset:0}.switch i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch input:checked+i{background:var(--brand-500)}.switch input:checked+i:after{transform:translate(16px)}.switch input:disabled+i{opacity:.5;cursor:default}label.switch-row,label.switch-line{flex-direction:row;align-items:center}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;padding:.15rem 0;display:flex}.switch-row .sw-text{flex-direction:column;gap:2px;font-size:.88rem;font-weight:600;display:flex}.switch-line{cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.switch-line .sw-lab{color:var(--muted);font-size:.78rem;font-weight:500}.fr-search{width:100%}.friend-scroll{border:1px solid var(--surface-3);border-radius:var(--r-md);max-height:320px;padding:0 .6rem;overflow:auto}.friend-list li.fr-open{background:var(--surface-2);border-radius:8px}.fr-detail{grid-column:1/-1;grid-template-columns:repeat(3,minmax(140px,1fr));gap:.5rem;padding:.35rem .3rem .55rem 2.6rem;display:grid}.fr-detail label{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.75rem;display:flex}@media (width<=640px){.fr-detail{grid-template-columns:1fr;padding-left:.3rem}.switch-line .sw-lab{display:none}}.gshare-roles{border-top:1px solid var(--surface-3);padding-top:.5rem;line-height:2}.gshare-foot{align-items:center;gap:.6rem;margin-top:.1rem;display:flex}.gshare-foot .gshare-hint{flex:1;margin:0}.gshare-foot button.primary{min-width:92px}.badge.hw-off{background:var(--surface-3);color:var(--muted);border-color:var(--border)}.ap-table th.hw-dim{color:var(--muted-2)}.hw-dim .cell{opacity:.45}.hist-list{max-height:50vh;font-size:.82rem;overflow:auto}.hist-row{border-bottom:1px solid var(--surface-3);gap:.6rem;padding:.4rem .2rem;display:flex}.hist-row .ts{color:var(--muted-2);white-space:nowrap;min-width:128px;font-size:.72rem;font-family:var(--font-mono)}.hist-row .by{text-overflow:ellipsis;max-width:110px;overflow:hidden}.hist-row code{background:var(--surface-3);word-break:break-all;border-radius:4px;padding:0 .35rem;font-size:.72rem}.act-label{border-radius:5px;padding:.06rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.act-label.project{color:#075985;background:#e0f2fe}.act-label.row{color:#92400e;background:#fef3c7}.vline{border-bottom:1px dashed var(--border);padding:.28rem 0;font-size:.83rem}.vline.warnline{color:var(--warn)}.warn-box{background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:var(--r-sm);white-space:pre-wrap;color:var(--warn);padding:.5rem .75rem;font-size:.8rem}.sheet-pick{background:var(--surface-2);border-radius:var(--r-sm);flex-direction:column;gap:.3rem;max-height:240px;padding:.55rem;display:flex;overflow:auto}.sheet-pick label{flex-direction:row;align-items:center;font-weight:400}.script{background:var(--ink-900);color:#d7e3f4;border-radius:var(--r-sm);border:1px solid var(--ink-700);font-family:var(--font-mono);white-space:pre;min-height:3rem;margin:0;padding:.8rem .95rem;font-size:.82rem;line-height:1.55;overflow:auto}.script.tall{max-height:55vh}.serial-dock{z-index:1040;background:var(--ink-900);color:var(--ink-text);border-top:1px solid var(--ink-700);font-size:.82rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #02061773}.serial-dock.collapsed .sd-body{display:none}.sd-header{background:var(--ink-800);border-bottom:1px solid var(--ink-700);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.45rem .8rem;display:flex}.sd-title{color:#e0f2fe;align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.sd-state{color:#fff;background:#475569;border-radius:999px;margin-left:.45rem;padding:.08rem .55rem;font-size:.68rem;font-weight:600;display:inline-block}.sd-state.ok{background:#16a34a}.sd-state.bad{background:var(--err)}.sd-state.busy{background:#ca8a04}.sd-info{color:#94a3b8;font-size:.72rem;font-family:var(--font-mono)}.sd-baud,.sd-target{background:var(--ink-700);color:var(--ink-text);border:1px solid var(--ink-600);border-radius:6px;padding:.18rem .4rem;font-size:.75rem}.sd-baud:focus,.sd-target:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e940}.sd-btn,.sd-qbtn{background:var(--ink-700);color:var(--ink-text);border:1px solid var(--ink-600);border-radius:6px;padding:.22rem .6rem;font-size:.75rem}.sd-btn:hover:not(:disabled),.sd-qbtn:hover:not(:disabled){background:var(--ink-600);border-color:#475569}.sd-btn.primary{color:#fff;background:#0284c7;border-color:#0284c7}.sd-btn.primary:hover:not(:disabled){background:#0369a1}.sd-btn.danger,.sd-qbtn.danger{color:#fecaca;background:#7f1d1d59;border-color:#991b1b}.sd-qbtn.highlight{color:#fff;background:#0284c7;border-color:#0284c7}.sd-body{padding:.55rem .8rem .6rem}.sd-quick{border-bottom:1px solid var(--ink-700);flex-wrap:wrap;align-items:center;gap:.3rem .45rem;margin-bottom:.45rem;padding-bottom:.45rem;display:flex}.sd-quick-label{color:#94a3b8;font-size:.72rem;font-weight:600}.sd-sep{background:var(--ink-600);width:1px;height:1.2rem;margin:0 .2rem}.sd-term{color:var(--ink-text);border:1px solid var(--ink-700);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;background:#020617;border-radius:8px;outline:none;height:30vh;min-height:180px;max-height:50vh;margin:0;padding:.6rem .75rem;font-size:.78rem;line-height:1.45;overflow:auto}.sd-term:focus{box-shadow:0 0 0 2px #0ea5e959}.sd-term .tx{color:#fbbf24}.sd-term .sys{color:#7dd3fc;font-style:italic}.sd-term .err{color:#f87171}.sd-input-row{align-items:center;gap:.4rem;margin-top:.45rem;display:flex}.sd-prompt{color:#38bdf8;font-family:var(--font-mono);font-weight:700}.sd-input{color:var(--ink-text);border:1px solid var(--ink-700);font-family:var(--font-mono);background:#020617;border-radius:6px;flex:1;padding:.32rem .55rem;font-size:.82rem}.sd-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c74d}.sd-check{color:#94a3b8;align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.sd-auto{background:#7c3aed1a;border:1px solid #7c3aed59;border-radius:8px;margin-bottom:.5rem;padding:.55rem .75rem}.sd-auto-head{color:#ddd6fe;align-items:center;gap:.5rem;display:flex}.sd-auto-title{font-weight:700}.sd-auto-step{color:#c4b5fd;font-family:var(--font-mono);background:#7c3aed40;border-radius:999px;padding:.06rem .5rem;font-size:.76rem}.sd-auto-step.ok{color:#a7f3d0;background:#10b98147}.sd-auto-step.err{color:#fecaca;background:#ef444447}.sd-auto-log{max-height:130px;font-family:var(--font-mono);color:#cbd5e1;background:#0206178c;border:1px solid #94a3b826;border-radius:6px;margin-top:.35rem;padding:.4rem .55rem;font-size:.74rem;line-height:1.5;overflow:auto}.sd-auto-log .ok{color:#6ee7b7}.sd-auto-log .err{color:#fca5a5}.sd-auto-log .warn{color:#fcd34d}.sd-auto-log .step{color:#c4b5fd}.apm-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:440px;max-width:calc(100vw - 20px);box-shadow:var(--shadow-lg);z-index:1055;-webkit-user-select:none;user-select:none;flex-direction:column;animation:.18s cubic-bezier(.2,.9,.3,1.15) pop;display:flex;position:fixed;top:90px;right:32px}.apm-head{cursor:move;background:var(--ink-800);color:#e0f2fe;border-radius:var(--r-lg) var(--r-lg) 0 0;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.95rem;font-weight:700;display:flex}.apm-x{color:#e0f2fe;background:0 0;border:none;padding:.1rem .35rem}.apm-x:hover{background:#ffffff1f}.apm-body{-webkit-user-select:text;user-select:text;padding:1.1rem 1rem .9rem}.apm-step{text-align:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:4.6rem;padding:1.15rem .7rem;display:flex;position:relative}.apm-host{font-size:1.55rem;font-weight:800;font-family:var(--font-mono);overflow-wrap:anywhere;letter-spacing:-.01em;max-width:100%}.apm-msg{color:var(--text-2);font-size:.98rem;font-weight:500}.apm-step.ok{background:var(--ok-bg);color:#047857;border-color:var(--ok-bd)}.apm-step.err{background:var(--err-bg);color:#b91c1c;border-color:var(--err-bd)}.apm-step.warn{background:var(--warn-bg);color:var(--warn);border-color:#fcd34d}.apm-step.summary .apm-host{font-family:inherit;font-size:1.12rem}@keyframes apm-pulse-ring{0%{box-shadow:0 0 #3b82f68c}70%{box-shadow:0 0 0 14px #3b82f600}to{box-shadow:0 0 #3b82f600}}.apm-step.needs-action{background:linear-gradient(#eff6ff 0%,#f8fafc 100%);border-color:#3b82f6;animation:1.8s ease-out infinite apm-pulse-ring}.apm-step.needs-action:before{content:attr(data-needs-action-label);color:#fff;letter-spacing:.04em;background:#3b82f6;border-radius:999px;padding:.1rem .6rem;font-size:.65rem;font-weight:800;position:absolute;top:-.6rem;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #3b82f659}.apm-step.needs-action.warn{border-color:#f59e0b}.apm-step.needs-action.warn:before{background:#f59e0b;box-shadow:0 2px 6px #f59e0b59}.apm-countdown{background:var(--brand-soft);border-radius:var(--r-sm);color:#1e3a8a;border:1px dashed #93c5fd;align-items:center;gap:.5rem;margin-top:.7rem;padding:.5rem .7rem;font-size:.82rem;display:flex}.apm-countdown.low{background:var(--err-bg);color:#991b1b;border-color:#fca5a5}.apm-cd-time{font-family:var(--font-mono);margin-left:auto;font-size:.95rem;font-weight:800}.apm-cd-ext{background:var(--surface);color:var(--brand-600);border:1px solid #60a5fa;border-radius:6px;padding:.16rem .6rem;font-size:.78rem;font-weight:700}.apm-cd-ext:hover{background:#dbeafe}.apm-progress-wrap{margin-top:.85rem}.apm-bar-track{background:var(--surface-3);border-radius:999px;height:.7rem;overflow:hidden}.apm-bar-fill{background:var(--brand-grad);border-radius:999px;height:100%;transition:width .25s;display:block}.apm-count{text-align:center;color:var(--muted);margin-top:.35rem;font-size:.78rem}.apm-foot{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);align-items:center;gap:.4rem;padding:.6rem .85rem;display:flex}.topbar-cta{background:var(--brand-grad);border-radius:999px;padding:.35rem .9rem;font-size:.84rem;font-weight:600;box-shadow:0 2px 8px #2563eb4d;color:#fff!important}.topbar-link{border-radius:var(--r-sm);padding:.2rem .4rem;font-size:1.05rem}.topbar-link:hover{background:var(--surface-3)}a.user-chip{color:inherit}a.user-chip:hover{border-color:var(--brand-400)}button.menu-trigger.user-chip{box-shadow:none;border-radius:999px;min-height:0;padding:.2rem .35rem .2rem .2rem;font-weight:400}button.menu-trigger.user-chip:hover{border-color:var(--brand-400);background:var(--surface)}.usage-bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.usage-bar>span{background:var(--brand-grad);border-radius:999px;height:100%;display:block}.agree-row{flex-direction:row;align-items:flex-start;gap:.5rem;font-size:.82rem;font-weight:400}.agree-row input{margin-top:.15rem}.legal-note{text-align:center;margin:.2rem 0 0}.settings-page{max-width:640px}.set-card{flex-direction:column;gap:.7rem;margin-bottom:.9rem;display:flex}.set-card h3{margin:0 0 .2rem}.kv{align-items:center;gap:.6rem;font-size:.88rem;display:flex}.kv .k{color:var(--muted);min-width:90px;font-weight:600}.kv .v{text-overflow:ellipsis;overflow:hidden}.upgrade-link{border-radius:var(--r-sm);background:var(--brand-soft);border:1px solid #bfdbfe;align-self:flex-start;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.86rem;font-weight:600;display:inline-flex}.invite-box{background:var(--brand-soft);border-radius:var(--r-md);border:1px solid #bfdbfe;margin-bottom:1rem;padding:.85rem 1rem}.invite-box h3{margin:0 0 .5rem;font-size:.95rem}.invite-box ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.invite-box li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.invite-box .inv-text{flex:1;min-width:200px}.legal-page{max-width:760px}.legal-sec{margin-top:1.1rem}.legal-sec h3{margin-bottom:.25rem;font-size:.95rem}.legal-sec p{color:var(--text-2);margin:0;font-size:.9rem;line-height:1.7}.landing{flex-direction:column;min-height:calc(100vh - 53px);display:flex}.ld-hero{color:#e2e8f0;text-align:center;background:radial-gradient(1400px 800px at 50% -10%,#1e3a8a 0%,#0f172a 55%,#020617 100%);padding:4.5rem 1.5rem 5rem}.ld-hero-inner{max-width:780px;margin:0 auto}.ld-badge{color:#93c5fd;background:#3b82f61a;border:1px solid #93c5fd59;border-radius:999px;margin-bottom:1.4rem;padding:.25rem .8rem;font-size:.78rem;font-weight:600;display:inline-block}.ld-hero h1{color:#fff;letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,4.5vw,3rem);font-weight:800;line-height:1.2}.grad-text{background:linear-gradient(90deg,#60a5fa,#22d3ee);color:#0000;-webkit-background-clip:text;background-clip:text}.ld-sub{color:#94a3b8;max-width:560px;margin:1.2rem auto 2rem;font-size:1.05rem;line-height:1.65}.ld-cta{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.btn-cta{border-radius:var(--r-md);box-shadow:none;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex}.primary-cta{background:var(--brand-grad);box-shadow:0 6px 20px #2563eb66;color:#fff!important}.primary-cta:hover{filter:brightness(1.06);transform:translateY(-2px)}.ghost-cta{background:0 0;border:1px solid #94a3b866;color:#e2e8f0!important}.ghost-cta:hover{background:#ffffff0f}.ld-pricing .ghost-cta{border-color:var(--border-strong);color:var(--text)!important}.ld-mock{text-align:left;border-radius:var(--r-lg);background:#0f172a;border:1px solid #1e293b;max-width:640px;margin:3rem auto 0;overflow:hidden;box-shadow:0 30px 80px #02061799}.mock-bar{background:#1e293b;align-items:center;gap:6px;padding:.55rem .8rem;display:flex}.mock-bar>span:not(.mock-title){background:#475569;border-radius:50%;width:10px;height:10px}.mock-bar>span:first-child{background:#f87171}.mock-bar>span:nth-child(2){background:#fbbf24}.mock-bar>span:nth-child(3){background:#34d399}.mock-title{color:#94a3b8;align-items:center;gap:.35rem;margin-left:.6rem;font-size:.75rem;display:inline-flex}.mock-body{padding:.9rem}.mock-row{background:#1e293b;border-radius:6px;height:22px;margin-bottom:6px}.mock-row.head{background:#334155;height:18px}.mock-row.done{background:linear-gradient(90deg,#10b98140,#1e293b 70%)}.mock-row.taken{background:linear-gradient(90deg,#f59e0b40,#1e293b 70%)}.mock-console{font-family:var(--font-mono);background:#020617;border:1px solid #1e293b;border-radius:8px;margin-top:.7rem;padding:.6rem .75rem;font-size:.76rem;line-height:1.7}.mock-console .c1{color:#38bdf8}.mock-console .c2{color:#e2e8f0}.mock-console .c3{color:#34d399}.ld-features{width:100%;max-width:1080px;margin:0 auto;padding:4rem 1.5rem}.ld-features h2,.ld-pricing h2{text-align:center;margin-bottom:2rem;font-size:1.6rem}.ld-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.ld-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:1.3rem;transition:box-shadow .15s,transform .15s}.ld-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ld-icon{margin-bottom:.5rem;font-size:1.6rem}.ld-card h3{margin:0 0 .35rem;font-size:1rem}.ld-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.ld-pricing{width:100%;max-width:820px;margin:0 auto;padding:1rem 1.5rem 4rem}.ld-price-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.ld-price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;gap:.8rem;padding:1.6rem;display:flex}.ld-price-card.pro{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-ring), var(--shadow-md)}.ld-price-card .price{letter-spacing:-.02em;font-size:2rem;font-weight:800}.ld-price-card ul{color:var(--muted);flex-direction:column;gap:.4rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.ld-price-card .btn-cta{justify-content:center}.ld-footer{border-top:1px solid var(--border);align-items:center;gap:1rem;width:100%;max-width:1080px;margin:0 auto;padding:1.2rem 1.5rem;font-size:.84rem;display:flex}.app-layout{min-height:calc(100vh - 53px);display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;width:200px;height:calc(100vh - 53px);padding:.8rem .55rem;position:sticky;top:53px;overflow:visible}.sidebar nav{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.side-link{border-radius:var(--r-sm);color:var(--text-2);align-items:center;gap:.6rem;padding:.5rem .7rem;font-size:.88rem;font-weight:500;display:flex}.side-link:hover{background:var(--surface-3);color:var(--text)}.side-link.active{background:var(--brand-soft);color:var(--brand-600);font-weight:700}.side-link .si{text-align:center;width:1.3rem}.side-sep{border-top:1px solid var(--border);margin:.5rem .3rem}svg.lucide{vertical-align:-.16em;flex-shrink:0;width:1.05em;height:1.05em;display:inline-block}button svg.lucide,.side-link svg.lucide{vertical-align:-.14em}.empty-icon svg.lucide{vertical-align:middle;width:1em;height:1em}.page.narrow{max-width:760px}.stack{flex-direction:column;gap:.5rem;display:flex}.stack>button{align-self:flex-end}.ws-tabs{flex-wrap:wrap;align-self:flex-start}.bottom-nav button.bn-logout{box-shadow:none;color:var(--muted);background:0 0;border:none;font-weight:500}.bottom-nav button.bn-logout:hover{color:var(--err);background:0 0}button.side-logout{box-shadow:none;width:100%;color:var(--muted);background:0 0;border:none;justify-content:flex-start;margin-bottom:.3rem;font-weight:500}button.side-logout:hover:not(:disabled){background:var(--err-bg);color:var(--err);border:none}.sidebar.collapsed button.side-logout{justify-content:center}.side-sub{flex-direction:column;gap:1px;margin:1px 0 3px;display:flex}.side-link.sub{padding:.32rem .7rem .32rem 1.5rem;font-size:.82rem}.side-link.sub .si{font-size:.8rem}.sidebar.collapsed .side-link.sub{padding:.32rem .3rem}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-main>main{flex:1;width:100%}.sidebar{flex-direction:column;display:flex}.sidebar nav{flex:1}.sidebar.collapsed{width:56px;padding:.8rem .3rem}.sidebar.collapsed .side-link{justify-content:center;padding:.5rem .3rem}.sidebar.collapsed .sl{display:none}.side-collapse{z-index:20;border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:.95rem;line-height:1;display:flex;position:absolute;top:18px;right:-12px;box-shadow:0 1px 4px #0000001f}.side-collapse:hover{color:var(--brand-600);border-color:var(--brand-400)}.bottom-nav{display:none}@media (width<=760px){.sidebar{width:56px;padding:.8rem .3rem}.sidebar .side-link{justify-content:center;padding:.5rem .3rem}.sidebar .sl,.side-collapse{display:none}}@media (width<=640px){.sidebar{display:none}.bottom-nav{z-index:900;background:var(--surface);border-top:1px solid var(--border);padding:.25rem .3rem calc(.25rem + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0f172a1a}.bottom-nav .side-link{border-radius:var(--r-sm);flex-direction:column;align-items:center;gap:.1rem;min-width:52px;padding:.3rem .5rem;font-size:.62rem}.bottom-nav .si{width:auto;font-size:1.1rem}.app-main{padding-bottom:68px}.serial-dock{display:none}.apm-panel{width:auto;inset:auto 8px 76px}.topbar .user-name{display:none}.page{margin-top:.8rem;padding:0 .7rem}.proj-header{flex-wrap:wrap}}.app-footer{border-top:1px solid var(--border);color:var(--muted);background:var(--surface);flex-wrap:wrap;align-items:center;gap:1rem;padding:.9rem 1.3rem;font-size:.82rem;display:flex}.contact-email{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.contact-email .ce-label{color:var(--muted);font-size:.8rem;font-weight:600}.contact-email code{background:var(--surface-3);font-family:var(--font-mono);border-radius:6px;padding:.15rem .5rem;font-size:.8rem}.notice-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.notice-item{padding:0;overflow:hidden}.notice-item.pinned{border-color:var(--warn-bd)}.notice-head{text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;font-weight:500;display:flex}.notice-head:hover{background:var(--surface-2);border:none}.notice-title{color:var(--text);font-weight:600}.notice-body{white-space:pre-wrap;color:var(--text-2);border-top:1px dashed var(--border);padding:.7rem 1rem .9rem;font-size:.9rem;line-height:1.7}.reply-box{background:var(--brand-soft);border-left:3px solid var(--brand-400);border-radius:0 var(--r-sm) var(--r-sm) 0;margin-top:.7rem;padding:.6rem .8rem}.reply-box p{white-space:pre-wrap;margin:.3rem 0 0}textarea{resize:vertical;font-family:inherit;line-height:1.6}.guide-list{flex-direction:column;gap:.8rem;display:flex}.guide-sec h3{align-items:center;gap:.5rem;margin:0 0 .4rem;display:flex}.guide-sec p{color:var(--text-2);margin:.35rem 0;font-size:.9rem;line-height:1.7}.danger-zone{border-color:var(--err-bd)}.danger-zone h3{color:var(--err)}.withdraw-list{margin:0;padding-left:1.2rem;line-height:1.8}.blocked-card{text-align:center;flex-direction:column;align-items:center;gap:.8rem;max-width:420px;padding:2rem;display:flex}.admin-table td{padding:.45rem .6rem}.ap-cards{flex-direction:column;gap:.6rem;display:flex}.ap-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:.45rem;padding:.75rem .85rem;display:flex}.ap-card.taken{border-left:4px solid #f59e0b}.ap-card.done{border-left:4px solid var(--ok);background:var(--done-bg)}.ap-card.excluded{opacity:.55}.apc-head{align-items:center;gap:.5rem;display:flex}.apc-name{font-size:1.02rem;font-weight:700;font-family:var(--font-mono)}.apc-ip{align-items:center;font-size:.85rem;display:flex}.apc-hw{gap:.6rem;display:flex}.apc-field{color:var(--muted);flex-direction:column;flex:1;gap:.15rem;font-size:.7rem;font-weight:700;display:flex}.apc-field .cell{background:var(--surface-2);border:1px solid var(--border);min-width:0}.apc-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.apc-actions .mini{padding:.3rem .7rem;font-size:.82rem}.apc-detail{border-top:1px dashed var(--border);padding-top:.5rem}[data-theme=dark]{--bg:#0b1120;--surface:#101a2d;--surface-2:#0d1526;--surface-3:#1a2740;--border:#223350;--border-strong:#33476b;--text:#e6ecf6;--text-2:#c4cfe0;--muted:#8da2bf;--muted-2:#5f7392;--brand-soft:#14243f;--brand-ring:#3b82f64d;--ok-bg:#0a2a1f;--ok-bd:#14532d;--warn-bg:#2a2108;--warn-bd:#6b5510;--err-bg:#2d1214;--err-bd:#7f1d1d;--done-bg:#0c2417;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 18px 48px #0009}[data-theme=dark] .topbar{background:#0b1120d9}[data-theme=dark] .seg button.active,[data-theme=dark] .state-tab.active{background:var(--surface-3);color:#93c5fd}[data-theme=dark] .state-tab:hover:not(.active){background:#ffffff0f}[data-theme=dark] .badge.role-owner{color:#7dd3fc;background:#0c2f45;border-color:#155e75}[data-theme=dark] .badge.role-editor{color:#6ee7b7;background:#0a2a1f;border-color:#14532d}[data-theme=dark] .badge.role-setter{color:#fcd34d;background:#2a2108;border-color:#6b5510}[data-theme=dark] .badge.role-admin{color:#fca5a5;background:#2d1214;border-color:#7f1d1d}[data-theme=dark] .badge.hw{color:#c4b5fd;background:#241a3f;border-color:#4c1d95}[data-theme=dark] .badge.warn,[data-theme=dark] .chip.warnc{color:#fcd34d}[data-theme=dark] .chip.ok{color:#6ee7b7}[data-theme=dark] .chip.errc{color:#fca5a5}[data-theme=dark] .badge.state-done{color:#6ee7b7}[data-theme=dark] .badge.state-taken,[data-theme=dark] .lock-banner,[data-theme=dark] .warn-box{color:#fcd34d}[data-theme=dark] .worker-pill.done{color:#6ee7b7}[data-theme=dark] .edit-mode .table-wrap{box-shadow:inset 0 0 0 2px #0369a1, var(--shadow-sm);background:#0d1c30}[data-theme=dark] .edit-mode .ap-table th{color:#7dd3fc;background:#0c2f45}[data-theme=dark] .ap-table tbody tr:hover td{background:#60a5fa17}[data-theme=dark] .ap-table tr.row-sel td,[data-theme=dark] .ap-table tbody tr.row-sel:hover td{border-bottom-color:#60a5fa4d}[data-theme=dark] .apm-step.needs-action{background:linear-gradient(180deg, #14243f 0%, var(--surface-2) 100%)}[data-theme=dark] .apm-countdown{color:#93c5fd;background:#14243f;border-color:#1d4ed8}[data-theme=dark] .apm-countdown.low{color:#fca5a5;background:#2d1214;border-color:#7f1d1d}[data-theme=dark] .apm-cd-ext{background:var(--surface-3);color:#93c5fd;border-color:#1d4ed8}[data-theme=dark] .upgrade-link{color:#93c5fd;border-color:#1d4ed8}[data-theme=dark] .invite-box{border-color:#1d4ed8}[data-theme=dark] .apm-step.ok{color:#6ee7b7}[data-theme=dark] .apm-step.err{color:#fca5a5}[data-theme=dark] .apm-step.warn{color:#fcd34d}[data-theme=dark] .status-ico.ok{color:#34d399}[data-theme=dark] .act-label.project{color:#7dd3fc;background:#0c2f45}[data-theme=dark] .act-label.row{color:#fcd34d;background:#2a2108}[data-theme=dark] .detail-row td{background:var(--surface-2)}[data-theme=dark] .empty-state{background:var(--surface)}[data-theme=dark] .rm-toggle .rm-opt.active.x{background:#475569}[data-theme=dark] .side-link.active{color:#93c5fd}[data-theme=dark] .reply-box{border-left-color:#1d4ed8}.clog-body{flex-direction:column;gap:.35rem;padding:.35rem .5rem .5rem;display:flex}.clog-cmds{border:1px solid var(--surface-3);border-radius:var(--r-sm);flex-direction:column;display:flex;overflow:hidden}.clog-cmd+.clog-cmd{border-top:1px solid var(--surface-3)}.clog-cmd.on{background:var(--surface-2)}.clog-cmd-head{width:100%;box-shadow:none;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:.45rem;padding:.3rem .5rem;font-weight:400;display:flex}.clog-cmd-head:hover{background:var(--surface-3)}.clog-cmd-head code{font-size:.78rem;font-family:var(--font-mono);word-break:break-all}.clog-cmd .clog-text{border-top:1px dashed var(--border);margin:0}.log-ctx{margin-top:1px;font-size:.7rem}.log-ctx .mono{font-family:var(--font-mono)}
