/* Light through the frame. Firm colors stay dynamic; the work stays opaque. */
:root{--finish-ease:cubic-bezier(.16,1,.3,1)}
.topbar,.partner-dock{isolation:isolate}
.topbar:after,.partner-dock:before{content:'';position:absolute;left:0;right:0;height:1px;pointer-events:none;background:var(--line-strong)}
.topbar:after{bottom:0}.partner-dock:before{top:0}
.partner-entry{position:relative;box-shadow:0 3px 12px var(--shadow-color),inset 0 1px 0 var(--paper)}
.partner-entry button{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--brand-ink) 22%,transparent),0 2px 5px var(--shadow-color)}
.partner-entry:focus-within{box-shadow:0 0 0 3px var(--wash),0 5px 20px var(--shadow-color)}
.partner-title .signature,.firm-mark{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--brand-2-ink) 20%,transparent),0 3px 8px var(--shadow-color)}
.nav-item.active{box-shadow:inset 0 1px 0 var(--paper),0 2px 7px var(--shadow-color)}
.library-mode{transition:color .18s,border-color .18s}
.template-card,.book,.work-card,.contact-card,.portal-shelves>button,.neighbour-grid>button{transition:transform .28s var(--finish-ease),box-shadow .28s var(--finish-ease),border-color .18s}
.template-art{position:relative;isolation:isolate;overflow:hidden}
.template-art:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 18% 0%,rgba(255,255,255,.3),transparent 70%)}
.template-monogram{transform-origin:25% 80%;transition:transform .45s var(--finish-ease);text-shadow:0 1px 0 rgba(255,255,255,.2)}
.visitor-emblem{position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--brand-2-ink) 18%,transparent),0 10px 26px var(--shadow-color)}
.visitor-emblem:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 0%,rgba(255,255,255,.26),transparent 70%)}
.visitor-emblem span{position:relative}
.source-link>svg:last-child,.partner-offer>svg:last-child,.template-copy h2 svg{transition:transform .22s var(--finish-ease)}
.request-panel,.partner-panel,dialog{box-shadow:0 18px 60px var(--shadow-color),0 1px 5px var(--shadow-color);border:1px solid var(--line-strong)}
.request-panel .partner-panel-head,.partner-panel-head,.dialog-head{box-shadow:inset 0 1px 0 var(--paper)}
.request-steps li:before{box-shadow:inset 0 1px 0 var(--paper),0 2px 5px var(--shadow-color)}
@supports (background:color-mix(in srgb,white,transparent)){
 .main-shell{background:radial-gradient(ellipse at 8% 0%,color-mix(in srgb,var(--brand-2) 46%,var(--paper)),transparent 60%),radial-gradient(ellipse at 96% 100%,color-mix(in srgb,var(--brand) 35%,var(--paper)),transparent 62%),var(--paper)}
 .topbar:after,.partner-dock:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand-2-text) 42%,var(--line)) 25%,color-mix(in srgb,var(--brand-text) 48%,var(--line)) 74%,transparent)}
 .partner-entry{border-color:color-mix(in srgb,var(--brand-text) 28%,var(--line-strong))}
 .nav-item.active{background:linear-gradient(115deg,var(--wash),color-mix(in srgb,var(--wash) 62%,var(--paper)))}
 .partner-panel-head,.request-panel .partner-panel-head,.dialog-head{background:linear-gradient(115deg,var(--paper),color-mix(in srgb,var(--brand-2) 12%,var(--paper)))}
}
@supports (backdrop-filter:blur(16px)) and (background:color-mix(in srgb,white,transparent)){
 .topbar,.partner-dock{background:color-mix(in srgb,var(--paper) 62%,transparent);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}
 .topbar{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--paper) 90%,transparent),0 2px 12px var(--shadow-color)}
 .partner-dock{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--paper) 90%,transparent),0 -4px 24px var(--shadow-color)}
}
@media(hover:hover) and (pointer:fine){
 .template-card:hover,.portal-shelves>button:hover,.neighbour-grid>button:hover{transform:translateY(-3px);box-shadow:0 12px 25px var(--shadow-color);border-color:var(--line-strong)}
 .template-card:hover .template-monogram{transform:translateY(-3px) rotate(-3deg)}
 .source-link:hover>svg:last-child,.partner-offer:hover>svg:last-child,.template-card:hover .template-copy h2 svg{transform:translateX(3px)}
 .partner-entry button:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--brand-ink) 22%,transparent),0 4px 9px var(--shadow-color)}
}
@media(max-width:700px){
 .topbar,.partner-dock{backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15)}
 .request-panel,.partner-panel{box-shadow:0 8px 35px var(--shadow-color)}
}
@media(prefers-reduced-transparency:reduce){
 .topbar,.partner-dock,.main-shell{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
 .topbar:after,.partner-dock:before{background:var(--line-strong)}
}
@media(prefers-reduced-motion:reduce){
 .template-card,.book,.work-card,.contact-card,.portal-shelves>button,.neighbour-grid>button,.template-monogram,.library-mode,.source-link>svg:last-child,.partner-offer>svg:last-child,.template-copy h2 svg{transition:none!important;transform:none!important}
 .partner-entry button:hover{transform:none}
}
@media(forced-colors:active){
 .topbar,.partner-dock,.main-shell,.nav-item.active,.partner-panel-head,.request-panel .partner-panel-head,.dialog-head{background:Canvas;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
 .topbar:after,.partner-dock:before{background:CanvasText}
 .template-art:before,.visitor-emblem:before{display:none}
}
