:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f7f5f2)var(--lightningcss-dark,#15130f);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1d1a16);--surface-2:var(--lightningcss-light,#f0ece6)var(--lightningcss-dark,#26221d);--text:var(--lightningcss-light,#17140f)var(--lightningcss-dark,#f2efe9);--muted:var(--lightningcss-light,#6d665d)var(--lightningcss-dark,#a39b90);--muted-2:var(--lightningcss-light,#6d665d)var(--lightningcss-dark,#b8b0a4);--border:var(--lightningcss-light,#e2dcd3)var(--lightningcss-dark,#322d27);--accent:var(--lightningcss-light,#6a35e0)var(--lightningcss-dark,#a87dff);--accent-hover:var(--lightningcss-light,#5527bd)var(--lightningcss-dark,#b995ff);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a1512);--accent-soft:var(--lightningcss-light,#ece2fd)var(--lightningcss-dark,#2e2140);--band:var(--lightningcss-light,#ece2fd)var(--lightningcss-dark,#4a2b8f);--on-band:var(--lightningcss-light,#17140f)var(--lightningcss-dark,#fff);--pass:var(--lightningcss-light,#fff)var(--lightningcss-dark,#24211b);--pass-border:var(--lightningcss-light,#e2dcd3)var(--lightningcss-dark,#3d3831);--perforation:var(--lightningcss-light,#e2dcd3)var(--lightningcss-dark,#4a443b);--success:var(--lightningcss-light,#1a6b34)var(--lightningcss-dark,#7fd89a);--success-soft:var(--lightningcss-light,#e6f2e8)var(--lightningcss-dark,#1c2e21);--danger:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8a80);--danger-soft:var(--lightningcss-light,#fdecea)var(--lightningcss-dark,#3a1d1d);--warn:var(--lightningcss-light,#7a4f00)var(--lightningcss-dark,#f3c85a);--warn-soft:var(--lightningcss-light,#fff3d1)var(--lightningcss-dark,#3a2f12);--shadow-near:var(--lightningcss-light,#0000000a)var(--lightningcss-dark,#0000004d);--shadow-far:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#0000008c);--seg-shadow:var(--lightningcss-light,#0000001f)var(--lightningcss-dark,#00000080);--logo-bg:var(--lightningcss-light,#6a35e0)var(--lightningcss-dark,#a87dff);--logo-plane:var(--lightningcss-light,#fff)var(--lightningcss-dark,#17140f);--logo-fold:var(--lightningcss-light,#b39ae6)var(--lightningcss-dark,#5b4a8f);--font-sans:"Geist", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);-webkit-text-size-adjust:100%;line-height:1.45}body{background:var(--bg);color:var(--text);margin:0}[hidden]{display:none!important}button,input,select{font-family:inherit}.app{flex-direction:column;max-width:1120px;min-height:100vh;margin:0 auto;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.brand{font:600 14.5px/1.2 var(--font-sans);letter-spacing:-.01em;align-items:center;gap:10px;margin:0;display:flex}.brand-mark{flex:none;width:26px;height:26px;display:inline-flex}.brand-mark svg{width:100%;height:100%;display:block}.topbar-controls{align-items:center;gap:8px;display:flex}.segmented{background:var(--surface-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg-btn{font:500 12px var(--font-sans);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:6px 12px}.seg-btn[aria-checked=true],.seg-btn[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px var(--seg-shadow);font-weight:600}.seg-btn:focus-visible,.lang-btn:focus-visible,.preset:focus-visible,.btn:focus-visible,.ticket:focus-visible,.result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang{position:relative}.lang-btn{font:600 12px var(--font-mono);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:9px;min-width:44px;min-height:34px}.lang-btn:hover,.lang-btn[aria-expanded=true]{color:var(--text)}.lang-menu{z-index:20;background:var(--surface);border:1px solid var(--border);min-width:170px;box-shadow:0 1px 2px var(--shadow-near), 0 14px 34px var(--shadow-far);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.lang-item{width:100%;font:500 13px var(--font-sans);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.lang-item:hover,.lang-item:focus-visible{background:var(--surface-2);outline:none}.lang-item[aria-checked=true]{background:var(--accent-soft)}.lang-item-code{font:600 11px var(--font-mono);color:var(--muted)}.banner{background:var(--danger-soft);color:var(--danger);font:400 13px var(--font-sans);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 28px 0;padding:12px 14px;display:flex}.layout{grid-template-columns:436px minmax(0,1fr);align-items:start;gap:24px;padding:28px;display:grid}.app-footer{color:var(--muted);font:400 11.5px var(--font-sans);margin-top:auto;padding:0 28px 28px}.app-footer p{margin:4px 0}.app-footer a{color:inherit}.brand-link{color:inherit;text-decoration:none}.legal{padding:28px}.legal-card{background:var(--surface);border:1px solid var(--border);max-width:74ch;box-shadow:0 1px 2px var(--shadow-near);font:400 15px/1.65 var(--font-sans);border-radius:20px;margin:0 auto;padding:32px 36px}.legal-card h1{font:600 30px/1.2 var(--font-sans);letter-spacing:-.02em;margin:0}.legal-meta{font:500 12px var(--font-mono);letter-spacing:.06em;color:var(--muted);margin:6px 0 24px}.legal-card h2{font:600 19px/1.3 var(--font-sans);letter-spacing:-.01em;margin:32px 0 8px}.legal-card h3{font:600 13px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin:20px 0 4px}.legal-card p,.legal-card ul{margin:8px 0}.legal-card ul{padding-left:1.25em}.legal-card li+li{margin-top:4px}.legal-card a{color:var(--accent);text-underline-offset:2px}.legal-card a:hover{color:var(--accent-hover)}.legal-card code{font:500 .86em var(--font-mono);background:var(--surface-2);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px var(--shadow-near);border-radius:20px;flex-direction:column;gap:20px;margin:0;padding:22px;display:flex}.section{flex-direction:column;gap:8px;min-width:0;transition:opacity .2s;display:flex}.section.is-dimmed{opacity:.55}.section--divided{border-top:1px solid var(--border);padding-top:18px}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow{font:600 10.5px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}.eyebrow-note{text-transform:none;letter-spacing:0;font:400 11px var(--font-sans)}.hint{font:400 11.5px var(--font-sans);color:var(--muted);margin:0}.field-error{font:400 12px var(--font-sans);color:var(--danger);margin:0}.input{width:100%;font:500 13.5px var(--font-sans);color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:14px;min-height:48px;padding:10px 14px}.input:focus-visible{border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent);outline:none}.input:disabled{opacity:.6}.search{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:10px;min-height:52px;padding:0 14px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}.search input{font:500 16px var(--font-sans);color:inherit;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0}.search input:disabled{opacity:.6}.hits{font:400 11px var(--font-mono);color:var(--muted);white-space:nowrap}.results{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:2px;max-height:320px;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.result{cursor:pointer;border-radius:10px;grid-template-columns:3.4em 1fr;align-items:center;gap:10px;padding:10px;display:grid}.result.is-active,.result:hover{background:var(--accent-soft)}.result-code{font:600 15px var(--font-mono)}.result-name{font:500 13.5px var(--font-sans);display:block}.result-place{font:400 11.5px var(--font-sans);color:var(--muted);display:block}.ticket{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:56px;color:inherit;text-align:left;cursor:pointer;font:inherit;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex;overflow:hidden}.ticket:hover{border-color:var(--accent)}.ticket-code{font:600 26px var(--font-mono);letter-spacing:.02em;flex:none}.ticket-divider{background:var(--border);flex:none;width:1px;height:26px}.ticket-text{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.ticket-name{font:500 13.5px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ticket-place{font:400 12px var(--font-sans);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ticket-change{font:500 11px var(--font-mono);color:var(--muted);flex:none;margin-left:auto}.zone-row{font:400 12px var(--font-sans);color:var(--muted);align-items:center;gap:8px;display:flex}.chip-mono{font:500 11px var(--font-mono);background:var(--surface-2);color:var(--text);border-radius:6px;padding:3px 7px}.mono-small{font:500 11px var(--font-mono)}.dt-grid{grid-template-columns:1.6fr 1fr;gap:10px;display:grid}.dt-box{border:1px solid var(--border);cursor:text;border-radius:14px;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:8px 14px;display:flex}.dt-box:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}.dt-label{font:400 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dt-box input{font:500 16px var(--font-mono);color:inherit;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:0}.presets{flex-wrap:wrap;gap:8px;display:flex}.preset{font:500 13px var(--font-mono);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;flex:3.4em;min-height:44px;padding:0 6px}.preset:hover{border-color:var(--accent)}.preset[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.custom-box{border:1px dashed var(--border);border-radius:12px;flex:1.2 5.5em;align-items:center;gap:6px;min-height:44px;padding:0 10px;display:flex}.custom-box:focus-within{border-style:solid;border-color:var(--accent)}.custom-box input{width:100%;font:500 13px var(--font-mono);color:inherit;appearance:textfield;background:0 0;border:0;outline:none;min-width:0;padding:0}.custom-box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.custom-unit{font:400 11px var(--font-sans);color:var(--muted);white-space:nowrap}.checkbox-row{font:400 13px var(--font-sans);color:var(--muted);cursor:pointer;align-items:center;gap:9px;min-height:32px;display:flex}.checkbox-row input{accent-color:var(--accent);margin:0}.result-col{flex-direction:column;gap:16px;min-width:0;display:flex}.placeholder{border:1px dashed var(--border);text-align:center;font:400 13px var(--font-sans);color:var(--muted);border-radius:18px;padding:22px 18px}.pass{background:var(--pass);border:1px solid var(--pass-border);box-shadow:0 1px 2px var(--shadow-near), 0 22px 44px var(--shadow-far);border-radius:24px;overflow:hidden}.pass-band{background:var(--band);color:var(--on-band);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 26px;display:flex}.pass-band-title{font:600 10.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0}.pill{font:600 12px var(--font-sans);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;display:inline-flex}.pill-open{color:var(--success);background:var(--success-soft)}.pill-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.pill-countdown{font:600 12px var(--font-mono);font-variant-numeric:tabular-nums;padding:0}.pill-departed{color:var(--muted);background:var(--surface-2)}.pass-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 24px;padding:26px 26px 22px;display:grid}.hero-label{font:500 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}.hero-date{font:500 13px/1.35 var(--font-mono);letter-spacing:.06em;color:var(--text);margin-bottom:8px}.hero-time{font:500 clamp(64px, 9.3vw, 104px) var(--font-mono);letter-spacing:-.045em;font-variant-numeric:tabular-nums;line-height:.88;display:block}.hero-side{text-align:right;padding-bottom:8px}.hero-side-time{font:500 44px var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1;display:block}.hero-side-note{font:400 12px var(--font-sans);color:var(--muted);margin-top:6px}.tear{height:22px;position:relative}.tear-line{background:repeating-linear-gradient(90deg, var(--perforation) 0 7px, transparent 7px 15px);height:1px;position:absolute;top:10px;left:0;right:0}.tear-notch{background:var(--bg);border-radius:50%;width:22px;height:22px;position:absolute;top:0}.tear-notch-l{border-right:1px solid var(--pass-border);left:-11px}.tear-notch-r{border-left:1px solid var(--pass-border);right:-11px}.stub{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:16px 26px 24px;display:grid}.stub-label{font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stub-value{font:500 15px var(--font-mono);font-variant-numeric:tabular-nums;margin-top:4px}.stub-part{white-space:nowrap}.notice{background:var(--warn-soft);color:var(--warn);font:400 12.5px var(--font-sans);border-radius:12px;margin:0 26px 20px;padding:10px 12px}.actions{flex-wrap:wrap;gap:10px;display:flex}.btn{font:500 13.5px var(--font-sans);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);padding:0 20px;font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.footnote{font:400 12px var(--font-sans);color:var(--muted);max-width:52ch;margin:2px 0 0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (max-width:960px){.topbar{flex-wrap:wrap;padding:14px 20px}.layout{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px 20px 20px}.panel{gap:16px;padding:16px}.banner,.app-footer{padding-left:20px;padding-right:20px}.banner{margin:16px 20px 0}.legal{padding:16px 20px 20px}}@media (max-width:640px){.legal-card{padding:22px 18px}.legal-card h1{font-size:25px}.pass-band,.pass-hero{padding-left:18px;padding-right:18px}.stub{grid-template-columns:1fr 1fr;padding:12px 18px 20px}.notice{margin:0 18px 18px}.pass-hero{grid-template-columns:1fr}.hero-side{text-align:left;padding-bottom:0}}
