:root{color:#f7f7f0;background:#181818;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#00000029,#000000b3),#242424}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:clamp(14px,2vw,28px);display:flex;align-items:stretch}.board{width:min(1240px,100%);margin:0 auto;border:8px solid #d8d8cf;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0 / 8px 8px,#151612;box-shadow:inset 0 0 0 1px #ffffff29,0 24px 80px #00000073;overflow:hidden}.board-header{min-height:92px;padding:clamp(16px,2vw,26px);display:flex;justify-content:space-between;gap:20px;align-items:center;background:#e30613;border-bottom:6px solid #f6f1e6}.brand-mark{display:flex;align-items:center;gap:14px;color:#fff;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:850;line-height:1}.brand-lines{width:52px;height:52px;border:4px solid #fff;border-radius:4px;display:grid;gap:4px;padding:8px}.brand-lines span{display:block;background:#fff;border-radius:999px}.clock{display:grid;justify-items:end;gap:4px;color:#fff;font-variant-numeric:tabular-nums}.clock span{font-size:clamp(2rem,5vw,4rem);font-weight:900;line-height:.9}.clock small{font-size:.82rem;text-transform:uppercase}.status-line{margin:0;padding:10px 18px;color:#111;background:#ffd84d;font-weight:800}.controls{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px clamp(16px,2.2vw,28px);background:#22231f;border-bottom:2px solid rgba(255,255,255,.16)}.add-line{position:relative;width:min(620px,100%);display:grid;gap:7px}.add-line label{color:#bdbdb1;font-size:.78rem;font-weight:850;text-transform:uppercase}.search-box{height:44px;display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;border:1px solid #595a51;border-radius:4px;background:#11120f}.search-box input{width:100%;min-width:0;border:0;outline:0;padding:0 14px;color:#fffde8;background:transparent}.search-box span{color:#ffe96a;font-family:SF Mono,Roboto Mono,Cascadia Mono,ui-monospace,monospace;font-size:.85rem;font-weight:850;text-align:center}.option-list{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:min(360px,62vh);overflow:auto;border:1px solid #595a51;border-radius:4px;background:#11120f;box-shadow:0 18px 50px #0000007a}.option-list button{width:100%;min-height:58px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.1);padding:9px 12px;color:#fffde8;background:transparent;text-align:left}.option-list button:hover{background:#ffe96a1a}.option-list strong,.option-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-list small{margin-top:3px;color:#a7a79a;font-size:.8rem}.mini-badge{min-height:34px;display:grid;place-items:center;border:2px solid #fff;border-radius:4px;background:#e30613;color:#fff;font-size:1rem;font-weight:950}.mini-badge.ubahn{background:#ef7d00}.mini-badge.bus{background:#005aa9}.reset-button{min-height:44px;border:1px solid #595a51;border-radius:4px;padding:0 14px;color:#fffde8;background:#11120f;font-weight:850}.departure-grid{display:grid;gap:0}.departure-panel{--accent: #e30613;position:relative;display:grid;grid-template-columns:minmax(84px,110px) minmax(0,1fr) minmax(290px,440px);gap:clamp(14px,2vw,28px);align-items:center;padding:clamp(16px,2.2vw,28px);border-bottom:2px solid rgba(255,255,255,.16)}.remove-line{position:absolute;top:10px;right:10px;width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fffde8;background:#00000059;font-size:1.2rem;line-height:1}.remove-line:hover{background:#e30613}.empty-board{padding:40px clamp(16px,2.2vw,28px);color:#bdbdb1;font-weight:850;text-transform:uppercase}.departure-panel:last-child{border-bottom:0}.line-column{display:grid;justify-items:center;gap:10px;color:#bdbdb1;font-size:.85rem;font-weight:800;text-transform:uppercase}.line-badge{width:76px;min-height:56px;display:grid;place-items:center;border-radius:6px;border:3px solid #fff;background:var(--accent);color:#fff;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:950;line-height:1;font-variant-numeric:tabular-nums}.line-badge.ubahn{background:#ef7d00}.line-badge.bus{background:#005aa9}.destination-column{min-width:0}.stop{margin:0 0 8px;color:#d8d8cf;font-size:clamp(1rem,1.7vw,1.4rem);font-weight:800}h2{margin:0;color:#fffde8;font-size:clamp(2rem,6vw,4.7rem);line-height:.92;letter-spacing:0;overflow-wrap:anywhere}.meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;color:#9d9d91;font-size:.85rem;font-weight:750;text-transform:uppercase}.times{list-style:none;margin:0;padding:0;display:grid;gap:8px}.times li{min-height:58px;display:grid;grid-template-columns:30px minmax(92px,1fr) minmax(88px,112px) minmax(66px,78px);gap:10px;align-items:center;padding:8px 10px;background:#ffffff0e;border-left:6px solid var(--accent);border-radius:4px;font-variant-numeric:tabular-nums}.rank,.absolute-time,.realtime{color:#a7a79a;font-size:.82rem;font-weight:850;text-transform:uppercase}.rank{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#2b2c25;color:#e9e9dc}.countdown{color:#ffe96a;font-family:SF Mono,Roboto Mono,Cascadia Mono,ui-monospace,monospace;font-size:clamp(2rem,5vw,3.9rem);font-weight:900;line-height:.9}.absolute-time,.realtime{justify-self:end;text-align:right}.muted-time{opacity:.45}@media (max-width: 820px){.app-shell{padding:10px}.board{border-width:5px}.board-header{align-items:flex-start}.controls{display:grid}.departure-panel{grid-template-columns:74px minmax(0,1fr)}.times{grid-column:1 / -1}.remove-line{top:12px;right:12px}}@media (max-width: 560px){.board-header{min-height:auto;display:grid}.clock{justify-items:start}.departure-panel{grid-template-columns:1fr}.line-column{grid-template-columns:auto 1fr;justify-items:start}.line-badge{width:68px;min-height:50px}.times li{grid-template-columns:26px minmax(84px,1fr) minmax(72px,92px)}.realtime{display:none}}
