:root{--bg:#0b1020;--panel:#121a30;--panel-2:#18223d;--line:#26324f;--text:#e6ebf5;--muted:#8d99b5;--accent:#7c9cff;--lit:#fde047;--ok:#22c55e;--bad:#ef4444;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}h1,h2,h3,h4{margin:0;line-height:1.2}h2{font-size:18px}h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:13px}h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 6px;font-size:12px}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.error-text{color:#fca5a5;margin:8px 0 0}.notice{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.btn{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:8px 14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b1020;font-weight:600}.btn.primary:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000;padding:6px 8px}.btn.ghost:hover{color:var(--text)}.dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.running,.dot.queued{background:var(--lit);box-shadow:0 0 8px var(--lit);animation:1.2s ease-in-out infinite pulse}.dot.queued{box-shadow:none;background:#a3a3a3}.dot.done{background:var(--ok)}.dot.failed{background:var(--bad)}@keyframes pulse{50%{opacity:.35}}.login{place-items:center;min-height:100%;padding:16px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:10px;width:100%;max-width:380px;padding:28px;display:grid}.login-skyline{font-size:40px}.login-card h1{font-size:24px}.app{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1020e6;align-items:center;gap:16px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;font-size:16px;font-weight:700}.search{flex:1;max-width:420px;position:relative}.search-results{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 12px 30px #0006}.search-results button,.agent-list button,.feed button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.search-results button:hover,.agent-list button:hover,.feed button:hover{background:var(--panel-2)}.search-results small,.agent-list small,.feed small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.emoji{text-align:center;flex:none;width:26px;font-size:20px}.stats{white-space:nowrap;gap:14px;display:flex}.stat{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.who{white-space:nowrap;align-items:center;gap:6px;margin-left:auto;display:flex}.layout{flex:1;grid-template-columns:1fr 380px;min-height:0;display:grid}.side{border-left:1px solid var(--line);background:var(--bg);flex-direction:column;gap:12px;max-height:calc(100vh - 57px);padding:12px;display:flex;position:sticky;top:57px;overflow:auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.panel-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.big-emoji{font-size:34px;line-height:1}.agent-list,.feed ul{margin:0;padding:0;list-style:none}.agent-list{max-height:46vh;overflow:auto}.feed{flex:1;min-height:200px}.back{margin:-6px 0 6px -8px}.chip{background:color-mix(in srgb, var(--c) 22%, transparent);border:1px solid color-mix(in srgb, var(--c) 50%, transparent);border-radius:99px;margin:4px 0 0;padding:2px 8px;font-size:12px;display:inline-block}.vibe{margin:8px 0 4px;font-style:italic}.task-form{gap:10px;margin-top:14px;display:grid}.task-form label{color:var(--muted);gap:4px;font-size:12px;display:grid}.task-form .row{grid-template-columns:1fr 1fr;gap:10px;display:grid}textarea{resize:vertical}.goal{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--panel));border-radius:10px;margin:4px 0 12px;padding:10px 12px}.goal summary{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:12px;font-weight:600}.goal p{margin:6px 0 0}.goal-text{font-weight:600;line-height:1.4}.mission-chip{white-space:nowrap;background:color-mix(in srgb, var(--lit) 20%, transparent);border:1px solid color-mix(in srgb, var(--lit) 55%, transparent);color:var(--lit);vertical-align:1px;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600}.check{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;grid-template-columns:none;align-items:flex-start;gap:10px;padding:10px;display:flex!important}.check input{width:auto;accent-color:var(--accent);margin-top:3px}.check strong{color:var(--text);font-size:13px}.check small{color:var(--muted);font-size:12px;display:block}.steps{margin:0;padding:0;list-style:none}.steps button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.steps button:hover{background:var(--panel-2)}.steps small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.city{height:calc(100vh - 57px);padding:0;position:relative}.town{background:#0b1020;position:absolute;inset:0;overflow:hidden}.town-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.town-legend{border:1px solid var(--line);pointer-events:none;background:#0b1020cc;border-radius:8px;align-items:center;gap:12px;padding:6px 10px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.town-legend span{align-items:center;gap:6px;display:inline-flex}.town-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.town-zoom .btn{background:#18223de6;width:40px;height:40px;padding:0;font-size:16px}.hud{z-index:2;border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 62%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));-webkit-backdrop-filter:blur(10px)saturate(140%);pointer-events:none;white-space:nowrap;align-items:center;gap:4px;max-width:calc(100% - 24px);padding:5px 6px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff0f}.hud:empty{display:none}.hud-cell{border-right:1px solid color-mix(in srgb, var(--line) 70%, transparent);justify-items:center;min-width:54px;padding:1px 8px;display:grid}.hud-cell strong{font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:16px;line-height:1.2;display:inline-flex}.hud-cell small,.hud-clock small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px}.hud-cell .dot{width:7px;height:7px}.hud-clock{font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:0 8px 0 6px;font-size:13px;font-weight:600;display:inline-flex}.modal-backdrop{z-index:50;background:#03060fd1;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;width:100%;max-width:760px;max-height:88vh;display:flex}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex}.modal-body{padding:0 16px 16px;overflow:auto}.prompt{white-space:pre-wrap;margin:0}.output{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin:0;padding:12px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.cursor{color:var(--accent);animation:1s infinite pulse}.tabbar,.town-legend .hint-touch{display:none}.dome-list{max-height:32vh;margin-top:12px}.dome-status{flex:none;gap:4px;display:inline-flex}.dchip{font-variant-numeric:tabular-nums;border:1px solid;border-radius:99px;align-items:center;gap:4px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.dchip .dot{width:6px;height:6px}.dchip.work{color:var(--lit);border-color:color-mix(in srgb, var(--lit) 45%, transparent);background:color-mix(in srgb, var(--lit) 12%, transparent)}.dchip.ready{color:#86efac;border-color:color-mix(in srgb, var(--ok) 50%, transparent);background:color-mix(in srgb, var(--ok) 14%, transparent)}.dchip.fail{color:#fca5a5;border-color:color-mix(in srgb, var(--bad) 55%, transparent);background:color-mix(in srgb, var(--bad) 16%, transparent)}.intro-about summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.intro-about summary::-webkit-details-marker{display:none}.intro-about summary:after{content:"▾";color:var(--muted);font-size:12px}.intro-about:not([open]) summary:after{content:"▸"}.intro-about p{margin:8px 0 10px}.intro .goal{margin-top:10px}.collect-spark{z-index:40;pointer-events:none;border-radius:50%;width:9px;height:9px;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 8px,0 0 0 1.5px #fff}@media (max-width:900px){.app{height:100dvh;min-height:0}.topbar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));flex-wrap:wrap;gap:10px}.stats{display:none}.search{flex-basis:100%;order:3;max-width:none}.layout{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;overflow:hidden}.city{height:100%}.side{border:0;height:100%;max-height:none;padding:12px;position:static;overflow:auto}.agent-list,.dome-list{max-height:none}.tab-map .side,.tab-agents .city,.tab-tasks .city,.tab-agents .feed,.tab-tasks .picker{display:none}.tab-tasks .feed{flex:1}.search-results{z-index:30}.agent-list button,.feed button{padding:12px 8px}.btn,.btn.ghost.back,.waiting-link{min-height:44px}.phone-only{display:inline-flex}.modal-body .verdict{z-index:2;position:sticky;bottom:0;box-shadow:0 -8px 16px #03060f99}input,select,textarea{font-size:16px}.tabbar{border-top:1px solid var(--line);min-height:56px;padding-bottom:env(safe-area-inset-bottom);background:#0b1020f5;grid-template-columns:repeat(4,1fr);display:grid}.tabbar button,.tabbar a{color:var(--muted);background:0 0;border:0;justify-items:center;gap:2px;padding:8px 0 6px;font-size:11px;text-decoration:none;display:grid;position:relative}.tabbar button span,.tabbar a span{font-size:20px;line-height:1}.tabbar button.on{color:var(--text)}.tabbar button.on span{filter:drop-shadow(0 0 6px var(--accent))}.tabbar .badge{background:var(--lit);color:#0b1020;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font:600 11px/18px ui-sans-serif,system-ui;position:absolute;top:4px;left:calc(50% + 8px)}.modal-backdrop{place-items:stretch stretch;padding:0}.modal{border:0;border-radius:0;max-width:none;height:100dvh;max-height:none}.modal-head{padding-top:max(14px, env(safe-area-inset-top))}.modal-body{padding-bottom:max(16px, env(safe-area-inset-bottom))}}@media (pointer:coarse){.town-legend .hint-mouse{display:none}.town-legend .hint-touch{display:inline-flex}.town-zoom .btn{width:44px;height:44px}}@media (max-width:480px){.who>.muted,.hide-sm,.town-legend .muted{display:none}.hud{gap:0;padding:4px;top:8px}.hud .hud-extra{display:none}.hud-cell{min-width:0;padding:1px 7px}.hud-cell strong{font-size:15px}.hud-clock{padding:0 6px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.landing{place-items:center;min-height:100vh;padding:16px;display:grid;position:relative;overflow:hidden}.landing-stars{background:radial-gradient(1px 1px at 10% 20%,#fff9,#0000),radial-gradient(1px 1px at 30% 70%,#fff7,#0000),radial-gradient(1.5px 1.5px at 55% 15%,#fffb,#0000),radial-gradient(1px 1px at 70% 55%,#fff8,#0000),radial-gradient(1px 1px at 85% 30%,#fff9,#0000),radial-gradient(1px 1px at 20% 85%,#fff6,#0000),radial-gradient(1.5px 1.5px at 90% 80%,#fffa,#0000),radial-gradient(1px 1px at 45% 45%,#fff6,#0000),radial-gradient(at 50% 120%,#312e81 0%,#0000 60%),#070a17;position:absolute;inset:0}.landing-planet{background:radial-gradient(circle at 35% 30%,#4c3f8f,#2b2645 55%,#15122a);border-radius:50%;width:520px;height:520px;position:absolute;bottom:-220px;right:-160px;box-shadow:0 0 80px #7c3aed55,inset -30px -40px 80px #0008}.landing-card{text-align:center;justify-items:center;gap:18px;max-width:560px;display:grid;position:relative}.landing-kicker{text-transform:uppercase;letter-spacing:.2em;color:#67e8f9;margin:0;font-size:12px}.landing h1{font-size:clamp(30px,6vw,48px);line-height:1.1}.landing-sub{color:var(--muted);max-width:440px;margin:0;font-size:16px}.landing-cta{border-radius:999px;padding:14px 26px;font-size:16px;text-decoration:none;box-shadow:0 0 30px #7c9cff66}.landing-cta:hover{transform:translateY(-1px);box-shadow:0 0 40px #7c9cff99}.lead-chip{color:#422006;vertical-align:2px;background:#facc15;border-radius:99px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:700;display:inline-block}.source-chip{color:#fff;vertical-align:2px;background:#611f69;border-radius:99px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:600;display:inline-block}.badge{background:var(--lit);color:#0b1020;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font:600 11px/18px ui-sans-serif,system-ui;display:inline-block}.waiting-link{border:1px solid var(--line);color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.waiting-link:hover{background:var(--panel-2)}.waiting-link.has{border-color:color-mix(in srgb, var(--lit) 55%, var(--line))}.feed-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.feed-head h3{margin:0}.feed-head select{width:auto;max-width:60%;padding:4px 8px;font-size:12px}.project-chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);vertical-align:1px;border-radius:99px;padding:0 7px;font-size:11px;display:inline-block;overflow:hidden}.modal-asks{border:1px solid color-mix(in srgb, var(--lit) 45%, var(--line));background:color-mix(in srgb, var(--lit) 6%, var(--panel));border-radius:10px;margin-top:14px;padding:10px 12px}.modal-asks h4{margin:0 0 6px}.modal-asks ul{margin:0;padding-left:18px}.modal-asks p{margin:6px 0 0}.reply-btn{margin-top:16px}.reply-form{border-top:1px solid var(--line);padding-top:12px}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-actions small{margin-left:auto}.btn.danger{background:color-mix(in srgb, var(--bad) 20%, var(--panel-2));border-color:color-mix(in srgb, var(--bad) 60%, var(--line))}a.btn{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}a.btn.primary{color:#0b1020}.projects-page{min-height:100%}.projects-main{gap:16px;max-width:1100px;margin:0 auto;padding:16px;display:grid}.projects-main h2{margin:0 0 4px;font-size:18px}.projects-main h3{margin:0;font-size:16px}.projects-main h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;font-size:12px}.control{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.control.is-paused{border-color:color-mix(in srgb, var(--lit) 60%, var(--line));background:color-mix(in srgb, var(--lit) 7%, var(--panel))}.count{background:var(--panel-2);text-align:center;vertical-align:2px;border-radius:99px;min-width:22px;padding:0 6px;font-size:13px;display:inline-block}.cap{gap:4px;min-width:min(180px,100%);display:grid}.control .grow{min-width:min(240px,100%)}.cap-read{text-align:left;background:0 0;border:0;padding:0}.cap-edit{align-items:center;gap:6px;display:flex}.cap-edit input{width:90px}.meter{background:var(--panel-2);border-radius:3px;height:6px;display:block;overflow:hidden}.meter i{background:var(--ok);height:100%;display:block}.meter.high i{background:var(--lit)}.meter.full i{background:var(--bad)}.asks{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.ask{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.ask.done{opacity:.8}.ask strong,.ask small{display:block}.ask details summary{cursor:pointer}.ask .pre{white-space:pre-wrap;margin:4px 0}.ask-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.kind{text-transform:uppercase;letter-spacing:.04em;background:var(--panel);border:1px solid var(--line);border-radius:99px;flex:none;padding:2px 7px;font-size:11px;font-weight:600}.kind.approval,.kind.approved{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 50%, var(--line))}.kind.question{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.kind.decision{color:var(--lit);border-color:color-mix(in srgb, var(--lit) 50%, var(--line))}.kind.declined{color:var(--bad)}.resolved{margin-top:12px}.resolved summary{cursor:pointer}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));align-items:start;gap:16px;display:grid}.project{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.project-head h3{text-transform:none;letter-spacing:0;color:var(--text);font-size:17px}.project p{margin:0}.project.done{opacity:.7}.project-head{align-items:flex-start;gap:8px;display:flex}.status{border:1px solid var(--line);color:var(--muted);border-radius:99px;margin-top:4px;padding:1px 8px;font-size:12px;display:inline-block}.status.active{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 50%, var(--line))}.status.waiting{color:var(--lit);border-color:color-mix(in srgb, var(--lit) 60%, var(--line))}.project-controls{grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:8px;display:grid}.project-controls select,.project-controls input{min-width:0}.project-controls label,.project-form label{color:var(--muted);gap:4px;font-size:12px;display:grid}.project-form{gap:10px;display:grid}.access-note em{color:var(--lit);font-style:normal}.project-tasks{margin:0;padding:0;list-style:none}.project-tasks a{color:inherit;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 4px;text-decoration:none;display:flex}.project-tasks a:hover{background:var(--panel-2)}.project-tasks small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-tasks .grow{min-width:0}.ask-lead{justify-self:start}.new-project{min-height:120px;color:var(--muted);border-style:dashed;place-items:center;font-size:15px;display:grid}.new-project:hover{color:var(--text)}@media (max-width:600px){.projects-main{padding:12px}.ask{flex-wrap:wrap}.ask-actions{justify-content:flex-start;width:100%}.project-grid{grid-template-columns:minmax(0,1fr)}.control>*{flex-basis:100%}}.convo{gap:14px;margin:12px 0 0;padding:0;list-style:none;display:grid}.convo>li{gap:8px;scroll-margin-top:12px;display:grid}.convo>li.here .bubble.agent{border-color:color-mix(in srgb, var(--accent) 60%, var(--line))}.bubble{border:1px solid var(--line);border-radius:12px;min-width:0;padding:10px 12px}.bubble.you{background:color-mix(in srgb, var(--accent) 12%, var(--panel-2));border-color:color-mix(in srgb, var(--accent) 35%, var(--line));justify-self:end;max-width:88%}.bubble.agent{background:var(--panel-2)}.bubble .output{margin:6px 0 0}.who-label{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.who-label .dot{vertical-align:0;width:7px;height:7px}.convo-steps{margin:4px 0}.convo-steps summary{cursor:pointer}.send-decisions{border:1px solid color-mix(in srgb, var(--ok) 50%, var(--line));background:color-mix(in srgb, var(--ok) 7%, var(--panel));border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;display:flex}.send-decisions strong,.send-decisions small{display:block}.send-decisions small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.respond{gap:8px;margin-top:8px;display:grid}.respond label{color:var(--muted);gap:4px;font-size:12px;display:grid}.decision-log summary{cursor:pointer;list-style:none}.decision-log summary::-webkit-details-marker{display:none}.decision-log summary h4{display:inline}.decision-log summary h4:after{content:" ▾"}.decision-log ul{gap:8px;margin:6px 0 0;padding:0;list-style:none;display:grid}.decision-log li{align-items:flex-start;gap:8px;display:flex}.decision-log li strong,.decision-log li small{display:block}.decision-log .pre{white-space:pre-wrap;margin:2px 0}.kind.answered{color:var(--accent)}@media (max-width:600px){.bubble.you{max-width:100%}}.floors{gap:4px;margin:2px 0 10px;display:flex}.floors i{background:var(--panel-2);border:1px solid var(--line);border-radius:2px;width:22px;height:8px}.floors i.on{background:var(--lit);border-color:color-mix(in srgb, var(--lit) 70%, var(--line))}.memory-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.memory-head h2{margin:0}.lessons{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.lessons li{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:8px 10px}.lessons li p{margin:0 0 2px}.lessons li.retracted{opacity:.6}.lessons strong{color:var(--accent);font-weight:600}.lesson-form{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px;margin:10px 0;display:grid}.lesson-form label{color:var(--muted);gap:4px;font-size:12px;display:grid}.lesson-form .row-actions{grid-column:1/-1}.linkish{color:var(--accent);font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.linkish:disabled{opacity:.5}.outcome{border-left:2px solid var(--ok);padding-left:6px}.edit-city{z-index:6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;position:absolute;bottom:54px;left:12px}.edit-bar{z-index:6;border:1px solid color-mix(in srgb, #4ade80 55%, var(--line));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172aeb;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute;bottom:54px;left:12px;right:60px}.edit-bar .grow{min-width:160px}.shed{border-top:1px solid var(--line);flex-basis:100%;gap:6px;padding-top:8px;display:grid}.shed ul{gap:6px;max-height:180px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.shed li{align-items:center;gap:8px;display:flex}.shed .linkish{justify-self:start}.role{color:var(--muted);font-size:13px;font-weight:500}.verdict{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--panel));border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:12px;display:flex}.verdict>p{width:100%;margin:0}.verdict-buttons{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.verdict-btn{min-height:44px;font-weight:600}.verdict-btn.accept:hover{border-color:var(--ok)}.verdict-btn.redo:hover{border-color:var(--accent)}.verdict-btn.discard:hover{border-color:var(--bad)}.redo-form{gap:8px;width:100%;display:grid}.verdict.done-accepted{border-color:color-mix(in srgb, var(--ok) 50%, var(--line));background:color-mix(in srgb, var(--ok) 7%, var(--panel))}.verdict.done-discarded{opacity:.8}.verdict-milestones{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.verdict-milestones p{width:100%;margin:4px 0 0}.verdict-chip{white-space:nowrap;border:1px solid var(--line);color:var(--muted);vertical-align:1px;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600}.verdict-chip.accepted{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 55%, transparent)}.verdict-chip.redo{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.btn.small{padding:4px 10px;font-size:13px}.btn.tiny{padding:2px 8px;font-size:12px}.milestones ul{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.milestones li{align-items:center;gap:6px;display:flex}.milestones label{cursor:pointer;flex:1;align-items:center;gap:8px;min-height:32px;display:flex}.milestones input[type=checkbox]{width:auto;accent-color:var(--ok)}.milestones li.met .grow{opacity:.75;text-decoration:line-through}.milestones li.late .grow{color:#fbbf24}.milestone-form{flex-wrap:wrap;gap:6px;display:flex}.milestone-form input:first-child{flex:200px}.milestone-form input[type=date]{width:auto}.hall-queue{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.hall-queue li{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;gap:6px;padding:10px;display:grid}.hall-queue li.high{border-color:color-mix(in srgb, #f59e0b 60%, var(--line))}.hall-queue li.fire{border-color:color-mix(in srgb, var(--bad) 55%, var(--line));background:color-mix(in srgb, var(--bad) 7%, var(--panel-2))}.hall-queue .row-actions{flex-wrap:wrap;gap:6px;display:flex}.hall-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.hall-title{margin:0;font-weight:600}.kind-chip{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:1px 8px;font-size:11px;font-weight:600}.kind-chip.approval{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.hall-queue li.high .kind-chip.approval{color:#fbbf24;border-color:#f59e0b99}.kind-chip.incident{color:#fca5a5;border-color:color-mix(in srgb, var(--bad) 60%, transparent)}.report-form{gap:8px;margin-top:8px;display:grid}.report-form label{color:var(--muted);gap:4px;font-size:12px;display:grid}.hall-resolved{margin-top:12px}.hall-resolved ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.in-class{color:#c4b5fd;margin:4px 0 10px}.lesson-text{margin:0;line-height:1.45}.lesson-filter{margin-bottom:8px}.list-view table{border-collapse:collapse;width:100%;font-size:14px}.list-view th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:12px;font-weight:600}.list-view td{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);vertical-align:top;padding:8px}.list-view td.actions{white-space:nowrap;text-align:right}.list-view td.actions .btn{margin-left:4px}.list-view td.clip{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.list-view section{margin-bottom:14px;overflow-x:auto}.gazette article{max-width:640px;margin:0 auto}.gazette h2{margin:4px 0 10px}.gazette ul{gap:4px;padding-left:18px;display:grid}.weather-note{background:color-mix(in srgb, #94a3b8 14%, var(--panel));border:1px solid color-mix(in srgb, #94a3b8 40%, var(--line));border-radius:8px;margin:6px 0;padding:6px 10px;font-size:13px}.skill-list{gap:6px;margin:6px 0;padding:0;list-style:none;display:grid}.skill-list .output{margin-top:6px}.tool-calls{flex-wrap:wrap;gap:8px;margin:6px 0 0;display:flex}.tool-calls .failed{opacity:.7;text-decoration:line-through}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),summary:focus:not(:focus-visible),.modal:focus{outline:none}.modal-close{min-width:44px;min-height:44px;font-size:18px}.phone-only{display:none}button.waiting-link{font:inherit;cursor:pointer;background:0 0}.who{margin-left:auto;position:relative}.who summary{cursor:pointer;list-style:none}.who summary::-webkit-details-marker{display:none}.who-menu{z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:8px;min-width:200px;padding:12px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000073}.side-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px;font-size:12px;font-weight:600}.places .badge{flex:none}.district{border-top:1px solid var(--line)}.district summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}.district summary::-webkit-details-marker{display:none}.district summary .side-heading{margin:0}.district summary:after{content:"▸";color:var(--muted);margin-left:auto}.district[open] summary:after{content:"▾"}.cityhall h3{margin:18px 0 8px;font-size:15px}.review-start{width:100%;min-height:44px;margin-bottom:8px}.hall-queue li:has(>.hall-review-item){padding:0}.hall-review-item{width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.hall-review-item:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.hall-review-item small:not(.muted){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:34ch;display:block;overflow:hidden}.ask-decide,.ask-deny{gap:6px;display:grid}.ask-decide .row-actions,.ask-deny .row-actions{flex-wrap:wrap;gap:6px;display:flex}.ask-deny label{gap:4px;display:grid}.confirm-note{border:1px solid color-mix(in srgb, #f59e0b 60%, var(--line));background:#f59e0b1a;border-radius:8px;margin:0;padding:8px 10px}.verdict-btn.confirming{background:color-mix(in srgb, #f59e0b 18%, var(--panel-2));border-color:#f59e0b}.decision-toast{left:50%;bottom:max(76px, calc(env(safe-area-inset-bottom) + 76px));z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;width:min(520px,100vw - 32px);padding:10px 12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 28px #00000080}@media (min-width:901px){.decision-toast{bottom:24px}}.modal-asks li{margin-bottom:10px;list-style:none}.modal-asks ul{padding:0}.review-nav{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 8%, var(--panel));align-items:center;gap:10px;padding:8px 16px;display:flex}.map-loading{background:radial-gradient(ellipse at 50% 60%, #16213f, var(--bg) 70%);position:absolute;inset:0}.spend-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.spend-table th,.spend-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}.spend-table th{color:var(--muted);font-size:12px;font-weight:600}.spend-table td.over{color:#fca5a5;font-weight:600}.spend-table summary{cursor:pointer;min-height:32px}.spend-agents{gap:4px;margin:0;padding:6px 0 0 12px;font-size:13px;list-style:none;display:grid}.spend-agents li{gap:10px;display:flex}.repo-field{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.repo-field label{flex:1;gap:4px;font-size:13px;display:grid}
