:root{--nav-collapse:0;--nav-height:calc(80px - 40px * var(--nav-collapse))}
/* The rail owns page transitions; avoid a second cross-document slide. */
@view-transition{navigation:none}
.space-header{height:var(--nav-height)!important;display:flex!important;padding:0 4.1vw!important;gap:0!important;background:#0f0f0ff5;z-index:5000!important;border-bottom:1px solid #fdfdfd66;transition:height .38s ease}
.space-logo{position:relative;z-index:1;gap:12px}.space-logo small{display:none!important}
.space-logo img{width:calc(36px - 16px * var(--nav-collapse))!important;height:calc(36px - 16px * var(--nav-collapse))!important;transition:width .38s,height .38s}
.space-logo b{font-family:Arial,sans-serif!important;font-size:calc(24px - 10px * var(--nav-collapse))!important;letter-spacing:-.055em;text-transform:none!important;transition:font-size .38s}
.space-links{position:absolute;left:calc(50% + 28% * var(--nav-collapse));transform:translateX(-50%);display:flex!important;gap:calc(34px - 12px * var(--nav-collapse))!important;transition:left .5s cubic-bezier(.2,.8,.2,1),gap .4s}
.space-links a{font-family:Arial,sans-serif!important;font-size:calc(20px - 8px * var(--nav-collapse));letter-spacing:-.025em;line-height:1;padding:8px 12px!important;min-height:0!important;border:1px solid transparent;border-radius:14px;color:#fdfdfd;transition:font-size .4s,padding .4s,border-color .2s}
.space-links a:after{display:none!important}.space-links a:hover{border-color:#fdfdfd26}.space-links a[aria-current=page]{border-color:#fdfdfd}
.space-links a[href="about.html"]{display:none}
.space-meta{margin-left:auto;display:flex!important}.space-meta>span{display:none!important}
.glass-toggle{font:calc(20px - 8px * var(--nav-collapse))/1 Arial,sans-serif;color:#ccc;background:none;border:1px solid #fdfdfd99;border-radius:14px;padding:8px 16px;cursor:pointer;transition:font-size .4s,padding .4s}
.glass-toggle:focus-visible{outline:2px solid #fd7b03;outline-offset:4px}
.peek-rail{top:calc(var(--nav-height) + 10px)!important;right:0!important;bottom:0!important;width:calc(40px - 20px * var(--nav-collapse))!important;background:#0f0f0f;border-color:#fd7b0380;z-index:5100!important}
.peek-rail:not(.rail-cover):not(.rail-dragging):is(:hover,.rail-expanded,:focus-visible){width:40px!important}
.peek-rail.rail-dragging{width:var(--drag-width)!important}.peek-rail.rail-cover{width:100vw!important;top:0!important;z-index:5200!important}
.peek-rail__ticket{width:40px!important;right:auto;left:0;padding:0;display:block}
.peek-rail__no,.peek-rail__name,.peek-rail__barcode,.peek-rail__tip{display:none!important}
.rail-from,.rail-to,.rail-join,.rail-signature,.rail-instruction,.peek-rail__pct{position:absolute;left:50%;transform:translateX(-50%);writing-mode:vertical-rl;white-space:nowrap;font:12px Arial,sans-serif;color:#fdfdfd}
.rail-from{top:32px}.rail-join{top:15%;font-size:11px;color:#ef4935}.rail-to{top:26%}
.rail-signature{top:42%;font:26px monospace;letter-spacing:.07em;color:#f9f9f94d}
.rail-instruction{top:75%;font-size:8px;color:#fdfdfd66}.peek-rail__pct{bottom:40px;top:auto;font-size:8px;color:#fdfdfd80}
.page-glass{position:fixed;inset:0;z-index:4500;pointer-events:none;opacity:0;background:#dce5ed12;backdrop-filter:blur(5px) saturate(.8);-webkit-backdrop-filter:blur(5px) saturate(.8);transition:opacity .45s;visibility:hidden}
html[data-surface=glass] .page-glass{opacity:1;visibility:visible}
html[data-surface=glass] .space-header,html[data-surface=glass] .peek-rail{background:#ffffff20;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-color:#ffffff88;color:white}
html[data-surface=glass] .space-links a,html[data-surface=glass] .glass-toggle{color:white;text-shadow:0 0 12px #fff5}
@media(max-width:1000px){.space-links{left:55%;gap:10px!important}.space-links a{font-size:14px;padding:7px 9px!important}.glass-toggle{font-size:13px}.space-logo b{font-size:18px!important}}
@media(max-width:700px){:root{--nav-height:calc(96px - 40px * var(--nav-collapse))}.space-header{align-items:flex-start!important;padding-top:12px!important}.space-logo{min-height:30px}.space-logo img{width:26px!important;height:26px!important}.space-logo b{font-size:16px!important}.space-meta{min-height:30px}.space-links{top:52px;left:50%;width:92%;justify-content:space-between;transform:translateX(-50%);transition:opacity .25s,top .4s}.space-links a{font-size:13px}.space-header.is-compact:not(:hover):not(:focus-within) .space-links{opacity:0;pointer-events:none;top:32px}.glass-toggle{padding:7px 12px}.peek-rail{width:24px!important}.peek-rail__ticket{width:24px!important}.rail-signature{font-size:19px}}
/* Resting rail is an empty orange edge; its content appears only on expansion. */
.peek-rail:not(:hover):not(:focus-visible):not(.rail-expanded):not(.rail-dragging):not(.rail-cover){width:10px!important;background:#f24c30!important;border-color:#f24c30!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.peek-rail:not(:hover):not(:focus-visible):not(.rail-expanded):not(.rail-dragging):not(.rail-cover) .peek-rail__ticket{opacity:0;visibility:hidden}
.peek-rail:not(.rail-cover):not(.rail-dragging):is(:hover,:focus-visible,.rail-expanded){width:40px!important}
.peek-rail .peek-rail__ticket{width:40px!important;transition:opacity .18s ease}
.peek-rail:is(:hover,:focus-visible,.rail-expanded,.rail-dragging):not(.rail-cover) .peek-rail__ticket{opacity:1;visibility:visible}
/* A committed wipe must not be resized when it moves underneath the pointer. */
.peek-rail.rail-cover{width:100vw!important;top:0!important;bottom:0!important;right:0!important;background:#0f0f0f!important}
.glass-toggle.is-dark-button{background:#000;color:#fff;border-color:#ffffff99}
.rail-signature{top:39%;width:40px;height:clamp(145px,24vh,260px);writing-mode:horizontal-tb;display:block}
.rail-signature img{width:100%;height:100%;object-fit:contain;display:block}
.rail-loading{position:absolute;top:16%;left:50%;width:70px;height:14px;transform:translateX(-50%) rotate(90deg);transform-origin:center;pointer-events:none}
.rail-loading img{display:block;width:100%;height:100%;object-fit:contain}
.rail-join{top:24%}.rail-to{top:30%}
.rail-instruction{font-size:12px;line-height:1.4;color:#fdfdfdcc;letter-spacing:.08em;top:auto;bottom:70px}
@media(prefers-reduced-motion:reduce){.space-header,.space-links,.space-logo *,.glass-toggle,.page-glass,.peek-rail__ticket{transition:none!important}}
/* Keep the compact links clear of the theme control at intermediate widths. */
@media(min-width:701px) and (max-width:1200px){
  .space-links{left:53%;gap:clamp(10px,2vw,22px)!important}
  .space-links a{font-size:14px;padding:8px 9px!important}
}
@media(max-height:600px){
  .rail-from{top:14px}.rail-loading{top:20%;width:56px}
  .rail-join{top:31%}.rail-to{top:40%}
  .rail-signature{top:52%;height:24%}
  .rail-instruction{bottom:28px;writing-mode:horizontal-tb;font-size:11px;white-space:normal;width:28px;line-height:1.1}
  .peek-rail__pct{bottom:10px}
}
/* Logo and navigation stay above both resting and transitioning rails. */
.space-header{z-index:6000!important}
.space-logo{z-index:3}
.space-links{z-index:2}
/* Phone layout: centered logo, collapsible menu and an upward next-page rail. */
@media(max-width:700px),(max-height:500px) and (pointer:coarse){
  :root{--nav-height:64px}
  .space-header{align-items:center!important;justify-content:center;padding:0!important;isolation:isolate;transition:none}
  .space-logo{display:flex;justify-content:center;width:64px;height:64px;min-height:44px;flex-shrink:0;background:#0f0f0f}
  .space-logo img{width:32px!important;height:32px!important}
  .space-logo b,.space-logo small{display:none!important}
  .space-meta{display:none!important}
  .space-links,.space-header.is-compact:not(:hover):not(:focus-within) .space-links{
    position:absolute;top:100%;left:0;right:0;transform:translateY(-8px);margin:0;width:100%;gap:8px!important;
    flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px 16px 20px;background:#0f0f0f;border-bottom:1px solid #ffffff80;
    max-height:calc(100svh - 80px);overflow-y:auto;overscroll-behavior:contain;
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .25s,visibility .2s;
  }
  .space-header.is-menu-open .space-links,.space-header.is-menu-open.is-compact .space-links{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;top:100%;
  }
  .space-links a{width:100%;font-size:18px;min-height:58px!important;flex-shrink:0;justify-content:center;padding:12px!important;border-radius:16px;border:1px solid #ffffff70;background:#0f0f0f;color:#fff}
  .space-links a[aria-current=page]{background:#fbfbf9;color:#0d0d0d;border-color:#fbfbf9}
  .space-logo:focus-visible{outline:2px solid #f24c30;outline-offset:-6px}
  .peek-rail{touch-action:pan-x!important}
  .peek-rail:not(.rail-cover){top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:10px;transition:height .28s ease;background:#f24c30!important;border-color:#f24c30!important}
  .peek-rail:not(.rail-cover):is(:hover,:focus-visible,.rail-expanded,.rail-dragging){height:64px;background:#0f0f0f!important}
  .peek-rail:not(.rail-cover):not(.rail-dragging):is(:hover,:focus-visible,.rail-expanded),.peek-rail.rail-dragging:not(.rail-cover){width:100%!important}
  .peek-rail:not(:hover):not(:focus-visible):not(.rail-expanded):not(.rail-dragging):not(.rail-cover){width:100%!important}
  .peek-rail .peek-rail__ticket{width:100%!important;height:64px}
  .peek-rail.rail-dragging:not(.rail-cover){height:var(--drag-height,64px);transition:none}
  .peek-rail.rail-cover{height:100svh!important;width:100vw!important;top:auto!important;bottom:0!important;transition:height .4s cubic-bezier(.2,.8,.2,1)}
  .rail-from,.rail-join,.rail-to{writing-mode:horizontal-tb;transform:none;top:12px;font-size:11px}
  .rail-from{left:16px}.rail-join{left:76px}.rail-to{left:104px}
  .rail-instruction{writing-mode:horizontal-tb;transform:none;top:auto;bottom:12px;left:16px;width:auto;font-size:12px;white-space:nowrap}
  .rail-signature{top:50%;left:auto;right:62px;width:16px;height:110px;transform:translateY(-50%) rotate(-90deg)}
  .rail-loading,.peek-rail__pct{display:none!important}
  body{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .container{padding-right:var(--gutter)}
}
