:root{--bg:#fff;--surface:#fff;--surface-2:#f4f4f4;--border:#e2e2e2;--border-strong:#c6c6c6;--text:#141414;--muted:#666;--accent:#c8102e;--accent-soft:#fbe1e3;--accent-text:#fff;--danger:#a6690a;--danger-soft:#fbeed9;--shadow:0 1px 2px #00000014, 0 8px 24px #00000014;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--surface:#161616;--surface-2:#212121;--border:#2e2e2e;--border-strong:#454545;--text:#f5f5f5;--muted:#a3a3a3;--accent:#e5342c;--accent-soft:#3a1417;--accent-text:#fff;--danger:#e0a238;--danger-soft:#332508;--shadow:0 1px 2px #00000080, 0 8px 24px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.app{max-width:1000px;margin:0 auto;padding:32px 20px 140px}.header{margin-bottom:24px}.header h1{letter-spacing:-.02em;margin:0;font-size:26px}.header p{color:var(--muted);margin:6px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.card>header h2{margin:0;font-size:14px;font-weight:600}.card-body{padding:16px}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-sm{border-radius:7px;padding:4px 9px;font-size:13px}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2)}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;background:var(--surface);padding:28px 20px;transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone h2{margin:0 0 4px;font-size:17px}.dropzone p{color:var(--muted);margin:0 0 16px;font-size:14px}.dropzone-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.paste-area{background:var(--surface-2);border:1px solid var(--border);resize:vertical;border-radius:8px;width:100%;min-height:120px;margin-top:14px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:600}.field select,.field input{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;width:100%;padding:6px 9px}.field .hint{color:var(--muted);font-size:11.5px}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filters .field{flex:150px;min-width:0}.filters .field.search{flex:2 240px}.checkbox-inline{white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding-bottom:7px;font-size:13px;display:inline-flex}.day{margin-bottom:18px}.day-head{z-index:2;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;display:flex;position:sticky;top:0}.day-head h3{letter-spacing:.01em;margin:0;font-size:13px;font-weight:700}.day-head .count{color:var(--muted);font-weight:400}.row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:12px;margin-top:8px;padding:10px 12px;display:flex}.row.selected{border-color:var(--accent);background:var(--accent-soft)}.row.conflict{border-color:var(--danger)}.row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none;margin-top:5px}.row-time{font-variant-numeric:tabular-nums;flex:none;width:92px;font-weight:600}.row-time small{color:var(--muted);font-size:12px;font-weight:400;display:block}.row-main{flex:auto;min-width:0}.row-main .title{font-weight:600}.row-main .meta{color:var(--muted);font-size:13px}.row-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.badge{background:var(--surface-2);color:var(--muted);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.badge.warn{background:var(--danger-soft);color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.notice{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13.5px}.actionbar{z-index:10;background:var(--surface);border:1px solid var(--border-strong);width:fit-content;box-shadow:var(--shadow);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:100%;margin:0 auto;padding:10px 14px;display:flex;position:fixed;bottom:18px;left:16px;right:16px}.actionbar .count{white-space:nowrap;font-weight:600}.express-backdrop{z-index:20;background:#0a0a148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.express{background:var(--surface);border:1px solid var(--border);width:min(460px,100%);box-shadow:var(--shadow);text-align:center;border-radius:14px;padding:20px}.express .progress{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.express h3{margin:8px 0 2px;font-size:20px}.express .when{color:var(--muted);margin-bottom:18px}.express .track{background:var(--surface-2);border-radius:999px;height:4px;margin:16px 0 4px;overflow:hidden}.express .track span{background:var(--accent);height:100%;transition:width .2s;display:block}.express-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:32px;padding-top:16px;font-size:12px}.source-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}@media (width<=640px){.app{padding:20px 14px 150px}.row{flex-wrap:wrap}.row-actions{justify-content:flex-start;width:100%;padding-left:28px}}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.theme-toggle{flex:none;padding:7px 10px;font-size:15px}.viewswitch{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none;gap:2px;padding:3px;display:inline-flex}.viewswitch-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.viewswitch-tab:hover{color:var(--text)}.viewswitch-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.viewswitch-count{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:0 6px;font-size:11px}.card-summary{cursor:pointer;padding:12px 16px;font-size:14px;font-weight:600}.sources{border-top:1px solid var(--border)}.source{border-bottom:1px solid var(--border)}.source:last-child{border-bottom:0}.source>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 16px;display:flex}.source>summary::marker{color:var(--muted)}.source-name{font-weight:600}.source-meta{color:var(--muted);font-size:13px}.films-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.films-stats{color:var(--muted);font-size:13.5px}.films-stats strong{color:var(--text)}.films-sort{flex:0 0 200px}.film{margin-bottom:10px}.film.programme{border-left:3px solid var(--accent)}.film>header{padding:9px 16px}.film-title{margin:0;font-size:15px}.film-meta{color:var(--muted);margin-top:2px;font-size:13px}.film-year{color:var(--muted);font-weight:400}.film-sections{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.film-sections .badge{margin-left:0}.badge.ok{background:var(--accent-soft);color:var(--accent)}.film-slots{margin:0;padding:0;list-style:none}.slot{border-top:1px solid var(--border);align-items:center;gap:10px;padding:5px 16px;display:flex}.slot.on{background:var(--accent-soft)}.slot.past{opacity:.5}.slot-pick{cursor:pointer;flex-wrap:wrap;flex:auto;align-items:baseline;gap:10px;min-width:0;display:flex}.slot-pick input{width:16px;height:16px;accent-color:var(--accent);flex:none}.slot-when{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;min-width:152px;font-weight:600}.slot-when:first-letter{text-transform:uppercase}.slot-where{flex:160px;min-width:0}.slot-note{color:var(--muted);font-size:13px}.tg-head{align-items:center}.tg-nav{align-items:center;gap:10px;min-width:0;display:flex}.tg-nav-day{min-width:0}.tg-title{margin:0;font-size:15px}.tg-title:first-letter{text-transform:uppercase}.tg-sub{color:var(--muted);margin-top:1px;font-size:13px}.tg-range{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-self:center;max-width:22em;font-size:12.5px;overflow:hidden}.tg{align-items:flex-start;padding:8px 16px 16px 0;display:flex}.tg-axis{flex:none;width:54px}.tg-axis-body{position:relative}.tg-hour{border-top:1px solid var(--border);box-sizing:border-box;position:relative}.tg-hour-last{height:0}.tg-hour span{background:var(--surface);color:var(--muted);font-variant-numeric:tabular-nums;padding:0 2px;font-size:11px;position:absolute;top:-.62em;right:8px}.tg-col{border-left:1px solid var(--border);border-bottom:1px solid var(--border);background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px);background-repeat:repeat-y;flex:auto;min-width:0;position:relative}.tg-col.today{background-color:var(--accent-soft)}.tg-empty{color:var(--muted);justify-content:center;align-items:center;margin:0;font-size:13.5px;display:flex;position:absolute;inset:0}.tg-block{border:1px solid var(--accent);border-left:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow);border-radius:6px;display:flex;position:absolute;overflow:hidden}.tg-block.custom{border-color:var(--border-strong);background:var(--surface-2);border-left-style:dashed}.tg-block.done{opacity:.55}.tg-block.done .tg-block-title{text-decoration:line-through}.tg-block-open{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:auto;gap:1px;min-width:0;padding:3px 5px;display:flex;overflow:hidden}.tg-block-time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;flex:none;gap:5px;font-size:10.5px;display:flex;overflow:hidden}.tg-block-time em{font-style:normal}.tg-block-title{overflow-wrap:break-word;font-size:12px;font-weight:600;line-height:1.25;overflow:hidden}.tg-block-place{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tg-block.court .tg-block-open{flex-direction:row;align-items:baseline;gap:5px;padding:1px 5px}.tg-block.court .tg-block-place,.tg-block.court .tg-block-time em{display:none}.tg-block.court .tg-block-title{white-space:nowrap;text-overflow:ellipsis}.tg-block.serre .tg-block-time em,.tg-block.serre .tg-block-place{display:none}.tg-block.serre .tg-block-title{letter-spacing:-.01em;font-size:11px}.tg-block-remove{width:18px;height:18px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:4px;flex:none;align-self:flex-start;margin:2px;padding:0;font-size:10px}.tg-block:hover .tg-block-remove,.tg-block-remove:focus-visible{opacity:1}.tg-block-remove:hover{background:var(--danger-soft);color:var(--danger)}.journey.focused{border-color:var(--accent)}.journey-title{margin:0;font-size:15px}.journey-sub{color:var(--muted);margin-top:2px;font-size:13px}.journey-actions{flex-wrap:wrap;gap:6px;display:flex}.journey-progress{background:var(--surface-2);height:3px}.journey-progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.steps{margin:0;padding:8px 16px 0;list-style:none}.steps>li{position:relative}.gap{color:var(--muted);border-left:2px dashed var(--border-strong);margin-left:13px;padding:5px 0 5px 34px;font-size:12.5px}.gap.tight{color:var(--danger);border-left-color:var(--danger)}.gap.overlap{color:var(--danger);border-left-color:var(--danger);font-weight:600}.gap.long{font-style:italic}.step{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.step.custom{background:var(--surface-2);border-style:dashed}.step.done{opacity:.6}.step.done .step-title{text-decoration:line-through}.step-check{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;width:28px;height:28px;color:var(--muted);border-radius:999px;flex:none;font-size:12px;font-weight:700}.step-check[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.step-time{font-variant-numeric:tabular-nums;flex:none;width:58px;padding-top:3px;font-size:13.5px;font-weight:600}.step-time small{color:var(--muted);font-weight:400;display:block}.step-main{flex:auto;min-width:0;padding-top:2px}.step-title{font-weight:600}.step-meta{color:var(--muted);font-size:13px}.step-actions{flex:none;align-items:center;gap:6px;display:flex}.journey-add{padding-top:12px}@media (width<=640px){.header-top{flex-direction:column}.card>header{flex-direction:column;align-items:flex-start}.viewswitch{justify-content:space-between;width:100%}.viewswitch-tab{flex:1;justify-content:center;padding:6px 8px}.films-sort{flex:100%}.slot{flex-wrap:wrap}.slot-when{min-width:0}.slot-where{flex-basis:100%;padding-left:26px}.tg{padding-right:10px}.tg-axis{width:42px}.tg-hour span{font-size:10px;right:4px}.tg-range{display:none}.step-actions{flex-direction:column}}.day-head h3:first-letter,.month-title:first-letter,.journey-title:first-letter{text-transform:uppercase}.source>summary{list-style:none}.source>summary::-webkit-details-marker{display:none}.source>summary:before{content:"▸";color:var(--muted);flex:none;font-size:11px}.source[open]>summary:before{content:"▾"}
