:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#07101d;--bg-soft:#0c1828;--panel:#0a1321eb;--panel-soft:#0d1829c7;--panel-border:#94a3b829;--text:#f8fafc;--muted:#bfd2e6;--accent:#f3c94b;--accent-strong:#f59e0b;--danger:#fb7185;--success:#22c55e;--teal:#2dd4bf;--shadow:0 24px 60px #0208175c;--safe-bottom:env(safe-area-inset-bottom,0px);--bottom-nav-height:82px;--bottom-nav-offset:calc(18px + var(--safe-bottom));--quick-actions-offset:calc(var(--bottom-nav-offset) + var(--bottom-nav-height) + 12px);font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 0 0,#2dd4bf1f,#0000 28%),radial-gradient(circle at 100% 0,#f3c94b1f,#0000 24%),linear-gradient(#07101d 0%,#08131f 100%)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}.app-shell{--font-body:18px;--font-small:15px;--font-title:1.95rem;--font-hero:2.5rem;min-height:100vh;padding:18px 18px calc(32px + var(--safe-bottom));font-size:var(--font-body)}.app-shell.has-bottom-nav{padding-bottom:calc(138px + var(--safe-bottom))}.app-shell.font-scale-normal{--font-body:17px;--font-small:14px;--font-title:1.82rem;--font-hero:2.25rem}.app-shell.font-scale-large{--font-body:18px;--font-small:15px;--font-title:1.95rem;--font-hero:2.5rem}.app-shell.font-scale-xlarge{--font-body:20px;--font-small:16px;--font-title:2.15rem;--font-hero:2.8rem}.theme-high-contrast{--bg:#000;--bg-soft:#050505;--panel:#000000f5;--panel-soft:#080808f5;--panel-border:#facc1580;--text:#fffdf1;--muted:#fef3c7;--accent:#fde047;--accent-strong:#facc15;--danger:#ffb4c0;--teal:#5eead4}.theme-high-contrast .button-secondary,.theme-high-contrast .button-ghost,.theme-high-contrast .option-chip,.theme-high-contrast .action-tile,.theme-high-contrast .status-card,.theme-high-contrast .focus-item,.theme-high-contrast .hazard-item,.theme-high-contrast .capability-item,.theme-high-contrast .toggle{border-color:#facc1570}.theme-reduced-motion *,.theme-reduced-motion :before,.theme-reduced-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.theme-simplified{--shadow:none}.theme-simplified .hero,.theme-simplified .workspace,.theme-simplified .topbar,.theme-simplified .assist-dock{-webkit-backdrop-filter:none;backdrop-filter:none}.skip-link{position:absolute;top:0;left:-9999px}.skip-link:focus{z-index:110;color:#0f172a;background:#fff;border-radius:999px;padding:12px 16px;top:16px;left:16px}.topbar,.workspace,.hero,.assist-dock,.camera-shell,.map-card,.assistant-bubble{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow)}.topbar{z-index:40;background:linear-gradient(145deg, #0a1e35eb, #0a1321f5), var(--panel);border-radius:28px;gap:16px;padding:20px;display:grid;position:sticky;top:10px}.topbar__copy{gap:8px;display:grid}.topbar h1,.hero h2,.workspace h2{letter-spacing:.02em;margin:0}.topbar h1{font-size:var(--font-title);font-weight:900}.topbar__summary{max-width:44rem;color:var(--muted);margin:0}.eyebrow{color:#93c5fd;font-size:var(--font-small);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:700}.status-pills{flex-wrap:wrap;gap:10px;display:flex}.pill{min-height:42px;color:var(--muted);font-size:var(--font-small);background:#94a3b81f;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.pill.online{color:#dcfce7;background:#22c55e29}.nav-pill{color:#ccfbf1;background:#2dd4bf24}.mode-pill{color:#fde68a;background:#f3c94b2e}.live-strip,.focus-stack,.status-grid,.action-grid,.option-grid,.capability-list,.hazard-list,.assistant-thread,.page,.main-content,.hero__actions{gap:14px;display:grid}.live-strip{margin-top:14px}.page{gap:18px}.main-content{margin-top:18px}.workspace,.hero,.assist-dock{border-radius:30px;padding:20px}.workspace{background:var(--panel-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);gap:16px;display:grid}.workspace--hero{gap:18px}.hero{background:linear-gradient(145deg, #092942f5, #08111feb), var(--panel)}.hero--landing{background:radial-gradient(circle at 82% 18%,#f3c94b29,#0000 18%),radial-gradient(circle at 18% 82%,#2dd4bf2e,#0000 24%),linear-gradient(150deg,#08223af5,#07101df5);align-content:space-between;min-height:calc(100svh - 310px);padding:28px 22px;position:relative;overflow:hidden}.hero__content{gap:12px;max-width:34rem;display:grid}.hero__actions{margin-top:auto}.hero h2{font-size:var(--font-hero);font-weight:900;line-height:1.08}.hero p,.workspace p,.helper-text{color:var(--muted);margin:0}.section-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.button,.bottom-nav__link,.option-chip,.action-tile--button{cursor:pointer;border:1px solid #0000;border-radius:20px;min-height:60px;padding:14px 18px;transition:transform .16s,border-color .16s,background .16s}.button:hover,.bottom-nav__link:hover,.option-chip:hover,.action-tile--button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.66;transform:none}.button-primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#111827;font-weight:900}.button-secondary,.option-chip,.action-tile--button{color:var(--text);background:#94a3b81a;border-color:#94a3b833;font-weight:800}.button-ghost{color:var(--muted);background:0 0;border-color:#94a3b838;font-weight:800}.button-danger{color:#ffe4e6;background:#fb71852e;font-weight:900}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.bottom-nav{left:18px;right:18px;bottom:var(--bottom-nav-offset);z-index:50;border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#08111ff0;border-radius:24px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;display:grid;position:fixed}.bottom-nav__link{text-align:center;color:var(--muted);background:#94a3b814;justify-content:center;align-items:center;display:inline-flex}.bottom-nav__link.active{color:#fff7ed;background:linear-gradient(135deg,#f3c94b2e,#f3c94b1a);border-color:#f3c94b47}.focus-item,.status-card,.capability-item,.hazard-item,.action-tile,.toggle{background:#ffffff08;border:1px solid #94a3b829;border-radius:22px;gap:8px;padding:16px 18px;display:grid}.focus-item span,.status-card span,.capability-item span,.hazard-item span,.toggle,.range-value{color:var(--muted);font-size:var(--font-small)}.focus-item strong,.status-card strong,.capability-item strong,.hazard-item strong,.action-tile strong,.ocr-result,.assistant-bubble{color:var(--text);font-weight:800}.focus-item strong{font-size:1.3em;line-height:1.3}.focus-item--minor strong{font-size:1.12em}.status-card--accent{background:linear-gradient(145deg,#f3c94b33,#08111f1a)}.action-tile{background:linear-gradient(145deg,#ffffff0a,#94a3b80a);align-content:start;min-height:112px}.action-tile span{color:var(--muted)}.action-tile--button{text-align:left;gap:8px;width:100%;display:grid}.hazard-item--active{background:#f3c94b1a;border-color:#f3c94b66}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.option-chip.active{color:#fff7ed;background:linear-gradient(135deg,#f3c94b2e,#f3c94b14);border-color:#f3c94b47}.input,.select,.textarea{width:100%;color:var(--text);background:#08111fb8;border:1px solid #94a3b83d;border-radius:20px;padding:16px 18px}.textarea{resize:vertical;min-height:120px}.label{color:#e2e8f0;gap:8px;font-weight:800;display:grid}.inline-error{color:#fecdd3}.inline-success{color:#bbf7d0}.toggle{grid-template-columns:auto 1fr;align-items:center;gap:12px}.toggle input{width:22px;height:22px}.camera-shell,.map-card{border-radius:28px;position:relative;overflow:hidden}.camera-shell{background:#020617;min-height:280px}.camera-view{object-fit:contain;background:#020617;width:100%;min-height:280px;display:block}.camera-overlay{width:100%;height:100%;position:absolute;inset:0}.media-preview{object-fit:contain;background:#020617d6}.map-canvas{width:100%}.map-overlay{color:#e2e8f0;text-align:center;background:#020617b8;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.map-overlay--error{color:#fee2e2}.assist-dock{background:linear-gradient(145deg, #092942e6, #08111ff0), var(--panel);gap:16px;margin-top:16px;display:grid}.assist-dock__layout{gap:14px;display:grid}.assist-camera-shell{min-height:260px}.assist-camera-shell--compact{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.assist-summary{box-shadow:none;background:0 0;border:0;padding:0}.ocr-result{white-space:pre-wrap;background:#ffffff0a;border-radius:24px;padding:18px;font-size:1.32em;line-height:1.65}.assistant-panel{gap:16px}.assistant-thread{gap:10px}.assistant-bubble{border-radius:22px;padding:16px 18px}.assistant-bubble.user{background:#0ea5e929}.assistant-form{gap:12px;display:grid}.map-marker-label,.map-marker-report{color:#f8fafc;background:#08111fdb;border:1px solid #94a3b838;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=768px){.app-shell{padding:24px 24px calc(36px + var(--safe-bottom))}.app-shell.has-bottom-nav{padding-bottom:calc(146px + var(--safe-bottom))}.app-shell.has-quick-actions{padding-bottom:calc(232px + var(--safe-bottom))}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.status-grid,.focus-stack,.capability-list,.action-grid,.hero__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.live-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions{left:24px;right:24px;bottom:var(--quick-actions-offset);z-index:45;margin-top:0;position:fixed}.assist-dock__layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}}@media (width>=1024px){.hero__actions,.action-grid,.status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.capability-list{grid-template-columns:repeat(2,minmax(0,1fr))}.option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
