.toolbar-visibility-shell { position:sticky; top:0; z-index:20; display:grid; grid-template-rows:1fr; transition:grid-template-rows .32s ease; }
.toolbar-visibility-shell>.site-header { position:relative; top:auto; min-height:0; }
.is-toolbar-collapsed .toolbar-visibility-shell { grid-template-rows:0fr; }
.is-toolbar-collapsed .toolbar-visibility-shell>.site-header { overflow:hidden; visibility:hidden; pointer-events:none; border-bottom-width:0; }
.toolbar-visibility-toggle,.portrait-visibility-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:6px 11px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--navy); font:600 10px/1.4 var(--font-site); cursor:pointer; box-shadow:0 4px 14px #05132a12; }
.toolbar-visibility-toggle { position:fixed; top:calc(var(--portfolio-toolbar-height,86px) + 7px); right:max(12px,env(safe-area-inset-right)); z-index:60; transition:top .32s ease,background .2s; }
.is-toolbar-collapsed .toolbar-visibility-toggle { top:10px; }
.toolbar-visibility-toggle svg,.portrait-visibility-toggle svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s ease; }
.toolbar-visibility-toggle[aria-expanded=false] svg,.portrait-visibility-toggle[aria-expanded=false] svg { transform:rotate(180deg); }
.toolbar-visibility-toggle:is(:hover,:focus-visible),.portrait-visibility-toggle:is(:hover,:focus-visible) { border-color:var(--accent); background:var(--soft); }
.portrait-visibility-tools { display:flex; justify-content:flex-end; margin-top:9px; }
.portrait-visibility-slot { max-height:var(--portrait-open-height,800px); overflow:hidden; transition:max-height .5s cubic-bezier(.22,.7,.25,1),opacity .4s; opacity:1; }
.portrait-visibility-slot>.portrait-image-wrap { min-height:0; overflow:hidden; }
.is-portrait-collapsed .portrait-visibility-slot { max-height:0; opacity:0; pointer-events:none; }
.is-portrait-collapsed .portrait-welcome { display:none!important; }
.is-portrait-collapsed .portrait-image-wrap,.is-portrait-collapsed .portrait-image-wrap *,.is-portrait-collapsed .portrait-image-wrap::before { animation-play-state:paused!important; }
@media(max-width:600px) { .toolbar-visibility-toggle,.portrait-visibility-toggle { min-height:32px; font-size:9px; padding:6px 10px; } }
@media(prefers-reduced-motion:reduce) { .toolbar-visibility-shell,.toolbar-visibility-toggle,.portrait-visibility-slot,.toolbar-visibility-toggle svg,.portrait-visibility-toggle svg { transition:none; } }
@media print { .toolbar-visibility-shell,.toolbar-visibility-toggle,.portrait-visibility-tools { display:none!important; } .portrait-visibility-slot { max-height:none!important; opacity:1!important; } }
