/* The original pair follows the selected-page window on every route. */
/* Lift the isolated pair above the outer backing/lace, not just its children. */
.window-ribbon-frame{position:relative;min-width:0;isolation:isolate;z-index:3}
.window-ribbon-frame > .content-window{position:relative;z-index:0;min-width:0;width:100%}
/* Preserve app.js's required hooks without visual or accessible duplicate chrome. */
.window-ribbon-frame .title-strip{display:none}
/* Small inside-edge clearance protects live glyphs; no external side tracks. */
.window-ribbon-frame #view{padding-inline:clamp(18px,8%,32px)}
.window-ribbon-frame > .window-ribbon{position:absolute;top:10.5px;z-index:3;display:block;width:clamp(29.7px,3.63vw,52.8px);height:auto;aspect-ratio:489 / 2152;object-fit:contain;pointer-events:none;user-select:none}
.window-ribbon-frame > .window-ribbon--left{left:-5px;transform:translate(-34%,-11.5%)}
.window-ribbon-frame > .window-ribbon--right{right:-5px;transform:translate(34%,-11.5%) scaleX(-1)}
