/* Steam workshop: restrained brass details around a modern map workspace. */
:root,:root[data-theme="white"]{--surface:#fffdf8;--surface2:#f3efe6;--page:#eae7df;--text:#302e28;--muted:#746c5b;--border:#d8d0bf;--ink:#302e28;--brass:#8a652d;--control-bg:#eee0c5;--control-text:#503912;--control-border:#bba373;--control-hover:#e3cca2;--control-selected:#73521f;--control-selected-hover:#5b4017;--control-on-selected:#fffaf0;--focus-ring:#966b29;--link-color:#75501a;--tree-text:#494031}
:root[data-theme="navy"]{--surface:#182631;--surface2:#213541;--page:#101c25;--text:#eee9df;--muted:#b7b5ad;--border:#3e4e55;--ink:#eee9df;--brass:#d6af70;--control-bg:#35434a;--control-text:#f4e7ce;--control-border:#82765b;--control-hover:#4a5558;--control-selected:#d6af70;--control-selected-hover:#ebc993;--control-on-selected:#241c10;--focus-ring:#ebc993;--link-color:#e6c48b;--tree-text:#eee9df}
:root[data-theme="black"]{--surface:#20201e;--surface2:#2d2d29;--page:#141513;--text:#ede9df;--muted:#bcb7aa;--border:#49483e;--ink:#ede9df;--brass:#c6a974;--control-bg:#39382f;--control-text:#f0e5cf;--control-border:#80755d;--control-hover:#504b3c;--control-selected:#c6a974;--control-selected-hover:#dfc796;--control-on-selected:#211c12;--focus-ring:#dfc796;--link-color:#dfc796;--tree-text:#ede9df}
body{background:var(--page);color:var(--text)}
header{height:auto;min-height:76px;padding:14px 24px;gap:18px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 2px 10px #00000008;flex-wrap:wrap}
.brand{gap:12px;min-width:220px}.brand strong{font-family:Georgia,'Times New Roman',serif;font-size:18px;letter-spacing:1.5px;color:var(--text)}.brand small{color:var(--muted);font-size:10px;letter-spacing:2.7px;margin-top:4px}
:root[data-theme] .mark{width:40px;height:40px;border:1px solid var(--brass);border-radius:50%;background:var(--surface2);color:var(--brass);box-shadow:inset 0 0 0 4px var(--surface),inset 0 0 0 5px var(--border)}.mark svg{width:24px;height:24px}
.actions{align-items:center;gap:7px}.actions button{min-height:34px}.workspace{height:calc(100dvh - 78px);grid-template-columns:226px minmax(320px,1fr) 300px;gap:0}
.navigator,.inspector{background:var(--surface);padding:22px 16px;min-height:0;overflow:auto}.inspector{padding:22px 20px}.section-label{font-size:10px;letter-spacing:1px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:17px}.section-label:before{content:'';display:inline-block;width:5px;height:5px;background:var(--brass);border-radius:50%;margin-right:7px;vertical-align:middle}
.navigator h1,.inspector h2{font-size:18px;font-weight:650;line-height:1.5;color:var(--text)}#baseStatus{font-size:10px;color:var(--muted);margin:7px 0 16px}.navtabs{background:var(--surface2);margin:18px 0 12px;padding:4px;border:1px solid var(--border)}#tree .tree-group{font-size:10px;letter-spacing:.6px;color:var(--muted);padding-top:22px}#tree .tree-row{min-height:36px;border-radius:6px;margin:2px 0;line-height:1.5}
.canvas-toolbar{background:var(--surface);padding:12px 16px;gap:8px;border-color:var(--border);flex-shrink:0}.tools{gap:6px}.canvas-toolbar button{min-height:33px;border-radius:6px}.canvas-toolbar select{background:var(--surface2);color:var(--text);border:1px solid var(--border);padding:8px}.view-options{background:var(--surface);color:var(--muted);padding:9px 16px;border-bottom:1px solid var(--border);font-size:11px;flex-shrink:0}#canvasHint{font-size:10px}#viewport{background-color:var(--page);background-image:radial-gradient(var(--border) .7px,transparent .7px);background-size:20px 20px}#canvas{margin:40px;box-shadow:0 2px 6px #0002,0 18px 45px #0002}footer{background:var(--surface);border-color:var(--border);color:var(--muted);font-size:10px;padding:11px 16px}
#properties input,#properties select,#properties textarea{background:var(--surface2);color:var(--text);border-color:var(--border);border-radius:6px;min-height:38px}#properties label{color:var(--muted);font-size:11px}#properties input[type=checkbox]{min-height:auto}#selectionActions{border-color:var(--border);gap:7px}.advanced-properties{border-color:var(--border)}.advanced-properties summary{color:var(--muted)}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-top:3px solid var(--brass);border-radius:12px;padding:26px;box-shadow:0 24px 90px #0005}.dialog-head h2{color:var(--text);font-size:19px}.dialog-field,.small,.tutorial-progress{color:var(--muted)}.dialog-field input,.dialog-field select{background:var(--surface2);border-color:var(--border);color:var(--text)}.tutorial-copy{color:var(--text)}.dialog-actions{padding-top:15px;border-top:1px solid var(--border)}
#empty{gap:12px;background:radial-gradient(ellipse at center,transparent 25%,var(--page) 80%)}#empty .empty-rail{font-family:Georgia,serif;font-size:46px;letter-spacing:12px;color:var(--brass);margin-bottom:12px}#empty h2{font-family:Georgia,'Yu Gothic UI',serif;font-size:30px;color:var(--text);letter-spacing:1px}#empty p{color:var(--muted);font-size:13px}.start-actions{margin-top:22px;gap:18px}.start-actions button{min-width:240px;min-height:90px;border-radius:10px;box-shadow:0 4px 15px #0000000c}.start-screen main{height:calc(100dvh - 78px)}
#calibrationGuide{box-shadow:0 12px 40px #0004}.theme-choices button{padding:12px 8px}.help-index button{min-height:46px}button{transition:background .12s,border-color .12s,box-shadow .12s}button:not(:disabled):hover{box-shadow:0 2px 6px #00000012}::-webkit-scrollbar-thumb{background:var(--border);border-color:var(--surface)}
@media(min-width:1600px){.workspace{grid-template-columns:246px minmax(360px,1fr) 320px}.canvas-toolbar{padding:14px 20px}.navigator{padding:24px 20px}}
@media(max-width:1200px){header{padding:12px 16px}.workspace{height:calc(100dvh - 120px);grid-template-columns:190px minmax(280px,1fr) 270px}.brand strong{font-size:16px}.canvas-toolbar{padding:9px}.canvas-toolbar button{font-size:10px}.start-screen main{height:calc(100dvh - 120px)}}
@media(max-width:760px){.workspace{height:auto;grid-template-columns:140px minmax(220px,1fr)}.navigator{padding:14px 8px}.inspector{grid-column:1/-1;max-height:400px}.start-actions button{min-width:220px}.start-screen main{height:calc(100dvh - 100px)}#empty h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

.author-entry{font-size:10px;white-space:nowrap;margin-left:6px;text-underline-offset:4px}.brand{flex-wrap:wrap}
/* Flat controls: color provides the atmosphere, geometry stays quiet. */
:root{font-size:14px}
header{box-shadow:none}.brand strong{font-family:'Segoe UI','Yu Gothic UI',sans-serif;font-size:16px;letter-spacing:1px}.brand small{font-size:11px;letter-spacing:1.8px}
:root[data-theme] .mark{border:0;border-radius:6px;box-shadow:none;background:transparent;width:32px;height:32px}.mark svg{width:24px;height:24px}
.section-label{font-size:12px;letter-spacing:.2px}.section-label:before{display:none}.navigator h1,.inspector h2{font-size:19px}.brand .author-entry{font-size:12px}
:root[data-theme] button{border-radius:6px;box-shadow:none;transition:background-color .12s,border-color .12s,color .12s;min-height:36px}
:root[data-theme] button:not(:disabled):hover{box-shadow:none}
:root[data-theme] button:not(:disabled):active{background:var(--control-selected-hover);color:var(--control-on-selected)}
:root[data-theme] :is(button,input,textarea,select,summary,a):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.actions button,.canvas-toolbar button,#selectionActions button{font-size:12px;padding:8px 11px}.canvas-toolbar{gap:10px}.tools{gap:7px}
.navtabs{border:1px solid var(--border);padding:3px;border-radius:7px;background:var(--surface2);gap:3px}
:root[data-theme] .navtabs button:not(.active):not(:disabled){background:transparent;border-color:transparent;color:var(--muted)}
:root[data-theme] .navtabs button.active:not(:disabled){box-shadow:none;background:var(--control-selected);color:var(--control-on-selected)}
#tree .tree-group{font-size:12px}#tree button{font-size:13px}#baseStatus{font-size:12px;line-height:1.6}
#properties label,.dialog-field{font-size:13px}#properties :is(input,textarea,select),.dialog-field :is(input,select){font-size:14px;box-shadow:none;min-height:40px}
#properties input[type=number]{font-variant-numeric:tabular-nums}.view-options{font-size:12px}.small{font-size:12px;line-height:1.8}footer{font-size:12px}.advanced-properties summary{font-size:13px}.notice{font-size:12px;line-height:1.8}
:root[data-theme] input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-block;flex-shrink:0;width:32px!important;height:18px;min-height:18px!important;border:1px solid var(--control-border);border-radius:12px;padding:0!important;background:var(--surface2);position:relative;vertical-align:middle;cursor:pointer;transition:background-color .12s,border-color .12s}
:root[data-theme] input[type=checkbox]::after{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--muted);transition:transform .12s}
:root[data-theme] input[type=checkbox]:checked{background:var(--control-selected);border-color:var(--control-selected)}
:root[data-theme] input[type=checkbox]:checked::after{transform:translateX(14px);background:var(--control-on-selected)}
:root[data-theme] input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.view-options label{gap:7px}.dialog-check{line-height:1.8;font-size:13px}
#viewport{background-image:none!important}#canvas{box-shadow:0 2px 12px #0002}.start-actions button{box-shadow:none;border-radius:8px}.empty-rail{display:none}#empty h2{font-family:'Segoe UI','Yu Gothic UI',sans-serif;font-weight:600;letter-spacing:0}
dialog{border-top:1px solid var(--border);box-shadow:0 12px 40px #0003}.dialog-head h2{font-size:20px}#calibrationGuide{border-top-width:1px;box-shadow:0 4px 20px #0002}.tutorial-copy{font-size:14px}
@media(prefers-reduced-motion:reduce){:root[data-theme] button,:root[data-theme] input[type=checkbox],:root[data-theme] input[type=checkbox]::after{transition:none}}
/* Quieter button hierarchy: neutral commands, tinted selection, solid commit. */
:root,:root[data-theme="white"]{--button-rest:#faf8f3;--button-line:#d4cdbf;--button-ink:#454139;--button-hover:#eee9df;--button-tint:#eee2ca;--button-tint-ink:#614615;--button-tint-line:#b9a174}
:root[data-theme="navy"]{--button-rest:#22333e;--button-line:#40505a;--button-ink:#e4e6e5;--button-hover:#2e424e;--button-tint:#3b392f;--button-tint-ink:#edcd91;--button-tint-line:#8c7956}
:root[data-theme="black"]{--button-rest:#2b2c28;--button-line:#45463e;--button-ink:#e3e2dc;--button-hover:#373931;--button-tint:#3c382c;--button-tint-ink:#e4c78f;--button-tint-line:#897653}
:root[data-theme] button:not(:disabled){background:var(--button-rest);color:var(--button-ink);border:1px solid var(--button-line);border-radius:8px;box-shadow:none;font-weight:500;letter-spacing:.01em;transition:background-color .14s,border-color .14s,color .14s}
:root[data-theme] button:not(:disabled):hover{background:var(--button-hover);color:var(--button-ink);border-color:var(--control-border);box-shadow:none}
:root[data-theme] :is(button.active,.tools button.active,#tree button.active,.navtabs button.active):not(:disabled){background:var(--button-tint);color:var(--button-tint-ink);border-color:var(--button-tint-line);box-shadow:none;font-weight:600}
:root[data-theme] :is(button.active,.tools button.active,#tree button.active,.navtabs button.active):not(:disabled):hover{background:var(--button-tint);color:var(--button-tint-ink);border-color:var(--brass)}
:root[data-theme] button.primary:not(:disabled){background:var(--control-selected);color:var(--control-on-selected);border-color:var(--control-selected);font-weight:600}
:root[data-theme] button.primary:not(:disabled):hover{background:var(--control-selected-hover);color:var(--control-on-selected);border-color:var(--control-selected-hover)}
:root[data-theme] button:not(:disabled):active{background:var(--button-hover);border-color:var(--brass)}
:root[data-theme] button.primary:not(:disabled):active{background:var(--control-selected-hover)}
:root[data-theme] button.danger:not(:disabled){background:transparent;color:var(--danger-text)!important;border-color:var(--button-line)}
:root[data-theme] button.danger:not(:disabled):hover{background:var(--danger-bg);border-color:var(--danger-text)}
.actions button{padding:8px 13px;min-height:36px}.canvas-toolbar button{padding:8px 12px;min-height:36px}.tools{gap:6px}.canvas-toolbar{row-gap:10px}.actions{gap:8px}
:root[data-theme] .navtabs button:not(:disabled){border-radius:5px;min-height:32px;padding:6px 12px}
:root[data-theme] .navtabs button.active:not(:disabled){border-color:transparent}
:root[data-theme] .dialog-head button{border-color:transparent;background:transparent;min-width:32px;color:var(--muted)}
:root[data-theme] input[type=file]::file-selector-button{border-radius:8px;background:var(--button-rest);color:var(--button-ink);border-color:var(--button-line);font-weight:500}
:root[data-theme] input[type=file]::file-selector-button:hover{background:var(--button-hover)}
:root[data-theme] button:disabled{border-radius:8px;box-shadow:none}
@media(prefers-reduced-motion:reduce){:root[data-theme] button{transition:none}}

.brand small{font-size:11px;letter-spacing:0;line-height:1.5;max-width:310px;white-space:normal}.brand strong{font-size:19px;letter-spacing:.2px}.brand{min-width:230px}
