:root{--bg: #08090b;--bg-1: #0f1013;--bg-2: #15161a;--bg-3: #1c1d21;--line: #1b1c1f;--line-2: #25262a;--text: #ede9df;--text-dim: #898784;--text-faint:#555452;--primary-bg: #ede9df;--primary-fg: #08090b;--primary-hover: #ffffff;--good: #4ade80;--good-bg: #11231a;--marginal: #f0b73e;--marginal-bg: #2a2114;--poor: #f5615e;--poor-bg: #2a1316;--tap-mobile: 48px;--tap-lg-mobile: 56px;--radius: 8px;--radius-lg:12px;--radius-sm:6px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}html[data-theme=light]{--bg: #f6f4ee;--bg-1: #ffffff;--bg-2: #efece4;--bg-3: #e3dfd2;--line: #d6d2c4;--line-2: #c0bcad;--text: #14151a;--text-dim: #5a5a55;--text-faint:#86857d;--primary-bg: #14151a;--primary-fg: #f6f4ee;--primary-hover: #000000;--good: #1a8f3a;--good-bg: #d8efde;--marginal: #8a5b08;--marginal-bg: #f6e8c8;--poor: #b73633;--poor-bg: #f6d8d6}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}html{background:var(--bg);color:var(--text)}body{font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11","cv02";text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}a{color:var(--text);text-decoration:none}a:hover{color:var(--primary-hover)}::placeholder{color:var(--text-faint)}input,select,textarea{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;color:var(--text);width:100%;height:38px;outline:none;transition:border-color .15s ease,background .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--text-dim);background:var(--bg-1)}textarea{padding:10px 12px;min-height:88px;height:auto;resize:vertical;line-height:1.55}input[type=checkbox]{width:16px;height:16px;margin-right:6px;vertical-align:middle;accent-color:var(--text)}button{-webkit-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg-2);color:var(--text);height:38px;padding:0 14px;border-radius:var(--radius);font-weight:500;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease}button:hover{background:var(--bg-3);border-color:var(--line-2)}button:active{transform:translateY(1px)}button[disabled]{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg);font-weight:600}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.ghost{background:transparent;border-color:var(--line);color:var(--text-dim)}button.ghost:hover{background:var(--bg-2);border-color:var(--line-2);color:var(--text)}button.danger{background:var(--poor-bg);border-color:var(--poor);color:var(--poor)}button.danger:hover{background:var(--poor);color:#fff}button.compact{height:32px;padding:0 10px;font-size:12px}button.full{width:100%}button.lg{height:44px;padding:0 20px;font-size:14px;font-weight:600}.icon-btn{width:32px;height:32px;padding:0;line-height:1;font-size:14px}.splash{display:grid;place-items:center;min-height:100dvh;padding:24px;text-align:center}.splash h1{font-size:24px;margin:0 0 8px;letter-spacing:-.02em}.splash p{color:var(--text-dim);margin:0}.login-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:380px;box-shadow:0 1px #ffffff05,0 10px 30px #00000080}.login-logo{display:block;max-width:160px;max-height:64px;object-fit:contain;margin:0 auto 18px}.login-eyebrow{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:6px}.login-card h1{margin:0 0 4px;font-size:26px;letter-spacing:-.02em}.login-card .sub{color:var(--text-dim);font-size:13px;margin:0 0 22px}.login-card .sub.small{font-size:12px}.sso-block{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.sso-block:empty{display:none}.sso-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:42px;padding:0 16px;background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);font-weight:500;font-size:14px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sso-btn:hover{background:var(--bg-3);border-color:var(--line-2)}.sso-btn .sso-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px}.sso-divider{position:relative;text-align:center;color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin:14px 0 4px}.sso-divider:before,.sso-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 90px);height:1px;background:var(--line)}.sso-divider:before{left:0}.sso-divider:after{right:0}.sso-divider span{padding:0 8px;background:var(--bg-1);position:relative;z-index:1}.login-form{display:flex;flex-direction:column;gap:14px;text-align:left}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.16em}.login-form input{height:40px}.error{color:var(--poor);font-size:13px;padding:9px 11px;background:var(--poor-bg);border:1px solid var(--poor);border-radius:var(--radius);line-height:1.45}.admin{max-width:1100px;margin:0 auto;padding:0 24px 96px}.admin.wiki,.admin.form-builder,.admin.org-detail,.admin.owner-orgs{max-width:none;padding-left:0;padding-right:0}.admin.wiki .topbar,.admin.form-builder .topbar,.admin.org-detail .topbar,.admin.owner-orgs .topbar,.admin.org-detail .section,.admin.owner-orgs .section{padding-left:24px;padding-right:24px}.owner-orgs-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:12px}.owner-org-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px;position:relative}.owner-org-card.deleted{border-color:var(--danger, #c4534a);opacity:.85}.owner-org-card .head{display:flex;align-items:center;gap:10px}.owner-org-card .head img{width:40px;height:40px;object-fit:contain;border-radius:6px;background:var(--bg-2);padding:4px}.owner-org-card .head .name{font-size:16px;font-weight:600}.owner-org-card .head .slug{color:var(--text-dim);font-size:12px}.owner-org-card .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.owner-org-card .stat{background:var(--bg-2);padding:8px;border-radius:6px;text-align:center}.owner-org-card .stat .n{font-weight:600;font-size:16px}.owner-org-card .stat .l{color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.owner-org-card .actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.owner-org-card .quarantine-warning{background:#c4534a1f;color:var(--danger,#c4534a);padding:8px;border-radius:6px;font-size:12px;line-height:1.35}.admin.org-detail .section{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.admin.org-detail .section>*{grid-column:span 4;min-width:0}@media(min-width:1000px){.admin.org-detail .section>.span-quarter{grid-column:span 1}.admin.org-detail .section>.span-half{grid-column:span 2}.admin.org-detail .section>.span-three-q{grid-column:span 3}.admin.org-detail .section>.span-full{grid-column:span 4}}.admin.org-detail .danger-zone{border:1px solid var(--danger, #c4534a);background:#c4534a0f;border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px}.admin.org-detail .danger-zone .label{color:var(--danger, #c4534a)}.app-footer{margin-top:48px;padding:18px 24px;border-top:1px solid var(--line);background:var(--bg-2);color:var(--text-dim);font-size:12px}.app-footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.app-footer-brand{font-weight:600;color:var(--text)}.app-footer a{color:var(--text-dim);text-decoration:none}.app-footer a:hover{color:var(--text);text-decoration:underline}body[data-immersive] .app-footer{display:none}@media print{.app-footer{display:none}}#impersonation-banner{position:sticky;top:0;z-index:9999;background:#c4534a;color:#fff;padding:10px 16px;display:flex;align-items:center;gap:16px;font-size:13px;box-shadow:0 2px 8px #0000002e}#impersonation-banner button{margin-left:auto;background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);padding:5px 11px;border-radius:4px;font-size:12px;cursor:pointer}#impersonation-banner button:hover{background:#ffffff47}#tos-updated-banner{position:sticky;top:0;z-index:9998;background:#d9a341;color:#1a1206;padding:10px 16px;display:flex;align-items:center;gap:16px;font-size:13px;box-shadow:0 2px 8px #00000026}#tos-updated-banner a{color:inherit;text-decoration:underline}#tos-updated-banner button{background:#0000002e;color:inherit;border:1px solid rgba(0,0,0,.28);padding:5px 11px;border-radius:4px;font-size:12px;cursor:pointer}#tos-updated-banner button:hover{background:#00000047}.admin .topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:32px 0 20px;margin-bottom:8px;border-bottom:1px solid var(--line)}.admin .topbar-row{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.admin .topbar-logo{width:40px;height:40px;object-fit:contain;border-radius:6px;background:var(--bg-2);padding:4px;flex:0 0 auto}.admin .topbar-title{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.admin .topbar-sub{color:var(--text-dim);font-size:12px;margin-top:4px}.admin .topbar-actions{display:flex;gap:8px;align-items:center}.admin .back-btn{width:32px;height:32px;padding:0;font-size:16px;line-height:1}.admin .card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;margin-top:16px}.admin .card .label{text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--text-faint);margin-bottom:14px}.admin .card h3{margin:0 0 6px;font-size:14px;font-weight:600}.admin .card p{margin:0}.admin .card p+p{margin-top:8px}.admin .section{padding:0}.admin .row{display:flex;gap:10px;align-items:center}.admin .row.between{justify-content:space-between}.admin .row.wrap{flex-wrap:wrap}.admin .meta{color:var(--text-dim);font-size:13px}.admin .meta .strong{color:var(--text);font-weight:600}.admin .sub{color:var(--text-dim);font-size:12px}.admin .sub.small{font-size:11px}.admin .strong{font-weight:600;color:var(--text)}.admin .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.admin table.t{width:100%;border-collapse:collapse;font-size:13px}.admin table.t th,.admin table.t td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.admin table.t thead th{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--text-faint);font-weight:700;padding-top:6px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}.admin table.t tbody tr:hover{background:#ede9df06}.admin table.t td .compact+.compact{margin-left:4px}.admin .pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--bg-3);color:var(--text-dim);border:1px solid var(--line-2)}.admin .pill.good{color:var(--good);background:var(--good-bg);border-color:#4ade804d}.admin .pill.marginal{color:var(--marginal);background:var(--marginal-bg);border-color:#f0b73e4d}.admin .pill.poor{color:var(--poor);background:var(--poor-bg);border-color:#f5615e4d}.admin .pill.neutral{color:var(--text-dim)}.admin .form-grid{display:grid;gap:14px}.admin .form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.16em}.admin .form-grid label.inline{flex-direction:row;align-items:center;text-transform:none;font-size:13px;font-weight:500;color:var(--text);letter-spacing:normal}.admin .form-grid .field-help{font-size:11px;color:var(--text-faint);font-weight:400;text-transform:none;letter-spacing:normal;margin-top:-2px;line-height:1.45}.admin .form-grid .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin .form-grid .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.admin .org-block{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:18px;overflow:hidden}.admin .org-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.admin .org-block-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.admin .org-block-sub{color:var(--text-dim);font-size:12px;margin-top:3px}.admin .org-block-body{padding:8px 0}.admin .project-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--line)}.admin .org-block-body .project-row:first-child{border-top:none}.admin .project-row .project-name{font-weight:600;font-size:14px}.admin .project-row .project-sub{color:var(--text-dim);font-size:12px;margin-top:2px}.admin .project-row .actions{display:flex;gap:6px;align-items:center}.admin .project-row .actions .icon-btn{color:var(--text-dim)}.admin .project-row .actions .icon-btn:hover{color:var(--text)}.admin .empty{padding:14px 22px;color:var(--text-dim);font-size:13px}.admin .kpi-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.admin .kpi-mini{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.admin .kpi-mini .k{color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.admin .kpi-mini .v{font-size:22px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.admin .logo-row{display:flex;align-items:center;gap:16px;margin-top:6px}.admin .logo-preview{width:140px;height:84px;background:var(--bg-2);border:1px dashed var(--line-2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:8px}.admin .logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.admin .danger-zone{border-color:#f5615e4d}.admin .danger-zone .label{color:var(--poor)}.admin .site-form{display:flex;flex-direction:column;gap:16px}.admin .site-form .card label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin-top:12px}.admin .site-form .card label:first-of-type{margin-top:0}.admin .site-form .card .field-help{color:var(--text-faint);font-size:11px;text-transform:none;letter-spacing:normal;font-weight:400;margin-top:-2px;line-height:1.45}.admin .site-form .card input,.admin .site-form .card textarea{font-size:14px}.admin .engagement-edit{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-top:12px}.admin .engagement-edit-h{color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:4px}.admin.portal .portal-intro{margin:36px 0 8px}.admin.portal .portal-intro h1{font-size:30px;font-weight:600;letter-spacing:-.025em;margin:0 0 8px;line-height:1.15}.admin.portal .portal-intro .sub{font-size:14px;color:var(--text-dim)}.admin .portal-org{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:18px;padding:18px 22px 22px}.admin .portal-org-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin .portal-org-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.admin .portal-org-sub{color:var(--text-dim);font-size:12px;margin-top:3px}.admin .portal-empty{color:var(--text-dim);font-size:13px;padding:8px 0}.tool-banner{display:grid;grid-template-columns:30fr 70fr;gap:0;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:20px;overflow:hidden;cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease,transform .05s ease}.tool-banner:hover,.tool-banner:focus-visible{border-color:var(--line-2);background:var(--bg-2)}.tool-banner:active{transform:translateY(1px)}.tool-banner-text{padding:32px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}.tool-banner-eyebrow{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:10px}.tool-banner-name{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-bottom:10px;line-height:1.15}.tool-banner-desc{color:var(--text-dim);font-size:14px;line-height:1.55;margin:0 0 18px}.tool-banner-cta{font-weight:600;font-size:13px;color:var(--text)}.tool-banner-image{background:var(--bg);overflow:hidden;position:relative;min-height:200px}.tool-banner-image img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}.tool-banner-image .tool-banner-placeholder{position:absolute;inset:0}@media(max-width:760px){.tool-banner{grid-template-columns:1fr}.tool-banner-image{min-height:0;aspect-ratio:16/9}.tool-banner-name{font-size:22px}}.org-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:36px}.org-picker-card{text-align:left;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 30px;display:flex;flex-direction:column;gap:10px;width:100%;min-height:150px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.org-picker-card:hover{border-color:var(--line-2);background:var(--bg-2)}.org-picker-card-logo{width:56px;height:56px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);padding:6px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;flex:0 0 auto}.org-picker-card-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}.org-picker-card-logo.placeholder{color:var(--text-faint);font-weight:700;font-size:18px;letter-spacing:.02em}.org-picker-card-name{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.org-picker-card-sub{color:var(--text-dim);font-size:13px;line-height:1.5}.org-picker-card-role{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-top:auto;padding-top:8px}.org-picker-card-role .strong{color:var(--text)}.topbar-back{color:var(--text-dim);text-decoration:none;transition:color .15s ease}.topbar-back:hover{color:var(--text)}.tool-toggles{display:flex;flex-direction:column;gap:8px}.tool-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.tool-toggle.enabled{border-color:#4ade8040}.tool-toggle-meta{min-width:0}.tool-toggle-meta .sub{margin-top:2px}.admin .map-stage{position:relative;display:block;user-select:none;-webkit-user-select:none;background:var(--bg-2);border-radius:var(--radius);overflow:hidden}.admin .map-stage img{display:block;width:100%;height:auto;pointer-events:none}.map-layer{position:absolute;inset:0}.map-dot{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:var(--text);color:var(--bg);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 1px 4px #00000080;cursor:grab;touch-action:none}.map-dot.core{background:var(--good)}.map-dot:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.05)}.modal-overlay{position:fixed;inset:0;background:#0009;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px)}.modal{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:460px;width:100%;padding:24px;box-shadow:0 20px 60px #0009}.modal h3{margin:0 0 16px;font-size:17px;font-weight:600;letter-spacing:-.01em}.modal .form-grid{gap:14px}.admin .share-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.admin .share-row:last-child{border-bottom:none}.admin .share-url{color:var(--text-dim);font-size:11px;word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace}.app{padding-bottom:96px}.app .topbar{position:sticky;top:0;z-index:10;background:#08090beb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:10px 14px}.app .topbar-row{display:flex;align-items:center;gap:10px}.app .topbar-title{font-weight:600;font-size:16px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.app .topbar-sub{color:var(--text-dim);font-size:12px}.app .online-dot{width:10px;height:10px;border-radius:50%;background:var(--good);flex:0 0 auto}.app .online-dot.offline{background:var(--marginal)}.app .section{padding:14px}.app .card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;margin-bottom:12px}.app .card .label{text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--text-faint);margin-bottom:8px}.app .row{display:flex;gap:8px;align-items:center}.app .row.between{justify-content:space-between}.app .row.wrap{flex-wrap:wrap}.app button{height:var(--tap-mobile);padding:0 18px;font-size:15px;font-weight:600}.app button.primary{height:var(--tap-lg-mobile);width:100%;font-size:17px}.app button.compact{height:40px;padding:0 12px;font-size:13px}.app input,.app select,.app textarea{height:var(--tap-mobile)}.app .segmented{display:grid;gap:6px;grid-auto-flow:column;grid-auto-columns:1fr}.app .seg-btn{background:var(--bg-2);border:1px solid var(--line);color:var(--text);height:var(--tap-mobile);border-radius:var(--radius);font-weight:600}.app .seg-btn.active{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg)}.app .stepper{display:grid;grid-template-columns:var(--tap-mobile) 1fr var(--tap-mobile);gap:6px;align-items:center}.app .stepper button{width:var(--tap-mobile);padding:0;font-size:22px}.app .stepper .value{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);height:var(--tap-mobile);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.band-good{color:var(--good);border-color:var(--good)!important;background:var(--good-bg)!important}.band-marginal{color:var(--marginal);border-color:var(--marginal)!important;background:var(--marginal-bg)!important}.band-poor{color:var(--poor);border-color:var(--poor)!important;background:var(--poor-bg)!important}.app .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-2);border:1px solid var(--line)}.app .pill.good{color:var(--good);background:var(--good-bg);border-color:var(--good)}.app .pill.marginal{color:var(--marginal);background:var(--marginal-bg);border-color:var(--marginal)}.app .pill.poor{color:var(--poor);background:var(--poor-bg);border-color:var(--poor)}.app .pill.neutral{color:var(--text-dim)}.app .results-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.app .result{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.app .result .k{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.app .result .v{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.app .session-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}.app .session-chip{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;height:36px;font-size:12px;font-weight:600;color:var(--text-dim)}.app .session-chip.active{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}.app .sweep{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}.app .sweep button{width:28px;height:28px;padding:0;line-height:1;font-size:16px;border-radius:6px}.app .sweep .n{font-weight:700;color:var(--text);min-width:22px;text-align:center}.sync-pill{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + 12px);background:var(--bg-1);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;display:flex;align-items:center;gap:10px;z-index:20;box-shadow:0 4px 20px #000000b3}.sync-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.sync-pill.online .dot{background:var(--good)}.sync-pill.syncing .dot{background:var(--marginal);animation:pulse 1.2s infinite}.sync-pill button{height:30px;padding:0 10px;font-size:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.banner{padding:10px 12px;border-radius:var(--radius);font-size:13px;line-height:1.45;margin-bottom:10px}.banner.warn{background:var(--marginal-bg);border:1px solid var(--marginal);color:var(--marginal)}.banner strong{color:var(--text)}.scan-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.scan-kpi{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px}.scan-kpi .k{color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.scan-kpi .v{font-size:15px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.scan-kpi .v small{font-size:10px;color:var(--text-dim);font-weight:500;margin-left:2px}@media(max-width:480px){.scan-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.toast{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top) + 60px);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;z-index:30;font-size:14px;max-width:90%;box-shadow:0 6px 24px #000000b3}.toast.success{border-color:var(--good);color:var(--good)}.toast.error{border-color:var(--poor);color:var(--poor)}.toast-hide{opacity:0;transition:opacity .4s}.status-line{color:var(--text-dim);font-size:12px;margin-top:8px}.status-line.error{color:var(--poor)}.status-line.warn{color:var(--marginal)}.app .footer-note{color:var(--text-faint);font-size:11px;text-align:center;padding:16px 14px 0;line-height:1.55}.task-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:4px}.task-list-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.task-list-card-name{font-size:16px;font-weight:600;line-height:1.3}.task-list-card-desc{font-size:12px;color:var(--text-dim);margin-top:2px}.task-list-card-statuses{display:flex;flex-wrap:wrap;gap:4px}.task-list-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.task-list-card-actions{display:flex;gap:6px}.task-status-chip{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;white-space:nowrap}.task-status-chip-clickable{border:none;cursor:pointer;padding:3px 10px}.task-priority-chip{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid;background:transparent;cursor:pointer}.task-table-section{padding-top:0}.task-tree{display:flex;flex-direction:column;background:transparent;position:relative}.task-row{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 0;position:relative;border-radius:6px;transition:background .12s ease;user-select:none;min-height:34px}.task-row+.task-row{margin-top:1px}.task-row:before{content:"";position:absolute;left:calc(var(--depth, 0) * 24px + 36px);top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--status-color, var(--line))}.task-row:hover{background:var(--bg-1)}.task-row.task-row-dragging{opacity:.45}.task-row-indent{flex:0 0 auto;align-self:stretch;position:relative}.task-row-sub .task-row-indent:before{content:"";position:absolute;right:12px;top:0;bottom:0;border-left:1px dashed var(--line-2, var(--line))}.task-row-handle{flex:0 0 14px;font-size:12px;line-height:1;color:var(--text-faint);cursor:grab;opacity:0;transition:opacity .12s ease;letter-spacing:-2px}.task-row:hover .task-row-handle{opacity:1}.task-row-handle:active{cursor:grabbing}.task-row-caret{flex:0 0 18px;width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:10px}.task-row-body{flex:1;min-width:0;padding-left:12px;display:flex;flex-direction:row;align-items:center;gap:12px}.task-row-title{background:transparent;border:none;padding:0;text-align:left;color:var(--text);font-size:14px;font-weight:500;line-height:1.3;cursor:pointer;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-sub .task-row-title{font-weight:400;color:var(--text-dim)}.task-row-title:hover{color:var(--primary-bg)}.task-row.task-completed .task-row-title{text-decoration:line-through;color:var(--text-faint)}.task-row-meta{display:flex;gap:8px;align-items:center;font-size:12px;flex-shrink:0}@media(max-width:720px){.task-row-body{flex-direction:column;align-items:flex-start;gap:4px}.task-row-title{white-space:normal}.task-row-meta{flex-wrap:wrap}}.task-row-due{display:flex;gap:6px;align-items:center}.task-due-input{font-size:12px;padding:4px 6px;background:transparent;border:none;border-radius:3px;color:var(--text-dim);cursor:pointer}.task-due-input:hover{color:var(--text);background:var(--bg-2)}.task-due-hint{font-size:11px;color:var(--text-faint)}.task-row.task-overdue .task-due-hint{color:var(--poor);font-weight:600}.task-row-trail{display:flex;gap:4px;align-items:center;opacity:0;transition:opacity .12s ease}.task-row:hover .task-row-trail{opacity:1}.task-row-trail-btn{width:22px;height:22px;padding:0;background:transparent;border:1px dashed var(--line);color:var(--text-dim);border-radius:4px;font-size:14px;line-height:1;cursor:pointer}.task-row-trail-btn:hover{color:var(--text);border-color:var(--line-2)}.task-row-drop-indicator{height:2px;background:var(--primary-bg);border-radius:1px;margin:2px 0;box-shadow:0 0 6px #5ea0ff99}.popover{position:absolute;z-index:50;background:var(--bg-1);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #0006;padding:4px;margin-top:4px;display:flex;flex-direction:column;gap:2px;min-width:160px}.task-inline-status,.task-inline-priority,.task-inline-assignees{position:relative;display:inline-flex}.task-status-menu-item,.task-assignee-menu-item{background:transparent;border:none;padding:6px 8px;text-align:left;cursor:pointer;border-radius:4px;color:var(--text);display:flex;gap:6px;align-items:center;font-size:13px}.task-status-menu-item:hover,.task-assignee-menu-item:hover{background:var(--bg-2)}.task-inline-assignees{gap:4px;align-items:center}.task-assignee-chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--primary-bg);color:var(--primary-fg);font-size:10px;font-weight:700}.task-assignee-add{background:transparent;border:1px dashed var(--line);color:var(--text-dim);padding:1px 8px;font-size:11px;border-radius:999px;cursor:pointer}.task-assignee-add:hover{color:var(--text);border-color:var(--line-2)}.task-assignee-modal-list{max-height:200px;overflow-y:auto;border:1px solid var(--line);border-radius:4px;background:var(--bg-2);padding:4px}.task-assignee-modal-item{display:flex;gap:8px;align-items:center;padding:6px 8px;font-size:13px;cursor:pointer;border-radius:3px}.task-assignee-modal-item:hover{background:var(--bg-1)}.list-status-row{display:flex;gap:6px;align-items:center;padding:4px 0}.task-modal-body{display:flex;flex-direction:column;gap:16px;padding-right:4px}.task-modal-section{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.task-modal-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-attachments-list{display:flex;flex-direction:column;gap:6px}.task-attachment-row{display:flex;gap:10px;align-items:center;background:var(--bg-1);border:1px solid var(--line);border-radius:4px;padding:6px 10px}.task-attachment-row a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-comments-list{display:flex;flex-direction:column;gap:6px}.task-comment{padding:6px 10px;border-left:2px solid var(--line);position:relative}.task-comment-head{display:flex;gap:6px;font-size:11px;color:var(--text-dim)}.task-comment-body{margin-top:2px;white-space:pre-wrap;font-size:13px;line-height:1.45}.task-comment .link-btn{position:absolute;top:4px;right:6px;background:transparent;border:none;color:var(--text-faint);font-size:10px;cursor:pointer;padding:0}.task-comment .link-btn:hover{color:var(--poor)}.task-comment-form textarea{font-size:13px;padding:6px 8px}.notif-bell-count{position:absolute;top:-4px;right:-4px;background:var(--poor);color:#fff;border-radius:999px;font-size:9px;font-weight:700;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}#notif-panel{position:fixed;top:54px;right:14px;z-index:101;width:360px;max-width:calc(100vw - 28px);max-height:70vh;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 36px #0006;display:flex;flex-direction:column}.notif-panel-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.notif-panel-list{overflow-y:auto;flex:1 1 auto}.notif-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;position:relative}.notif-item:hover{background:var(--bg-2)}.notif-item:not(.read):before{content:"";position:absolute;left:6px;top:16px;width:6px;height:6px;border-radius:999px;background:var(--primary-bg)}.notif-item.read{color:var(--text-dim)}.notif-item-summary{font-size:13px;line-height:1.4;padding-left:8px}.notif-item-time{font-size:11px;margin-top:4px;padding-left:8px}.my-tasks-bucket-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.task-calendar-main{padding-top:0}.task-calendar{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.task-calendar-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-2);border-bottom:1px solid var(--line)}.task-calendar-head-day{padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;border-right:1px solid var(--line)}.task-calendar-head-day:last-child{border-right:none}.task-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,auto)}.task-calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0;background:var(--bg-1)}.task-calendar-day.off-month{background:var(--bg-0)}.task-calendar-day.off-month .task-calendar-day-num{color:var(--text-faint)}.task-calendar-day.today{background:#5ea0ff14}.task-calendar-day.today .task-calendar-day-num{background:var(--primary-bg);color:var(--primary-fg);border-radius:999px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.task-calendar-day:nth-child(7n){border-right:none}.task-calendar-day-num{font-size:12px;font-weight:600;align-self:flex-start;padding:2px 4px}.task-calendar-day-tasks{display:flex;flex-direction:column;gap:2px;min-width:0}.task-calendar-item{text-align:left;background:var(--bg-2);border:1px solid var(--line);border-left-width:3px;padding:3px 6px;font-size:11px;line-height:1.3;border-radius:3px;color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-calendar-item:hover{background:var(--bg-0)}.task-calendar-item.task-completed{text-decoration:line-through;color:var(--text-faint)}.task-calendar-more{font-size:10px;padding:1px 6px}@media(max-width:700px){.task-calendar-grid{grid-auto-rows:minmax(80px,auto)}.task-calendar-item{font-size:10px;padding:2px 4px}}.tool-access-matrix th,.tool-access-matrix td{text-align:center}.tool-access-matrix th:first-child,.tool-access-matrix td:first-child{text-align:left}.tool-access-matrix th:nth-child(2),.tool-access-matrix td:nth-child(2){text-align:left}.tool-access-matrix input[type=checkbox]{width:18px;height:18px;cursor:pointer}.tool-access-matrix input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.form-list{display:flex;flex-direction:column;gap:10px}.form-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius)}.form-row-title{font-size:16px;font-weight:600}.form-row-sub{font-size:12px;color:var(--text-dim);margin-top:4px}.form-row-actions{display:flex;gap:6px;flex-wrap:wrap}.form-builder{background:var(--bg-0)}.form-builder-layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 70px)}.form-builder-sidebar{background:var(--bg-1);border-right:1px solid var(--line);padding:8px 0;overflow-y:auto;max-height:calc(100vh - 70px);position:sticky;top:0}.sidebar-section{border-bottom:1px solid var(--line)}.sidebar-section summary{list-style:none;cursor:pointer;padding:12px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;display:flex;align-items:center;gap:6px;user-select:none}.sidebar-section summary::-webkit-details-marker{display:none}.sidebar-section summary:before{content:"▸";font-size:9px;color:var(--text-faint);transition:transform .15s ease;display:inline-block;width:12px}.sidebar-section[open]>summary:before{transform:rotate(90deg)}.sidebar-section[open]>summary{color:var(--text)}.sidebar-section-title{flex:1}.sidebar-section-body{padding:4px 14px 16px}.palette-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:grab;text-align:left}.palette-item:hover{background:var(--bg-0);border-color:var(--line-2)}.palette-item:active{cursor:grabbing}.palette-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--bg-1);border:1px solid var(--line);border-radius:4px;font-size:13px;font-weight:600}.palette-hint{margin-top:16px;font-size:11px;line-height:1.5}.form-builder-canvas-wrap{padding:20px 24px;overflow:auto;background:var(--bg-0);min-width:0}.form-canvas{--cols: 24;--row-h: 24px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px);background-size:calc((100% - 32px) / var(--cols)) 100%;background-position:16px 0}.form-canvas-grid{display:grid;gap:0;position:relative}.form-field{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;padding:6px 8px;cursor:grab;position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .12s,box-shadow .12s;user-select:none}.form-field:hover{border-color:var(--line-2)}.form-field.selected{border-color:var(--primary-bg);box-shadow:0 0 0 1px var(--primary-bg);cursor:grab}.form-field-inner{flex:1;min-height:0;pointer-events:none}.form-field-resize{position:absolute;width:14px;height:14px;right:2px;bottom:2px;background:linear-gradient(135deg,transparent 50%,var(--text-faint) 50%,var(--text-faint) 60%,transparent 60%,transparent 70%,var(--text-faint) 70%,var(--text-faint) 80%,transparent 80%);cursor:nwse-resize}.form-field.selected .form-field-resize{background:linear-gradient(135deg,transparent 50%,var(--primary-bg) 50%,var(--primary-bg) 60%,transparent 60%,transparent 70%,var(--primary-bg) 70%,var(--primary-bg) 80%,transparent 80%)}.form-field-preview label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:3px;line-height:1.2;padding:0}.form-field-preview label .req{color:var(--poor);margin-left:2px}.form-field-preview input,.form-field-preview textarea,.form-field-preview select{width:100%;padding:3px 6px;font-size:12px;background:var(--bg-1);border:1px solid var(--line);border-radius:3px;color:var(--text)}.form-field-preview textarea{resize:none;height:100%;min-height:32px}.form-field-preview .cb,.form-field-preview .ra{display:flex;gap:6px;font-size:12px;color:var(--text);margin-bottom:0;padding:2px 0}.form-field-heading{font-size:16px;font-weight:600;padding:4px 0}.form-field-grouplabel{font-size:11px;color:var(--text-dim);margin-bottom:4px}.form-field-fakeupload,.form-field-fakesig{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-1);border:1px dashed var(--line);border-radius:3px;font-size:11px;color:var(--text-faint)}.form-builder-props .wiki-tree-section{margin-top:0}.props-form{gap:8px;margin-top:8px}.props-form label{font-size:12px;color:var(--text-dim)}.props-form input,.props-form textarea,.props-form select{font-size:13px;padding:5px 7px}.props-form .cb-row{display:flex;gap:6px;align-items:center;color:var(--text);margin-top:2px}.prop-grid-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}.prop-grid-row label{display:flex;flex-direction:column;gap:2px;font-size:11px}.prop-grid-row input{width:100%}.form-builder-stats{margin-top:14px;padding:10px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;font-size:13px}@media(max-width:900px){.form-builder-layout{grid-template-columns:1fr}.form-builder-sidebar{max-height:none;position:static;border-right:none;border-bottom:1px solid var(--line)}}.form-preview-overlay{padding:24px}.form-preview-modal{width:min(1280px,calc(100vw - 48px));max-width:none;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column}.form-preview-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.form-preview-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1;justify-content:flex-end}.form-preview-body{flex:1 1 auto;min-height:0;overflow:auto;padding:20px 24px;background:var(--bg-0)}.form-preview-body.narrow{max-width:420px;margin:0 auto}.form-preview-footer{border-top:1px solid var(--line);padding:12px 20px;display:flex;gap:8px;justify-content:flex-end}.form-fill{width:100%}.form-fill-grid{display:grid;gap:0;align-items:stretch}.form-fill-cell{padding:4px 8px;min-width:0}.form-fill-field label,.form-fill-grouplabel{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px;line-height:1.2}.form-fill-field label.cb,.form-fill-field label.ra{display:flex;gap:8px;align-items:center;color:var(--text);font-size:14px;margin-bottom:0}.form-fill-field input[type=text],.form-fill-field input[type=number],.form-fill-field input[type=date],.form-fill-field input[type=file],.form-fill-field textarea,.form-fill-field select{width:100%;padding:8px 10px;font-size:14px;background:var(--bg-1);border:1px solid var(--line);border-radius:4px;color:var(--text)}.form-fill-field textarea{resize:vertical;min-height:60px}.form-fill-field .req{color:var(--poor);margin-left:2px}.form-fill-field .field-help{font-size:11px;color:var(--text-faint);margin-bottom:4px}.form-fill-heading{font-size:18px;font-weight:600;line-height:1.3}.form-fill-divider{border:none;border-top:1px solid var(--line);margin:4px 0}.form-fill-radio-list{display:flex;flex-direction:column;gap:4px}.form-fill-fakesig{height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-1);border:1px dashed var(--line);border-radius:4px;color:var(--text-faint);font-size:12px}@media(max-width:640px){.form-fill-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important;min-height:0!important;gap:14px}.form-fill-cell{grid-column:1 / -1!important;grid-row:auto!important}}.form-preview-body.narrow .form-fill-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important;min-height:0!important;gap:14px}.form-preview-body.narrow .form-fill-cell{grid-column:1 / -1!important;grid-row:auto!important}.form-fill-main{max-width:1100px;margin:0 auto}.form-fill-form .form-fill-grid{padding-bottom:14px}.form-fill-action-row{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.form-fill-action-row #fill-status{flex:1}.form-fill-thanks{text-align:center;padding:40px 20px}.form-fill-thanks h2{margin:0 0 6px}.form-fill-photo-preview{max-width:100%;max-height:200px;border-radius:4px;border:1px solid var(--line)}.form-fill-readonly input,.form-fill-readonly textarea,.form-fill-readonly select{pointer-events:none;opacity:.85}.form-submitted-textarea{white-space:pre-wrap;padding:8px 10px;font-size:14px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px}.form-submission-view{max-width:1100px;margin:0 auto}.form-submitted-img{max-width:100%;max-height:240px;border-radius:4px;border:1px solid var(--line);display:block}.submission-outputs-strip{background:var(--bg-1);border-bottom:1px solid var(--line);padding:8px 16px}.submission-outputs-inner{max-width:1100px;margin:0 auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.submission-outputs-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-right:6px}.output-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.output-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.output-card-name{font-size:15px;font-weight:600}.output-card-actions{display:flex;gap:6px;flex-wrap:wrap}.output-card-form{gap:8px;margin-top:6px}.output-card-form input,.output-card-form textarea,.output-card-form select{font-size:13px;padding:6px 8px}.output-fields-pick .label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.output-fields-list{max-height:220px;overflow-y:auto;background:var(--bg-1);border:1px solid var(--line);border-radius:4px;padding:6px;display:flex;flex-direction:column;gap:2px}.output-field-pick{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:4px 8px;font-size:13px;border-radius:3px;cursor:pointer}.output-field-pick:hover{background:var(--bg-2)}.output-field-pick input{width:auto}.capture-help-modal{max-width:560px}.capture-help-steps{padding-left:22px;margin:0 0 12px;font-size:14px;line-height:1.55}.capture-help-steps li{padding:6px 0}.capture-help-steps strong{color:var(--text)}.capture-help-glossary{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-top:12px}.capture-help-glossary summary{cursor:pointer;font-size:13px}.capture-help-glossary dl{margin:8px 0 0}.capture-help-glossary dt{font-size:13px;margin-top:6px}.capture-help-glossary dt:first-of-type{margin-top:0}.capture-help-glossary dd{margin:2px 0 0;font-size:13px;color:var(--text-dim)}.capture-map-modal{max-width:720px;width:calc(100vw - 24px);max-height:calc(100vh - 24px);display:flex;flex-direction:column}.capture-map-stage{position:relative;flex:1 1 auto;min-height:200px;background:var(--bg-2);border-radius:6px;overflow:hidden}.capture-map-img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.capture-map-dot{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:999px;background:var(--good);border:2px solid #fff;box-shadow:0 2px 6px #0006;color:#0c1116;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.capture-map-dot.core{background:var(--primary-bg);color:var(--primary-fg)}.capture-map-dot.selected{outline:3px solid var(--primary-bg);outline-offset:2px}.capture-map-dot:active{transform:translate(-50%,-50%) scale(.95)}.tech-entry-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg-0)}.tech-entry-card{width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px 24px;text-align:center}.tech-entry-logo{max-height:64px;max-width:220px;margin:0 auto 14px;display:block}.tech-entry-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-faint);font-weight:600}.tech-entry-title{font-size:22px;margin:8px 0 4px;line-height:1.3}.tech-entry-label{margin-bottom:14px}.tech-entry-blurb{font-size:14px;color:var(--text-dim);margin:14px 0 18px;line-height:1.5}.tech-entry-form input{font-size:16px;padding:10px 12px}.tech-entry-start{font-size:16px;padding:10px 24px}.tech-entry-expiry{margin-top:16px}.project-banner-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.project-banner{display:grid;grid-template-columns:220px 1fr;gap:0;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:140px}.project-banner-visual{background:var(--bg-2);position:relative;overflow:hidden}.project-banner-visual img{width:100%;height:100%;object-fit:cover;display:block}.project-banner-visual.placeholder{display:flex;align-items:center;justify-content:center}.project-banner-glyph{font-size:44px;font-weight:700;color:#ffffffd9;letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,0,0,.3)}.project-banner-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;min-width:0}.project-banner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.project-banner-name{font-size:18px;font-weight:600;line-height:1.3}.project-banner-sub{font-size:13px;color:var(--text-dim);margin-top:2px}.project-banner-actions{display:flex;gap:6px;flex-wrap:wrap}.project-banner-stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:auto}.project-banner-stat .v{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.project-banner-stat .k{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:3px}@media(max-width:640px){.project-banner{grid-template-columns:1fr}.project-banner-visual{min-height:100px;max-height:120px}}.wiki .topbar{padding:10px 16px;border-bottom:1px solid var(--line)}.wiki-layout{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:calc(100vh - 60px)}.wiki-sidebar{border-right:1px solid var(--line);background:var(--bg-1);padding:14px 12px;overflow-y:auto;max-height:calc(100vh - 60px);position:sticky;top:0}.wiki-sidebar-head input.wiki-search{width:100%;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:var(--radius);font-size:13px}.wiki-tree-section{text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:var(--text-faint);margin:16px 0 6px}.wiki-tree-favs{display:flex;flex-direction:column;gap:2px}.wiki-tree-favs .wiki-tree-link{display:block;padding:4px 8px;font-size:13px;border-radius:4px;color:var(--text-dim);text-decoration:none}.wiki-tree-favs .wiki-tree-link:hover{background:var(--bg-2);color:var(--text)}.wiki-tree-favs .wiki-tree-link.active{color:var(--primary-bg)}.wiki-tree-list{list-style:none;margin:0;padding:0}.wiki-tree-item>ul{display:none}.wiki-tree-item.open>ul{display:block}.wiki-tree-row{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:4px;font-size:13px;min-height:26px}.wiki-tree-row.active{background:var(--bg-2)}.wiki-tree-row.active .wiki-tree-link{color:var(--primary-bg);font-weight:600}.wiki-tree-row:hover{background:var(--bg-2)}.wiki-tree-toggle{width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:10px;line-height:1}.wiki-tree-spacer{width:18px;display:inline-block}.wiki-tree-link{flex:1;color:var(--text);text-decoration:none;padding:2px 4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-tree-visibility{font-size:9px;padding:1px 5px}.wiki-tree-dot{color:var(--marginal);font-size:16px;line-height:1}.wiki-main{padding:20px 32px 60px;min-width:0}.wiki-content>p,.wiki-content>ul,.wiki-content>ol,.wiki-content>blockquote,.wiki-content>h1,.wiki-content>h2,.wiki-content>h3,.wiki-content>h4{max-width:80ch}.wiki-breadcrumb{font-size:13px;margin-bottom:12px;color:var(--text-dim)}.wiki-breadcrumb a{color:var(--text-dim);text-decoration:none}.wiki-breadcrumb a:hover{color:var(--primary-bg)}.wiki-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;flex-wrap:wrap}.wiki-page-title{font-size:28px;line-height:1.2;margin:0}.wiki-page-actions{display:flex;gap:8px;align-items:center}.wiki-fav-btn{font-size:18px;line-height:1;min-width:32px}.wiki-page-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 24px;font-size:12px}.wiki-visibility-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}.wiki-visibility-badge.admins{border-color:var(--poor);color:var(--poor)}.wiki-visibility-badge.managers{border-color:var(--marginal);color:var(--marginal)}.wiki-visibility-badge.restricted{border-color:var(--primary-bg);color:var(--primary-bg)}.wiki-verified-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg-2);border:1px solid var(--good);color:var(--good)}.wiki-verified-badge.stale{border-color:var(--marginal);color:var(--marginal)}.tag-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--bg-2);border:1px solid var(--line);color:var(--text)}.wiki-source-link{margin-left:auto}.wiki-content{line-height:1.65;color:var(--text);font-size:15px}.wiki-content h1,.wiki-content h2,.wiki-content h3{margin:1.5em 0 .5em;line-height:1.3}.wiki-content h1{font-size:22px;border-bottom:1px solid var(--line);padding-bottom:6px}.wiki-content h2{font-size:19px}.wiki-content h3{font-size:17px}.wiki-content p{margin:.8em 0}.wiki-content ul,.wiki-content ol{padding-left:24px;margin:.8em 0}.wiki-content li{margin:.3em 0}.wiki-content a{color:var(--primary-bg);text-decoration:underline;text-underline-offset:2px}.wiki-content code{background:var(--bg-2);border:1px solid var(--line);padding:1px 5px;border-radius:3px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em}.wiki-content pre{background:var(--bg-2);border:1px solid var(--line);padding:12px 14px;border-radius:var(--radius);overflow-x:auto;line-height:1.5}.wiki-content pre code{background:none;border:none;padding:0}.wiki-content blockquote{border-left:3px solid var(--primary-bg);padding:4px 12px;margin:.8em 0;background:var(--bg-2);color:var(--text-dim)}.wiki-content img{max-width:100%;border-radius:var(--radius)}.wiki-content table{border-collapse:collapse;margin:1em 0;width:100%;font-size:13px}.wiki-content th,.wiki-content td{border:1px solid var(--line);padding:6px 10px;text-align:left}.wiki-content th{background:var(--bg-2)}.wiki-content hr{border:none;border-top:1px solid var(--line);margin:2em 0}.wiki-attachments-card{margin-top:24px}.wiki-attachments-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.wiki-attachment-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.wiki-footer{margin-top:32px;border-top:1px solid var(--line);padding-top:14px}.wiki-comments-head{display:flex;gap:8px;align-items:baseline;margin-bottom:8px}.wiki-comments-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600}.wiki-comments-count{font-size:11px;color:var(--text-faint)}.wiki-comments{display:flex;flex-direction:column;gap:6px}.wiki-comment{padding:6px 10px;border-left:2px solid var(--line);background:transparent;position:relative}.wiki-comment-head{display:flex;gap:6px;font-size:11px;color:var(--text-dim)}.wiki-comment-body{margin-top:2px;white-space:pre-wrap;font-size:13px;line-height:1.45}.wiki-comment .link-btn{position:absolute;top:4px;right:6px;background:transparent;border:none;color:var(--text-faint);font-size:10px;cursor:pointer;padding:0}.wiki-comment .link-btn:hover{color:var(--poor)}.wiki-comment-form{margin-top:10px;display:flex;flex-direction:column;gap:6px}.wiki-comment-form textarea{font-size:13px;padding:6px 8px;border-radius:4px;resize:vertical;min-height:38px}.wiki-comment-form-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.wiki-comment-form-actions [data-report]{margin-right:auto;font-size:11px;padding:4px 8px;color:var(--text-faint)}.wiki-comment-form-actions [data-report]:hover{color:var(--marginal)}.wiki-recent-row,.wiki-req-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);gap:12px}.wiki-recent-row:first-child,.wiki-req-row:first-child{border-top:none}.wiki-recent-link{text-decoration:none}.wiki-req-body{font-size:13px;color:var(--text-dim);margin-top:4px;white-space:pre-wrap}.wiki-editor-toolbar{display:flex;gap:6px;align-items:center;padding:6px 8px;margin-bottom:4px;background:var(--bg-2);border:1px solid var(--line);border-bottom:none;border-radius:4px 4px 0 0}.wiki-editor-toolbar+textarea{border-radius:0 0 4px 4px;margin-top:0}.wiki-editor textarea.wiki-editor-md{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;min-height:360px}.form-picker-row{display:block;width:100%;text-align:left;background:transparent;border:none;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;color:var(--text)}.form-picker-row:hover{background:var(--bg-2)}.form-picker-row:last-child{border-bottom:none}.wiki-editor-tags .label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.wiki-tag-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.wiki-tag-check{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;font-size:13px;cursor:pointer}.wiki-editor-preview,.wiki-editor-attachments{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.wiki-editor-preview summary,.wiki-editor-attachments summary{cursor:pointer;font-size:13px;color:var(--text-dim)}@media(max-width:800px){.wiki-layout{grid-template-columns:1fr}.wiki-sidebar{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--line)}.wiki-main{padding:16px}.wiki-page-title{font-size:22px}}#app-toolbar{position:fixed;top:12px;right:12px;z-index:100;display:flex;align-items:center;gap:10px;pointer-events:none}#app-toolbar .toolbar-icon{pointer-events:auto;width:34px;height:34px;padding:0;border-radius:999px;background:var(--bg-1);border:1px solid var(--line);color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;position:relative}#app-toolbar .toolbar-icon:hover{color:var(--text);background:var(--bg-2);border-color:var(--line-2)}#app-toolbar .toolbar-icon svg{display:block}.topbar{padding-right:calc(var(--toolbar-width, 60px) + 8px)}@media(max-width:600px){#app-toolbar{top:10px;right:10px;gap:8px}#app-toolbar .toolbar-icon{width:32px;height:32px}}.admin.vault{max-width:none;padding-left:0;padding-right:0}.admin.vault .topbar{padding-left:24px;padding-right:24px}.vault-layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 80px)}.vault-sidebar{background:var(--bg-1);border-right:1px solid var(--line);padding:14px 10px;overflow-y:auto;position:sticky;top:0;max-height:calc(100vh - 80px)}.vault-sidebar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vault-tree{display:flex;flex-direction:column;gap:1px}.vault-folder-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;font-size:13px;cursor:pointer;user-select:none}.vault-folder-row:hover{background:var(--bg-2)}.vault-folder-row.active{background:var(--bg-2);color:var(--primary-bg);font-weight:600}.vault-folder-icon{font-size:14px}.vault-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-main{padding:18px 28px 60px;min-width:0}.vault-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.vault-search{flex:1;min-width:200px;max-width:400px;padding:8px 10px;font-size:13px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text)}.vault-breadcrumb{margin-bottom:12px;font-size:13px}.vault-breadcrumb a{color:var(--text-dim);text-decoration:none}.vault-breadcrumb a:hover{color:var(--primary-bg)}.vault-dropzone{background:var(--bg-1);border:2px dashed transparent;border-radius:var(--radius);padding:6px;min-height:240px;transition:border-color .15s ease,background .15s ease}.vault-dropzone.drag-active{border-color:var(--primary-bg);background:var(--bg-2)}.vault-empty{text-align:center;padding:80px 16px;display:flex;flex-direction:column;gap:6px}.vault-file-list{width:100%}.vault-file-table{width:100%;border-collapse:collapse;font-size:13px}.vault-file-table thead th{text-align:left;padding:10px 12px;background:var(--bg-2);border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;white-space:nowrap}.vault-file-table td{padding:10px 12px;border-bottom:1px solid var(--line)}.vault-file-row:hover td{background:var(--bg-2)}.vault-file-name{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-file-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.vault-file-actions a,.vault-file-actions button{font-size:12px}.vault-upload-overlay{position:fixed;bottom:24px;right:24px;z-index:200;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px #00000080;padding:14px;min-width:320px;max-width:420px;max-height:50vh;overflow:auto}.vault-upload-panel .label{margin-bottom:8px}.vault-upload-list{display:flex;flex-direction:column;gap:10px}.vault-upload-row{display:flex;flex-direction:column;gap:4px;padding:6px 0}.vault-upload-name{font-size:13px}.vault-upload-bar{height:4px;background:var(--bg-2);border-radius:2px;overflow:hidden}.vault-upload-bar-fill{height:100%;background:var(--primary-bg);transition:width .15s ease}.vault-upload-row.done .vault-upload-bar-fill{background:var(--good)}.vault-upload-row.failed .vault-upload-bar-fill{background:var(--poor)}.vault-upload-meta{font-size:11px}.context-menu{display:flex;flex-direction:column;padding:4px;min-width:160px}.context-menu button{background:transparent;border:none;text-align:left;padding:8px 12px;font-size:13px;color:var(--text);border-radius:4px;cursor:pointer}.context-menu button:hover{background:var(--bg-2)}.vault-acl .label{margin-bottom:6px}.vault-acl-list{max-height:200px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;padding:4px;display:flex;flex-direction:column;gap:2px}.vault-acl-item{display:flex;gap:8px;align-items:center;padding:6px 8px;font-size:13px;cursor:pointer;border-radius:3px}.vault-acl-item:hover{background:var(--bg-1)}@media(max-width:800px){.vault-layout{grid-template-columns:1fr}.vault-sidebar{max-height:none;position:static;border-right:none;border-bottom:1px solid var(--line)}.vault-main{padding:14px 16px 60px}}.vault-public-block{margin-top:6px}.vault-public-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.vault-public-list{display:flex;flex-direction:column;gap:8px}.vault-public-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px}.vault-public-url{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--text-dim);word-break:break-all}.vault-usage{display:flex;gap:12px;align-items:center;min-width:180px}.vault-usage-text{text-align:right}.vault-usage-text .strong{font-size:13px;font-variant-numeric:tabular-nums}.vault-usage-text .sub{font-size:11px}.vault-usage-bar{width:120px;height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden}.vault-usage-bar-fill{height:100%;background:var(--primary-bg);transition:width .2s ease}.vault-usage-bar.warn .vault-usage-bar-fill{background:var(--marginal)}.vault-usage-bar.over .vault-usage-bar-fill{background:var(--poor)}.vault-bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--bg-2);border:1px solid var(--primary-bg);border-radius:var(--radius);padding:10px 14px;margin-bottom:10px}.vault-bulk-actions{display:flex;gap:6px;flex-wrap:wrap}.vault-row-select,.vault-select-all{width:16px;height:16px;cursor:pointer}.drive-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;margin-bottom:8px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.drive-toolbar{margin-bottom:8px}.drive-toolbar input[type=search]{width:100%;padding:8px 10px;font-size:13px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text)}.drive-breadcrumb{margin-bottom:8px;font-size:13px}.drive-breadcrumb a{color:var(--text-dim);text-decoration:none}.drive-breadcrumb a:hover{color:var(--primary-bg)}.drive-list{display:flex;flex-direction:column;gap:4px}.drive-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;gap:12px;background:var(--bg-1);border:1px solid var(--line);border-radius:4px}.drive-row:hover{background:var(--bg-2)}.drive-row-name{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.drive-row-name .strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.drive-icon{font-size:16px}
