*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#141c27;--bg-base:#1a2332;--bg-raised:#1f2b3d;--bg-inset:#162030;--border:#2a3a50;--border-sub:#223040;--text-prim:#f2ebe3;--text-sec:#9aa6b8;--text-dim:#5a6a7e;--accent:#c8956a;--accent-dim:#7a4e2a;--silver:#a8b0bc;--ok:#6aab7a;--err:#c06060;--err-bg:#c0606014;--err-border:#c0606059;--mono:"SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius:6px;--radius-sm:4px;--radius-lg:12px;--s1:4px;--s2:6px;--s3:8px;--s4:12px;--s5:16px;--s6:21px;--s7:28px;--s8:37px;--t-xs:.786rem;--t-sm:.857rem;--t-base:1rem;--t-lg:1.357rem;--t-xl:1.786rem;--text-sub:var(--text-sec);--font-mono:var(--mono);--surface-2:var(--bg-raised);--bg:var(--bg-deep);--text:var(--text-prim);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--ease-in:cubic-bezier(.7, 0, .84, 0)}html{font-size:14px}body{font-family:var(--sans);background:var(--bg-base);color:var(--text-prim);min-height:100dvh;font-size:1rem;line-height:1.5}.page{max-width:720px;margin:0 auto;padding:clamp(16px,4vw,28px)}.logo-block{align-items:center;gap:12px;margin-bottom:37px;display:flex}.logo-img{border-radius:var(--radius);flex-shrink:0;width:40px;height:40px}.logo-wordmark{color:var(--text-prim);letter-spacing:-.01em;font-size:1.357rem;font-weight:600}.setup-screen{max-width:480px}.setup-steps{align-items:center;gap:6px;margin-bottom:28px;display:flex}.setup-step{background:var(--border);width:6px;height:6px;transition:background .3s var(--ease-out), transform .3s var(--ease-out);border-radius:50%}.setup-step.active{background:var(--accent);transform:scale(1.4)}.setup-step.done{background:var(--ok)}.setup-step-label{color:var(--text-dim);margin-left:4px;font-size:.786rem}.setup-heading{color:var(--text-prim);letter-spacing:-.02em;margin-bottom:8px;font-size:1.714rem;font-weight:600;line-height:1.2}.setup-lead{color:var(--text-sec);margin-bottom:28px;font-size:1rem;line-height:1.6}.success-banner{border-radius:var(--radius);color:var(--ok);opacity:0;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);background:#6aab7a14;border:1px solid #6aab7a40;align-items:flex-start;gap:10px;margin-bottom:28px;padding:12px 14px;font-size:.929rem;display:flex;transform:translateY(-4px)}.success-banner.visible{opacity:1;transform:translateY(0)}.success-banner-icon{flex-shrink:0;font-weight:700}.success-banner-title{font-weight:600}.success-banner-sub{color:var(--text-sec);margin-top:2px}.field-group{margin-bottom:16px}.field-label{color:var(--text-prim);align-items:baseline;gap:8px;margin-bottom:6px;font-size:.857rem;font-weight:500;display:flex}.field-label-mono{font-family:var(--mono);color:var(--text-dim);font-size:.786rem}.field-input-wrap{display:flex;position:relative}.field-input{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-prim);font-family:var(--mono);transition:border-color .1s var(--ease-out), background .1s var(--ease-out);padding:10px 12px;font-size:.929rem}.field-input:focus{border-color:var(--accent);background:var(--bg-raised);outline:none}.field-input[aria-invalid=true]{border-color:var(--err)}.field-hint{color:var(--text-dim);margin-top:4px;font-size:.786rem;line-height:1.5}.field-error{color:var(--err);opacity:0;min-height:1.2em;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);margin-top:4px;font-size:.786rem;transform:translateY(-2px)}.field-error.visible{opacity:1;transform:translateY(0)}.reveal-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 10px;font-size:.786rem;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.reveal-btn:hover{color:var(--text-prim);background:#ffffff0a}.btn-row{align-items:center;gap:12px;margin-top:21px;display:flex}.btn{border-radius:var(--radius);font-family:var(--sans);cursor:pointer;transition:background .1s var(--ease-out), transform 80ms var(--ease-out), border-color .1s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:10px 20px;font-size:.929rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.7}.btn-primary{background:var(--accent);color:var(--bg-deep);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#d4a57a}.btn-primary-lg{padding:13px 28px;font-size:1rem}.btn-setup{padding:8px 16px;font-size:.857rem}.btn-primary.saving{background:var(--accent-dim)}.btn-primary.saved{background:var(--ok);border-color:var(--ok);color:var(--bg-deep)}.btn-primary.save-error{background:var(--err);border-color:var(--err);color:var(--text-prim)}.btn-ghost{color:var(--text-sec);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:.857rem}.btn-ghost:hover{color:var(--text-prim)}.btn-danger{color:var(--err);background:0 0;border:1px solid #c0606066}.btn-danger:hover{background:#c060601a}.divider{border:none;border-top:1px solid var(--border-sub);margin:28px 0}.help-block{color:var(--text-sec);font-size:.857rem}.help-block a{color:var(--accent);text-decoration:none}.help-block a:hover{text-decoration:underline}.step-list{padding-left:0;list-style:none}.step-list li{align-items:flex-start;gap:10px;margin-bottom:6px;display:flex}.step-num{background:var(--bg-raised);width:18px;height:18px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.714rem;font-weight:600;display:inline-flex}.help-block code{font-family:var(--mono);background:var(--bg-inset);border-radius:var(--radius-sm);padding:1px 5px;font-size:.857rem}.header{border-bottom:1px solid var(--border-sub);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:21px;display:flex}.header-brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.header-logo{border-radius:var(--radius-sm);flex-shrink:0;width:32px;height:32px}.header-wordmark{letter-spacing:-.01em;font-size:1rem;font-weight:600}.header-sub{color:var(--text-dim);font-size:.786rem}.header-nav{align-items:center;gap:4px;margin-left:16px;display:flex}.header-nav-link{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:color .12s var(--ease-out), background .12s var(--ease-out);background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:.857rem;font-weight:500}.header-nav-link:hover{color:var(--text-sec);background:#ffffff08}.header-nav-link.active{color:var(--text-prim);background:#ffffff0d}.header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.header-status{color:var(--text-sec);align-items:center;gap:8px;font-size:.786rem;display:flex}.status-dot{background:var(--text-dim);width:8px;height:8px;transition:background .3s var(--ease-out);border-radius:50%}.status-dot.ok{background:var(--ok);box-shadow:0 0 0 3px #6aab7a26}.header-user{color:var(--text-dim);align-items:center;gap:8px;margin-left:12px;font-size:.786rem;display:flex}.header-user-email{color:var(--text-sec)}.header-user-sep{color:var(--text-dim)}.header-signout{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.786rem}.header-signout:hover{text-decoration:underline}.header-nav-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.786rem}.header-nav-btn:hover{text-decoration:underline}.header-nav-btn.active{color:var(--text-prim);font-weight:600}.tab-bar{border-bottom:1px solid var(--border-sub);gap:0;margin-top:20px;margin-bottom:8px;display:flex}.tab-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-family:inherit;font-size:.857rem;font-weight:500;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.section-label{letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;margin-top:28px;margin-bottom:12px;font-size:.786rem;font-weight:600}.section-hint{color:var(--text-dim);margin:-4px 0 16px;font-size:.786rem;line-height:1.5}.cap-grid{grid-template-columns:1fr;gap:8px;display:grid}.cap-card{background:var(--bg-raised);border:1px solid var(--border-sub);border-radius:var(--radius);color:var(--text-prim);transition:border-color .2s var(--ease-out);overflow:hidden}.cap-card:hover{border-color:var(--border)}.cap-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.cap-card-header:hover{background:#ffffff05}.cap-card-icon{text-align:center;flex-shrink:0;width:28px;font-size:1.143rem}.cap-card-meta{flex:1;min-width:0}.cap-card-name{font-size:.929rem;font-weight:600}.cap-card-desc{color:var(--text-dim);margin-top:1px;font-size:.786rem}.cap-card-status{font-size:.786rem}.status-connected{color:var(--ok);font-weight:500}.cap-chevron{width:14px;height:14px;color:var(--text-dim);transition:transform .22s var(--ease-out)}.cap-card.open .cap-chevron{transform:rotate(90deg)}.cap-detail-wrap{transition:grid-template-rows .22s var(--ease-io);grid-template-rows:0fr;display:grid}.cap-card.open .cap-detail-wrap{grid-template-rows:1fr}.cap-detail-inner{overflow:hidden}.cap-detail{border-top:1px solid var(--border-sub);padding:8px 16px 16px}.detail-section{margin-bottom:14px}.detail-section:last-child{margin-bottom:0}.detail-label{color:var(--text-sec);margin-bottom:4px;font-size:.786rem;font-weight:500}.toggle-wrap{align-items:center;gap:10px;display:flex}.toggle{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--border);transition:background .22s var(--ease-io);border-radius:10px;position:absolute;inset:0}.toggle-thumb{background:var(--text-prim);width:16px;height:16px;transition:transform .22s var(--ease-io);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked~.toggle-track{background:var(--accent)}.toggle input:checked~.toggle-thumb{transform:translate(16px)}.fw-label{color:var(--text-prim);font-size:.857rem}.raw-section,.compliance-section{border-top:1px solid var(--border-sub);margin-top:28px;padding-top:16px}.raw-toggle,.compliance-toggle{color:var(--text-sec);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.857rem;display:inline-flex}.raw-toggle:hover,.compliance-toggle:hover{color:var(--text-prim)}.raw-chevron,.compliance-chevron{width:12px;height:12px;color:var(--text-dim);transition:transform .22s var(--ease-out)}.raw-section.open .raw-chevron,.compliance-section.open .compliance-chevron{transform:rotate(90deg)}.raw-body-wrap,.compliance-body-wrap{transition:grid-template-rows .22s var(--ease-io);grid-template-rows:0fr;display:grid}.raw-section.open .raw-body-wrap,.compliance-section.open .compliance-body-wrap{grid-template-rows:1fr}.raw-body-inner,.compliance-body-inner{overflow:hidden}.raw-body{padding-top:12px}.config-table{border-collapse:collapse;width:100%;font-size:.857rem}.config-table th,.config-table td{text-align:left;border-bottom:1px solid var(--border-sub);padding:6px 8px}.config-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.786rem;font-weight:500}.col-key{font-family:var(--mono);color:var(--text-prim);word-break:break-all}.col-val{font-family:var(--mono);color:var(--text-sec);word-break:break-all}.col-ts{color:var(--text-dim);white-space:nowrap;font-size:.786rem}.col-act{white-space:nowrap;text-align:right}.empty{text-align:center;color:var(--text-dim);padding:21px 8px;font-style:italic}.delete-confirm{align-items:center;gap:6px;margin-top:4px;display:none}.delete-confirm.visible{display:inline-flex}.delete-confirm-text{color:var(--text-sec);font-size:.786rem}.delete-confirm-yes,.delete-confirm-no{border:1px solid var(--border);color:var(--text-prim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:2px 8px;font-size:.786rem}.delete-confirm-yes{color:var(--err);border-color:#c0606066}.add-form{border-top:1px solid var(--border-sub);margin-top:16px;padding-top:16px}.add-form-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.compliance-loading{color:var(--text-dim);padding:12px 0;font-size:.857rem}.compliance-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.857rem}.compliance-table th,.compliance-table td{text-align:left;border-bottom:1px solid var(--border-sub);padding:6px 8px}.compliance-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.786rem;font-weight:500}.status-badge{border-radius:10px;padding:2px 8px;font-size:.786rem;display:inline-block}.status-ok{color:var(--ok);background:#6aab7a1f}.status-warn{color:var(--accent);background:#c8956a1f}.status-err{color:var(--err);background:#c060601f}.status-dim{color:var(--text-sec);background:#9aa6b814}.health-footer{border-top:1px solid var(--border-sub);color:var(--text-dim);justify-content:space-between;align-items:center;margin-top:37px;padding-top:16px;font-size:.786rem;display:flex}.health-uptime,.health-tools strong{color:var(--text-sec)}#toast{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-prim);border-radius:var(--radius);opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);z-index:100;align-items:center;gap:12px;padding:10px 16px;font-size:.857rem;display:flex;position:fixed;bottom:21px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 4px 16px #0000004d}#toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}#toast.ok{border-color:#6aab7a66}#toast.err{border-color:#c0606066}#toast-undo{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.857rem}.checklist{flex-direction:column;gap:2px;margin-top:8px;display:flex}.check-item{border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:background .12s var(--ease-out);align-items:center;gap:12px;padding:8px 12px;display:flex}.check-item:hover{background:0 0}.check-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.check-item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.check-item-label{color:var(--text-prim);text-overflow:ellipsis;white-space:nowrap;font-size:.857rem;overflow:hidden}.check-item-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.login-page{justify-content:center;align-items:center;min-height:100dvh;display:flex}.login-card{text-align:center;max-width:360px;padding:48px 32px}.login-logo{border-radius:14px;width:64px;height:64px;margin-bottom:24px}.login-heading{margin-bottom:8px;font-size:1.4rem;font-weight:600}.login-sub{color:var(--text-sec);margin-bottom:32px;font-size:.929rem}.login-btn{background:var(--accent);width:100%;color:var(--bg-deep);border-radius:var(--radius);cursor:pointer;transition:background .1s var(--ease-out);border:none;padding:12px 32px;font-size:1rem;font-weight:600}.login-btn:hover{background:#d4a57a}.login-form{flex-direction:column;gap:12px;width:100%;display:flex}.login-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-deep);width:100%;color:var(--text);box-sizing:border-box;padding:10px 14px;font-family:inherit;font-size:.929rem}.login-input:focus{border-color:var(--accent);outline:none}.login-hint{color:var(--text-sec);margin-top:16px;font-size:.857rem}.login-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.login-error{color:var(--err);min-height:1.2em;margin-top:16px;font-size:.857rem}.cap-card.state-disabled .cap-card-icon{opacity:.4}.cap-card.state-disabled .cap-card-name{color:var(--text-sec)}.privacy-banner{border-radius:var(--radius);background:#c8956a14;border:1px solid #c8956a40;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding:16px 20px;display:flex}.privacy-intro{background:var(--bg-raised);border:1px solid var(--border-sub);border-radius:var(--radius);color:var(--text-sec);margin-bottom:28px;padding:20px 24px;font-size:.929rem;line-height:1.6}.privacy-intro strong{color:var(--text-prim)}.bulk-actions{color:var(--text-dim);align-items:center;gap:12px;margin:8px 0;font-size:.786rem;display:flex}.bulk-actions button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.786rem}.bulk-actions button:hover{text-decoration:underline}.show-more-btn{border:1px solid var(--border);color:var(--text-sec);cursor:pointer;border-radius:var(--radius-sm);transition:background .1s var(--ease-out), border-color .1s var(--ease-out);background:0 0;margin-top:8px;padding:6px 14px;font-size:.786rem}.show-more-btn:hover{background:var(--bg-raised);border-color:var(--border);color:var(--text-prim)}.scan-btn{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;transition:opacity .1s var(--ease-out);white-space:nowrap;border:none;padding:6px 16px;font-size:.857rem;font-weight:500}.scan-btn:hover{opacity:.85}.scan-btn:disabled{opacity:.5;cursor:not-allowed}.scan-progress{align-items:center;gap:12px;margin:12px 0;display:flex}.scan-progress-bar{background:var(--border);border-radius:3px;flex:1;max-width:320px;height:6px;overflow:hidden}.scan-progress-fill{background:var(--accent);height:100%;transition:width .3s var(--ease-out);border-radius:3px}.scan-progress-label{color:var(--text-dim);white-space:nowrap;font-size:.786rem}.check-item-reason{color:var(--text-dim);margin-top:1px;font-size:.714rem;line-height:1.3;display:block}.check-item-wrap{border-radius:var(--radius-sm)}.check-item-wrap:hover{background:var(--bg-inset)}.examples-toggle{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:2px 8px;font-size:.714rem;transition:color .1s,border-color .1s}.examples-toggle:hover{color:var(--text-sec);border-color:var(--text-dim)}.check-item-examples{color:var(--text-dim);margin:0;padding:0 0 8px 42px;font-size:.786rem;line-height:1.6;list-style:none}.check-item-examples li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.check-item-examples li:before{content:"› ";color:var(--border)}.confidence-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.confidence-high{background:var(--accent)}.confidence-medium{border:1px solid var(--accent);background:0 0}.setup-banner{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:20px 24px}.setup-banner-header{color:var(--text-prim);margin-bottom:6px;font-size:1rem;font-weight:600}.setup-banner-desc{color:var(--text-sec);margin-bottom:16px;font-size:.857rem;line-height:1.5}.setup-banner-check{color:var(--ok);margin-bottom:8px;font-size:.857rem;font-weight:500}.setup-banner-fields{max-width:480px}.admin-section-label{letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;margin-top:28px;margin-bottom:12px;font-size:.786rem;font-weight:600}.admin-section-label:first-child{margin-top:0}.admin-danger-zone{border-top:1px solid var(--border-sub);margin-top:28px;padding-top:16px}.back-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:.857rem;display:inline-block}.back-link:hover{text-decoration:underline}.privacy-saved-cta{border-radius:var(--radius);color:var(--ok);background:#6aab7a14;border:1px solid #6aab7a40;align-items:center;gap:16px;margin-top:28px;padding:16px 20px;font-size:.929rem;display:flex}.onboarding-page{justify-content:center;min-height:100dvh;padding:clamp(16px,4vw,48px);display:flex}.onboarding-container{width:100%;max-width:640px}.onboarding-logo{border-radius:10px;width:48px;height:48px;margin-bottom:28px}.onboarding-explainer{background:var(--bg-raised);border:1px solid var(--border-sub);border-radius:var(--radius);color:var(--text-sec);margin-bottom:28px;padding:16px 20px;font-size:.929rem;line-height:1.6}.onboarding-explainer p{margin-bottom:8px}.onboarding-explainer p:last-child{margin-bottom:0}.onboarding-explainer strong{color:var(--text-prim)}.onboarding-section{border-bottom:1px solid var(--border-sub);margin-bottom:28px;padding-bottom:28px}.onboarding-section:last-of-type{border-bottom:none;padding-bottom:0}.onboarding-save{border-top:1px solid var(--border-sub);margin-top:28px;padding-top:20px}.onboarding-scan{text-align:center;padding-top:10vh}.splash{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}.splash-logo{border-radius:12px;width:56px;height:56px;animation:2s ease-in-out infinite splash-pulse}.splash-wordmark{color:var(--text-sec);letter-spacing:-.01em;font-size:1.143rem;font-weight:600}.splash-step{color:var(--text-dim);transition:opacity .2s var(--ease-out);margin-top:4px;font-size:.786rem}@keyframes splash-pulse{0%,to{opacity:.5}50%{opacity:1}}.pulse-dot{background:var(--accent);border-radius:50%;width:14px;height:14px;animation:1.6s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.add-cap-card{border-style:dashed;border-color:var(--border)}.add-cap-card:hover{border-color:var(--accent);background:#c8956a0a}.modal-backdrop{z-index:50;animation:modal-fade-in .15s var(--ease-out);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);width:min(560px,100vw - 32px);max-height:calc(100dvh - 64px);animation:modal-slide-up .2s var(--ease-out);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border-sub);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-prim);font-size:1rem;font-weight:600}.modal-close{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:1.3rem;line-height:1}.modal-close:hover{color:var(--text-prim);background:#ffffff0d}.modal-body{flex:1;padding:20px;overflow-y:auto}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.badge{letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:.714rem;font-weight:500;display:inline-block}.badge-private{color:var(--accent);background:#c8956a1f}.badge-shared{color:var(--ok);background:#6aab7a1f}.badge-neutral{color:var(--text-sec);background:#9aa6b814}.tab-panel{padding-top:16px}.link-btn{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.link-btn:hover{text-decoration:underline}.cap-card-compact,.cap-card-compact .cap-card-header{cursor:default}.cap-card-compact .cap-card-name{align-items:center;gap:8px;display:flex}.cap-settings-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:color .12s var(--ease-out), background .12s var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:flex}.cap-settings-btn:hover{color:var(--text-prim);background:#ffffff0d}.activity-feed{flex-direction:column;gap:0;display:flex}.activity-item{border-bottom:1px solid var(--border-sub);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px}.activity-dot[data-status=error]{background:var(--err)}.activity-dot[data-status=denied]{background:var(--text-dim)}.activity-body{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.activity-summary{color:var(--text-sec);text-overflow:ellipsis;white-space:nowrap;font-size:.857rem;overflow:hidden}.activity-time{color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:.714rem}.task-list{flex-direction:column;gap:0;display:flex}.task-row{border-bottom:1px solid var(--border-sub);padding:10px 0}.task-row:last-child{border-bottom:none}.task-row-main{align-items:center;gap:10px;display:flex}.task-desc{color:var(--text-prim);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.857rem;overflow:hidden}.task-row-meta{align-items:center;gap:12px;margin-top:4px;display:flex}.task-time{color:var(--text-dim);font-size:.714rem}.task-result{color:var(--text-sec);white-space:pre-wrap;max-height:120px;margin-top:4px;font-size:.786rem;line-height:1.5;overflow-y:auto}.discovery-result{margin-top:24px}.discovery-section{margin-bottom:20px}.discovery-section h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.857rem;font-weight:600}.discovery-section p{color:var(--text-sec);font-size:.929rem;line-height:1.6}.discovery-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.discovery-list li{background:var(--bg-raised);border:1px solid var(--border-sub);border-radius:var(--radius-sm);padding:12px 16px}.discovery-list li strong{color:var(--text-prim);font-size:.929rem}.discovery-list li p{color:var(--text-sec);margin-top:4px;font-size:.857rem;line-height:1.5}.discovery-freq{color:var(--text-dim);background:#9aa6b814;border-radius:8px;margin-left:8px;padding:1px 6px;font-size:.714rem;font-weight:400;display:inline-block}.md{gap:var(--s6);align-items:start;display:grid}.md__master{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.md__detail{display:none}.md.is-split{grid-template-columns:340px 1fr}.md.is-split .md__master{gap:var(--s4);flex-direction:column;display:flex}.md.is-split .md__detail{display:block}.md-card{background:var(--bg-base);border:1px solid var(--border-sub);border-radius:var(--radius-lg);padding:var(--s5);cursor:pointer;text-align:left;align-items:flex-start;gap:var(--s3);width:100%;transition:border-color .16s var(--ease-out), transform .16s var(--ease-out), background .16s var(--ease-out);font:inherit;color:inherit;flex-direction:column;display:flex}.md-card:hover{border-color:var(--border);transform:translateY(-2px)}.md-card.is-selected{background:linear-gradient(180deg, #c8956a1a, transparent 70%), var(--bg-base);border-color:#c8956a80;box-shadow:0 0 0 1px #c8956a80}.md-card__ic{background:var(--bg-inset);border:1px solid var(--border);border-radius:11px;flex:none;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.md-card.is-selected .md-card__ic{background:#c8956a21;border-color:#c8956a80}.md-card__body{flex:1;min-width:0}.md-card__name{font-size:var(--t-base);font-weight:600}.md-card__desc{color:var(--text-sec);font-size:var(--t-sm);margin-top:2px}.md-card__foot{margin-top:var(--s2)}.md.is-split .md-card{padding:var(--s4);align-items:center;gap:var(--s3);flex-direction:row}.md.is-split .md-card__desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cap-badge{font-size:var(--t-sm);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-weight:500;display:inline-flex}.cap-badge__d{background:currentColor;border-radius:50%;width:6px;height:6px}.cap-badge.is-active{color:var(--ok);background:#6aab7a24}.cap-badge.is-avail{background:var(--bg-raised);color:var(--text-sec)}.cap-badge.is-blocked{color:var(--accent);background:#c8956a24}.cap-badge.is-err{color:var(--err);background:#c0606024}.md-detail{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);position:sticky;top:70px;overflow:hidden}.md-detail__head{align-items:center;gap:var(--s4);padding:var(--s6) var(--s6) var(--s5);display:flex}.md-detail__ic{background:#c8956a21;border:1px solid #c8956a80;border-radius:13px;flex:none;place-items:center;width:50px;height:50px;font-size:22px;display:grid}.md-detail__title{flex:1;min-width:0}.md-detail__title h2{font-size:var(--t-lg);margin:0 0 5px;font-weight:600}.md-detail__close{cursor:pointer;width:32px;height:32px;color:var(--text-dim);background:0 0;border:none;border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.md-detail__close:hover{color:var(--text-prim);background:var(--bg-raised)}.md-detail__body{padding:0 var(--s6) var(--s6)}.md-detail__lead{color:var(--text-sec);margin:0 0 var(--s5)}.fold{border-top:1px solid var(--border-sub)}.fold__head{align-items:center;gap:var(--s3);width:100%;padding:var(--s4) 0;color:var(--text-prim);cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;display:flex}.fold__t{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);font-weight:600}.fold__chev{color:var(--text-dim);transition:transform .2s var(--ease-out);margin-left:auto}.fold.is-open .fold__chev{transform:rotate(90deg)}.fold__body{padding:2px 0 var(--s5);display:none}.fold.is-open .fold__body{display:block}.cap-req{align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--border-sub);border-radius:var(--radius);background:var(--bg-inset);margin-bottom:var(--s3);display:flex}.cap-req__t{flex:1}.cap-req__t small{color:var(--text-dim);font-size:var(--t-sm);display:block}.mcp-server{align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--border-sub);border-radius:var(--radius);background:var(--bg-inset);margin-bottom:var(--s3);display:flex}.mcp-server__ic{background:var(--bg-raised);border:1px solid var(--border);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.mcp-server__m{flex:1;min-width:0}.mcp-server__m b{font-weight:600}.mcp-server__u{color:var(--text-dim);font-size:var(--t-sm);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mcp-chip{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-sec);background:var(--bg-raised);border:1px solid var(--border-sub);border-radius:6px;padding:2px 7px}.mcp-tools{gap:var(--s2);flex-wrap:wrap;display:flex}.mcp-tool{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-sec);background:var(--bg-inset);border:1px solid var(--border-sub);border-radius:6px;padding:3px 9px}.wiz{border-radius:var(--radius-lg);background:linear-gradient(180deg, #c8956a1a, transparent 55%), var(--bg-base);margin-top:var(--s2);border:1px solid #c8956a80;overflow:hidden}.wiz__top{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5) 4px;display:flex}.wiz__top h4{font-size:var(--t-base);margin:0;font-weight:600}.wiz__stepof{font-family:var(--mono);font-size:var(--t-sm);color:var(--text-dim);margin-left:auto}.wiz__dots{padding:var(--s3) var(--s5) var(--s4);gap:6px;display:flex}.wiz__dot{background:var(--border);height:4px;transition:.3s var(--ease-out);border-radius:3px;flex:1}.wiz__dot.is-done{background:var(--accent)}.wiz__dot.is-cur{background:var(--accent);opacity:.55}.wiz__body{padding:2px var(--s5) var(--s2);min-height:120px}.wiz__body h5{font-size:var(--t-base);margin:0 0 6px;font-weight:600}.wiz__sub{color:var(--text-sec);margin:0 0 var(--s4);font-size:var(--t-sm)}.wiz__foot{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5) var(--s5);border-top:1px solid var(--border-sub);display:flex}.wiz__found{border-radius:var(--radius);padding:var(--s4);background:#6aab7a1a;border:1px solid #6aab7a4d}.wiz__found b{color:var(--ok);margin-bottom:var(--s2);font-size:var(--t-sm);display:block}.wiz__testing{align-items:center;gap:var(--s3);color:var(--text-sec);font-size:var(--t-sm);display:flex}.wiz__spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite wiz-spin}@keyframes wiz-spin{to{transform:rotate(360deg)}}.cap-seg{gap:var(--s2);flex-wrap:wrap;display:flex}.cap-seg label{text-align:center;min-width:96px;padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-sec);font-size:var(--t-sm);background:var(--bg-inset);flex:1}.cap-seg label:has(input:checked){border-color:var(--accent);color:var(--accent);background:#c8956a21}.cap-seg input{opacity:0;width:0;height:0;position:absolute}.cap-field{margin-bottom:var(--s4);flex-direction:column;gap:7px;display:flex}.cap-field>label{font-size:var(--t-sm);color:var(--text-dim)}.cap-field .hint{font-size:var(--t-xs);color:var(--text-dim)}.md-empty{display:none}@media (width<=820px){.md.is-split{grid-template-columns:1fr}.md.is-split .md__master{display:none}.md-detail{position:static}}.md.is-split .md-detail{animation:.34s cubic-bezier(.22,.61,.24,1) md-detail-in}@keyframes md-detail-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.md.is-split .md-detail{animation:none}}.ws-row{align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);background:var(--bg-base);border:1px solid var(--border-sub);border-radius:var(--radius-lg);margin-bottom:var(--s3);display:flex}.ws-row__avatar{background:var(--bg-inset);border:1px solid var(--border);width:38px;height:38px;font-size:var(--t-base);color:var(--text-sec);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;display:grid}.ws-row__m{flex:1;min-width:0}.ws-row__m b{font-weight:600}.ws-row__m small{color:var(--text-dim);font-size:var(--t-sm);display:block}.ws-row__actions{gap:var(--s3);align-items:center;display:flex}.ws-invite{gap:var(--s3);padding:var(--s5);background:var(--bg-inset);border:1px dashed var(--border);border-radius:var(--radius-lg);margin-bottom:var(--s6);flex-wrap:wrap;align-items:flex-end;display:flex}.ws-invite .cap-field{margin-bottom:0}.ws-section{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:var(--s7) 0 var(--s4);font-weight:600}.ws-section:first-child{margin-top:0}.cap-list{gap:var(--s3);flex-direction:column;display:flex}.cap-row{background:var(--bg-base);border:1px solid var(--border-sub);border-radius:var(--radius-lg);overflow:hidden}.cap-row.is-open{border-color:var(--border)}.cap-row__head{align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);display:flex}.cap-row__main{align-items:center;gap:var(--s4);cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;padding:0;display:flex}.cap-row__ic{background:var(--bg-inset);border:1px solid var(--border);border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.cap-row__m{flex-direction:column;min-width:0;display:flex}.cap-row__m b{font-weight:600;font-size:var(--t-base)}.cap-row__m small{color:var(--text-sec);font-size:var(--t-sm)}.cap-row__control{flex:none}.cap-row__chev{cursor:pointer;color:var(--text-dim);transition:transform .2s var(--ease-out);background:0 0;border:none;flex:none;padding:4px;font-size:18px}.cap-row.is-open .cap-row__chev{transform:rotate(90deg)}.cap-row__body{padding:var(--s2) var(--s5) var(--s5);border-top:1px solid var(--border-sub)}.cap-row__hint{color:var(--text-dim);font-size:var(--t-sm);margin:var(--s4) 0}.cap-row__actions{align-items:center;gap:var(--s4);margin-top:var(--s3);display:flex}.cap-row__disconnect{color:var(--err);font-size:var(--t-sm);padding:0}.cap-row__body .cap-field:first-child{margin-top:var(--s4)}.profile-head{margin-bottom:var(--s6)}.profile-head .p-title{align-items:center;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.profile-head .p-role{font-size:var(--t-lg);letter-spacing:-.01em;font-weight:600}.profile-head .p-dept{color:var(--text-dim);font-size:var(--t-sm)}.profile-head .p-summary{color:var(--text-sec);max-width:62ch;margin:0}.profile-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.profile-card{background:var(--bg-base);border:1px solid var(--border-sub);border-radius:var(--radius-lg);padding:var(--s5)}.profile-card h4{margin:0 0 var(--s4);font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.p-item{align-items:baseline;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border-sub);display:flex}.p-item:first-of-type{border-top:none;padding-top:0}.p-item b{font-weight:600;font-size:var(--t-sm);flex:1;min-width:0}.p-item .p-tag{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-dim);white-space:nowrap}.p-item .p-ctx{color:var(--text-sec);font-size:var(--t-sm)}.p-chips{gap:var(--s2);flex-wrap:wrap;display:flex}.p-meter{align-items:center;gap:var(--s3);padding:var(--s2) 0;font-size:var(--t-sm);display:flex}.p-meter .p-bar{background:var(--bg-inset);border-radius:3px;flex:1;height:5px;overflow:hidden}.p-meter .p-bar>span{background:var(--accent);height:100%;display:block}.p-meter .p-cat{width:96px;color:var(--text-sec);text-transform:capitalize}.p-meter .p-pct{font-variant-numeric:tabular-nums;color:var(--text-dim);text-align:right;width:34px}.setup-section{margin:var(--s7) 0 var(--s3);font-size:var(--t-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-sec);border-bottom:1px solid var(--border-sub);padding-bottom:var(--s2);font-weight:600}.setup-section:first-of-type{margin-top:var(--s5)}.chat-root{flex-direction:column;max-width:820px;height:100vh;margin:0 auto;display:flex}.chat-header{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border-sub);flex-wrap:wrap;display:flex}.chat-logo{width:26px;height:26px}.chat-header-actions{align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.chat-email{font-size:var(--t-sm);color:var(--text-dim)}.chat-messages{padding:var(--s6) var(--s5);gap:var(--s4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-sec);margin:auto}.chat-empty-sub{font-size:var(--t-sm);color:var(--text-dim);margin-top:var(--s2)}.chat-msg{display:flex}.chat-msg-user{justify-content:flex-end}.chat-msg-tino{justify-content:flex-start}.chat-bubble{max-width:78%;padding:var(--s3) var(--s4);border-radius:var(--radius-lg);font-size:var(--t-base);white-space:pre-wrap;word-break:break-word;line-height:1.5}.chat-msg-user .chat-bubble{background:var(--accent-dim);color:var(--text-prim);border-bottom-right-radius:var(--radius-sm)}.chat-msg-tino .chat-bubble{background:var(--bg-raised);border:1px solid var(--border-sub);border-bottom-left-radius:var(--radius-sm)}.chat-bubble-thinking{color:var(--text-dim);font-style:italic}.chat-input-row{gap:var(--s3);padding:var(--s4) var(--s5);border-top:1px solid var(--border-sub);display:flex}.chat-input{padding:var(--s3) var(--s4);background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-prim);font-size:var(--t-base);font-family:var(--sans);flex:1}.chat-input:focus{border-color:var(--accent);outline:none}
