/* Retreat Yourself: public reference brand assets, restrained festival colour. */
:root{--ink:#2a2418;--muted:#716956;--paper:#fffaf0;--cream:#fffaf0;--line:#e6dcc4;--purple:#eed9dc;--green:#dce8d4;--orange:#f3dab7;--pink:#f2d4db;--plum:#754535;--lavender:#f4e5db;--accent:#9a4e30;--brand-gradient:linear-gradient(110deg,#e896aa,#edb875 58%,#c4c595)}
html{background:#f4d9c0;color:var(--ink)}
body,body[data-mobile-live]{color:var(--ink);font-family:'Montserrat',system-ui,sans-serif;background-color:#f4d9c0;background-image:radial-gradient(at 12% 20%,#c484fc55,transparent 42%),radial-gradient(at 85% 16%,#ffc37880,transparent 42%),radial-gradient(at 90% 70%,#fde04755,transparent 40%),radial-gradient(at 12% 78%,#f472b655,transparent 44%);background-attachment:fixed}
button,input,select,textarea{font-family:inherit}h1,h2,h3,h4,.event-title,.space-intro-copy h3,.cart-heading h2,.bottom-strip strong{font-family:'Montserrat',system-ui,sans-serif!important;font-weight:650;letter-spacing:-.035em;color:var(--ink)}
p,.phone-subtitle,.sheet-body,.editorial-copy{line-height:1.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9a4e30!important;outline-offset:3px}input,select{accent-color:#9a4e30}
.header,.phone-header{background:#c08550 url('/assets/brand/header-bg.jpg') center/cover;color:#fffaf0;border:0;box-shadow:0 1px 0 #5a4e3a20}
.header{height:88px;padding:14px 28px;gap:24px}.brand,.phone-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;max-width:100%}.brand-emblem{display:block;width:42px;height:42px;object-fit:contain;filter:invert(96%) sepia(11%) saturate(383%) hue-rotate(346deg) brightness(105%)}.brand-wordmark{display:block;width:260px;height:auto;max-width:100%}.brand:before,.phone-brand:before{display:none!important}.header nav{gap:7px;margin-left:auto;margin-right:0}.header .nav{height:44px;padding:0 18px;color:#fffaf0;font-weight:600;border-radius:24px;font-size:12px}.header .nav.active{background:#fffaf0;color:#493c29}.header .nav.active:after{display:none}.header .edition{color:#fffaf0;font-size:10px;letter-spacing:.02em;white-space:nowrap}.header #help{color:#fffaf0;border-color:#fff8}.header .tour-nav{color:#fffaf0}.live-dot{background:#708a61}
.header #plan-count{background:#e8dec9;color:#51432f}.workspace-heading{padding:26px 0 16px}.workspace-heading h2{font-size:28px;margin:6px 0 0}.eyebrow,.control-label,.phone-kicker{color:#74664e;letter-spacing:.1em;font-size:10px}
body.working .workspace-heading{background:transparent}.workspace{gap:18px}.planner{background:#fffaf0eb;border:1px solid #fff9;border-radius:18px;box-shadow:0 8px 30px #5a4e3a09}.workspace-main{min-width:0}.toolbar{background:#fffaf0;padding:14px 18px;border-color:var(--line)}.toolbar .view-switch{background:#f4ecdf;border:1px solid var(--line);border-radius:30px;padding:4px;gap:4px}.toolbar .view-switch button{background:transparent;color:#6b624f;border:0;border-radius:24px;padding:11px 17px;font-size:13px;box-shadow:none}.toolbar .view-switch button.active{background:var(--brand-gradient);color:#35291c;box-shadow:0 2px 6px #62432d15}.toolbar .view-switch button span{font-size:12px}
#filter-sidebar,#schedule-cart{background:#fffaf0e8;border-color:var(--line);box-shadow:none;color:var(--ink)}.filter-sidebar-heading h2,.cart-heading h2{color:var(--ink);font-size:20px}.filter-sidebar-heading button,.cart-heading button{color:#6b624f;background:#f5ecde;border-color:var(--line)}#filter-sidebar input[type=search],#filter-sidebar select,#sector-picker,#locations-picker{background:#fffdf7;border-color:var(--line);color:var(--ink)}#sector-picker summary,#locations-picker summary{color:var(--ink)}.sidebar-search input{min-height:44px}.day.active,.phone-day-picker button.active,.phone-segments button.active{background:#ead5b9;color:#493c29;border-color:#bba17d}.chip.active{background:#f0dfc7;color:#493c29;border-color:#baa17a}.time-filter-toggle{background:#fffaf0;border-color:var(--line);color:var(--ink)}
.primary,.main-action,.auth-card button{background:#875039;color:#fffaf0;border:1px solid #875039;border-radius:24px;box-shadow:none;font-weight:600}.primary:hover,.main-action:hover{background:#6c3f2c}.secondary,.pill{background:#fffaf0;color:#5b4b35;border:1px solid var(--line);border-radius:24px}.catalogue-filters{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0}.catalogue-filters label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.catalogue-filters select{min-height:42px;width:100%;border-radius:9px}.filter-checks{color:#5b503d}
.list-mode .discover-panel{padding:22px!important;background:transparent}.list-mode #event-list{display:block!important;overflow:visible}.list-mode .results-heading{display:none}.list-mode .results-meta{font-size:12px;color:#6b624f;margin-bottom:18px}.programme-grouping{display:flex;gap:4px;background:#f2e8d8;border:1px solid var(--line);border-radius:30px;padding:4px;width:max-content;max-width:100%;margin-bottom:26px}.programme-grouping button{padding:10px 18px;border-radius:24px;font-size:12px;color:#6b624f}.programme-grouping button[aria-pressed=true]{background:var(--brand-gradient);color:#35291c;font-weight:650}.programme-group{margin-bottom:32px}.programme-group>h3{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 14px;font-size:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.programme-group>h3 small{font-size:10px;letter-spacing:0;font-weight:500;color:#716956}.programme-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.event-card{background:#fffdf6;border:1px solid #e6dcc4;border-left:3px solid var(--venue-colour,#b8a68c);border-radius:11px;padding:17px;margin:0;box-shadow:none;animation:none}.event-card:hover{border-color:#bca687;box-shadow:0 4px 12px #614d2910}.event-title{font-size:16px!important;line-height:1.4;margin:12px 0 6px;font-weight:650!important;color:#2a2418!important}.event-host{color:#716956;font-size:11px;margin-bottom:10px}.event-time{color:#66583f;font-size:11px}.event-category{display:none}.card-bottom{font-size:11px;color:#6b624f}.save-button{width:36px;height:36px;background:#fffaf0;color:#754535;border-color:#d9c7a9}.save-button.saved{background:#875039;border-color:#875039;color:white}.event-badges{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.event-badges span{display:inline-block;font-size:10px;line-height:1.4;letter-spacing:0;background:#eee9dc;color:#62553f;border-radius:5px;padding:4px 7px;font-weight:500}
#filters-toggle,#cart-toggle{background:#f5e9d8;color:#6b5035;border-color:#d9c5a5}.grid-space-heading,.calendar-day-heading{background:color-mix(in srgb,var(--venue-colour,#d3b993) 18%,#fffaf0);color:#33291c}.grid-event,.calendar-event{background:color-mix(in srgb,var(--venue-colour,#d3b993) 14%,#fffdf6);border-color:color-mix(in srgb,var(--venue-colour,#d3b993) 45%,#fffdf6);color:#2a2418}.grid-event strong,.calendar-event strong{color:#2a2418}.calendar-free{background:#fbf6eb;color:#776b55}.zoom-controls,.timetable-caption{background:#fffaf0;border-color:var(--line);color:#6b624f}.zoom-controls button.active{background:#ead8bc;color:#493b28}.bottom-strip{padding-block:24px}.bottom-strip strong{font-size:17px}.bottom-strip p,footer{color:#74664e}.bottom-strip .little-flower{color:#b17e55}
dialog,#phone-sheet{background:#fffaf0;border-color:var(--line);color:var(--ink);box-shadow:0 20px 80px #35291c33}dialog::backdrop{background:#2a24184d;backdrop-filter:blur(5px)}.detail-art{background:var(--brand-gradient)!important;color:#fffaf0}.detail-meta,.sheet-meta{color:#71634a}.detail-bring,.source-entry{background:#f3eadb;border-color:var(--line);color:#62553f}.editorial-label,.source-note{color:#7d705b}.space-intro-art,.swipe-art,.card-illustration{background:var(--brand-gradient)!important}.space-intro-art .spirit-art,.card-illustration .spirit-art,.swipe-art .spirit-art{display:none}.space-intro-art:before,.card-illustration:before{content:'';position:absolute;inset:16px;background:url('/assets/brand/ry-logo-circle.png') center/contain no-repeat;opacity:.25}.space-intro-copy{background:#fffaf0}.space-intro-copy h3{color:var(--ink)}.swipe-copy,.swipe-card{background:#fffaf0;color:var(--ink)}.swipe-copy h3{font-size:26px}.swipe-fit,.phone-fit{background:#e6ead7;color:#4b5e3e}.swipe-actions button,.phone-card-actions button{border-color:var(--line);background:#f0dfcc;color:#66472e}.swipe-actions #discovery-save,.phone-card-actions .yes{background:#875039;color:#fffaf0}.discovery-status{background:#f5ecde;border-color:var(--line);color:#6b624f}.discovery-data-note{color:#7d705b}.space-spirit{display:none!important}
.auth-gate{background:transparent!important}.auth-card{border:1px solid #fff9;background:#fffaf0ed;border-radius:22px;box-shadow:0 20px 70px #62432715}.auth-brand{display:flex;align-items:center;gap:12px;margin:-36px -36px 30px;padding:28px 24px;background:#c08550 url('/assets/brand/header-bg.jpg') center/cover;border-radius:22px 22px 0 0}.auth-brand .brand-wordmark{width:270px;min-width:0}.auth-card h1{font-size:25px!important;color:#493c29}.auth-card p,.auth-card label{color:#71634a}.auth-card input{border-color:var(--line);color:var(--ink)}#app-loader{background:#fffaf0;color:#71634a}.app-loader-mark{background:#f0dfc7;color:#875039;border-color:#dbc5a5}.app-loader-inner p{color:#71634a}
/* Phone shell: programme first, generous targets and quiet surfaces. */
.phone-app{background:transparent;max-width:760px}.phone-header{height:72px;padding:12px 16px;gap:10px}.phone-brand{min-width:0;gap:8px}.phone-brand .brand-emblem{width:32px;height:32px}.phone-brand .brand-wordmark{width:205px;min-width:0}.phone-header-actions{gap:4px;margin-left:auto}.phone-header .icon-button{width:36px;height:36px;background:#fffaf022;color:#fffaf0;border-color:#fff6}.phone-header .tour-nav{display:none}.phone-nav{max-width:760px;background:#fffaf0f5;border-top:1px solid var(--line);box-shadow:0 -2px 20px #62432708;padding-top:7px}.phone-nav button{color:#76654c;font-size:10px}.phone-nav button.active{background:#f0dfc7;color:#624329;box-shadow:none;border-color:#d9c2a0}.phone-nav i{background:#875039;border-color:#fffaf0;color:#fffaf0}.phone-nav button>span{color:inherit}.phone-discover-heading{align-items:center;margin-bottom:14px}.phone-discover-heading h1{font-size:25px}.phone-discover-stats{gap:3px}.phone-discover-stats button{color:#6b624f;min-height:44px;min-width:42px;border:0;background:#fffaf080;border-radius:9px}.phone-discover-stats [data-phone-stat=matching],.phone-discover-stats [data-phone-stat=passed]{display:none}.phone-discover-stats strong{font-size:13px}.phone-discover-stats small{font-size:9px}.phone-segments{background:#f2e6d5;border:1px solid #dfcfb5;border-radius:28px;padding:4px;gap:4px}.phone-segments button{border-radius:23px;color:#6b624f;font-size:12px;min-height:42px}.phone-segments button.active{background:var(--brand-gradient);color:#35291c;box-shadow:0 2px 4px #5d452810}.list-refine{background:#fffaf0c9;border-color:#e6dcc4;border-radius:12px;color:#6b624f}.list-refine select{background:#fffaf0;border-color:var(--line);font-size:12px}.list-category-filters button{background:#fffaf080;border-color:var(--line);color:#6b624f}.list-category-filters button.active{background:#f0dfc7;border-color:#bba17d;color:#493c29}.phone-list-card{background:#fffdf6!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:16px!important;margin:0 0 10px;box-shadow:0 3px 9px #62432704}.phone-list-card h3{font-size:15px;font-weight:650!important;line-height:1.45!important;color:#2a2418!important}.phone-list-card p,.phone-event-time{color:#71634a;font-size:11px}.phone-list-card .icon-button{background:#fffaf0;color:#875039;border-color:#dac7aa;min-width:40px;min-height:40px}.phone-list-card .chosen{background:#875039;color:#fffaf0}.phone-list-card .event-badges{margin-bottom:0}.phone-subtitle{color:#71634a}.phone-space-card{background:#fffaf0e8;border-color:var(--line)}.phone-space-card h3{font-size:15px}.phone-space-card p{color:#71634a}.phone-space-art{background:color-mix(in srgb,var(--tint) 15%,#fffaf0);border-radius:50%}.phone-space-art svg{display:none}.phone-space-art:after{content:'✳';font-size:26px;color:var(--tint)}.phone-day-picker button{background:#fffaf0;border-color:var(--line);color:#71634a}.phone-day-picker button.active{background:#f0dfc7;color:#493c29;border-color:#bba17d}.phone-agenda-item{background:#fffaf0;border-color:var(--line)}.phone-agenda-time,.phone-plan-footer{color:#71634a}.phone-gap{background:#fffaf0b3;color:#71634a;border-color:#cdb795}.phone-card-copy h2{color:#2a2418;font-weight:650}.discovery-card{background:#fffaf0;border-color:#d9c7ae;box-shadow:0 5px 0 -2px #e7c8b3}.phone-card-actions{background:linear-gradient(transparent,#f5e3cf 35%);padding-top:12px}.phone-card-actions button{border-radius:24px;min-height:48px}.phone-interview,.discovery-footer{color:#71634a}.settings-list button,.setting-action{background:#fffaf0;border-color:var(--line);color:#493c29}.sheet-form input,.sheet-form select{background:#fffdf7;border-color:var(--line);color:var(--ink);font-size:16px}.sheet-form label{color:#71634a}.phone-filter-checks label{background:#fffaf0;border-color:var(--line)}.phone-filter-checks label:has(input:checked){background:#f0dfc7;border-color:#bba17d}.filter-submit-bar{background:#fffaf0}.phone-menu-actions button{color:#5b4b35;border-color:var(--line)}#phone-toast,#toast{background:#624329;color:#fffaf0}.phone-map{background:#e4e7d5;border-color:#d9c7ae}
@media(max-width:1100px){.header{gap:14px;padding-inline:20px}.header .brand-wordmark{width:210px}.header .edition{display:none}.header .nav{padding-inline:12px}.programme-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:760px){.phone-brand .brand-wordmark{width:190px}.programme-cards{grid-template-columns:1fr}.phone-app h1{color:#2a2418}.phone-app h2{color:#2a2418}#phone-main{padding-top:22px}.event-badges span{font-size:10px}.phone-card-actions{max-width:460px}.auth-card{padding:28px}.auth-brand{margin:-28px -28px 26px}.header .brand-wordmark{width:170px}}
@media(max-width:350px){.phone-brand .brand-wordmark{width:165px}.phone-header{padding-inline:12px}.phone-brand .brand-emblem{width:28px;height:28px}.phone-discover-heading h1{font-size:22px}.phone-discover-stats button{min-width:36px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
@media print{html,body,.phone-app{background:white!important}.event-card,.phone-list-card{break-inside:avoid;box-shadow:none!important}}
/* Override older high-specificity prototype themes at the shared boundary. */
body .toolbar .view-switch button{background:transparent!important;color:#6b624f!important;border-color:transparent!important;box-shadow:none!important}
body .toolbar .view-switch button.active{background:var(--brand-gradient)!important;color:#35291c!important;border-color:transparent!important}
body .filter-sidebar-heading,body .cart-heading{background:#f5ecde!important;color:#493c29!important}
body #workspace-title{color:#35291c!important}body .workspace-heading .eyebrow{color:#74664e!important}
/* The 3D world shares the programme's surfaces and venue colours. */
.map-mode #explore-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important}.map-mode .map-panel{height:690px;min-height:560px}.map-mode .discover-panel{height:690px;background:#fffaf0;border-color:var(--line);padding:20px}.map-mode .event-card{margin-bottom:10px}.map-mode .results-heading h2{font-size:20px}.map-mode .small-spark{display:none}
.world-enhanced>.map-viewport,.world-enhanced>.map-title,.world-enhanced>.map-key,.world-enhanced>.map-controls,.world-enhanced>.map-bottom-note,.world-enhanced>.map-stamp{display:none!important}
.festival-world{position:relative;width:100%;height:100%;min-height:460px;overflow:hidden;background:radial-gradient(ellipse at 25% 20%,#f5e5ca,#e7ead9 65%,#d8e3d7);border-radius:14px;isolation:isolate}
#festival-world{position:absolute;inset:0}.world-scene,.world-labels{position:absolute;inset:0}.world-scene canvas{display:block;max-width:100%;touch-action:none}.world-labels{pointer-events:none;overflow:hidden;z-index:2}.venue-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border:1px solid #fffaf0b3;border-radius:24px;background:#fffaf0ed;box-shadow:0 3px 12px #3f513223;color:#493c29;font:600 10px 'Montserrat',sans-serif;white-space:nowrap;pointer-events:auto;transition:opacity .2s,background .2s;will-change:transform}.venue-dot{height:6px;width:6px;border-radius:50%;background:var(--venue-color)}.venue-count{font-size:9px;background:#e8dfcd;border-radius:20px;padding:2px 4px}.venue-label.selected,.venue-label.hovered{background:#fff2d4;border-color:#b39059;z-index:4}.venue-label.muted{opacity:.4}.world-controls{position:absolute;bottom:42px;right:16px;z-index:4;display:flex;gap:3px;padding:4px;background:#fffaf0ed;border:1px solid #daceb8;border-radius:26px;box-shadow:0 4px 15px #5c4a2b12}.world-controls button{width:36px;height:36px;border-radius:50%;font-size:18px;color:#625136}.world-controls button[aria-pressed=true]{background:#e8d5b7}.world-caption{position:absolute;left:20px;top:20px;z-index:3;font-size:20px;font-weight:650;letter-spacing:-.04em;pointer-events:none;color:#493c29}.world-caption span{display:block;font-size:10px;font-weight:400;letter-spacing:0;margin-top:7px}.world-disclaimer{position:absolute;bottom:16px;left:20px;font-size:9px;color:#665c47;z-index:3}.world-directory{position:absolute;top:20px;right:16px;z-index:5;width:150px;background:#fffaf0ee;border:1px solid #dfd2ba;border-radius:16px;color:#625136;font-size:11px}.world-directory summary{padding:11px 13px;cursor:pointer}.world-directory>div{max-height:300px;overflow:auto;padding:0 6px 6px;display:grid}.world-directory button{padding:10px 6px;text-align:left;border-radius:8px;font-size:11px;min-height:36px}.world-directory button:hover{background:#eee1c9}.world-loading{position:absolute;inset:0;display:grid;place-items:center;z-index:6;background:#eee9d9e6;font-size:14px;color:#71634a}.world-loading[hidden]{display:none}.world-unavailable .world-loading{inset:80px 15px auto;background:none}.world-unavailable .world-directory{top:140px;left:20px;right:20px;width:auto}.world-unavailable .world-controls{display:none}.world-unavailable .world-scene,.world-unavailable .world-labels{display:none}
.phone-map.festival-world{height:65dvh;min-height:460px;max-height:680px;margin-top:14px}.phone-map .world-caption{font-size:17px;top:16px;left:14px}.phone-map .world-caption span{max-width:150px;line-height:1.6}.phone-map .world-directory{width:128px;right:10px;top:14px}.phone-map .world-controls{right:10px;bottom:42px}.phone-map .world-controls button{width:34px;height:36px}.phone-map .world-disclaimer{left:14px;font-size:8px}.phone-map .venue-label{font-size:9px;padding:6px 8px}
@media(max-width:1200px){.map-mode #explore-layout{grid-template-columns:minmax(0,1fr)!important}.map-mode .discover-panel{height:360px;border-left:0;border-top:1px solid var(--line)}.map-mode #event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.map-mode .map-panel{height:620px}}
@media print{.festival-world{display:none!important}}
.map-mode .event-title{font-size:14px!important}.map-mode .event-card{padding:14px!important}.map-mode .event-card .card-top{font-size:10px}.map-mode .event-card .card-bottom{font-size:10px}.world-enhanced{background:#e7ead9}.world-caption{max-width:55%}
/* Labels yield to each other as the camera moves; the directory always lists every space. */
.venue-label.occluded{opacity:0;visibility:hidden;pointer-events:none}
.phone-header #phone-settings[hidden]{display:none}
.phone-map.festival-world:before,.phone-map.festival-world:after{display:none}
.phone-space-toggle,.phone-view-toggle{background:#f2e6d5;color:#6b624f;border-color:#dfcfb5}
.phone-space-toggle button.active,.phone-view-toggle button.active{background:#fffaf0;color:#493c29}
.catalogue-filters{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.catalogue-filters select{min-width:0;min-height:36px;font-size:11px;padding:6px}
@media(max-width:760px){.header .tour-nav{display:none}.header nav{max-width:100%;flex-wrap:wrap}}
@media(min-width:761px){.venue-header-viewport{top:88px;background:#fffaf0}}
body .event-card .event-time,body .event-card .card-bottom>span{color:#71634a}
body .event-card{border-bottom-color:#e6dcc4}
.phone-map .world-controls button{width:42px;min-height:44px}
#filter-sidebar .catalogue-filters label{display:grid!important;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;line-height:1.2}
#filter-sidebar .catalogue-filters select{width:100%;padding:6px 4px;font-size:10px;min-height:32px}
#filter-sidebar .control-label,#filter-sidebar label,#filter-sidebar #sector-summary{color:#71634a}
#filter-sidebar .day,#filter-sidebar .filter-sidebar-heading{border-color:#e6dcc4}
/* Keep the application shell stable; orientation belongs inside the content area. */
html{overflow-y:scroll}
body .workspace-heading{padding-top:18px;padding-bottom:12px}
body .workspace-heading h2{font-size:24px}
body .toolbar .view-switch{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%}
body .toolbar .view-switch button{flex:1;white-space:nowrap}
#discovery-view{padding:20px;min-width:0}
#discovery-view .discovery-stage{min-height:420px}
#discovery-view .discovery-welcome-screen{min-height:360px;padding:28px;margin:0 auto;background:#fffaf0;border-color:#e6dcc4;box-shadow:none}
.discovery-welcome-mark{background:#b37d57;animation:none}
.discovery-welcome p{color:#71634a}
.discovery-heading{padding:0;margin-bottom:18px;gap:12px}
.discovery-heading h2{font-size:26px;margin:6px 0}
.discovery-heading p{margin:6px 0}
.discovery-status{margin:12px 0 18px;padding:10px 12px;gap:8px;flex-wrap:wrap}
.discovery-status button{min-height:36px}
.timetable-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:#fffaf0}
.timetable-days{display:flex;gap:4px}.timetable-days button{padding:9px 12px;border-radius:8px;min-height:38px;color:#71634a;border:1px solid transparent}.timetable-days button.active{background:#ead8bc;border-color:#cdb795;color:#493c29}.timetable-days span{margin-left:4px;font-size:11px}
.timetable-tools .calendar-zoom{margin:0;padding:0;border:0;display:flex;align-items:center;gap:4px;background:none}.calendar-zoom button{min-height:36px;border-radius:8px}.timetable-tools .calendar-zoom>span{font-size:11px;margin-right:4px;color:#71634a}
.column-picker{position:relative;margin-left:auto;font-size:12px}.column-picker summary{padding:10px 12px;min-height:38px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.column-picker>div{position:absolute;right:0;top:calc(100% + 6px);width:250px;max-height:350px;overflow:auto;background:#fffaf0;padding:10px;border:1px solid #d8c6aa;border-radius:10px;box-shadow:0 6px 24px #493c2920;z-index:30}.column-picker label{display:flex;align-items:center;gap:9px;min-height:38px;font-size:12px}.column-picker input{width:17px;height:17px}.column-picker button{padding:10px;margin-bottom:6px;text-decoration:underline;color:#875039}
.timetable-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:8px 16px;border-bottom:1px solid var(--line);background:#fffaf0;font-size:11px;color:#71634a}.timetable-shortcuts button{padding:7px 10px;min-height:32px;border:1px solid transparent;border-radius:7px}.timetable-shortcuts button[aria-pressed=true]{background:#f0e1c9;border-color:#d5bea0}.timetable-shortcuts small{margin-left:auto;font-size:10px}
.venue-head-row .grid-space[data-venue]{display:flex;gap:6px;align-items:center;padding:8px 6px 8px 10px;background:color-mix(in srgb,var(--venue-colour) 12%,#fffaf0);border-top:3px solid var(--venue-colour)}.venue-head-row .grid-space strong{font-size:12px;font-weight:600;white-space:normal;line-height:1.3}.hide-venue{margin-left:auto;flex:0 0 30px;width:30px;height:34px;border-radius:6px;color:#61533d;font-size:19px}.hide-venue:hover{background:#fffaf0}.calendar-day-heading{display:flex;align-items:center;justify-content:center;gap:8px}.focus-day{display:grid;gap:4px;text-align:left;padding:8px;color:inherit}.focus-day span{font-size:10px}.header-me-time{width:34px;min-height:36px;border:1px solid #d8c6aa;border-radius:8px;color:#71634a;background:#fffaf0}
@media(max-width:760px){.timetable-tools{padding:10px;gap:8px}.timetable-days{width:100%}.timetable-days button{flex:1;padding:8px}.timetable-shortcuts small{width:100%;margin-top:4px}.timetable-tools .calendar-zoom button{padding:6px;font-size:10px}.column-picker{font-size:11px}.column-picker>div{width:230px}#discovery-view{padding:14px}#discovery-view .discovery-welcome-screen{padding:20px;min-height:320px}.phone-controls{display:flex!important;gap:8px;margin:0 0 12px}}
.timetable-tools .calendar-zoom:after{display:none!important}
.timetable-tools .calendar-zoom button.active{background:#ead8bc!important;color:#493c29!important;border-color:#cdb795!important}
body .grid-column .grid-event{background:color-mix(in srgb,var(--venue-colour) 16%,#fffdf6)!important;color:#2a2418!important;border:1px solid color-mix(in srgb,var(--venue-colour) 45%,#fffdf6)!important;border-left:3px solid var(--venue-colour)!important}
body .grid-event .grid-detail,body .grid-event .grid-detail strong{color:#2a2418!important}
body .grid-event.is-saved{background:color-mix(in srgb,var(--venue-colour) 28%,#fffdf6)!important}
body .grid-corner,body .grid-times{background:#f4ecdf!important;color:#71634a!important}
body .rail-heading,body .hour-choices{background:#f6f0e4!important;color:#71634a!important;border-color:#e6dcc4!important}

body .planner.discover-mode{max-width:none;width:100%;margin-inline:0}
/* One date/filter entry point on phones; keep sorting local to the list. */
body[data-mobile-live] .phone-discover-stats>button[data-filters],body[data-mobile-live] .list-refine>button[data-filters]{display:none}
.workspace-main{overflow-anchor:none}
.discovery-welcome h3{color:#493c29}
#discovery-view .discovery-aside{display:none}
#discovery-view .discovery-stage{padding:12px 0;min-height:360px;background:none}
#discovery-view .swipe-stack{width:620px;max-width:100%}
#discovery-view .swipe-stack:before,#discovery-view .swipe-stack:after{display:none}
#discovery-view .swipe-art{height:96px}
#discovery-view .swipe-symbol{font-size:42px}
#discovery-view .swipe-copy{padding:18px 22px}
#discovery-view .swipe-copy h3{font-family:'Montserrat',system-ui,sans-serif;font-size:22px;line-height:1.3;margin:10px 0}
#discovery-view .swipe-copy .editorial-copy{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0}
#discovery-view .swipe-actions{padding:12px 0 0;gap:8px;align-items:stretch}
#discovery-view .swipe-actions button{flex:1;flex-direction:row;justify-content:center;align-items:center;gap:7px;padding:8px;border:1px solid #dbc9ac;border-radius:12px;background:#fffaf0;color:#624329;font-size:12px;min-height:44px}
#discovery-view .swipe-actions button>span{width:auto;height:auto;margin:0;background:none;border:0;font-size:19px;color:inherit}
#discovery-view .swipe-actions #discovery-save{background:#875039;color:#fffaf0;border-color:#875039}
#discovery-view .swipe-footnote{margin:8px 0 0;font-size:11px;color:#71634a}
/* Filtering should update immediately, without fading the entire timetable. */
body .grid-column .grid-event{animation:none}
body .grid-times>span{background:#f4ecdf;color:#71634a}
