:root{--bg:#f6f7f9;--surface:#fff;--ink:#19253d;--muted:#56647a;--line:#e0e5ec;--accent:#204ac8;--accent-hover:#183ca4;--accent-soft:#eaf0ff;--notice:#fff7e6;--notice-ink:#765008;--good:#17643e;--good-bg:#eaf5ee;--bad:#a92d38;--bad-bg:#fcecef;--neutral-bg:#f0f2f5;--focus:#345bdd;--font:system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"Cascadia Code",Consolas,monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--radius:14px;--small-radius:8px;--pill:999px;--border:1px;--control:44px;--icon:20px;--body:15px;--small:13px;--tiny:11px;--title:40px;--heading:19px;--weight:650;--duration:140ms;--max:1160px;--grid:90px minmax(130px,1.4fr) minmax(150px,1.4fr) 100px 80px minmax(140px,1fr)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:var(--body)/1.5 var(--font)}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:active{transform:translateY(1px)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{width:calc(100% - var(--s8));max-width:var(--max);margin-inline:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:64px;border-bottom:var(--border) solid var(--line)}.brand{display:flex;align-items:center;gap:var(--s2);font-size:26px;font-weight:750;letter-spacing:-1px;color:var(--ink)}.brand:hover{text-decoration:none;color:var(--accent)}.brand svg{width:var(--s8);height:var(--s8);color:var(--accent)}.brand-dot{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:var(--s5)}.test-label{display:none;color:var(--muted);font-size:var(--small)}.languages{display:flex;gap:var(--s1);padding:var(--s1);border:var(--border) solid var(--line);border-radius:var(--small-radius)}.languages button{min-height:34px;min-width:36px;border:0;background:transparent;color:var(--muted);border-radius:var(--s1);font-size:var(--small);font-weight:var(--weight)}.languages button:hover{background:var(--neutral-bg)}.languages button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding-block:var(--s6)}.eyebrow{margin:0 0 var(--s3);font-size:var(--small);color:var(--muted)}h1{display:flex;align-items:center;gap:var(--s2);font-size:var(--title);font-weight:700;letter-spacing:-2px;line-height:1.05;margin:0}.airport-code{border:var(--border) solid var(--line);border-radius:var(--small-radius);color:var(--muted);font:var(--weight) 18px/1 var(--mono);padding:var(--s2);letter-spacing:1px}.subtitle{color:var(--muted);margin:var(--s4) 0 0}.local-time{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--small);color:var(--muted)}.local-time strong{font:500 28px/1.2 var(--mono);letter-spacing:-1px;color:var(--ink)}.notice{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4);border-radius:var(--radius);background:var(--notice);color:var(--notice-ink);margin-bottom:var(--s6)}.notice p{margin:var(--s1) 0 0;font-size:var(--small)}.notice strong{font-weight:var(--weight)}.notice-icon{display:grid;place-items:center;flex-shrink:0;width:var(--icon);height:var(--icon);border:var(--border) solid currentColor;border-radius:var(--pill);font-size:var(--small);font-weight:700;margin-top:var(--s1)}.mode-pill{display:none;margin-left:auto;font-size:var(--tiny);font-weight:700;letter-spacing:1px;padding:var(--s1) var(--s2);border:var(--border) solid currentColor;border-radius:var(--pill);white-space:nowrap}.notice.live{background:var(--accent-soft);color:var(--accent)}.notice.error{background:var(--bad-bg);color:var(--bad)}.board{background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius);overflow:hidden}.board-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s3);border-bottom:var(--border) solid var(--line)}.directions{display:flex;gap:var(--s1);flex-wrap:wrap}.directions button{display:flex;align-items:center;gap:var(--s2);min-height:var(--control);padding:var(--s2) var(--s3);border:0;border-radius:var(--small-radius);background:transparent;color:var(--muted);font-weight:var(--weight)}.directions button:hover{background:var(--neutral-bg)}.directions button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}svg{width:var(--icon);height:var(--icon);flex-shrink:0}.directions svg,.refresh svg,.search svg,.footnote svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.count{font:500 var(--small) var(--mono);padding:2px 6px;border-radius:var(--s1);background:var(--surface)}.refresh{display:flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--control);padding:var(--s2) var(--s3);background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--small-radius);color:var(--ink);font-size:var(--small)}.refresh:hover{background:var(--neutral-bg)}.board-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4)}h2{margin:0;font-size:var(--heading);font-weight:var(--weight)}.board-filters p{margin:var(--s1) 0 0;color:var(--muted);font-size:var(--small)}.search{display:flex;align-items:center;gap:var(--s2);width:100%;border:var(--border) solid var(--line);border-radius:var(--small-radius);padding:0 var(--s3);color:var(--muted);background:var(--bg)}.search:focus-within{border-color:var(--focus)}.search input{width:100%;min-width:0;min-height:var(--control);border:0;background:transparent;color:var(--ink);font-size:var(--small)}.search input::placeholder{color:var(--muted)}.table-head{display:none}.flight-row{display:grid;grid-template-columns:1fr auto;gap:var(--s3);padding:var(--s5) var(--s4);border-top:var(--border) solid var(--line)}.flight-row:hover{background:var(--bg)}.flight-time{font:var(--weight) 20px/1.3 var(--mono);grid-column:2;grid-row:1;text-align:right}.flight-time small{display:block;color:var(--muted);font-size:var(--tiny);font-weight:400}.original{text-decoration:line-through}.destination{grid-column:1;grid-row:1;min-width:0}.destination strong{overflow-wrap:anywhere;font-size:17px;font-weight:var(--weight)}.secondary{display:block;font-size:var(--small);color:var(--muted);margin-top:var(--s1)}.flight-id{grid-column:1;grid-row:2;min-width:0}.flight-id strong{overflow-wrap:anywhere;font-family:var(--mono);font-weight:var(--weight)}.flight-id .secondary{overflow-wrap:anywhere}.terminal-cell,.gate-cell{display:none}.status-cell{grid-column:2;grid-row:2;text-align:right;align-self:center;max-width:130px}.status{display:inline-block;padding:6px var(--s2);border-radius:var(--small-radius);background:var(--neutral-bg);color:var(--muted);font-size:var(--small);font-weight:550;line-height:1.3}.status.good{background:var(--good-bg);color:var(--good)}.status.warning{background:var(--notice);color:var(--notice-ink)}.status.bad{background:var(--bad-bg);color:var(--bad)}.mobile-meta{grid-column:1/-1;display:flex;gap:var(--s4);font-size:var(--tiny);color:var(--muted)}.board-bottom{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:space-between;border-top:var(--border) solid var(--line);padding:var(--s4);font-size:var(--small);color:var(--muted)}.board-bottom p{margin:0}.loading,.empty{padding:var(--s12) var(--s6);text-align:center;color:var(--muted)}.empty strong{display:block;font-size:var(--heading);color:var(--ink);margin-bottom:var(--s2)}.empty button{display:block;margin:var(--s4) auto 0;min-height:var(--control);border:var(--border) solid var(--line);border-radius:var(--small-radius);background:var(--surface);color:var(--accent);padding:var(--s2) var(--s4)}.empty button:hover{background:var(--accent-soft)}.footnote{display:flex;align-items:flex-start;gap:var(--s2);color:var(--muted);font-size:var(--small);padding-block:var(--s5)}.footnote svg{margin-top:2px}.footnote p{margin:0}.footer{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;padding-block:var(--s6);margin-top:var(--s5);border-top:var(--border) solid var(--line);color:var(--muted);font-size:var(--small)}.footer a{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;inset-block-start:var(--s2);inset-inline-start:var(--s2);transform:translateY(-180%);background:var(--ink);color:var(--surface);padding:var(--s3);z-index:2;border-radius:var(--small-radius)}.skip:focus{transform:none}
 .directions svg,.refresh span{display:none}.local-time{max-width:96px}.local-time #date{font-size:var(--tiny)}.hero-text{min-width:0}.subtitle{font-size:var(--small);display:none}.freshness{font-size:var(--tiny);margin-top:var(--s1);display:block}.freshness:empty{display:none} .directions button{padding-inline:var(--s2)} .refresh{min-width:var(--control);padding-inline:var(--s2)}
@media(min-width:320px){.hero-text{flex:1}}
 .mobile-test{margin:var(--s2) 0 0;font-size:var(--tiny);color:var(--muted)}
@media(min-width:480px){.mobile-test{display:none}.directions svg,.refresh span{display:block}.local-time{max-width:none}.subtitle{font-size:var(--body);display:block}.test-label{display:block}.mode-pill{display:block}.hero{padding-block:var(--s12)}.local-time{text-align:right}.notice{padding:var(--s5)}.directions button{padding-inline:var(--s4)}}
@media(min-width:760px){.shell{width:calc(100% - var(--s16))}.hero{padding-block:var(--s8)}.hero h1{font-size:var(--s16)}.local-time strong{font-size:var(--s10)}.board-toolbar{padding:var(--s4) var(--s6)}.board-filters{padding:var(--s6)}.search{width:310px}.board-bottom{padding:var(--s4) var(--s6)}}
@media(min-width:1000px){.table-head,.flight-row{display:grid;grid-template-columns:var(--grid);gap:var(--s4);padding-inline:var(--s6)}.table-head{background:var(--bg);padding-block:var(--s3);font-size:var(--tiny);color:var(--muted);font-weight:var(--weight)}.flight-row{align-items:center;padding-block:var(--s5)}.flight-time,.destination,.flight-id,.status-cell{grid-column:auto;grid-row:auto;text-align:left}.terminal-cell,.gate-cell{display:block;color:var(--muted);font-size:var(--small)}.mobile-meta{display:none}.status-cell{max-width:none}.flight-time{font-size:var(--heading)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button:active{transform:none}}
