@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2)format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2)format("woff2"),url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-B6RPsSdD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-DYE6gq6k.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-C6ITAlBU.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2)format("woff2"),url(/assets/source-sans-3-greek-700-normal-BWdBblwd.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-BHxM10oo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-ChH_v7nA.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2)format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#152018;--ink-soft:#3a4a3f;--paper:#eef2e8;--paper-2:#dce5d4;--field:#1f4d3a;--field-deep:#143528;--brass:#c8972a;--brass-bright:#e0b34a;--signal:#b5452a;--warn:#a86b12;--ok:#2a6b4f;--line:#1520181f;--shadow:0 18px 40px #14281c2e;--radius:14px;--nav-h:72px;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background-color:#0000;background-image:radial-gradient(1200px 600px at 10% -10%,#c8972a2e,#0000 55%),radial-gradient(900px 500px at 100% 0,#1f4d3a29,#0000 50%),linear-gradient(165deg,#f4f7ef 0%,#e7eedf 45%,#d8e4d4 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100dvh}body:before{content:"";pointer-events:none;opacity:.035;background-image:repeating-linear-gradient(-18deg,#152018 0 1px,#0000 1px 10px);position:fixed;inset:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-weight:700}h1{text-transform:uppercase;font-size:clamp(2.4rem,9vw,3.4rem);line-height:.95}h2{text-transform:uppercase;font-size:1.8rem;line-height:1.05}h3{text-transform:uppercase;font-size:1.15rem;line-height:1.2}p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.install-guide{border:1px solid var(--line);background:#ffffff80;border-radius:14px;margin-top:.5rem;padding:1rem 1.05rem}.install-guide h2{margin-bottom:.55rem;font-size:1.25rem}.install-guide ol{color:var(--ink-soft);margin:.4rem 0 .9rem;padding-left:1.2rem;line-height:1.45}.install-guide li{margin-bottom:.25rem}.hint a{color:var(--field);font-weight:700}.app-shell{max-width:480px;min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));margin:0 auto;position:relative}.app-main{padding:20px 18px 28px}.brand-mark{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--field);margin-bottom:.35rem;font-size:1.55rem;font-weight:700;animation:.55s ease-out both rise}.view-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1rem;display:grid}.view-header-copy{min-width:0}.view-header-logo{border:1.5px solid var(--ink);width:clamp(64px,18vw,88px);height:auto;animation:.55s ease-out both rise;box-shadow:0 8px 18px #14281c29}.view-header h1{animation:.65s ease-out 50ms both rise}.lede{color:var(--ink-soft);max-width:34ch;margin-top:.55rem;font-size:1.02rem;line-height:1.45;animation:.7s ease-out .1s both rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro{min-height:100dvh;padding:28px 18px calc(28px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:relative;overflow:hidden}.intro-glow{filter:blur(10px);pointer-events:none;background:radial-gradient(closest-side,#e12c2c38,#0000);height:280px;animation:4.5s ease-in-out infinite pulse;position:absolute;inset:auto -30% 18%}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.intro-poster{z-index:1;border:2px solid var(--ink);width:min(340px,86vw);height:auto;box-shadow:var(--shadow);animation:.55s ease-out both rise;display:block;position:relative}.intro-tagline{z-index:1;max-width:24ch;color:var(--ink-soft);margin-top:.35rem;font-size:1.02rem;font-weight:600;line-height:1.35;animation:.65s ease-out 80ms both rise;position:relative}.intro-enter{z-index:1;background:#c41e1e;width:min(100%,280px);margin-top:.35rem;animation:.75s ease-out .12s both rise;position:relative}.intro-enter:active{background:#a81818}.intro-site{z-index:1;color:var(--field);letter-spacing:.02em;margin-top:.35rem;font-size:.9rem;font-weight:600;text-decoration:none;animation:.8s ease-out .16s both rise;position:relative}.intro-site:active{opacity:.7}.btn{letter-spacing:.04em;text-transform:uppercase;width:100%;min-height:52px;font-weight:700;font-family:var(--font-display);border-radius:999px;justify-content:center;align-items:center;font-size:1.15rem;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.view-interests .view-header .lede{max-width:none;margin-top:.75rem;font-size:1.08rem;line-height:1.55}.view-interests .brand-mark{margin-bottom:.5rem}.interest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1.6rem;display:grid}.interest-text-field{flex-direction:column;gap:.55rem;margin-top:1.75rem;display:flex}.interest-text-label{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-size:1.15rem;font-weight:700}.interest-text-field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:120px;font:inherit;color:var(--ink);background:#ffffffb3;border-radius:14px;padding:.95rem 1rem;font-size:1.05rem;line-height:1.5}.interest-text-field textarea:focus{outline:2px solid var(--field);outline-offset:1px}.interest-text-hint{color:var(--ink-soft);font-size:.95rem;line-height:1.45}.interest-chip{border:1.5px solid var(--ink);text-align:center;background:#ffffff73;border-radius:14px;min-height:48px;padding:.7rem .75rem;font-size:1rem;font-weight:600;line-height:1.25;transition:background .18s,color .18s,transform .18s}.interest-chip.is-on{background:var(--field);color:#f4f7ef;border-color:var(--field);transform:translateY(-1px)}.interest-summary{color:var(--ink-soft);margin-top:1.35rem;font-size:1.05rem;line-height:1.45}.interest-actions{flex-direction:column;gap:.7rem;margin-top:1.35rem;display:flex}.interest-preview{margin-top:2.1rem}.interest-preview h2{margin-bottom:.4rem;font-size:1.55rem}.interest-preview-hint{color:var(--ink-soft);margin-bottom:1rem;font-size:1rem;line-height:1.4}.interest-added{background:#1f4d3a1f;border:1px solid #1f4d3a47;border-radius:12px;margin-top:1rem;padding:.9rem 1rem;font-weight:600;line-height:1.4}.schedule-clear-row{margin:0 0 .9rem}.btn-compact{width:auto;min-height:42px;padding:0 1.1rem;font-size:1rem}.interest-day+.interest-day{margin-top:1.4rem}.interest-day h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.65rem;font-size:1.05rem}.interest-day ul{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.interest-day li{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:.65rem;padding:.85rem .95rem;display:grid}.interest-day li.is-selected{background:#1f4d3a1f;border-color:#1f4d3a47}.interest-match-copy{flex-direction:column;gap:.28rem;min-width:0;display:flex}.interest-day time{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.95rem;font-weight:700}.interest-preview-title{font-size:1.05rem;font-weight:600;line-height:1.4}.interest-match-speakers{color:var(--ink-soft);font-size:.95rem;line-height:1.35}.interest-add-btn{border:1.5px solid var(--ink);background:#ffffffb3;border-radius:12px;flex-shrink:0;width:44px;height:44px;font-size:1.35rem;font-weight:700;line-height:1}.interest-add-btn.is-on{background:var(--field);border-color:var(--field);color:#f4f7ef}@media (width>=420px){.interest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.day-tabs{border:1px solid var(--line);background:#ffffff8c;border-radius:999px;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:1.25rem 0 .9rem;padding:.3rem;display:grid}.day-tabs button{min-height:42px;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-radius:999px;font-size:1.15rem;position:relative}.day-tabs button.is-on{background:var(--field);color:#f3f7ef}.day-tabs .count{opacity:.85;margin-left:.3rem;font-size:.85rem}.search input,.filter-row select{border:1px solid var(--line);background:#ffffffb3;border-radius:12px;width:100%;min-height:46px;padding:0 .9rem}.programme-toolbar{flex-direction:row;align-items:center;gap:.5rem;margin:.65rem 0 1rem;display:flex}.programme-toolbar .search{flex:1;min-width:0}.programme-toolbar .clear-schedule-btn{flex-shrink:0}.schedule-clear-row .clear-schedule-btn{width:100%}.schedule-board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.55rem;width:100%;display:grid}.venue-column{min-width:0}.venue-heading{border-bottom:3px solid var(--field);justify-content:space-between;align-items:baseline;gap:.35rem;margin-bottom:.55rem;padding-bottom:.35rem;display:flex}.venue-column.venue-hq .venue-heading{border-bottom-color:var(--field)}.venue-column.venue-briefing .venue-heading{border-bottom-color:#2b5f8a}.venue-column.venue-arsenal .venue-heading{border-bottom-color:#8a4d1f}.venue-column.venue-ensa .venue-heading{border-bottom-color:#7a2f55}.venue-heading h2{font-size:clamp(.72rem,1.9vw,1.15rem);line-height:1.1}.venue-name-short{display:none}@media (width<=700px){.venue-name-full{display:none}.venue-name-short{display:inline}.schedule-board{gap:.3rem}.venue-heading h2{letter-spacing:.04em;text-align:center;width:100%;font-size:.85rem}}.empty-column{color:var(--ink-soft);padding:.5rem .25rem;font-size:.85rem}.session-list{flex-direction:column;gap:.65rem;display:flex}.session-list.compact{gap:.35rem}.session-row.is-compact{grid-template-columns:unset;border-left-width:3px;border-radius:0 8px 8px 0;flex-direction:column;min-width:0;display:flex;overflow:hidden}.session-row.is-compact .compact-top{justify-content:space-between;align-items:center;gap:.25rem;min-width:0;padding:.35rem .3rem 0 .45rem;display:flex}.session-row.is-compact .compact-top .session-main{flex:1;min-width:0;padding:.15rem .15rem 0;overflow:hidden}.session-row.is-compact .compact-top time{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.68rem,1.55vw,.82rem);font-weight:700;display:block;overflow:hidden}.session-row.is-compact .compact-body{flex-direction:column;align-items:flex-start;gap:.22rem;width:100%;min-width:0;padding:.25rem .45rem .5rem;display:flex}.session-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:1.15rem;font-weight:700;line-height:1.2;display:block}.session-row.is-compact .session-title{overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:clamp(.72rem,1.7vw,.95rem);line-height:1.2;display:-webkit-box;overflow:hidden}.session-row.is-compact h3{font-size:clamp(.72rem,1.7vw,.95rem);line-height:1.2}.session-row.is-compact .speakers,.session-row.is-compact .speakers-compact{color:var(--ink-soft);overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-height:3.9em;margin-top:0;font-size:clamp(.62rem,1.4vw,.78rem);line-height:1.3;display:block;overflow:hidden}.session-row.is-compact .add-btn{border-radius:6px;flex-shrink:0;width:22px;height:22px;margin:0;padding:0;font-size:.95rem;line-height:1}.session-row.is-compact .warn{margin-top:0;font-size:.62rem;display:block}@media (width<=700px){.venue-column{overflow:hidden}.schedule-board{gap:.28rem}.session-list.compact{gap:.32rem}.session-row.is-compact .compact-top time{font-size:.7rem}.session-row.is-compact .session-title{-webkit-line-clamp:4;font-size:.74rem}.session-row.is-compact .speakers,.session-row.is-compact .speakers-compact{max-height:4.2em;font-size:.68rem}.session-row.is-compact .add-btn{width:22px;height:22px;font-size:.9rem}.app-shell:has(.view-programme) .app-main{padding-left:8px;padding-right:8px}}.app-shell:has(.view-programme){max-width:min(100%,1200px)}.app-shell:has(.view-programme) .app-main{padding-left:12px;padding-right:12px}.app-shell:has(.view-programme) .bottom-nav{max-width:min(100%,1200px)}.view-programme .lede{max-width:none}.session-row{border-left:4px solid var(--field);border-radius:0 var(--radius) var(--radius) 0;background:#ffffff9e;grid-template-columns:1fr auto;align-items:stretch;gap:.4rem;animation:.4s ease-out both rise;display:grid;box-shadow:inset 0 1px #ffffffb3}.session-row.venue-hq{border-left-color:var(--field)}.session-row.venue-briefing{border-left-color:#2b5f8a}.session-row.venue-arsenal{border-left-color:#8a4d1f}.session-row.venue-ensa{border-left-color:#7a2f55}.session-row.is-selected{background:#1f4d3a1a}.session-row.is-overlap{outline:2px solid #b5452a8c}.session-row.is-tight{outline:2px solid #a86b1273}.session-main{text-align:left;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;padding:.85rem .75rem .9rem .9rem;display:flex}.session-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.session-meta time{font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.venue-tag{letter-spacing:.06em;text-transform:uppercase;background:#15201814;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.speakers{color:var(--ink-soft);font-size:.95rem;line-height:1.35;display:block}.warn{font-size:.85rem;font-weight:700;display:block}.warn-hard{color:var(--signal)}.warn-soft{color:var(--warn)}.add-btn{background:var(--ink);width:52px;color:var(--paper);border-radius:12px;margin:.45rem .45rem .45rem 0;font-size:1.4rem;font-weight:700;line-height:1;transition:background .15s,transform .15s}.add-btn.is-on{background:var(--ok)}.add-btn:active{transform:scale(.94)}.gap-note{color:var(--ink-soft);margin:.2rem 0 .55rem .9rem;font-size:.82rem}.gap-note.is-tight{color:var(--warn);font-weight:700}.timeline-item+.timeline-item{margin-top:0}.gap-block{background:#ffffff73;border:1px dashed #1520182e;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:.55rem;margin:.55rem 0 .65rem;padding:.55rem .65rem;display:grid}.gap-line{background:#15201829;height:1px}.gap-copy{text-align:center;flex-direction:column;align-items:center;gap:.15rem;min-width:9rem;display:flex}.gap-copy strong{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:1rem}.gap-copy span{color:var(--ink-soft);max-width:22ch;font-size:.78rem;line-height:1.3}.gap-block.is-ok{background:#2a6b4f14;border-color:#2a6b4f47}.gap-block.is-ok .gap-copy strong{color:var(--ok)}.gap-block.is-tight{background:#a86b121f;border-color:#a86b1266}.gap-block.is-tight .gap-copy strong{color:var(--warn)}.gap-block.is-clash{background:#b5452a1f;border-color:#b5452a73}.gap-block.is-clash .gap-copy strong{color:var(--signal)}.status-strip{flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem;display:flex}.status{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.35rem .65rem;font-size:.8rem;font-weight:700}.status.hard{color:var(--signal);background:#b5452a26}.status.soft{color:var(--warn);background:#a86b1229}.empty,.empty-block,.hint{color:var(--ink-soft);line-height:1.45}.empty-block{border:1px dashed var(--line);border-radius:var(--radius);background:#fff6;margin-top:1.5rem;padding:1.2rem}.muted{margin-top:.5rem;font-size:.95rem}.hint{margin-top:1.4rem;font-size:.95rem}.bottom-nav{width:100%;max-width:520px;padding:.55rem .45rem calc(.55rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#eef2e8eb;grid-template-columns:repeat(4,1fr);gap:.2rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{min-height:48px;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-radius:12px;padding:0 .15rem;font-size:.92rem;position:relative}.bottom-nav button.is-on{background:var(--field-deep);color:#f2f6ee}.badge{background:var(--brass-bright);min-width:1.2rem;height:1.2rem;color:var(--ink);font-size:.75rem;font-family:var(--font-body);border-radius:999px;place-items:center;margin-left:.3rem;padding:0 .25rem;font-weight:700;display:inline-grid}.sheet-backdrop{z-index:40;background:#0c161073;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:min(480px,100%);max-height:min(88dvh,720px);padding:1rem 1.15rem calc(1.4rem + env(safe-area-inset-bottom));box-shadow:var(--shadow);background:#f3f6ee;border-radius:22px 22px 0 0;animation:.28s ease-out sheet-up;overflow:auto}@keyframes sheet-up{0%{transform:translateY(24px)}to{transform:translateY(0)}}.sheet-close{float:right;color:var(--ink-soft);padding:.35rem .5rem;font-weight:700}.sheet-kicker{clear:both;color:var(--field);margin-bottom:.4rem;font-size:.9rem;font-weight:700}.sheet .speakers{margin:.55rem 0 .8rem}.sponsor{color:var(--ink-soft);margin-bottom:.8rem;font-size:.9rem}.conflict-box{background:#b5452a14;border-radius:12px;margin-bottom:1rem;padding:.85rem .95rem}.conflict-box h3{margin-bottom:.4rem;font-size:1rem}.conflict-box ul{color:var(--ink-soft);margin:0;padding-left:1.1rem;line-height:1.4}.sheet-cta{margin-top:.4rem}@media (width>=720px){.app-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#f4f7ef8c;border-radius:24px;min-height:calc(100dvh - 36px);margin-top:18px;margin-bottom:18px;overflow:clip}.bottom-nav{border-radius:0 0 24px 24px}}
