/* V3: shared navigation and restrained interaction feedback */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1);--nav-accent:#8e98ff}
.site-header{background:#11110f;color:#f0efeb;border-bottom:1px solid #30302d;box-shadow:0 3px 14px #0000000a}
.site-header>a:first-child img{filter:brightness(0) invert(1);opacity:.94}
.site-header nav a{position:relative;padding:6px 0;color:#c6c5bf;border:0;transition:color 180ms ease}
.site-header nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#5262ff;transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--motion-ease)}
.site-header nav a[aria-current]{color:#fff;border:0}
.site-header nav a[aria-current]::after{transform:scaleX(1)}
.site-header .budget-link{color:#f0efeb;border:1px solid #575750;padding:9px 13px;transition:background 180ms ease,border-color 180ms ease,transform 120ms ease}
.site-header a:focus-visible{outline:2px solid #aab1ff;outline-offset:5px}
.action,.selection-btn,.viewer-tools button,.motion-toggle,.close,.space-type button,.color-index button,.series-strip button,.fav{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 120ms var(--motion-ease),box-shadow 180ms ease}
.action.primary{background:#2536ff;color:white;border-color:#2536ff}
.action:active,.selection-btn:active,.viewer-tools button:active,.motion-toggle:active,.space-type button:active,.color-index button:active,.site-header .budget-link:active{transform:scale(.98)}
.fav:active{scale:.94}.case-image:active img,.slide-open:active img{scale:.995}
.action-arrow{display:inline-block;margin-left:.15em;transition:transform 180ms var(--motion-ease)}
.case-image img,.slide-open img,.space-zoom img{transition:transform 420ms var(--motion-ease),filter 250ms ease}
.case-image .zoom-hint{opacity:0;transform:translateY(4px);transition:opacity 180ms ease,transform 180ms ease}
.case-image:focus-visible .zoom-hint{opacity:1;transform:none}
.case-image:focus-visible{outline:2px solid #2536ff;outline-offset:4px}
.page input,.page select,.page textarea{transition:border-color 180ms ease,box-shadow 180ms ease}
.page input:focus,.page select:focus,.page textarea:focus{outline:none;border-color:#2536ff;box-shadow:0 0 0 2px #2536ff18}
dialog[open]{animation:dialog-enter 220ms var(--motion-ease)}dialog[open]::backdrop{animation:backdrop-enter 180ms ease}
@keyframes dialog-enter{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{background-color:#0000}to{background-color:#000c}}
@media(hover:hover) and (pointer:fine){
 .site-header nav a:hover{color:#fff}.site-header nav a:hover::after{transform:scaleX(1)}
 .site-header .budget-link:hover{background:#2536ff;border-color:#2536ff;color:#fff}
 .action:hover{background:#11110f;color:#f0efeb;border-color:#11110f}
 .action.primary:hover{background:#1828dd;border-color:#1828dd}
 .action:hover .action-arrow,.site-header .budget-link:hover .action-arrow{transform:translateX(3px)}
 .selection-btn:hover,.viewer-tools button:hover,.motion-toggle:not(:disabled):hover{background:#11110f;color:#f0efeb;border-color:#11110f}
 .case-image:hover img{transform:scale(1.018);filter:none}.case-image:hover .zoom-hint{opacity:1;transform:none}
 .slide-open:hover img,.space-zoom:hover img{filter:brightness(.97)}
}
@media(hover:none){.case-image .zoom-hint{opacity:1;transform:none}}
@media(max-width:750px){.site-header .budget-link{padding:7px 10px}.site-header nav{gap:10px 18px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .action:active,.selection-btn:active,.viewer-tools button:active,.motion-toggle:active,.space-type button:active,.color-index button:active,.site-header .budget-link:active{transform:none}
 .action-arrow,.case-image img{transform:none!important}
}
.area-modes{border:0;padding:0;margin:24px 0 12px}.area-modes legend{margin-bottom:8px}.page .area-modes label{display:inline-flex;gap:7px;align-items:center;margin:4px 18px 4px 0;cursor:pointer}.page .area-modes input[type=radio]{display:inline-block;width:auto;margin:0;accent-color:#2536ff}#include-ceiling{accent-color:#2536ff}#area-summary{color:#2536ff;font-size:13px}
