@font-face{font-family:'Atlas Sans';src:url('vendor/IBMPlexSans-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
/* Sluneční atlas. Layout and mobile drawer behavior remain in style.css. */
@font-face{font-family:'Atlas Sans';src:url('vendor/IBMPlexSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Atlas Sans';src:url('vendor/IBMPlexSans-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600 750;font-display:swap}
@font-face{font-family:'Atlas Mono';src:url('vendor/IBMPlexMono-Regular.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--ink:#292d2b;--muted:#62665f;--green:#596d48;--paper:#fffdf8;--line:#d7d6cc;--cream:#f6f3eb;--accent:#efb439;--shadow:#526579;--blue:#396179;--font:'Atlas Sans',system-ui,-apple-system,sans-serif;--font-mono:'Atlas Mono',ui-monospace,monospace;--radius:3px}
body{background:var(--cream)}
h1,h2,h3,.brand,.guide-copy h3,#guide-welcome h2{font-family:var(--font)}
.header{background:var(--cream);height:70px;padding-inline:24px}
.brand{font-weight:600;letter-spacing:-1.1px;color:var(--ink);font-size:27px;gap:8px}
.brand:hover{text-decoration: none}
.brand-mark{background:transparent;color:var(--ink);border-radius:0;width:31px;height:35px;font-size:30px}
.brand small{display:none}
.header-right{gap:10px}.header-right .button{background:transparent}
.workspace{height:calc(100dvh - 70px);grid-template-columns:282px minmax(0,1fr)}
.sidebar{padding:22px 20px 16px;background:var(--paper)}
.tools-header{top:-22px;background:var(--paper);padding-block:10px}
.tools-nav{gap:0;border-bottom:1px solid var(--line);padding-bottom:2px}
.tools-nav button{border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;font-weight:500;padding:9px 2px}
.tools-nav button:hover{background:var(--cream);color:var(--ink)}
.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:500}
.side-section{padding-block:20px}.section-heading h2{font-weight:600;font-size:14px}
.step{border:0;border-radius:0;background:transparent;color:var(--muted);width:17px;font-family:var(--font-mono);font-weight:400}
.button,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,.field>select{border-radius:var(--radius)}
.button{border-color:var(--line);background:var(--paper);font-weight:500;font-size:13px;min-height:38px;white-space:normal}
.button:hover:not(:disabled){background:var(--cream)}
.button.primary,.study-button{background:var(--accent);color:#292717;border-color:var(--accent);font-weight:600}
.button.primary:hover:not(:disabled),.study-button:hover:not(:disabled){background:#e5a729;border-color:#e5a729;color:#292717}
.button.subtle{background:transparent}
.text-button,a{color:var(--ink)}.text-button:hover,a:hover{text-decoration:underline;text-underline-offset:3px}
.button.danger,.danger-text{color:#a34735}.danger-button{color:var(--paper);background:#a34735;border-color:#a34735}
button,input{accent-color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
/* The search field keeps its existing inset treatment; keyboard focus is visible on the form. */
.search-form:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.house-add,.vegetation-buttons .button,.pv-button,.surroundings-button{background:var(--paper);border-color:var(--line);color:var(--ink)}
.house-add:hover,.vegetation-buttons .button:hover,.pv-button:hover{background:var(--cream)}
.count{background:var(--cream);border-radius:2px;color:var(--muted);font-family:var(--font-mono)}
.object-item{border-radius:0;padding:10px 4px;border-bottom:1px solid transparent}
.object-item:hover{background:var(--cream)}
.object-item.selected{background:var(--cream);border-color:transparent;box-shadow:inset 2px 0 var(--ink);padding-left:10px}
.object-item .height-tag,.sun-metrics strong,.object-metrics strong,.pv-facts strong,.slider-heading input,.coordinates,.cloud-site .cloud-badge{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.object-item .height-tag{color:var(--muted)}
.object-item .object-dot{background:#d4b37e;border-color:#8b7359}
.object-item .object-dot.vegetation-dot{background:#a3b48d;border-color:var(--green)}
.inspector{background:var(--cream);border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:16px 10px}
.field{font-size:12px}.field>select{font-size:13px}
.season-card,.tool-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 0}
.foliage-track{border-radius:0;background:#dedbcc}.foliage-track span{background:var(--green)}
.house-metrics,.model-note strong{color:var(--muted)}
.tool-card>summary{font-size:13px;font-weight:600}.tool-card>summary small{font-size:11px}
.tool-card .check-row,#map-tools .check-row,#map-tools>label{font-size:13px}
.model-note{font-size:11px}.tools-scroll-hint{background:linear-gradient(#fffdf8cc,var(--paper) 40%);color:var(--muted)}
.variant-section{background:transparent}.building-source{background:#edf0f2;color:var(--shadow);border-radius:var(--radius)}
.automatic-list>summary{color:var(--shadow)}
.map-section,#map{background:#eae8de}
.search-form,.map-button,.layers-panel,.search-results{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px #292d2b15;background:var(--paper)}
.search-form button{background:var(--cream);border-radius:2px}.search-symbol{color:var(--muted)}
.search-results button:hover{background:var(--cream)}
.map-start-actions>.button{box-shadow:0 2px 8px #292d2b20}
.compass,.map-legend,.coordinates{background:#fffdf8ed;color:var(--ink);border-radius:var(--radius)}
.legend-plot{border-color:#8b7359;background:#efb43922}.legend-shadow{background:#526579aa}
.leaflet-control-zoom{border-radius:var(--radius)!important;box-shadow:0 2px 8px #292d2b20!important}
.leaflet-control-zoom a{background:var(--paper)!important}
.leaflet-control-attribution{background:#fffdf8e8!important}.leaflet-control-scale-line{background:#fffdf8da!important;color:var(--ink);border-color:var(--ink)!important}
.drawing-bar{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.location-pin{background:var(--ink)}
.night-label{background:#354451eb;border-radius:var(--radius)}
.map-notice{background:#fff3d6;border-radius:var(--radius)}
.timeline{background:var(--paper);padding:15px 24px 18px}
.timeline-heading .eyebrow{font-size:10px}.sun-state::before{background:var(--accent)}
.timeline input[type=range]{accent-color:#a86e0b}
.slider-heading input{border-color:var(--line)!important;border-radius:var(--radius)!important;background:var(--paper)!important}
.play-button{border-color:var(--line);background:var(--cream);border-radius:var(--radius)}
.range-ticks{color:var(--muted);font-family:var(--font-mono)}
.study-entry{padding-bottom:12px;margin-bottom:12px}.study-entry .eyebrow{font-size:10px}.study-entry strong{font-size:14px;font-weight:500}.study-entry .button{font-size:13px;padding-inline:18px;box-shadow:0 2px 0 #b17c1b25}
.study-entry p{font-size:12px}
.toast{background:var(--ink);border-radius:var(--radius)}
dialog{background:var(--paper);border-radius:6px;border-color:var(--line)}
dialog::backdrop{background:#252a305e;backdrop-filter:blur(3px)}
.dialog-heading h2{font-weight:600}.help-note{background:var(--cream);border-radius:var(--radius)}
#access-dialog[data-payment-view="offer"]{background:var(--paper);--line:#d7d6cc;--muted:#62665f}
#access-dialog[data-payment-view="offer"] .purchase-panel,.purchase-panel,.cloud-current,.cloud-site,.cloud-conflict,.access-includes,.study-history,#study-controls{border-radius:var(--radius);background:var(--cream);border-color:var(--line)}
.cloud-site{background:var(--paper)}.cloud-site.is-current{border-color:var(--ink);box-shadow:inset 3px 0 var(--ink)}
.cloud-badge{border-radius:2px;background:var(--cream)}.cloud-badge.unlocked{background:#e8ecdf;color:#47583a}
.current-access.unlocked,.cloud-current-mark{color:#47583a}
.map-site-access{background:var(--cream);border-radius:var(--radius);color:var(--muted)}
.purchase-boundary-notice{background:#fff5de;border-color:#dec386;border-left-color:#a9751a;border-radius:var(--radius);color:#694c1a}
#access-dialog #access-continue.secondary{background:transparent;border:0;color:var(--muted);font-weight:400}
#access-dialog #access-continue.secondary:hover{background:var(--cream);color:var(--ink)}
#access-dialog[data-payment-view="success"] .access-includes{background:var(--cream)}
#purchase-result-icon{background:#e8ecdf;color:#47583a}
#access-dialog[data-payment-view="success"] .eyebrow{color:#47583a}
#account-delete-panel{border-radius:var(--radius);background:#fbf0e9}.google-login{color:var(--ink);border-color:var(--line);background:var(--paper)}
.study-summary{background:var(--cream);border-radius:var(--radius)}
#study-progress{accent-color:#a86e0b}
#study-preview svg,#comparison-preview svg{background:var(--paper);box-shadow:0 3px 18px #292d2b18}
.comparison-table th{background:var(--cream);color:var(--muted)}.comparison-table th,.comparison-table td{border-color:var(--line)}
.pv-table{font-variant-numeric:tabular-nums}.pv-table td,.pv-table th{border-color:var(--line)}
#pv-results{background:var(--cream);border-color:var(--line);border-radius:var(--radius)}
.pv-result-roof,.pv-results-heading strong{color:var(--ink)}.pv-results-heading strong{font-family:var(--font-mono);font-size:25px;letter-spacing:-1px}
.pv-chart-legend{font-size:12px;color:var(--blue);flex-wrap:wrap}.pv-chart-legend span:nth-child(2){color:var(--muted)}
.date-entry button{color:var(--ink)}.date-entry button:hover{background:var(--cream)}
.calendar-navigation select{border-radius:var(--radius);background:var(--paper)}
#date-grid button{border-radius:var(--radius)}#date-grid button:hover:not(:disabled){background:var(--cream)}
#date-grid button[aria-current=date]{border-color:var(--muted)}#date-grid button[aria-selected=true]{background:var(--accent);color:#292717}
#date-grid button:focus-visible{outline-color:var(--blue)}
.guide-step{border-radius:var(--radius);background:var(--paper)}.guide-step span{background:var(--cream);color:var(--muted);border-radius:2px;font-family:var(--font-mono)}
.guide-step:hover{background:var(--cream)}.guide-step[aria-current=step]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.guide-step[aria-current=step] span{background:#ffffff20;color:var(--paper)}
.guide-copy h3,#guide-welcome h2{font-weight:600;letter-spacing:-.7px}.guide-copy .guide-tip{border-color:var(--accent)}
.guide-media,.guide-media video{background:var(--cream);border-color:var(--line);border-radius:var(--radius);box-shadow:none}
#guide-welcome .welcome-sun{border-radius:var(--radius);background:#fae9b9;color:var(--ink)}
.welcome-preview{color:var(--ink)}.welcome-preview span{background:var(--cream);border-radius:var(--radius)}
/* Documentation pages share the brand, without application viewport constraints. */
body.document-page{font:16px/1.75 var(--font);max-width:780px;margin:36px auto;padding:0 24px 40px;background:var(--paper)}
.document-page h1{font-size:34px;line-height:1.2;margin:24px 0}.document-page h2{font-size:22px;margin-top:30px}.document-page p{margin:16px 0}.document-page li{margin:8px 0}
.document-page .note,.document-page .intro{padding:18px;background:var(--cream);border-radius:var(--radius)}
.document-page table{border-collapse:collapse;width:100%;font-size:14px}.document-page th,.document-page td{text-align:left;border-bottom:1px solid var(--line);padding:10px 7px;vertical-align:top}
@media(min-width:1500px){.workspace{grid-template-columns:310px minmax(0,1fr)}.sidebar{padding-inline:25px}}
@media(min-width:851px) and (max-width:1100px){.workspace{grid-template-columns:262px minmax(0,1fr)}.sidebar{padding-inline:16px}.timeline{padding-inline:18px}}
@media(max-width:850px){
 .header{height:64px;padding-inline:14px;gap:10px}.brand{font-size:23px;gap:5px}.brand-mark{width:24px;font-size:26px}
 .header-right{gap:4px}.header-right .button{padding:7px 9px;font-size:12px;min-height:40px}
 .workspace{height:calc(100dvh - 64px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(340px,1fr) auto}
 .sidebar{width:320px;max-width:90vw;padding:22px 18px 16px}.tools-header{top:-22px}
 .drawer-heading .button{min-width:44px;min-height:44px}.tools-nav button{min-height:44px;font-size:11px}
 .timeline{padding:12px 16px 15px}.timeline-heading{gap:8px}.timeline-heading .eyebrow{font-size:9px}
 .study-entry .button{font-size:12px;padding:9px 12px;max-width:48%}.study-entry p{font-size:11px;line-height:1.4}.study-entry .eyebrow{font-size:9px}
 .study-entry strong{font-size:13px}.date-entry{width:152px}.range-ticks{font-size:10px}
 .sun-metrics{font-size:11px;gap:8px}.sun-state{font-size:11px}.slider-heading{min-height:36px}
 .slider-heading input[type=time]{width:116px}.date-entry button{height:34px;width:30px}.play-button{width:36px;height:36px}
 .guide-step{font-size:11px}.button{min-height:42px}.button-pair .button{font-size:12px;padding-inline:8px}
 input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),#sidebar input,#sidebar select,dialog input,dialog select,dialog textarea,.timeline input,#place-search{font-size:16px!important}
 .field,.tool-card .field{font-size:12px}.text-button{font-size:12px;min-height:36px}
 .search-wrap{max-width:calc(100% - 98px)}.search-form{padding-left:10px}.search-form input{min-width:0}.search-form button{padding:7px 8px}
}
@media(max-width:380px){.header{padding-inline:9px;gap:4px}.brand{font-size:21px}.brand-mark{width:21px;font-size:23px}.header-right .button{font-size:11px;padding-inline:7px}.header-right{gap:2px}.date-entry{min-width:128px;width:145px}.study-entry{gap:8px}.study-entry .button{padding-inline:8px}.sun-metrics{font-size:10px}.map-legend{gap:8px}.timeline{padding-inline:12px}}
@media(pointer:coarse){.field input,.field select{min-height:44px}.field>select,.field>input{font-size:16px}.guide-motion,.text-button,.check-row,.checkbox-row{min-height:40px}}
/* Once a plot exists, the study is the strongest action; selecting another plot is secondary. */
body:has(.study-entry:not([hidden])) #draw-plot,body:has(.study-entry:not([hidden])) #new-plot-map{background:var(--paper);border-color:var(--line);color:var(--ink);font-weight:500}
.button.primary:disabled{background:var(--cream);border-color:var(--line);color:var(--muted);opacity:.65}
/* Reserve the complete Czech date, including year, beside the calendar button. */
@media(max-width:850px){.date-entry{width:174px;min-width:166px}}
@media(max-width:380px){.date-entry{width:166px;min-width:160px}}
