@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0c1219;--panel:#141e28;--border:#2b3846;--muted:#9cabb9;--mint:#b9f7ce;--gold:#f5ca7e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eef4f7;font:14px 'DM Sans',sans-serif}header{height:82px;display:flex;align-items:center;gap:22px;padding:0 28px;border-bottom:1px solid var(--border)}a{color:inherit;text-decoration:none}.brand{font-size:12px;font-weight:800;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.brand b{display:grid;place-items:center;width:32px;height:36px;background:var(--mint);color:#10221a;border-radius:8px;font-size:24px}.divider{color:#50606e}h1{font:700 22px Manrope,sans-serif;letter-spacing:-.03em}.badge{font-size:9px;letter-spacing:.13em;border:1px solid #3e564b;color:var(--mint);padding:5px 8px;border-radius:5px}.actions{margin-left:auto;display:flex;gap:10px}button,.file-button{font:600 12px 'DM Sans',sans-serif;border:1px solid #3b4a58;border-radius:7px;background:#1d2a36;color:#ecf5f6;padding:10px 12px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:6px}button:hover,.file-button:hover{background:#2a3d4c;border-color:#8ba798}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--mint);color:#17271d;border-color:var(--mint)}.primary:hover{background:#d1ffdf}.active{border-color:var(--mint);color:var(--mint)}#status{min-height:36px;padding:9px 28px;font-size:12px;background:#17251f;color:#c6ead5}#status.error{background:#402324;color:#ffd0cc}main{display:grid;grid-template-columns:310px minmax(0,1fr);max-width:2000px;margin:auto}aside{background:#101923;border-right:1px solid var(--border);padding:0 20px}section{padding:22px 0;border-bottom:1px solid var(--border)}.eyebrow{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.14em;display:block;margin-bottom:16px}label{display:block;color:#c0cbd5;font-size:11px;margin:12px 0}input,select{display:block;width:100%;background:#0c141e;border:1px solid #354350;border-radius:6px;padding:10px;color:#f5f7fa;margin-top:6px;font:13px 'DM Sans',sans-serif}input[type=checkbox]{width:auto;margin:0}.check{display:flex;align-items:center;gap:8px}.row{display:flex;gap:9px;align-items:center}.row>*{flex:1;min-width:0}.row .file-button{margin:0}.hint{color:var(--muted);font-size:11px;line-height:1.6}.workspace{min-width:0;padding:22px}.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:16px}.tools{display:flex;flex-wrap:wrap;gap:6px}.tools button{padding:9px 10px}#stage{position:relative;background:radial-gradient(ellipse at 50% 25%,#233a43,#111b25 70%);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:320px}canvas{display:block;width:100%;height:auto;touch-action:none}#empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:linear-gradient(140deg,#19323d88,#0e1720cc)}#empty[hidden]{display:none}#empty h2{font:600 clamp(25px,3.4vw,50px)/1.15 Manrope,sans-serif;letter-spacing:-.045em;margin:0 0 16px}#empty p{color:#b7c7cc;line-height:1.7}#empty button{margin-top:12px;background:#b9f7ce;color:#182d21}.summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;margin-top:18px;background:var(--panel)}.summary div{padding:21px;border-right:1px solid var(--border)}.summary div:last-child{border:none}.summary span{display:block;font:600 25px Manrope;color:#e8f3ea}.summary small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);margin-top:8px}.schedule{border:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.heading h2{font:600 17px Manrope}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:13px 10px;border-bottom:1px solid #3b4855}td{padding:15px 10px;border-bottom:1px solid #24313f;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#1c2a35}#panorama{height:400px}.streetbar{display:flex;gap:12px;align-items:center;padding:12px;background:#192a34;font-size:12px}#streetPanel{margin-bottom:16px}#editor button{margin:4px 4px 0 0}.danger{color:#ffb9b0}#editor .result{color:var(--mint);padding:12px;background:#1b3028;border-radius:8px;line-height:1.6}.site-menu{z-index:20!important}.site-menu__toggle{bottom:15px!important;top:auto!important}@media(max-width:1050px){main{grid-template-columns:265px minmax(0,1fr)}header{gap:12px;padding:0 16px}.badge{display:none}.workspace{padding:14px}.summary div{padding:12px}.summary span{font-size:19px}.heading{display:block}}@media(max-width:700px){header{height:auto;min-height:72px;flex-wrap:wrap;padding:12px;gap:10px}h1{font-size:18px}.brand{font-size:10px}.actions{width:100%;margin:0;justify-content:flex-end}main{display:flex;flex-direction:column}aside{border-right:0;order:2;padding:0 18px}.workspace{order:1}.summary{grid-template-columns:repeat(2,1fr)}.summary div{border-bottom:1px solid var(--border)}.streetbar{flex-wrap:wrap}#stage{min-height:230px}.toolbar button{font-size:11px}}@media print{body{background:white;color:black}header{height:60px}aside,.toolbar,#status,.actions,.badge,.site-menu,#streetPanel{display:none!important}main{display:block}.workspace{padding:0}#stage{border:0;background:white}.summary{background:white;color:black}.summary span,th,.hint{color:#333}td,th{border-color:#ccc}.heading{display:block}.schedule{break-inside:avoid}}
#swatches{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:12px 0}#swatches button{justify-content:flex-start;padding:7px;font-size:10px}#swatches span{width:13px;height:13px;border-radius:50%;background:var(--swatch);box-shadow:0 0 6px var(--swatch)}
[hidden]{display:none!important}

.photo-workbench{position:relative;min-width:0}.photo-tool-dock{position:sticky;top:8px;z-index:15;display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:9px;margin:0 0 8px;border:1px solid var(--border);border-radius:12px;background:#14212bf5;box-shadow:0 8px 25px #0004}.tool-menu{position:relative}.tool-menu summary{cursor:pointer;list-style:none;padding:10px 12px;border:1px solid #3b4a58;border-radius:7px;font-weight:600;font-size:12px;white-space:nowrap}.tool-menu summary::-webkit-details-marker{display:none}.tool-menu summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.tool-menu[open] summary{border-color:var(--mint);color:var(--mint)}.tool-menu-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:195px;display:grid;gap:5px;padding:8px;background:#172630;border:1px solid #526575;border-radius:10px;box-shadow:0 10px 30px #0008}.tool-menu-panel button{justify-content:flex-start;min-height:40px}.dock-selection{font-size:11px;color:var(--mint);margin-left:auto;padding:0 6px}.photo-tool-dock button:disabled{cursor:default}@media(max-width:700px){.photo-tool-dock{top:4px;gap:5px;padding:6px}.photo-tool-dock>button,.tool-menu summary{padding:9px;font-size:11px}.dock-selection{width:100%;margin:0}.tool-menu-panel{min-width:165px}}@media print{.photo-tool-dock{display:none!important}}

.tool-settings-menu .tool-menu-panel{width:min(340px,85vw);max-height:65vh;overflow:auto}.tool-settings-menu section{padding:6px;border:0}.tool-settings-menu .tool-menu-panel button{display:inline-flex;min-height:34px}.tool-settings-menu .eyebrow{margin:4px 0 10px}.tool-settings-menu label{margin:9px 0}@media(max-width:700px){.tool-settings-menu .tool-menu-panel{position:fixed;left:12px;right:12px;top:auto;width:auto;max-height:55vh}}
