@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#273d32;--muted:#7c8175;--paper:#f8f7f1;--line:#e3e3d8;--purple:#e6d7ec;--green:#dee9ce;--orange:#f3dfb4;--pink:#f0d7cc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9568b5;outline-offset:4px}button{transition:background .2s,transform .2s,box-shadow .2s}button:hover{filter:brightness(.96)}button:active{transform:scale(.97)}[hidden]{display:none!important}.header{height:98px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 4.5%}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:2.3px;line-height:1.2}.brand-mark{font-size:57px;border-radius:50%;width:53px;height:53px;background:var(--ink);color:var(--paper);display:grid;place-content:center;line-height:1;transform:rotate(-22deg);font-family:serif}.brand-sub{display:block;font-size:8px;letter-spacing:.2px;font-weight:450;margin-top:7px}.header nav{display:flex;gap:32px;margin:auto}.nav{height:98px;font-size:13px;position:relative;padding:0 2px;color:#7b8075}.nav.active{color:var(--ink);font-weight:650}.nav.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--ink)}#plan-count{display:inline-grid;place-content:center;width:22px;height:22px;border-radius:50%;background:#e8ebdf;font-size:11px;margin-left:5px}.icon-button{border:1px solid #adb5a7;border-radius:50%;height:23px;width:23px;padding:0;font-size:12px}.edition{font-size:9px;letter-spacing:1.5px;display:flex;gap:12px;align-items:center}.live-dot{display:inline-block;width:7px;height:7px;background:#76976b;border-radius:50%}main{max-width:1600px;margin:auto;padding:0 4.5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:40px 0 34px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650}.intro .eyebrow span{padding-left:10px}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:58px;line-height:1.08;letter-spacing:-1.8px;margin:17px 0}h1 em{font-weight:500;color:#79876a}.sun-doodle{display:inline-block;color:#bfa14e;font-family:Georgia,serif;font-size:65px;line-height:30px;vertical-align:middle;margin-left:28px;animation:sunspin 50s linear infinite}.intro p{font-size:12px;color:var(--muted);margin:0}.intro-note{padding:0 68px 0 30px;transform:rotate(-7deg);text-align:center}.intro-note .note-star{font-size:37px;color:#9da889}.intro-note p{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:22px;color:#6b775e;line-height:1.4;margin:8px 0}.intro-note>span:last-child{font-size:10px;color:#8a8d80}.planner{border:1px solid #dadfd1;border-radius:16px;background:#fffdf7;overflow:hidden;box-shadow:0 7px 20px #293b2d04}.toolbar{display:flex;padding:15px 21px;border-bottom:1px solid var(--line);gap:14px;align-items:center}.days{display:flex;gap:7px}.day{padding:9px 20px;border-radius:7px;font-size:12px;color:#7a8071;white-space:nowrap}.day span{margin-left:7px;font-size:10px;opacity:.8}.day.active{background:var(--ink);color:white}.view-switch{display:flex;background:#f0f0e9;border-radius:7px;padding:3px;margin-left:auto}.view-switch button{padding:7px 14px;font-size:14px;border-radius:5px}.view-switch button span{font-size:11px;margin-left:5px}.view-switch button.active{background:#fffefb;box-shadow:0 1px 4px #273d3210}.surprise{font-size:11px;border:1px solid #dcded2;border-radius:7px;padding:10px 15px}.filterbar{padding:15px 21px;display:flex;align-items:center;gap:15px}.filter-label{font-size:10px;color:#878a7c;white-space:nowrap}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{padding:8px 12px;border-radius:20px;font-size:10px;border:1px solid transparent;background:#f0f0e8;white-space:nowrap}.chip[data-category=restore]{background:#eee5f3}.chip[data-category=music]{background:#f8edcf}.chip[data-category=create]{background:#e9eedf}.chip[data-category=connect]{background:#f5e5df}.chip.active{border-color:#7a876e;box-shadow:inset 0 0 0 1px #7a876e20}.chip span{margin-right:5px}.filter-more{margin-left:auto;font-size:11px;white-space:nowrap}.filter-more span{margin-left:5px}#extra-filters{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:15px 22px;background:#f0f0e7;border-top:1px solid var(--line);font-size:12px}#extra-filters label{display:flex;align-items:center;gap:8px}input[type=search],select{background:#fffdf7;border:1px solid #cdd2c3;border-radius:6px;padding:8px}#reset{text-decoration:underline}#explore-layout{display:grid;grid-template-columns:minmax(0,1fr) 346px;border-top:1px solid var(--line)}.map-panel{min-height:535px;position:relative;background:#e9eddc;overflow:hidden}.map-title{position:absolute;left:24px;top:23px;z-index:2;font-size:9px;letter-spacing:1.5px;pointer-events:none}.map-title .live-dot{margin-right:7px}.map-title small{display:block;font-size:10px;letter-spacing:0;color:#89937d;margin-top:8px}.map-viewport{position:absolute;inset:0;overflow:hidden}.map-viewport.zoomed{overflow:auto}#map-world{width:100%;height:100%;position:relative;min-width:600px;transform-origin:0 0;transition:width .3s,height .3s}.landscape{position:absolute;width:100%;height:100%;inset:0}.map-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;z-index:3;white-space:nowrap;padding:3px;transition:opacity .25s,filter .25s}.map-pin:active{transform:translate(-50%,-50%) scale(.96)}.pin-icon{display:grid;place-content:center;width:39px;height:39px;border:2px solid #fff9e9;border-radius:14px 14px 14px 3px;transform:rotate(-8deg);font-size:23px;background:#d6bfdf;box-shadow:0 4px 0 #394b3420;transition:transform .25s}.map-pin:hover .pin-icon,.map-pin.selected .pin-icon{transform:rotate(5deg) translateY(-5px)}.map-pin[data-category=music] .pin-icon{background:#f3cb79}.map-pin[data-category=create] .pin-icon{background:#b9c99e}.map-pin[data-category=connect] .pin-icon{background:#edba9e}.pin-label{margin-top:6px;background:#fffdf1e8;border:1px solid #d8dbc9;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:650;box-shadow:0 2px 5px #283c3210}.pin-number{position:absolute;background:var(--ink);color:#fff;font-size:8px;border-radius:20px;top:0;right:24%;min-width:16px;height:16px;display:grid;place-content:center}.map-pin.dim{opacity:.3;filter:grayscale(.6)}.map-pin.selected .pin-label{background:var(--ink);color:white}.map-key{position:absolute;left:20px;bottom:36px;display:flex;gap:13px;font-size:8px;color:#6d7862;z-index:4;pointer-events:none}.map-key i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.map-controls{position:absolute;right:18px;bottom:20px;display:flex;border:1px solid #d4d9c7;border-radius:7px;background:#fffdf3;box-shadow:0 2px 7px #283c320c;z-index:5}.map-controls button{width:31px;height:31px;font-size:19px}.map-controls button+button{border-left:1px solid #e0e4d4}.map-bottom-note{position:absolute;left:20px;bottom:18px;color:#8d977f;font-size:8px}.map-stamp{position:absolute;right:25px;top:49%;text-align:center;color:#78866a;font-size:8px;letter-spacing:1px;transform:rotate(9deg);pointer-events:none}.map-stamp em{display:block;font-family:Georgia,serif;font-size:32px;line-height:1.2;letter-spacing:-1px}.map-stamp span{font-size:6px;display:block}.discover-panel{background:#fffdf8;padding:25px 20px 0;border-left:1px solid var(--line);height:535px;display:flex;flex-direction:column}.results-heading{display:flex;align-items:center;justify-content:space-between}.results-heading .eyebrow{font-size:8px;color:#8e947f}h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:25px;letter-spacing:-.7px;margin:9px 0 13px}.small-spark{font-size:35px;color:#aab393}.results-meta{font-size:10px;color:#8c9282;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.results-meta button{font-size:10px;text-decoration:underline}#event-list{overflow:auto;flex:1;padding:0 3px 16px 0;scrollbar-width:thin;scrollbar-color:#d9dccf transparent}.event-card{border:1px solid #e2e4d8;border-radius:10px;padding:15px;margin-bottom:10px;background:#fffefa;position:relative;animation:appear .35s ease both}.event-card:hover{border-color:#adb99c;box-shadow:0 3px 10px #3f513c08}.event-card[data-category=restore]{--tag:#ede2f1;--accent:#9c77ac}.event-card[data-category=music]{--tag:#f7e9c7;--accent:#c39845}.event-card[data-category=create]{--tag:#e5ecd9;--accent:#809763}.event-card[data-category=connect]{--tag:#f4e2d8;--accent:#bd8c74}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:10px}.event-time{font-weight:650;letter-spacing:.2px}.event-category{font-size:8px;padding:4px 7px;border-radius:4px;background:var(--tag);color:#655f55}.event-title{font-family:'Playfair Display',Georgia,serif;font-size:19px;letter-spacing:-.3px;line-height:1.2;margin:13px 0 5px;padding:0;text-align:left;display:block}.event-title:after{content:'';position:absolute;inset:0;border-radius:10px}.event-host{font-size:10px;color:#8a8d80;margin:0 0 14px}.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b907e}.space-dot{display:inline-block;width:5px;height:5px;background:var(--accent);margin-right:5px;border-radius:50%}.save-button{position:relative;z-index:1;width:27px;height:27px;border:1px solid #d5dacb;border-radius:50%;font-size:19px;display:grid;place-content:center;background:#fffefa}.save-button.saved{background:var(--ink);color:#fff;border-color:var(--ink);font-size:14px}.timebar{border-top:1px solid var(--line);display:flex;align-items:center;gap:23px;padding:22px}.time-caption{min-width:150px}.time-caption .eyebrow{font-size:7px;color:#929883;display:block;margin-bottom:7px}.time-caption strong{font-size:12px;font-weight:500}.all-day{border:1px solid #d6dcc9;font-size:10px;border-radius:20px;padding:7px 11px;white-space:nowrap}.all-day.active{background:#e8edde}.range-wrap{flex:1}input[type=range]{width:100%;accent-color:#647957;height:4px;cursor:pointer}.time-ticks{display:flex;justify-content:space-between;font-size:8px;color:#939a88;margin-top:10px}.time-hint{font-family:Georgia,serif;font-style:italic;font-size:12px;line-height:1.5;color:#8d977d;margin-left:12px}.bottom-strip{display:flex;align-items:center;gap:18px;padding:29px 8px 25px}.little-flower{font-size:32px;color:#97a17f}.bottom-strip strong{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:18px}.bottom-strip p{font-size:10px;color:#979987;margin:7px 0 0}.bottom-strip>button{margin-left:auto;font-size:12px;text-align:right}.bottom-strip>button span{display:block;font-size:9px;color:#989d8a;margin-top:6px}footer{border-top:1px solid var(--line);padding:20px 0 25px;display:flex;gap:20px;align-items:center;color:#8c9380;font-size:8px}footer>span{font-size:8px;letter-spacing:1px}.footer-dot{padding:0 12px}footer p{margin:auto;font-size:8px}footer button{font-size:9px}dialog{border:1px solid #dce0ce;border-radius:18px;background:var(--paper);color:var(--ink);padding:35px;width:min(540px,calc(100% - 30px));max-height:90vh;box-shadow:0 25px 100px #142f3433}dialog::backdrop{background:#20392c70;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:14px;top:11px;font-size:25px;color:#6f7f65}.detail-art{height:110px;margin:-35px -35px 24px;background:#e4ebd4;display:grid;place-content:center;font-size:66px;color:#7e9272}.detail-art.restore{background:#e7dcee;color:#9b7daf}.detail-art.music{background:#f1deb1;color:#b69451}.detail-art.connect{background:#efd8ca;color:#b5876b}dialog h2{font-size:32px}dialog p{font-size:13px;line-height:1.8;color:#727b68}.detail-meta{font-size:12px;line-height:1.9}.detail-bring{background:#eceedf;padding:14px;border-radius:8px;font-size:12px;line-height:1.6;margin:18px 0}.primary{background:var(--ink);color:white;border-radius:7px;padding:12px 18px;font-size:12px}.secondary{border:1px solid #cdd4bf;border-radius:7px;padding:11px 17px;font-size:12px}.detail-actions{display:flex;gap:9px}.conflict{font-size:11px;color:#a16436;background:#f6e9d6;border-radius:5px;padding:9px;margin:12px 0}.empty{text-align:center;padding:35px 12px;color:#8b967c;font-size:12px;line-height:1.8}.empty>span{display:block;font-size:36px;color:#9dab83;margin-bottom:12px}.empty button{display:block;margin:15px auto}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;border-radius:9px;box-shadow:0 4px 20px #243c3322;padding:14px 22px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.3s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.list-mode #explore-layout{display:block}.list-mode .map-panel{display:none}.list-mode .discover-panel{height:auto;min-height:450px;border:0;padding-bottom:15px}.list-mode #event-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;overflow:visible}.list-mode .event-card{margin:0}.list-mode .results-heading,.list-mode .results-meta{max-width:100%}.list-mode .small-spark{display:none}.plan-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:20px}.plan-header h2{font-size:35px;margin:5px 0}.plan-header p{font-size:12px;color:var(--muted)}.plan-actions{display:flex;gap:8px;flex-wrap:wrap}.plan-actions button{border:1px solid #ccd3bf;border-radius:7px;padding:10px 15px;font-size:11px}.plan-day{border:1px solid #dce1d0;background:#fffdf8;border-radius:12px;margin:0 0 18px;padding:22px}.plan-day h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0 0 18px}.plan-row{display:grid;grid-template-columns:115px 1fr auto;align-items:center;border-top:1px solid var(--line);padding:15px 0;gap:15px}.plan-row>span{font-size:12px}.plan-row button.title{font-family:Georgia,serif;font-size:19px;text-align:left;padding:0}.plan-row p{color:var(--muted);font-size:11px;margin:6px 0 0}.gap{padding:12px 15px;background:#edf0e3;border-radius:7px;font-size:11px;color:#6a7b5b}.gap button{text-decoration:underline;float:right}.share-field{width:100%;padding:10px;border:1px solid #cdd4bf;border-radius:6px;font-size:12px;margin:8px 0 18px}.source-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-images img{width:100%;border-radius:7px}.source-images a{font-size:11px;color:var(--ink)}.print-heading{display:none}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sunspin{to{transform:rotate(360deg)}}
@media(min-width:1450px){.map-panel,.discover-panel{height:610px}.intro{padding-top:50px;padding-bottom:40px}h1{font-size:66px}#explore-layout{grid-template-columns:minmax(0,1fr) 380px}.discover-panel{padding:27px 24px 0}.event-card{padding:18px}}
@media(max-width:1100px){.header{gap:16px}.header nav{gap:22px}.edition{display:none}.filterbar{gap:10px}.filter-label{display:none}.chip{padding:7px 9px}.day{padding:9px 12px}.intro-note{padding-right:25px}#explore-layout{grid-template-columns:minmax(0,1fr) 310px}.map-viewport{overflow:auto}.map-key{gap:6px;font-size:7px}.time-hint{display:none}.map-stamp{display:none}}
@media(max-width:760px){.header{height:80px;padding:0 5%;flex-wrap:wrap;gap:0}.brand{font-size:10px;letter-spacing:1.5px}.brand-mark{height:37px;width:37px;font-size:40px}.brand-sub{font-size:6px}.header nav{gap:16px;margin:0 0 0 auto}.nav{font-size:10px;height:80px;max-width:88px}.icon-button{display:none}#plan-count{height:17px;width:17px;font-size:9px}.intro{padding:28px 0 24px}h1{font-size:43px;margin:14px 0}.intro .eyebrow{font-size:7px}.intro p{font-size:11px;line-height:1.6;max-width:290px}.sun-doodle{font-size:49px;margin-left:15px}.intro-note{display:none}main{padding:0 4%}.toolbar{padding:12px;gap:8px;flex-wrap:wrap}.days{width:100%;justify-content:space-between;gap:2px}.day{padding:9px 10px;font-size:11px;flex:1}.day span{margin-left:4px;font-size:9px}.view-switch{margin-left:0}.surprise{margin-left:auto}.filterbar{padding:10px 12px;align-items:flex-start}.chips{gap:6px}.chip{font-size:9px;padding:7px 9px}.filter-more{padding:7px 0;font-size:17px}.filter-more span{display:none}#explore-layout{display:flex;flex-direction:column}.map-panel{min-height:440px;height:440px}.map-title{left:16px;top:16px}.map-viewport{overflow:auto}#map-world{min-width:580px}.map-key{bottom:34px;background:#edf0e2dd;padding:4px;border-radius:5px}.map-bottom-note{font-size:7px;bottom:17px}.map-controls{right:10px;bottom:12px}.discover-panel{height:450px;border-left:0;border-top:1px solid var(--line);padding:20px 16px 0}.results-heading h2{font-size:26px}.timebar{padding:16px;gap:12px;flex-wrap:wrap}.time-caption{min-width:auto;flex:1}.range-wrap{width:100%;flex-basis:100%;margin-top:8px}.bottom-strip{gap:12px;padding:25px 0;flex-wrap:wrap}.bottom-strip strong{font-size:16px}.bottom-strip p{font-size:9px}.bottom-strip>button{margin-left:43px;text-align:left;font-size:11px}.little-flower{font-size:30px}footer{flex-wrap:wrap;gap:12px}footer p{order:3;margin:0;line-height:1.6}footer button{margin-left:auto}.list-mode #event-list{grid-template-columns:1fr}.list-mode .discover-panel{height:auto}.plan-header{align-items:flex-start;flex-direction:column}.plan-row{grid-template-columns:85px 1fr auto;gap:10px}.plan-row>span{font-size:10px}.plan-row button.title{font-size:17px}.plan-day{padding:17px}.gap{line-height:1.8}.gap button{float:none;display:block;padding:4px 0}#extra-filters{font-size:11px}#extra-filters label:first-child{width:100%}#search{width:100%}.detail-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:#000}.header,.intro,.planner,.bottom-strip,footer,.plan-actions,.save-button,.gap button,dialog,#toast,.plan-header p{display:none!important}main{padding:0;max-width:100%}#my-plan{display:block!important}.plan-header{padding:0}.plan-header h2{font-size:28px}.print-heading{display:block;font-size:11px}.plan-day{border:0;padding:10px 0;break-inside:avoid}.plan-row{padding:9px 0}.plan-row p{color:#333}.plan-day h3{font-size:20px}.gap{background:none;border:1px dashed #bbb}.conflict{color:#000;background:none}button{color:#000}.plan-row button.title{font-size:16px}}
.map-title{background:#e9eddcd9;padding:8px 10px;border-radius:7px;left:14px;top:14px}.map-pin.selected .pin-icon{animation:pin-bob 2.5s ease-in-out infinite}.save-burst{position:fixed;pointer-events:none;z-index:150;font-size:18px;animation:celebrate .8s ease-out forwards}.save-burst:nth-child(2n){color:#c19bd0}.save-burst:nth-child(2n+1){color:#b8a057}@keyframes pin-bob{0%,100%{transform:rotate(5deg) translateY(-4px)}50%{transform:rotate(-3deg) translateY(-8px)}}@keyframes celebrate{from{opacity:1;transform:translate(0,0) scale(.5)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(70deg) scale(1.3)}}
@media(max-width:760px){.header{height:112px;display:grid;grid-template-columns:1fr;grid-template-rows:60px 52px;padding:0 5%;align-items:center}.brand{width:max-content}.header nav{height:52px;width:100%;margin:0;justify-content:space-between;gap:12px}.nav{height:52px;max-width:none;font-size:11px;white-space:nowrap}.day{min-width:0;padding:8px 3px;font-size:10px}.day span{display:block;margin:4px 0 0;font-size:8px}.map-title small:after{content:' Swipe to wander ↔';display:block;margin-top:4px;font-size:9px}.map-key{max-width:calc(100% - 25px)}.map-bottom-note{bottom:10px}.map-controls{bottom:30px}.map-title{top:10px;left:10px;padding:7px 9px}}
/* Explore and the live personal schedule share a workspace. */
main{max-width:1900px;padding:0 3.5%}.intro{padding:27px 0 25px}h1{font-size:48px}.intro-note p{font-size:19px}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 18px}.workspace-heading h2{font-size:25px;margin:7px 0 0}.workspace-heading .eyebrow{color:#818c75}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.workspace.cart-open{grid-template-columns:minmax(0,1fr) 330px}.workspace-main{min-width:0}.toolbar{flex-wrap:wrap;padding:14px}.toolbar .days{gap:3px}.day{padding:9px 12px}.toolbar .view-switch{margin-left:auto}.filterbar{flex-wrap:wrap;padding:13px 14px;gap:9px}.filterbar .filter-label{display:none}.filterbar .chip{font-size:10px;padding:7px 9px}.timebar{gap:14px}.time-caption{min-width:135px}.time-hint{display:none}.map-title{z-index:5;max-width:calc(100% - 28px);padding:12px 15px;box-shadow:0 3px 15px #3a503212;background:#fafbefed;pointer-events:none;font-size:8px;letter-spacing:1.2px}.map-title strong{display:block;font-family:Georgia,serif;font-size:17px;letter-spacing:0;margin:7px 0}.map-title #map-time{display:block;font-size:10px;letter-spacing:0;background:#e1e9d4;padding:6px 8px;border-radius:4px}.map-title.specific-time #map-time{background:#e9d6f0;color:#68427b}.map-title.specific-time .live-dot{background:#9b69b2;box-shadow:0 0 0 4px #bb94d12b}.map-title small{font-size:9px}.map-pin{z-index:6}.map-title{top:10px;left:10px}.map-pin[data-space=yoasis]{margin-top:15px}
#schedule-cart{position:sticky;top:18px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;min-width:0;background:#f1f3e8;border:1px solid #cdd6bf;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px #344a2910}.cart-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 17px 0}.cart-heading .eyebrow{font-size:8px;color:#7d8c6e}.cart-heading h2{font-size:25px;margin:8px 0}.cart-heading h2>span{font:11px 'DM Sans',sans-serif;background:#dbe6cc;border-radius:20px;padding:4px 8px;vertical-align:middle}.cart-heading>button{font-size:24px;color:#849373}.cart-status{font-size:9px;color:#7a866d;margin:0 17px 16px}.cart-status .live-dot{margin-right:4px}.cart-status strong{display:block;color:#a06d3e;font-size:10px;margin-top:8px}.schedule-days{display:flex;gap:4px}.schedule-days button{font-size:11px;border:1px solid #d9dfcc;border-radius:6px;padding:8px 12px;white-space:nowrap}.schedule-days button span{font-size:9px;opacity:.8}.schedule-days button.active{background:var(--ink);color:#fff;border-color:var(--ink)}#schedule-cart .schedule-days{margin:0 15px 12px}#schedule-cart .schedule-days button{flex:1;padding:7px 5px;font-size:10px}.schedule-modes{display:flex;background:#e7ebdf;border-radius:7px;padding:3px;gap:3px}.schedule-modes button{font-size:11px;padding:8px 12px;border-radius:5px}.schedule-modes button.active{background:#fffdf8;box-shadow:0 1px 3px #324c2a12}#schedule-cart .schedule-modes{margin:0 15px 12px}#schedule-cart .schedule-modes button{flex:1;padding:8px 4px;font-size:10px}.cart-body{overflow:auto;padding:0 14px 14px;min-height:180px;scrollbar-width:thin}.cart-expand{background:var(--ink);color:#fff;padding:15px;font-size:12px;flex-shrink:0}.cart-expand small{display:block;font-size:9px;opacity:.6;margin-top:5px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid #dde2d1;border-radius:10px 10px 0 0;background:#fafaf2}.full-schedule-content{border:1px solid #dde2d1;border-top:0;border-radius:0 0 12px 12px;background:#fffdf8;overflow:hidden}.full-schedule-content>.agenda-list,.full-schedule-content>.gap-option{margin:18px}.plan-header{padding:18px 0 24px}.plan-header h2{font-size:34px}.plan-row{grid-template-columns:100px 1fr 30px}.plan-row .conflict{display:block;text-align:left}#schedule-cart .plan-row{grid-template-columns:1fr 27px;gap:8px;padding:14px 2px}#schedule-cart .plan-row>span{grid-column:1/-1;font-size:9px;letter-spacing:.5px}#schedule-cart .plan-row .title{font-size:16px}#schedule-cart .plan-row p{font-size:9px}.gap-option{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px dashed #b6c5a5;background:#e9efde9c;border-radius:8px;padding:12px;margin:8px 0;color:#6c8256;min-height:65px}.gap-option:hover{background:#e1ebd2;border-color:#7e9e62}.big-plus{font-family:'DM Sans',sans-serif;display:grid;place-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#fffdf3b0;border:1px solid #c5d2b6;font-size:24px;font-weight:400}.gap-option strong{display:block;font-size:11px;font-weight:550}.gap-option small{font-size:9px;display:block;margin-top:5px;line-height:1.5}.gap-arrow{margin-left:auto}.gaps-summary{padding:20px 16px 10px;text-align:center}.gaps-summary>span{display:block;font-size:30px;color:#9eaa76}.gaps-summary strong{display:block;font:20px Georgia,serif;margin:8px 0}.gaps-summary p{font-size:11px;line-height:1.7;color:#879075}.full-schedule-content>.gap-option{width:calc(100% - 36px)}
.timetable-caption{display:flex;flex-wrap:wrap;gap:7px 15px;padding:17px 18px;border-bottom:1px solid #dde3d1;background:#fcfcf4}.timetable-caption strong{font-size:12px}.timetable-caption>span{font-size:10px;color:#7b896c}.timetable-caption small{font-size:9px;color:#959c86;margin-left:auto}.timetable-scroll{max-height:610px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b7c5a8 #f1f2e9;position:relative;overscroll-behavior:contain}.timetable{display:grid;grid-template-columns:58px 155px repeat(var(--cols),var(--column));width:max-content;min-width:100%;position:relative;padding-bottom:23px;background:#fffdf8}.grid-corner,.grid-space{position:sticky;top:0;z-index:10;min-height:64px;background:#f0f3e7;border-right:1px solid #dce2d1;border-bottom:1px solid #cdd6be;padding:15px 10px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:7px}.grid-corner{font-size:8px;line-height:1.6;color:#8b967c;left:0;z-index:12}.grid-space>span{font-size:19px;font-weight:400}.grid-space[data-category=restore]{background:#eee5f2}.grid-space[data-category=music]{background:#f7ebce}.grid-space[data-category=create]{background:#e5edda}.grid-space[data-category=connect]{background:#f3e1d7}.rail-heading{display:block;font-size:10px;background:#e9efdc}.rail-heading small{display:block;font-size:8px;font-weight:400;margin-top:6px;color:#82916f}.grid-times{position:sticky;left:0;z-index:8;background:#f9faf2;border-right:1px solid #dbe2ce}.grid-times>span{position:absolute;right:8px;transform:translateY(-50%);font-size:9px;color:#869475;background:#f9faf2;padding:3px}.grid-times>span:first-child{transform:translateY(2px)}.grid-times small{display:block;font-size:7px}.grid-column{position:relative;border-right:1px solid #e0e5d6;background:repeating-linear-gradient(to bottom,transparent 0,transparent 35px,#edf0e5 35px,#edf0e5 36px,transparent 36px,transparent 71px,#dce3cf 71px,#dce3cf 72px)}.opportunity-column{background-color:#f3f6eb}.grid-event{position:absolute;left:5px;right:5px;min-height:32px;border:1px solid #d1dbc3;border-left:3px solid #91a576;border-radius:7px;background:#e5edd9;overflow:hidden;animation:appear .3s ease}.grid-event[data-category=restore]{background:#e9dbef;border-color:#cbb5d6;border-left-color:#ae87c0}.grid-event[data-category=music]{background:#f5e3b7;border-color:#dbc391;border-left-color:#c7a052}.grid-event[data-category=connect]{background:#f3ddcf;border-color:#d6bda8;border-left-color:#c09270}.grid-event.is-saved{box-shadow:inset 0 0 0 1px #516b42;border-left:4px solid #516b42}.grid-detail{display:block;width:100%;height:100%;padding:8px 28px 8px 9px;text-align:left;overflow:hidden}.grid-detail span{display:block;font-size:8px;margin-bottom:5px}.grid-detail strong{display:block;font:14px/1.18 Georgia,serif;overflow:hidden;max-height:49px}.grid-detail small{font-size:8px;display:block;margin-top:5px;opacity:.65}.grid-save{position:absolute;right:4px;top:5px;width:24px;height:24px;display:grid;place-content:center;background:#fffdf4cb;border:1px solid #8a9b6a55;border-radius:50%;font-size:18px}.grid-save.saved{background:var(--ink);color:#fff;font-size:12px}.grid-event.has-clash{border-bottom:3px solid #ca8e48}.grid-clash{position:absolute;bottom:0;left:0;right:0;background:#f7e4c7;font-size:8px;padding:3px}.grid-overlap,.space-cluster{position:absolute;left:5px;right:5px;background:repeating-linear-gradient(135deg,#f4e4cb,#f4e4cb 8px,#f8ecd9 8px,#f8ecd9 16px);border:1px dashed #c69a64;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;gap:7px;overflow:hidden}.grid-overlap strong,.space-cluster strong{font-size:11px}.grid-overlap small,.space-cluster small,.space-cluster>span:last-child{font-size:9px}.grid-overlap .big-plus,.space-cluster .big-plus{width:36px;height:36px;font-size:29px;border-color:#ceb28a}.space-cluster{background:#e5ecd9}.grid-gap{position:absolute;left:5px;right:5px;min-height:0;overflow:hidden}.grid-gap .gap-option{margin:3px 0;height:calc(100% - 6px);min-height:0;flex-direction:column;justify-content:center;text-align:center;padding:7px;gap:5px}.grid-gap .gap-option .gap-arrow{display:none}.grid-gap .gap-option strong{font-size:9px}.grid-gap .gap-option small{font-size:8px}.grid-gap .gap-option .big-plus{width:29px;height:29px;font-size:23px}.hour-choices{position:absolute;left:5px;right:5px;display:flex;align-items:center;gap:8px;padding:7px;text-align:left;font-size:10px;color:#72885c}.hour-choices:hover{background:#e5edd7}.hour-choices small{display:block;font-size:8px;margin-top:5px;color:#91a07d}.hour-choices .big-plus{width:28px;height:28px;font-size:22px}.grid-time-marker{position:absolute;left:0;right:0;border-top:2px solid #a367b8;z-index:7;pointer-events:none}.grid-time-marker span{font-size:8px;background:#a367b8;color:white;padding:2px 4px;position:absolute;right:0;top:-15px}.compact-grid{max-height:430px}.compact-grid .timetable{grid-template-columns:44px 125px repeat(var(--cols),var(--column))}.cart-body .timetable-caption{padding:10px 0;background:transparent}.cart-body .timetable-caption>span{display:none}.cart-body .timetable-caption small{margin:0}.cart-body .timetable-caption strong{font-size:10px}.picker-events{display:grid;grid-template-columns:1fr 1fr;gap:12px}.picker-events .event-card{height:calc(100% - 10px)}#info-dialog:has(.picker-events){width:min(790px,calc(100% - 30px))}.picker-count{background:#e6ecd9;border-radius:6px;padding:10px;font-size:11px!important}.print-itinerary{display:none}
@media(min-width:1100px) and (max-width:1550px){.cart-open #explore-layout{grid-template-columns:1fr}.cart-open .discover-panel{height:320px;border-left:0;border-top:1px solid var(--line)}.cart-open #event-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cart-open .toolbar .view-switch{margin-left:0}.cart-open .toolbar .days{width:100%;justify-content:space-between}.cart-open .surprise{margin-left:auto}.cart-open .map-panel{height:480px;min-height:480px}}
@media(max-width:1099px){.workspace.cart-open{grid-template-columns:minmax(0,1fr)}#schedule-cart{position:fixed;z-index:40;right:20px;top:125px;bottom:20px;width:350px;max-height:none;box-shadow:0 12px 70px #233e3b50}.cart-body{flex:1}.workspace-heading h2{font-size:21px}.workspace-heading .secondary{font-size:10px;padding:10px}.timetable-scroll{max-height:590px}.schedule-toolbar{flex-wrap:wrap}.plan-header{flex-wrap:wrap}}
@media(max-width:760px){main{padding:0 4%}.intro{padding:25px 0}h1{font-size:41px}.workspace-heading{align-items:flex-start}.workspace-heading h2{font-size:20px;max-width:220px}.workspace-heading .eyebrow{font-size:7px}.workspace-heading .secondary{max-width:115px;flex-shrink:0;font-size:9px;line-height:1.5;padding:8px}.toolbar .day{padding:8px 3px}.toolbar .view-switch{margin-left:0}.toolbar .view-switch button{padding:7px 10px;font-size:12px}.toolbar .surprise{font-size:10px;padding:9px}.timetable-caption{padding:12px}.timetable-caption small{margin:0;width:100%}.timetable-scroll{max-height:570px}.timetable{grid-template-columns:44px 126px repeat(var(--cols),155px)}.grid-space{font-size:10px}.grid-times>span{font-size:8px;right:4px}.map-title strong{font-size:15px}.map-title{padding:9px 11px;max-width:270px}.map-title small{font-size:8px}.map-title small:after{display:none}.map-pin[data-space=yoasis]{margin-top:28px}.map-pin[data-space=forest]{margin-top:22px}#schedule-cart{right:10px;left:10px;top:124px;bottom:10px;width:auto}.cart-heading{padding-top:14px}.cart-heading h2{font-size:23px}.cart-status{margin-bottom:10px}.cart-body{min-height:100px}.schedule-days button{padding:8px 10px}.schedule-modes button{font-size:10px;padding:8px 10px}.picker-events{grid-template-columns:1fr}.plan-row{grid-template-columns:80px 1fr 26px}.plan-row .title{font-size:16px}.full-schedule-content>.agenda-list{margin:12px}.timebar{gap:12px}.plan-header{gap:10px}.plan-header h2{font-size:30px}}
@media print{.workspace-heading,#schedule-cart,.schedule-toolbar,.full-schedule-content{display:none!important}.workspace{display:block!important}.print-itinerary{display:block}.print-itinerary section{break-inside:avoid}.print-itinerary p{font-size:11px;line-height:1.6}.plan-header h2{font-size:27px}}
.discovery-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 12px;gap:15px}.discovery-heading h2{font-size:29px;margin:8px 0}.discovery-heading p{font-size:10px;color:#89937d}.discovery-heading .eyebrow{font-size:8px}.discovery-heading .secondary{font-size:10px}.discovery-stage{padding:22px 30px 26px;display:flex;align-items:center;justify-content:center;gap:40px;overflow:hidden;background:radial-gradient(ellipse at 65% 40%,#e9e5d580,transparent 70%)}.discovery-aside{max-width:185px;color:#8b977e}.discovery-aside>span:first-child{font-size:8px;letter-spacing:1.4px}.discovery-aside h3{font:italic 28px/1.3 Georgia,serif;font-weight:400;color:#758568}.discovery-aside p{font-size:11px;line-height:1.8}.discovery-doodle{display:block;font-size:50px;color:#baa670;margin:25px 0;animation:sunspin 50s linear infinite;width:max-content}.discovery-caption{font-family:Georgia,serif!important;font-style:italic}.swipe-stack{width:350px;max-width:100%;position:relative;z-index:1}.swipe-stack:before,.swipe-stack:after{content:'';position:absolute;top:9px;bottom:131px;left:6px;right:5px;background:#e8e8d8;border:1px solid #d9ddc9;border-radius:16px;z-index:-1;transform:rotate(-4deg)}.swipe-stack:after{transform:rotate(4deg);background:#eff0e5}.swipe-card{border:1px solid #d4d9c6;border-radius:15px;background:#fffdf8;overflow:hidden;box-shadow:0 10px 30px #394a2a13;touch-action:pan-y;user-select:none;animation:card-enter .4s ease}.swipe-art{height:153px;position:relative;background:#e5ecd7;display:grid;place-content:center;overflow:hidden}.swipe-art:before,.swipe-art:after{content:'';position:absolute;width:210px;height:210px;border:1px solid #fff9;border-radius:50%;left:-90px;top:-50px}.swipe-art:after{width:240px;height:240px;left:auto;right:-60px;top:40px;box-shadow:0 0 0 20px #fff2,0 0 0 40px #fff1}.swipe-card[data-category=restore] .swipe-art{background:#e2cee9;color:#9165a3}.swipe-card[data-category=music] .swipe-art{background:#f0d396;color:#a68039}.swipe-card[data-category=connect] .swipe-art{background:#edc7b0;color:#aa7657}.swipe-category{position:absolute;left:17px;top:14px;font-size:9px;background:#fff9;padding:5px 9px;border-radius:20px;color:#546147}.swipe-symbol{font-size:72px}.swipe-place{position:absolute;bottom:13px;left:17px;font-size:10px;color:#4a5e42}.swipe-copy{padding:19px 23px 22px}.swipe-fit{display:table;border-radius:20px;padding:6px 9px;font-size:9px;color:#6a8251;background:#eaf0de;margin-bottom:17px}.swipe-fit.clashes{background:#f8e6d0;color:#a17440}.swipe-copy .eyebrow{font-size:9px;color:#89917c;letter-spacing:.8px}.swipe-copy h3{font:28px/1.15 Georgia,serif;margin:12px 0 7px;font-weight:400;letter-spacing:-.5px}.swipe-copy p{font-size:11px;color:#7d8870;line-height:1.7}.swipe-copy .swipe-host{font-size:10px;margin:0 0 15px}.swipe-details{font-size:10px;padding:0;text-decoration:underline;text-underline-offset:4px}.swipe-actions{display:flex;align-items:flex-start;justify-content:space-around;padding:23px 0 10px;gap:8px}.swipe-actions button{font-size:9px;display:flex;align-items:center;flex-direction:column;gap:9px}.swipe-actions button>span{display:grid;place-content:center;background:#f5e8df;border:1px solid #dcbfac;width:51px;height:51px;border-radius:50%;font-size:30px;color:#ad856b}.swipe-actions #discovery-save>span{background:#dfeacf;border-color:#abc493;color:#66834d}.swipe-actions #discovery-undo>span{width:35px;height:35px;font-size:20px;background:transparent;border-color:#d6dcc9;color:#929f7c;margin-top:8px;margin-bottom:8px}.swipe-actions button:disabled{opacity:.35;cursor:default}.swipe-footnote{font-size:9px;text-align:center;color:#909b82}.swipe-indicator{display:none;position:absolute;top:55px;border:3px solid;border-radius:5px;padding:7px 11px;font-weight:700;font-size:22px;transform:rotate(-14deg);background:#fff9}.swipe-indicator.yes{left:15px;color:#517d44}.swipe-indicator.pass{right:15px;color:#ad7254;transform:rotate(14deg)}.swiping-yes .swipe-indicator.yes,.swiping-pass .swipe-indicator.pass{display:block}.discovery-data-note{padding:15px 22px;background:#f0f2e6;font-size:9px;line-height:1.7;color:#8b967a;border-top:1px solid #e0e5d2}.discovery-data-note button{text-decoration:underline;font-size:9px}.discovery-data-note .live-dot{margin-right:5px}.discovery-empty{text-align:center;padding:35px 20px;min-height:400px;max-width:500px}.discovery-empty>span{font-size:65px;color:#adb780}.discovery-empty h3{font:27px Georgia,serif}.discovery-empty p{font-size:12px;line-height:1.8;color:#8a967b}.discovery-empty button{margin:6px}.taste-table{font-size:11px}.taste-table>div{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;border-bottom:1px solid #dce3d0;padding:12px 0}.taste-table strong{font-size:10px}.taste-table span:not(:first-child){text-align:center}@keyframes card-enter{from{opacity:0;transform:translateX(25px) rotate(3deg)}to{opacity:1;transform:translateX(0) rotate(0)}}
@media(max-width:1300px){.cart-open .discovery-aside{display:none}.discovery-heading{padding:20px;flex-wrap:wrap}.discovery-stage{padding:20px 25px}.toolbar .view-switch button{padding:7px 10px}.toolbar .view-switch span{font-size:10px}}
@media(max-width:760px){.discovery-aside{display:none}.discovery-heading h2{font-size:25px}.discovery-heading{padding:18px 17px 5px}.discovery-heading .secondary{font-size:9px;padding:7px 10px}.discovery-stage{padding:20px 18px 15px}.swipe-copy{padding:17px 19px}.swipe-copy h3{font-size:26px}.swipe-art{height:138px}.discovery-data-note{padding:13px 17px}.toolbar .view-switch{width:100%;justify-content:space-between}.toolbar .view-switch button{flex:1;padding:8px 5px}.toolbar .surprise{margin-left:auto}.swipe-stack:before,.swipe-stack:after{bottom:131px}}
.grid-gap .gap-option{justify-content:flex-start;padding-top:12px}.grid-gap.short-gap .gap-option{padding:3px;flex-direction:row;justify-content:center;gap:5px}.grid-gap.short-gap .gap-option small{display:none}.grid-gap.short-gap .big-plus{width:18px;height:18px;font-size:16px}.grid-gap.short-gap .gap-option strong{font-size:8px}.swipe-card{position:relative;z-index:1}.swipe-stack:before,.swipe-stack:after{z-index:0}.swipe-actions,.swipe-footnote{position:relative;z-index:1}
@media(max-width:760px){.filterbar{flex-wrap:nowrap}.filterbar .chips{min-width:0}.filter-more{margin-left:0}.toolbar .view-switch{gap:0}.toolbar .view-switch button span{margin-left:2px}}
/* A village with a little more colour in its cheeks. */
:root{--ink:#323153;--muted:#77748a;--paper:#fcf8ef;--line:#e6dfdd;--purple:#dec0f4;--green:#d7edaf;--orange:#ffe09b;--pink:#ffc4b0}body{background:radial-gradient(ellipse at 100% 0,#e8d9fc77,transparent 34%),radial-gradient(ellipse at 0 75%,#ddf4df66,transparent 40%),var(--paper)}.header{background:#fffaf1bd;border-color:#e4dce9}.brand-mark{background:#7850a0}.nav.active:after{background:#ac6dc8}.nav.active{color:#7647a0}.intro h1 em{color:#a761bd}.sun-doodle{color:#e7ae38}.intro-note p{color:#986b9c}.intro-note .note-star{color:#e5aa40}.intro-note>span:last-child{color:#9c819a}.primary,.cart-expand,.day.active,.schedule-days button.active{background:#7550a0}.planner{background:#fffdf6;border-color:#ddd2e5;box-shadow:0 10px 32px #775a9810}.toolbar{background:#fffaf4}.view-switch,.schedule-modes{background:#eee4f1}.view-switch button.active,.schedule-modes button.active{background:#fcf8ff;color:#774796;box-shadow:0 1px 5px #9461b52b}.view-switch button.active{outline:1px solid #d5b5e8}.filterbar{background:#fffcf4}.chip{background:#f2eadb}.chip[data-category=restore]{background:#e5cef5;color:#634279}.chip[data-category=music]{background:#ffe39b;color:#715025}.chip[data-category=create]{background:#d9ecad;color:#526637}.chip[data-category=connect]{background:#ffd1ba;color:#854f42}.chip.active{border-color:#9664b3;box-shadow:0 0 0 1px #9664b322}.surprise{background:#f2e4fa;border-color:#dcc2e8;color:#805299}.workspace-heading .eyebrow{color:#a475a3}.workspace-heading h2{color:#514364}.secondary{border-color:#d8c3e6;background:#fcf6ff;color:#805996}.timebar{background:linear-gradient(100deg,#f1e7f8,#fcf5e6)}input[type=range]{accent-color:#a770c4}.all-day.active{background:#e2c9f1;border-color:#c39bda;color:#795094}.time-caption .eyebrow,.time-ticks{color:#95809e}.little-flower{color:#d495b8}.bottom-strip strong{color:#695174}.small-spark{color:#d2a746}.map-panel{background:#dceac1}.map-title{background:#fffaf2ef;border:1px solid #eddda8;box-shadow:0 5px 20px #5d4b6921;color:#846e97}.map-title strong{color:#644e7a}.map-title #map-time{background:#cdf1dd;color:#3a7c71}.map-title.specific-time #map-time{background:#e5c5fa;color:#7c4695}.map-title .live-dot{background:#51bba3}.pin-icon{background:#c49aea!important;border:2px solid #fff5dd;color:#5f3a81;box-shadow:0 4px 0 #7351942e,0 5px 13px #5c477625}.map-pin[data-category=music] .pin-icon{background:#ffc85d!important;color:#93612e}.map-pin[data-category=create] .pin-icon{background:#b9de6d!important;color:#5b723a}.map-pin[data-category=connect] .pin-icon{background:#ffaa87!important;color:#985747}.map-pin[data-space=water] .pin-icon{background:#7edbd0!important;color:#327d77}.map-pin[data-space=secret] .pin-icon{background:#b99aef!important;color:#613b90}.map-pin[data-space=cinema] .pin-icon{background:#a4b2f0!important;color:#536aab}.pin-label{background:#fff8e9ed;border-color:#e0d4b7;color:#5b5363}.map-pin.selected .pin-label{background:#8856b2}.map-key{background:#fff9e6c9;padding:7px 9px;border-radius:20px;color:#64724e}.map-stamp{color:#a380aa}.map-controls{background:#fff6e8;border-color:#d5c3b2}.map-pin.dim{opacity:.4;filter:saturate(.7)}.map-title small{font-size:9px;color:#9e859e}#schedule-cart{background:linear-gradient(145deg,#f2e4f9,#efeaf6 60%,#e6efdf);border-color:#d3b8e4;box-shadow:0 8px 30px #7d609614}.cart-heading .eyebrow{color:#ab77b0}.cart-heading h2{color:#6e478b}.cart-heading h2>span{background:#dabfea;color:#76558c}.cart-status{color:#97829c}.cart-status .live-dot{background:#79b48b}.schedule-days button{border-color:#d7c5e0;background:#f9f2fb}.schedule-days button.active{border-color:#7550a0}.cart-status strong{color:#b47a3d}.gap-option{background:#e2efcfb3;border-color:#a9c97f;color:#63833c}.gap-option:hover{background:#d7ebb9}.gap-option .big-plus{background:#f9ffec;border-color:#b6d38d;color:#76a14c}.event-card{background:#fffdf8;border-color:#e4dbe6}.event-card[data-category=restore]{--tag:#e6cef4;--accent:#b480d2}.event-card[data-category=music]{--tag:#ffe3a3;--accent:#daa342}.event-card[data-category=create]{--tag:#dbedb9;--accent:#91b35f}.event-card[data-category=connect]{--tag:#ffcfb9;--accent:#d99077}.event-card:hover{border-color:#bd9ccc;box-shadow:0 5px 16px #9a74ae16}.save-button.saved,.grid-save.saved{background:#8654ad;border-color:#8654ad}.grid-space[data-category=restore]{background:#dcc0ef;color:#674681}.grid-space[data-category=music]{background:#ffdc8b;color:#7f592b}.grid-space[data-category=create]{background:#d4e9a3;color:#576d32}.grid-space[data-category=connect]{background:#ffc4a8;color:#874e3e}.grid-event[data-category=restore]{background:#e6cdf5;border-color:#bb91d6;border-left-color:#a466c9}.grid-event[data-category=music]{background:#ffe29a;border-color:#e1bb61;border-left-color:#d7a03d}.grid-event[data-category=create]{background:#dfedb9;border-color:#b0c977;border-left-color:#8dad50}.grid-event[data-category=connect]{background:#ffd2ba;border-color:#e6ae8f;border-left-color:#d78a67}.grid-event.is-saved{border-left-color:#8854ac;box-shadow:inset 0 0 0 1px #8854ac}.grid-corner,.grid-times,.grid-times>span{background:#f7f0fa;color:#9a82a9}.rail-heading{background:#e6efcd}.timetable-caption{background:#fbf6fc}.opportunity-column{background-color:#f1f7e4}.grid-overlap{background:repeating-linear-gradient(135deg,#ffdda4,#ffdda4 8px,#ffe8bd 8px,#ffe8bd 16px)}.space-cluster{background:#d9eab3;border-color:#abc375}.swipe-card[data-category=restore] .swipe-art{background:#d1a8ee;color:#8150a7}.swipe-card[data-category=music] .swipe-art{background:#ffcb62;color:#af7830}.swipe-card[data-category=create] .swipe-art{background:#bede7d;color:#648e41}.swipe-card[data-category=connect] .swipe-art{background:#ffb28d;color:#b87355}.swipe-card{border-color:#d9c2e6;box-shadow:0 14px 35px #865b9822}.swipe-stack:before{background:#f2d3dd;border-color:#e6bacd}.swipe-stack:after{background:#e3cdf3;border-color:#cdb2e0}.swipe-actions #discovery-save>span{background:#dfc2f2;border-color:#b58bd4;color:#8753ac}.swipe-actions #discovery-pass>span{background:#ffdec7;border-color:#eec1a6;color:#be855e}.discovery-stage{background:radial-gradient(ellipse at 65% 40%,#efdaf88f,transparent 70%)}.discovery-data-note{background:#f1e8f6;border-color:#e2d1ed}.discovery-aside h3{color:#a571a8}.discovery-doodle{color:#e9b448}.detail-art.restore{background:#dec0f1;color:#a16bc0}.detail-art.music{background:#ffdc85;color:#b98439}.detail-art.connect{background:#ffc8ad;color:#c08560}.detail-art{background:#d6e9ab;color:#89a956}#toast{background:#79509d}
/* Little lives inside the illustrated village. */
.village-wanderer{animation:village-wander 17s ease-in-out infinite}.village-wanderer.wander-1{animation-name:village-wander-back;animation-duration:23s}.village-wanderer.wander-2{animation-name:village-wander-side;animation-duration:20s}.village-flower{transform-origin:0 10px;animation:flower-sway 4s ease-in-out infinite}.river-current{stroke-dasharray:10 20;animation:river-flow 6s linear infinite}.dam-ripple{transform-box:fill-box;transform-origin:center;animation:ripple-spread 5s ease-out infinite}.festival-bunting{transform-box:fill-box;transform-origin:top;animation:bunting-flutter 3s ease-in-out infinite}.festival-bunting path:nth-child(3n){fill:#a57ada}.festival-bunting path:nth-child(3n+1){fill:#efb942}.village-bird{animation:bird-drift 18s ease-in-out infinite}.festival-lights{animation:firefly-glow 3s ease-in-out infinite}.space-spirit{position:absolute;bottom:63px;left:50%;width:115px;height:125px;margin-left:-57px;opacity:0;transform:translateY(24px) scale(.2);transform-origin:50% 100%;pointer-events:none;filter:drop-shadow(0 7px 6px #68548133)}.space-spirit:before{content:'';position:absolute;inset:15px -7px -5px;background:radial-gradient(ellipse,#fff5c67a,transparent 70%);z-index:-1}.space-spirit .spirit-art{width:100%;height:100%}.map-pin.space-alive{z-index:15;filter:none;opacity:1}.map-pin.space-alive .space-spirit{opacity:1;transform:translateY(0) scale(1);animation:spirit-arrival .65s cubic-bezier(.2,.8,.3,1.4)}.map-pin.space-alive .pin-icon{box-shadow:0 0 0 7px #fff5c75c,0 5px 16px #8c529d44}.dwell-ring{position:absolute;inset:-6px;width:47px;height:47px;opacity:0;transform:rotate(-90deg);overflow:visible;pointer-events:none}.dwell-ring circle{fill:none;stroke:#fff3a6;stroke-width:3;stroke-linecap:round;stroke-dasharray:132;stroke-dashoffset:132}.lingering .dwell-ring{opacity:1}.lingering .dwell-ring circle{animation:dwell-fill 2s linear forwards}.space-alive .dwell-ring{opacity:0}.space-spirit .spirit-art *{animation-play-state:paused}.space-alive .space-spirit .spirit-art *{animation-play-state:running}#space-intro{position:absolute;right:16px;bottom:65px;z-index:20;width:270px;border:1px solid #fff5df;border-radius:15px;background:#fff9f0;box-shadow:0 12px 40px #644b7055;overflow:hidden;animation:intro-arrival .35s ease-out}#space-intro.intro-left{right:auto;left:16px}#close-space-intro{position:absolute;right:8px;top:6px;z-index:2;border-radius:50%;width:26px;height:26px;font-size:22px;background:#fff9eac9;color:#714f86}.space-intro-art{height:105px;background:var(--space-colour);position:relative;display:flex;align-items:center;padding-left:15px;overflow:hidden}.space-intro-art .spirit-art{height:116px;width:105px;margin-top:8px}.space-intro-badge{font-size:7px;letter-spacing:1px;line-height:1.8;max-width:120px;padding:0 10px;color:#604471;font-weight:650}.space-intro-copy{padding:16px}.space-intro-copy>.eyebrow{font-size:7px;letter-spacing:1px;color:#aa77ae}.space-intro-copy h3{font:25px/1.1 Georgia,serif;margin:9px 0;color:#69447d}.space-intro-copy p{font-size:11px;line-height:1.6;color:#89758e;margin:10px 0}.space-event-types{font-size:9px;background:#f0e5f5;border-radius:5px;color:#8b62a3;line-height:1.8;padding:8px}.space-intro-copy .space-moment{font-size:9px;color:#b08ca9;margin:12px 0}.space-intro-copy .primary{font-size:10px;padding:10px;width:100%}.spirit-art{overflow:visible}.yogi-float{animation:zen-float 3s ease-in-out infinite}.spirit-shadow{transform-origin:center;transform-box:fill-box;animation:shadow-breathe 3s ease-in-out infinite}.zen-rings{transform-origin:center;transform-box:fill-box;animation:zen-aura 4s ease-in-out infinite}.spirit-sparkles{animation:sparkle-joy 2.2s ease-in-out infinite}.musician-groove,.maker-sway,.speaker-nod,.chef-bob{transform-origin:60px 110px;animation:happy-sway 1.5s ease-in-out infinite}.music-notes{animation:notes-rise 2s ease-in-out infinite}.sound-rings{transform-origin:center;transform-box:fill-box;animation:ripple-spread 2.5s ease-out infinite}.skater-glide{animation:skater-roll 2.2s ease-in-out infinite}.speed-lines{animation:firefly-glow .7s ease-in-out infinite}.dancer-bounce{transform-origin:60px 110px;animation:dance-groove .8s ease-in-out infinite}.disco-ball{transform-origin:60px 4px;animation:disco-swing 2.5s ease-in-out infinite}.bloom-pop{transform-origin:center;transform-box:fill-box;animation:bloom-bounce 2s ease-in-out infinite}.thought-bubble{animation:thought-float 2.6s ease-in-out infinite}.feast-steam{animation:steam-rise 3s linear infinite}.swimmer-bob{animation:zen-float 3s ease-in-out infinite}.water-ripples{transform-origin:center;transform-box:fill-box;animation:ripple-spread 3s ease-in-out infinite}.kid-hop{animation:kid-skip 1.4s ease-in-out infinite}.kite-float{transform-origin:75px 35px;animation:kite-dance 2s ease-in-out infinite}.cinema-flicker{animation:cinema-glow 3s ease-in-out infinite}.popcorn-bounce{animation:popcorn-pop 1.8s ease-in-out infinite}
@keyframes dwell-fill{to{stroke-dashoffset:0}}@keyframes spirit-arrival{0%{opacity:0;transform:translateY(35px) scale(.1)}70%{opacity:1;transform:translateY(-8px) scale(1.12)}100%{transform:translateY(0) scale(1)}}@keyframes intro-arrival{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes zen-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes shadow-breathe{50%{transform:scaleX(.7);opacity:.12}}@keyframes zen-aura{50%{opacity:.4;transform:scale(1.12)}}@keyframes sparkle-joy{0%,100%{opacity:.45}50%{opacity:1}}@keyframes happy-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes notes-rise{0%{transform:translateY(5px);opacity:0}30%{opacity:1}100%{transform:translateY(-12px);opacity:0}}@keyframes skater-roll{0%,100%{transform:translateX(-6px) rotate(-3deg)}50%{transform:translateX(7px) rotate(3deg)}}@keyframes dance-groove{0%,100%{transform:rotate(-7deg)}50%{transform:translateY(-6px) rotate(7deg)}}@keyframes disco-swing{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes bloom-bounce{0%,100%{transform:scale(.8) rotate(-8deg)}50%{transform:scale(1.08) rotate(8deg)}}@keyframes thought-float{50%{transform:translateY(-6px)}}@keyframes steam-rise{from{transform:translateY(5px);opacity:0}35%{opacity:.8}to{transform:translateY(-15px);opacity:0}}@keyframes kid-skip{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}@keyframes kite-dance{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(8deg)}}@keyframes cinema-glow{50%{opacity:.55}}@keyframes popcorn-pop{0%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}65%{transform:translateY(0)}}@keyframes village-wander{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,15px)}}@keyframes village-wander-back{0%,100%{transform:translate(0,0)}50%{transform:translate(-32px,12px)}}@keyframes village-wander-side{0%,100%{transform:translate(0,0)}50%{transform:translate(22px,-20px)}}@keyframes river-flow{to{stroke-dashoffset:-120}}@keyframes ripple-spread{0%{transform:scale(.8);opacity:.15}50%{opacity:.65}100%{transform:scale(1.12);opacity:.15}}@keyframes bunting-flutter{0%,100%{transform:skewX(-4deg)}50%{transform:skewX(4deg)}}@keyframes flower-sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes bird-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-85px,16px)}}@keyframes firefly-glow{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:760px){#space-intro,#space-intro.intro-left{width:240px;right:10px;left:auto;bottom:48px}.space-intro-art{height:60px}.space-intro-art .spirit-art{height:95px}.space-intro-copy{padding:12px}.space-intro-copy h3{font-size:22px}.space-intro-copy p{font-size:10px;margin:7px 0}.space-intro-copy>.eyebrow{font-size:6px}.space-event-types{font-size:8px;padding:6px}.space-intro-copy .space-moment{font-size:8px;margin:8px 0}.space-intro-copy .primary{font-size:9px}.space-spirit{width:95px;height:105px;margin-left:-47px;bottom:59px}.map-title small{font-size:8px}.map-title small:after{content:'Tap a space on touch screens.';display:block;font-size:7px}.map-key{font-size:6px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.space-alive .space-spirit{opacity:1;transform:none}.lingering .dwell-ring circle{stroke-dashoffset:0}.spirit-sparkles,.music-notes,.feast-steam{opacity:1}}
.week-calendar{display:grid;grid-template-columns:52px repeat(4,minmax(var(--day-width),1fr));width:100%;min-width:calc(52px + var(--day-width)*4);padding-bottom:23px;background:#fffdf8}.calendar-day-heading{position:sticky;top:0;z-index:10;min-height:67px;border-right:1px solid #e1d7e7;border-bottom:1px solid #cdb4dd;background:#efe1f7;padding:15px;text-align:center;color:#896498}.calendar-day-heading strong{display:block;font:18px Georgia,serif}.calendar-day-heading span{display:block;font-size:8px;letter-spacing:1px;margin-top:6px}.calendar-day-heading.current-day{background:#ddc5ee;color:#754c92}.calendar-day{background-color:#fbfcf5}.calendar-free{position:absolute;left:3px;right:3px;border:1px dashed #b8cea063;border-radius:6px;background:#e5efda46;text-align:left;display:flex;align-items:flex-start;gap:9px;padding:12px;color:#85a366;overflow:hidden}.calendar-free:hover{background:#dfedcd;border-color:#9aba7b}.calendar-free strong{font-size:9px;font-weight:500;display:block;padding-top:3px}.calendar-free small{font-size:8px;line-height:1.4;display:block;max-width:135px;margin-top:4px}.calendar-free .big-plus{width:25px;height:25px;font-size:20px;border-color:#bbd09f;color:#82a458;background:#f9fff0}.calendar-free.short-slot{align-items:center;padding:2px 8px}.calendar-free.short-slot small{display:none}.calendar-free.short-slot .big-plus{width:18px;height:18px;font-size:16px}.calendar-free.short-slot strong{padding:0;font-size:8px}.calendar-event{position:absolute;border:1px solid color-mix(in srgb,var(--venue-colour),#5f476e 20%);border-left:4px solid var(--venue-colour);border-radius:6px;background:color-mix(in srgb,var(--venue-colour),#fffaf2 37%);min-height:10px;overflow:hidden;z-index:2;box-shadow:0 2px 3px #4636540a}.calendar-event.private-block{background:repeating-linear-gradient(135deg,#d1eee7,#d1eee7 8px,#e1f4ed 8px,#e1f4ed 16px);border-left-color:#79beb3}.calendar-event-detail{width:100%;height:100%;padding:8px 22px 7px 8px;display:block;text-align:left;overflow:hidden}.calendar-event-detail>span{display:block;font-size:8px;line-height:1.3;margin-bottom:5px}.calendar-event-detail>strong{font:14px/1.2 Georgia,serif;display:block;overflow-wrap:anywhere}.calendar-event-detail>small{font-size:8px;display:block;margin-top:6px;opacity:.7}.calendar-remove{position:absolute;right:3px;top:3px;border-radius:50%;width:19px;height:19px;background:#fff9;font-size:17px;display:grid;place-content:center;color:#856597}.calendar-clash{border-bottom:3px solid #d58d4d}.calendar-clash-mark{position:absolute;bottom:0;right:0;background:#ffe4b7;padding:2px 4px;font-size:7px;color:#ac7540;pointer-events:none}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:12px 15px;background:#faf5fd;font-size:9px;color:#9a80a5;border-top:1px solid #e2d6e9}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.week-label{font-size:11px;color:#9675a2}.compact-grid .calendar-event-detail>strong{font-size:12px}.compact-grid .calendar-day-heading strong{font-size:15px}.me-time-button,.cart-me-time{background:#dbefe3!important;color:#649380!important;border:1px solid #b6d9c8!important}.cart-me-time{margin:0 15px 12px;border-radius:7px;padding:9px;font-size:10px}.cart-me-time span{display:block;font-size:8px;opacity:.7;margin-top:4px}.picker-me-time{margin-bottom:16px;background:#dff0e4;border-color:#b8d7c3;color:#688f76}.private-choice{background:#def0e5;border:1px solid #b7d9c5;border-radius:10px;padding:17px}.private-choice h3{font:20px Georgia,serif}.private-choice .secondary{font-size:10px;padding:8px}.private-time-inputs{display:flex;gap:15px}.private-time-inputs label{flex:1;min-width:0}#private-form>label,#private-form .private-time-inputs label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:16px 0;color:#847091}#private-form input,#private-form select,#private-form textarea{width:100%;background:#fffdf7;border:1px solid #d8c7e0;border-radius:7px;padding:11px;font:inherit;color:#604b70}#private-form textarea{resize:vertical;min-height:75px}#private-form .private-time-note{font-size:10px;margin-top:0}#private-error{color:#af634d}#private-form h2{font-size:30px}#private-form>label>span{display:inline;font-size:10px}.plan-row:has([data-detail^="private-"]){background:#e2f1e94d}#private-form button[type=submit]{background:#689787}#private-form .eyebrow{color:#73a591}
@media(max-width:760px){.week-calendar{grid-template-columns:42px repeat(4,minmax(185px,1fr));min-width:782px}.calendar-day-heading strong{font-size:16px}.calendar-event-detail>strong{font-size:12px}.calendar-free{padding:9px;gap:6px}.calendar-free small{font-size:7px}.week-label{font-size:10px}.calendar-legend{font-size:8px}}
.time-filter-toggle{font-size:10px;border:1px solid #ddc8eb;background:#f4eafa;border-radius:20px;padding:8px 11px;white-space:nowrap;color:#9064a7}.time-filter-toggle.has-window{background:#e2c4f1;border-color:#c69fdd;color:#784994}.filter-more{margin-left:0}.filterbar .chips{flex:1}#time-filters{padding:18px 24px;background:linear-gradient(110deg,#f1e5f8,#fff6e7);border-top:1px solid #e8dcee;border-bottom:1px solid #e8dcee}.time-filter-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-filter-top>strong{font:18px Georgia,serif;color:#876494}.time-filter-top .all-day{font-size:9px}.time-window-labels{display:flex;justify-content:space-between;margin:18px 0 6px;font-size:9px;color:#a08ba8}.time-window-labels output{display:inline-block;font-size:12px;font-weight:600;color:#88609f;margin-left:8px}.dual-range{height:29px;position:relative;margin:0 8px}.range-track,#range-selection{position:absolute;top:13px;height:5px;border-radius:5px;left:0;right:0;background:#e1d2e9}#range-selection{background:#b385ce}.dual-range input[type=range]{appearance:none;-webkit-appearance:none;position:absolute;inset:0;margin:0;width:100%;height:29px;background:transparent;pointer-events:none;outline-offset:4px}.dual-range input::-webkit-slider-runnable-track{height:5px;background:transparent}.dual-range input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;border:3px solid #fff4ff;border-radius:50%;background:#ae7acb;margin-top:-7px;pointer-events:auto;cursor:ew-resize;box-shadow:0 1px 5px #8553a744}.dual-range input::-moz-range-track{height:5px;background:transparent}.dual-range input::-moz-range-thumb{width:14px;height:14px;border:3px solid #fff4ff;border-radius:50%;background:#ae7acb;pointer-events:auto;cursor:ew-resize}.dual-range input:focus-visible::-webkit-slider-thumb{outline:2px solid #7950a0;outline-offset:3px}.dual-range input:focus-visible{outline:none}.dual-range input:focus-visible::-moz-range-thumb{outline:2px solid #7950a0;outline-offset:3px}#time-filters .time-ticks{margin-top:0;font-size:8px}#time-filters>p{font-size:10px;color:#a08aac;margin:15px 0 0}.filterbar{gap:8px}.full-schedule-content .timetable-caption{flex-wrap:wrap}
@media(max-width:760px){.filterbar{flex-wrap:wrap}.filterbar .chips{flex-basis:100%}.time-filter-toggle{margin-top:3px;font-size:9px}.filter-more{margin-left:auto;font-size:15px}.filter-more span{display:inline;font-size:9px}#time-filters{padding:15px 18px}.time-filter-top>strong{font-size:16px}}
#space-intro{position:fixed;inset:0;margin:auto;width:min(390px,calc(100% - 32px));max-height:90vh;border:1px solid #fff0da;border-radius:20px;padding:0;overflow:auto;animation:intro-arrival .3s ease-out}#space-intro::backdrop{background:#55416570;backdrop-filter:blur(5px)}#space-intro .space-intro-art{height:155px;padding-left:30px}#space-intro .space-intro-art .spirit-art{height:159px;width:150px}#space-intro .space-intro-badge{max-width:160px;font-size:9px}#space-intro .space-intro-copy{padding:24px}#space-intro .space-intro-copy>.eyebrow{font-size:8px}#space-intro .space-intro-copy h3{font-size:32px}#space-intro .space-intro-copy p{font-size:13px}#space-intro .space-event-types{font-size:11px;padding:11px}#space-intro .space-moment{font-size:10px;margin:17px 0}#space-intro .primary{font-size:12px;padding:12px}#space-intro #close-space-intro{right:12px;top:12px;width:30px;height:30px}.workspace-heading+#time-filters{border:1px solid #dcc5e9;border-radius:12px;margin-bottom:16px}#space-intro .spirit-art{overflow:hidden}
@media(max-width:760px){#space-intro{width:min(360px,calc(100% - 30px))}#space-intro .space-intro-art{height:130px}#space-intro .space-intro-copy{padding:20px}#space-intro .space-intro-copy h3{font-size:28px}.map-title small:after{content:'Tap to meet the space on touch screens.'}}
.map-pin.spirit-beside .space-spirit{bottom:auto;top:-47px;left:calc(100% + 4px);margin-left:0}.map-pin.spirit-beside.spirit-to-left .space-spirit{left:auto;right:calc(100% + 4px)}
@media print{#time-filters,#space-intro,#private-dialog{display:none!important}}
/* Let matching spaces share the width, rather than leaving empty columns. */
#explore-timetable .timetable{width:100%;min-width:calc(203px + var(--cols)*var(--column));grid-template-columns:58px 145px repeat(var(--cols),minmax(var(--column),1fr))}.timetable-empty{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column}.timetable-empty h2{font-size:28px;margin:10px 0}.timetable-caption small{line-height:1.5}
#journey-starter{padding:12px 0 24px;animation:appear .4s ease}.journey-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:4px 0 26px}.journey-heading .eyebrow{color:#a276b0;font-size:9px}.journey-heading h2{font-size:37px;margin:12px 0;color:#69507e}.journey-heading p{font-size:12px;line-height:1.8;color:#96849d}.journey-flower{font-size:67px;color:#e9b64b;margin-right:35px;animation:sunspin 50s linear infinite}.journey-options{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;counter-reset:journey}.journey-options li{min-width:0}.journey-card{width:100%;height:100%;min-height:242px;border:1px solid #dac7e7;background:linear-gradient(130deg,#f4e9fb,#fcf7ff);border-radius:17px;padding:27px 30px;text-align:left;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 3px 16px #9e7bb408;transition:transform .25s,box-shadow .25s,border-color .25s}.journey-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #85649916;filter:none;border-color:#b38ecc}.journey-card.green{background:linear-gradient(130deg,#e5f1d2,#f5fae9);border-color:#cedeb4}.journey-card.yellow{background:linear-gradient(130deg,#fff0c7,#fff9e6);border-color:#ebd8aa}.journey-card.peach{background:linear-gradient(130deg,#ffe2cf,#fff5ed);border-color:#edcdb8}.journey-number{font-size:10px;letter-spacing:1px;color:#a68db2;border:1px solid #d8c5e3;padding:5px 8px;border-radius:20px}.journey-symbol{position:absolute;right:28px;top:23px;font-size:44px;color:#b283cd;transform:rotate(9deg)}.green .journey-symbol{color:#93b56a}.yellow .journey-symbol{color:#d5a23f}.peach .journey-symbol{color:#d49d83}.journey-card h3{font:27px/1.25 'Playfair Display',Georgia,serif;letter-spacing:-.4px;margin:21px 45px 11px 0;color:#715584}.journey-card.green h3{color:#6e8650}.journey-card.yellow h3{color:#a17c3b}.journey-card.peach h3{color:#ac7b61}.journey-card p{font-size:12px;line-height:1.8;color:#96879e;max-width:460px;margin:0 0 22px}.journey-card.green p{color:#879572}.journey-card.yellow p{color:#ac9567}.journey-card.peach p{color:#b0907d}.journey-action{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#91729f;font-weight:550}.journey-action>span{width:28px;height:28px;border-radius:50%;display:grid;place-content:center;background:#fff9;border:1px solid #d9c9e3}.journey-reassurance{display:flex;align-items:center;gap:12px;padding:24px 5px 6px;color:#b390b2}.journey-reassurance>span:first-child{font-size:25px}.journey-reassurance p{font-size:10px;line-height:1.7}.journey-whisper{margin-left:auto;font:italic 16px Georgia,serif;color:#b399aa}.header nav{gap:25px}
@media(min-width:1550px){.journey-options{gap:24px}.journey-card{padding:30px 35px}.journey-card h3{font-size:30px}}
@media(max-width:760px){#explore-timetable .timetable{grid-template-columns:44px 115px repeat(var(--cols),minmax(155px,1fr));min-width:calc(159px + var(--cols)*155px)}.header nav{gap:10px}.header nav .nav{font-size:10px}.journey-heading{margin-bottom:18px;gap:10px;flex-wrap:wrap}.journey-heading .eyebrow{font-size:7px;line-height:1.7}.journey-heading h2{font-size:29px}.journey-heading p{font-size:11px}.journey-flower{display:none}.journey-options{grid-template-columns:1fr;gap:13px}.journey-card{min-height:220px;padding:22px}.journey-card h3{font-size:25px;margin-top:17px}.journey-card p{font-size:11px}.journey-symbol{font-size:36px;right:23px;top:20px}.journey-reassurance{flex-wrap:wrap;gap:5px 10px}.journey-reassurance p{font-size:9px;flex:1}.journey-whisper{width:100%;margin:8px 0 0 32px;font-size:14px}}
@media print{#journey-starter{display:none!important}}
/* 2026: readable controls, clear hierarchy, and a real overview. */
.header{position:sticky;top:0;z-index:30;height:60px;background:#fffaf4f5;backdrop-filter:blur(12px)}.header .nav{height:60px;font-size:14px}.working .intro{display:none}.working main{padding-top:18px}.workspace-heading{margin-bottom:15px}.workspace-heading h2{font-size:25px}.eyebrow{font-size:11px!important;letter-spacing:1.1px}.edition{font-size:11px}.brand-sub{font-size:9px}.primary,.secondary{font-size:14px;min-height:42px}.control-label{font-size:12px;color:#8b7897;display:block;margin-bottom:7px}.toolbar{padding:14px 18px;background:#f2e8f7;gap:18px}.toolbar>.control-label{margin:0;font-weight:600}.toolbar .view-switch{margin-left:0;flex:1;max-width:570px}.view-switch button{flex:1;padding:11px 14px;min-height:43px}.view-switch button span{font-size:14px}.explore-filters{padding:15px 18px;border-bottom:1px solid #e7dcea;background:#fffdf7}.filter-date-time{display:flex;align-items:flex-end;gap:18px;justify-content:space-between}.filter-date-time>div:first-child{flex:1;min-width:0}.days{gap:5px;flex-wrap:wrap}.day{font-size:13px;padding:9px 12px;min-height:42px}.day span{font-size:11px}.time-choice .time-filter-toggle{font-size:12px;min-height:42px}.time-shortcuts{display:flex;gap:5px;margin:13px 0;flex-wrap:wrap}.time-shortcuts button{flex:1;min-width:95px;background:#f6edf9;border:1px solid #e3d2ec;border-radius:7px;padding:8px 6px;font-size:11px;color:#9973a8;text-align:left}.time-shortcuts button span{display:block;font-size:12px;font-weight:550;margin-top:4px}.time-shortcuts button.active{background:#dfc5ef;border-color:#bd91d5;color:#75508e}.filterbar{padding:10px 0;background:none;gap:12px}.filterbar>.control-label{margin:0}.chip{font-size:12px!important;min-height:36px;padding:8px 10px!important}.chips{gap:6px}#extra-filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto auto;gap:12px;align-items:end;padding:12px 0 0;background:none;border:0}#extra-filters>label{display:flex;flex-direction:column;align-items:stretch;gap:7px;font-size:12px}#extra-filters input[type=search],#extra-filters select{width:100%;font-size:14px;min-height:42px}#extra-filters .filter-checks{display:flex;flex-direction:column;gap:9px;align-self:center}.filter-checks label{font-size:12px;display:flex;align-items:center;gap:7px;min-height:25px}input[type=checkbox]{width:18px;height:18px;accent-color:#9665b6}#reset{font-size:12px;min-height:42px}input::placeholder,textarea::placeholder{color:#aaa4b0;opacity:1;font-weight:400}.editorial-copy{color:#99919e!important}.editorial-label{color:#a9a1ad;font-size:12px;display:block;margin-bottom:15px}.source-entry{border-top:1px solid #e3d9e9;border-bottom:1px solid #e3d9e9;padding:12px 0;margin:16px 0}.source-entry summary{font-size:13px;cursor:pointer}.source-entry p{white-space:pre-line;font-size:13px}.price-note{color:#a46d45!important;font-size:14px!important}.event-host,.card-bottom{font-size:12px}.card-top,.event-time{font-size:12px}.event-category{font-size:11px}.save-button{width:32px;height:32px}.event-title{font-size:22px}.results-meta{font-size:12px}.results-heading .eyebrow{font-size:10px!important}.discover-panel{height:620px}.event-card{padding:17px}.time-window-labels{font-size:12px}.time-window-labels output{font-size:14px}.time-ticks{font-size:11px!important}#time-filters>p{font-size:12px}.range-track,#range-selection{height:7px}.dual-range input::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}.dual-range input::-moz-range-thumb{width:19px;height:19px}.calendar-zoom{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#f9f3fc;border-bottom:1px solid #e5d7ec}.calendar-zoom>span{font-size:12px;color:#9c86a7;margin-right:7px}.calendar-zoom button{padding:8px 12px;border:1px solid #dac6e6;border-radius:6px;font-size:12px;min-height:36px}.calendar-zoom button.active{background:#e1c9ee;border-color:#ba94d0;color:#7e559b}.timetable-caption{padding:10px 15px}.timetable-caption strong{font-size:13px}.timetable-caption>span,.timetable-caption small{font-size:12px}.grid-space{font-size:13px;min-height:53px;padding:10px}.grid-corner{min-height:53px;font-size:10px}.grid-times>span{font-size:11px}.grid-times small{font-size:9px}.grid-column{background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour,72px)/2 - 1px),#edf0e5 calc(var(--hour,72px)/2 - 1px),#edf0e5 calc(var(--hour,72px)/2),transparent calc(var(--hour,72px)/2),transparent calc(var(--hour,72px) - 1px),#dce3cf calc(var(--hour,72px) - 1px),#dce3cf var(--hour,72px))}.grid-detail strong{font-size:14px}.grid-detail span,.grid-detail small{font-size:11px}.grid-save{width:28px;height:28px}.fit-overview{max-height:none!important;overflow-y:hidden}.fit-overview .grid-detail{padding:2px 28px 2px 5px;display:flex;align-items:center}.fit-overview .grid-detail strong,.fit-overview .calendar-event-detail strong{font:12px/1.1 'DM Sans',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fit-overview .grid-detail span,.fit-overview .grid-detail small,.fit-overview .calendar-event-detail>span,.fit-overview .calendar-event-detail>small{display:none}.fit-overview .grid-save{width:24px;height:24px;top:1px;right:1px;font-size:16px}.fit-overview .grid-event{min-height:5px;left:2px;right:2px;border-radius:4px}.fit-overview .calendar-event-detail{padding:2px 22px 2px 5px}.fit-overview .calendar-event{min-height:5px}.fit-overview .calendar-remove{width:22px;height:22px;top:1px}.fit-overview .hour-choices{padding:2px 6px;gap:5px;font-size:11px}.fit-overview .hour-choices small{display:none}.fit-overview .hour-choices .big-plus{width:20px;height:20px;font-size:17px}.fit-overview .space-cluster{gap:2px;padding:3px}.fit-overview .space-cluster .big-plus{width:23px;height:23px;font-size:20px}.fit-overview .space-cluster small{font-size:11px}.week-calendar{grid-template-columns:55px repeat(var(--day-count,4),minmax(var(--day-width),1fr));min-width:calc(55px + var(--day-width)*var(--day-count,4))}.calendar-day-heading{min-height:53px;padding:10px}.calendar-day-heading span{font-size:11px}.calendar-free{background:#ecdef559;border-color:#cdb0df;color:#9a72b5;padding:9px;gap:7px}.calendar-free:nth-child(2n){background:#e0eddb70;border-color:#b4cba4;color:#78975e}.calendar-free:hover{background:#e5caf5}.calendar-free strong{font-size:12px}.calendar-free small{font-size:11px}.calendar-free .big-plus{width:26px;height:26px}.calendar-free.short-slot small{display:none}.calendar-event-detail>strong{font-size:15px}.calendar-event-detail>span,.calendar-event-detail>small{font-size:12px}.calendar-remove{width:26px;height:26px}.calendar-legend{font-size:12px}.calendar-day-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.calendar-day-controls>button{border:1px solid #dcc9e7;border-radius:6px;padding:8px;font-size:12px}.calendar-day-controls>button.active{background:#e6cfee}.schedule-toolbar{padding:12px;flex-wrap:wrap}.schedule-modes button{font-size:13px}.schedule-days button{font-size:13px}.schedule-days button span{font-size:11px}.plan-header{padding:12px 0 18px}.plan-header h2{font-size:29px}.plan-header p{font-size:13px}.plan-actions button{font-size:12px;min-height:40px}.days-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px}.days-columns>section{min-width:0}.days-columns h3{font:22px Georgia,serif;color:#8f65a0;border-bottom:1px solid #ddc9e6;padding-bottom:13px;margin:0 0 15px}.days-columns h3>span{display:block;font:12px 'DM Sans',sans-serif;color:#a48aae;margin-top:8px}.agenda-entry{border:1px solid #dfd6e5;border-left:4px solid var(--venue-colour);border-radius:8px;padding:14px;margin-bottom:12px;background:#fffdf8}.agenda-entry>span{font-size:12px;color:#9c88a8}.agenda-entry>button:not(.agenda-remove){display:block;font:18px/1.3 Georgia,serif;text-align:left;padding:10px 0 0}.agenda-entry p{font-size:12px;line-height:1.6;color:#99879e;margin:8px 0}.agenda-remove{font-size:11px;text-decoration:underline;color:#a28dab;padding:5px 0}.quiet-empty,.gap-explainer{color:#aaa0ae;font-size:13px;line-height:1.7}.gap-option strong{font-size:13px}.gap-option small{font-size:12px}.gap-option{padding:12px;gap:8px}.gaps-columns .gap-option{flex-wrap:wrap}.gaps-columns .gap-arrow{display:none}.gaps-columns .big-plus{width:26px;height:26px}.cart-body .days-columns{display:block;padding:0}.cart-body .days-columns>section{margin-bottom:25px}.cart-body .days-columns h3{font-size:19px}.cart-heading .eyebrow{font-size:10px!important}.cart-status{font-size:12px;line-height:1.7}.cart-expand{font-size:14px}.cart-expand small{font-size:12px}.cart-me-time{font-size:13px}.cart-me-time span{font-size:11px}#schedule-cart{top:90px;max-height:calc(100vh - 110px)}.cart-body .timetable-caption strong,.cart-body .timetable-caption small{font-size:11px}#schedule-cart .schedule-days button,#schedule-cart .schedule-modes button{font-size:12px}.cart-body .calendar-zoom{padding:8px 0;gap:3px}.cart-body .calendar-zoom button{font-size:11px;padding:7px}.cart-body .calendar-zoom>span{display:none}.swipe-copy p{font-size:14px}.swipe-copy .swipe-host{font-size:12px}.swipe-copy .eyebrow,.swipe-category,.swipe-place,.swipe-fit,.swipe-details{font-size:12px!important}.swipe-fit{line-height:1.5}.swipe-actions button{font-size:12px}.swipe-footnote,.discovery-data-note,.discovery-data-note button{font-size:12px}.discovery-heading p{font-size:13px}.discovery-tools{display:flex;gap:8px;flex-wrap:wrap}.discovery-heading .secondary{font-size:12px}.discovery-stage{gap:25px}.swipe-stack{width:380px}.discovery-aside p{font-size:13px}.discovery-aside{max-width:190px}.appointment-slots{display:flex;flex-wrap:wrap;gap:8px;max-height:360px;overflow:auto}.gap-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;padding:14px 0}.gap-filters label{font-size:12px;display:flex;flex-direction:column;gap:7px}.gap-filters label:last-child{flex-direction:row;align-items:center}.gap-filters select{width:100%;font-size:13px}#interview-form label{display:flex;flex-direction:column;gap:9px;margin:20px 0;font-size:14px}#interview-form select{font-size:15px;min-height:44px}.journey-card:disabled{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}.journey-card p,.journey-heading p{font-size:14px}.journey-action{font-size:13px}.journey-number{font-size:12px}.journey-reassurance p{font-size:12px}.bottom-strip p,footer,footer p,footer button{font-size:12px}.bottom-strip>button span{font-size:12px}.source-entry p{white-space:pre-line}dialog p{font-size:14px}.detail-meta,.detail-bring{font-size:13px}.time-filter-toggle{min-height:38px}.calendar-free:focus-visible{z-index:6}
@media(max-width:1200px){.days-columns{grid-template-columns:repeat(2,minmax(0,1fr))}#extra-filters{grid-template-columns:1fr 1fr}.filter-checks{flex-direction:row!important;flex-wrap:wrap}#schedule-cart{max-height:calc(100vh - 150px)}}
@media(max-width:760px){.header{height:104px;grid-template-rows:48px 56px}.header nav,.header .nav{height:56px}.header .nav{font-size:13px}.header nav{gap:8px}.brand{font-size:9px}.brand-mark{width:32px;height:32px;font-size:35px}.brand-sub{font-size:8px}.working main{padding-top:12px}.workspace-heading h2{font-size:21px}.workspace-heading .eyebrow{font-size:10px!important}.workspace-heading .secondary{font-size:12px;max-width:135px}.toolbar{padding:12px;gap:8px}.toolbar>.control-label{font-size:12px}.toolbar .view-switch{width:100%;max-width:none}.toolbar .view-switch button{padding:10px 6px}.toolbar .view-switch button span{font-size:12px}.explore-filters{padding:12px}.filter-date-time{align-items:flex-start;gap:8px}.days{gap:4px}.day{font-size:12px!important;min-height:44px;padding:7px 8px!important;flex:0 0 auto}.day span{font-size:10px;display:block;margin:3px 0 0}.time-choice{max-width:112px}.time-choice .time-filter-toggle{font-size:11px;white-space:normal;padding:8px}.time-shortcuts button{min-width:88px;font-size:10px;padding:7px}.time-shortcuts button span{font-size:11px}.filterbar{gap:8px}.chip{font-size:11px!important;min-height:38px}.filterbar .chips{flex-basis:100%}#extra-filters{gap:10px}#extra-filters>label{font-size:12px}#extra-filters input[type=search],#extra-filters select{font-size:16px}.filter-checks{grid-column:1/-1;gap:15px!important}.filter-checks label{font-size:13px}#reset{justify-self:start;font-size:12px}.days-columns{grid-template-columns:1fr;padding:15px}.days-columns h3{font-size:24px}.calendar-day-controls{gap:7px}.calendar-day-controls .schedule-days{width:100%;justify-content:space-between}.calendar-day-controls>button{font-size:13px;min-height:40px}.week-calendar{grid-template-columns:44px repeat(var(--day-count,4),minmax(215px,1fr));min-width:calc(44px + 215px*var(--day-count,4))}.schedule-modes{width:100%}.schedule-modes button{flex:1;font-size:13px}.plan-actions{gap:6px}.plan-actions button{font-size:12px}.plan-header h2{font-size:27px}.plan-header p{font-size:12px}.grid-times>span{font-size:10px}.calendar-day-heading strong{font-size:19px}.calendar-free small{font-size:10px}.calendar-free strong{font-size:11px}#schedule-cart{top:116px;max-height:calc(100vh - 130px)}.cart-body{overflow:auto}.list-mode #event-list{display:block}.list-mode .event-card{margin-bottom:14px}.discover-panel{height:auto;max-height:none}#event-list{overflow:visible;max-height:none}.map-panel{height:520px;min-height:520px}.discovery-heading h2{font-size:25px}.discovery-heading p{font-size:13px}.swipe-copy p{font-size:14px}.swipe-copy h3{font-size:27px}.discovery-stage{padding:20px 16px}.swipe-copy{padding:19px}.discovery-tools .primary,.discovery-tools .secondary{font-size:12px}.swipe-actions button{font-size:11px}.swipe-footnote{font-size:11px}.journey-card p{font-size:13px}.journey-action{font-size:12px}.journey-reassurance p{font-size:12px}.time-ticks{font-size:10px!important}footer{flex-direction:column;align-items:flex-start}.gap-filters{grid-template-columns:1fr}.editorial-label{font-size:12px}}
@media print{.calendar-zoom,.calendar-day-controls,.explore-filters{display:none!important}.header{display:none!important}}
/* Final reading pass: supporting information remains readable, not decorative. */
.working:has(#my-plan:not([hidden])) .workspace-heading{display:none}
.plan-header{align-items:center;gap:16px;padding:14px 0 20px}.plan-header h2{margin:8px 0 12px}.plan-header p{margin:0;line-height:1.6}
.control-label,.timetable-caption>span,.timetable-caption small,.plan-header p,.event-host,.event-time,.card-bottom>span,.discovery-heading p{color:#655c72}
.calendar-free{color:#735092}.calendar-free:nth-child(2n){color:#506d3d}.calendar-free small{color:inherit;font-weight:600}.calendar-free strong{font-weight:500}
.days-columns h3>span,.agenda-entry>span,.agenda-entry p,.gap-explainer,.calendar-legend,.cart-status{color:#706378}
.agenda-remove{font-size:12px;color:#725b83;min-height:28px}.quiet-empty{color:#8b8291}.editorial-copy{color:#817987!important}.editorial-label{display:block;color:#8a8190;font-size:12px;margin:6px 0 14px;line-height:1.5}
input::placeholder,textarea::placeholder{color:#a49cac!important;opacity:1}
.swipe-copy .eyebrow{line-height:1.8}.swipe-details{display:block;margin-top:12px}.swipe-host:empty{display:none}
@media(min-width:761px){.plan-header .plan-actions{flex-shrink:0}.plan-header>div:first-child{flex:1}.fit-overview .grid-times>span{font-size:11px}}
@media(max-width:760px){.plan-header{display:block}.plan-actions{margin-top:16px}.plan-header p{font-size:13px}.control-label{font-size:12px}.swipe-actions button{min-height:48px}.journey-card p{font-size:14px}.calendar-free small{font-size:11px}.agenda-entry p,.agenda-entry>span,.days-columns h3>span{font-size:13px}}
.editorial-copy{color:#776e7e!important}
/* Give the personal day the space previously occupied by repeated headings. */
@media(min-width:761px){
 .plan-header{min-height:94px;padding:8px 0 17px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .plan-header .eyebrow{display:none}.plan-header h2{font-size:28px;margin:0 0 10px}.plan-header p{font-size:12px;line-height:1.5;max-width:580px}
 .plan-header .plan-actions{margin:0;gap:6px}.plan-actions button{padding:9px 11px}
 #my-plan .schedule-toolbar{padding:8px 11px;min-height:54px;gap:8px}
 #my-plan .calendar-zoom{padding:7px 12px;min-height:46px}#my-plan .calendar-zoom button{padding:7px 12px}
 #my-plan .full-schedule-content:has(.personal-calendar)>.timetable-caption{display:none}
 #my-plan .calendar-day-heading{min-height:49px;padding:8px}
 #my-plan .grid-corner{min-height:49px;padding:8px 4px}
 .fit-overview .calendar-free{padding:5px 8px;align-items:center}
 .fit-overview .calendar-free.short-slot{padding:1px 7px}
 .fit-overview .calendar-free.short-slot .big-plus{width:18px;height:18px;font-size:16px}
 .fit-overview .calendar-free strong{font-size:12px}.fit-overview .calendar-free small{font-size:11px;margin-top:3px}
}
/* Explore is a canvas between two optional, consistently styled sidebars. */
.working main{max-width:1920px;padding-left:24px;padding-right:24px}.workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start;gap:16px}.workspace.filters-open{grid-template-columns:260px minmax(0,1fr)!important}.workspace.cart-open{grid-template-columns:minmax(0,1fr) 290px!important}.workspace.filters-open.cart-open{grid-template-columns:260px minmax(0,1fr) 290px!important}.workspace-main{min-width:0;width:auto}.sidebar-toggles{display:flex;gap:9px;flex-wrap:wrap}.sidebar-toggles button{font-size:13px;min-height:42px;padding:10px 14px;white-space:nowrap}#filter-sidebar,#schedule-cart{position:sticky;top:90px;width:auto;min-width:0;max-height:calc(100dvh - 106px);border:1px solid #d8c7e4;border-radius:14px;background:#fffcf6;box-shadow:0 6px 22px #51366909;overflow:auto;align-self:start}#schedule-cart{display:flex;flex-direction:column;padding:0}#schedule-cart[hidden],#filter-sidebar[hidden]{display:none!important}.filter-sidebar-heading,.cart-heading{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:17px 15px;background:#f1e7f7;border-bottom:1px solid #ded0e7;gap:10px}.filter-sidebar-heading h2,.cart-heading h2{font:24px Georgia,serif;margin:5px 0 0}.filter-sidebar-heading .eyebrow,.cart-heading .eyebrow{font-size:9px!important;letter-spacing:.8px}.filter-sidebar-heading button,#cart-close{width:auto;height:auto;padding:8px 5px;font-size:12px;white-space:nowrap;color:#724b91;border-radius:6px}.cart-status{padding:0 14px}#schedule-cart>.schedule-days,#schedule-cart>.schedule-modes{margin:4px 12px 9px}#schedule-cart>.cart-me-time{margin:5px 12px 10px}.cart-body{padding:0 12px 12px;flex:1;min-height:0;overflow:auto}.cart-expand{position:sticky;bottom:0;background:#f1e7f7;min-height:58px;padding:12px;border-top:1px solid #decee8}#filter-sidebar .explore-filters{padding:16px 13px;border:0;background:none}#filter-sidebar .filter-date-time{display:flex;flex-direction:column;align-items:stretch;gap:18px}#filter-sidebar .filter-date-time>div{width:100%;max-width:none}#filter-sidebar .control-label{display:block;color:#685675;font-size:12px;margin-bottom:8px;font-weight:600}#filter-sidebar .days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}#filter-sidebar .day{padding:9px 3px!important;min-height:48px;font-size:12px!important;border:1px solid #e4d7eb;border-radius:8px}#filter-sidebar .day span{display:block;font-size:10px;margin:4px 0 0}#filter-sidebar .day[data-all-days]{grid-column:1/-1;min-height:36px}#filter-sidebar .time-filter-toggle{width:100%;font-size:13px;min-height:40px}#filter-sidebar .time-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 20px}#filter-sidebar .time-shortcuts button{min-width:0;font-size:10px;padding:8px 6px}#filter-sidebar .time-shortcuts button span{font-size:12px}#filter-sidebar #time-filters{padding:12px 0}#filter-sidebar .time-ticks span:nth-child(2n){display:none}#filter-sidebar .time-filter-top{flex-wrap:wrap}#filter-sidebar .filterbar{display:block;padding:0;margin:0 0 20px;border:0}#filter-sidebar .chips{display:flex;flex-direction:column;gap:6px}#filter-sidebar .chip{justify-content:flex-start;text-align:left;min-height:39px;padding:8px 12px;font-size:12px!important;width:100%}#filter-sidebar #extra-filters{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:0}#filter-sidebar #extra-filters>label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}#filter-sidebar #search{width:100%;font-size:14px;min-height:42px}#filter-sidebar .filter-checks{display:flex;flex-direction:column!important;gap:13px!important}#filter-sidebar .filter-checks label{font-size:13px}#filter-sidebar #reset{align-self:flex-start;font-size:13px;padding:8px 0}#locations-picker{border:1px solid #d8c9e2;border-radius:9px;background:#fffdf8;overflow:hidden}#locations-picker summary{font-size:13px;padding:12px;cursor:pointer;line-height:1.5;list-style-position:inside}#space-filter{display:flex;flex-direction:column;padding:4px 10px 12px;gap:3px}#space-filter label{display:flex;align-items:center;gap:8px;font-size:13px;padding:7px 0;cursor:pointer;line-height:1.4}#space-filter input{width:17px;height:17px;accent-color:#8355a5;flex-shrink:0}#space-filter i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.location-actions{padding:0 10px}.location-actions button{font-size:12px;text-decoration:underline;color:#8355a5;min-height:32px}.workspace.filters-open.cart-open .discovery-aside{display:none}.workspace.filters-open.cart-open .discovery-stage{justify-content:center;padding:24px 16px}.workspace.filters-open.cart-open .discovery-heading{flex-direction:column;align-items:flex-start}.workspace.filters-open.cart-open #explore-layout:not([hidden]){display:block}.workspace.filters-open.cart-open .map-panel{height:600px}.workspace.filters-open.cart-open .discover-panel{height:auto;max-height:none}.workspace.filters-open.cart-open #event-list{max-height:none;overflow:visible}.toolbar{padding:12px 16px;gap:12px}.toolbar .view-switch{max-width:100%}.toolbar .view-switch button{min-width:0;padding:11px 13px}.toolbar .view-switch button span{font-size:13px}
/* Keep a generous day canvas; page scrolling is preferable to microscopic events. */
.timetable-scroll.fit-overview{max-height:none;overflow-y:visible}.timetable-scroll:not(.fit-overview){max-height:none}.calendar-event,.grid-event{--event-font:15px;--event-lines:2}.calendar-event-detail,.fit-overview .calendar-event-detail,.grid-detail,.fit-overview .grid-detail{display:flex;flex-direction:column;position:relative;padding:6px 28px 22px 8px;gap:3px;height:100%;width:100%;overflow:hidden}.calendar-event-detail>strong,.fit-overview .calendar-event-detail>strong,.grid-detail>strong,.fit-overview .grid-detail>strong{font:600 var(--event-font)/1.15 'DM Sans',sans-serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--event-lines);white-space:normal;text-overflow:ellipsis;overflow:hidden;max-height:none;margin:0}.calendar-event-detail>span,.grid-detail>span{font-size:11px;line-height:1.2;margin:0;flex-shrink:0}.calendar-event-detail>.calendar-event-location,.fit-overview .calendar-event-detail>.calendar-event-location,.grid-detail>.grid-event-location,.fit-overview .grid-detail>.grid-event-location{display:block!important;position:absolute;bottom:3px;right:6px;left:6px;text-align:right;font:500 11px/1.15 'DM Sans',sans-serif;color:#46354e;margin:0;opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.compact-event .calendar-event-detail,.grid-event.compact-event .grid-detail{padding-top:3px;padding-bottom:17px}.calendar-event.compact-event .calendar-event-detail>span,.grid-event.compact-event .grid-detail>span{display:none}.calendar-event,.fit-overview .calendar-event{min-height:38px}.calendar-remove,.fit-overview .calendar-remove{width:22px;height:22px;top:2px;right:2px}.calendar-clash-mark{display:none}.calendar-event.calendar-clash{outline:1px solid #db983e}.grid-event.micro-event .grid-detail{padding-top:1px}.grid-event.micro-event .grid-event-location{display:none!important}.grid-event-location{font-size:11px}.grid-detail small:not(.grid-event-location){display:none}.calendar-free.short-slot>span:last-child{overflow:hidden}.calendar-free.short-slot strong{white-space:nowrap}.calendar-event:hover,.grid-event:hover{z-index:9;box-shadow:0 3px 12px #59377526}.grid-column.calendar-day{overflow:visible}.week-calendar{padding-bottom:42px}.calendar-zoom:after{content:'More room to read · scroll the page to explore';font-size:12px;color:#796585;margin-left:auto}.cart-body .calendar-zoom:after{display:none}
@media(max-width:1099px){.workspace,.workspace.filters-open,.workspace.cart-open,.workspace.filters-open.cart-open{grid-template-columns:minmax(0,1fr)!important}#filter-sidebar,#schedule-cart{position:fixed;top:90px;bottom:16px;max-height:calc(100dvh - 106px);width:min(330px,calc(100vw - 32px));z-index:35;box-shadow:0 10px 70px #38204740}#filter-sidebar{left:16px}#schedule-cart{right:16px}.workspace-heading{align-items:flex-start}.sidebar-toggles{justify-content:flex-end}.workspace.filters-open.cart-open .map-panel{height:560px}}
@media(max-width:760px){.working main{padding-left:12px;padding-right:12px}.workspace-heading{display:block}.sidebar-toggles{justify-content:space-between;margin-top:14px}.sidebar-toggles button{flex:1;font-size:12px}.workspace-heading .secondary{max-width:none}#filter-sidebar,#schedule-cart{top:116px;bottom:10px;max-height:calc(100dvh - 126px)}.toolbar{display:block}.toolbar>.control-label{margin-bottom:8px;display:block}.toolbar .view-switch{width:100%}.toolbar .view-switch button{padding:10px 5px}.calendar-zoom{flex-wrap:wrap}.calendar-zoom:after{width:100%;margin:5px 0}.week-calendar{--day-width:260px}.calendar-event-detail>.calendar-event-location{font-size:11px}.plan-header{display:block}}
@media print{#filter-sidebar,.sidebar-toggles{display:none!important}.workspace{display:block!important}}
.workspace[hidden]{display:none!important}
/* Edge drawers: a continuous side surface, not floating cards or dialogs. */
.working main{max-width:none;padding-left:0;padding-right:0}.working .workspace-heading{padding:0 32px}.working .workspace{gap:0;position:relative;grid-template-columns:48px minmax(0,1fr) 48px!important;min-height:calc(100dvh - 165px);isolation:isolate}.working .workspace.filters-open{grid-template-columns:270px minmax(0,1fr) 48px!important}.working .workspace.cart-open{grid-template-columns:48px minmax(0,1fr) 302px!important}.working .workspace.filters-open.cart-open{grid-template-columns:270px minmax(0,1fr) 302px!important}.workspace-main{grid-column:2;grid-row:1;padding:0 18px 28px;align-self:stretch}#filter-sidebar{grid-column:1;grid-row:1}#schedule-cart{grid-column:3;grid-row:1}#filter-sidebar,#schedule-cart{border:0;border-radius:0;background:#f1e7f7;box-shadow:none;top:60px;max-height:calc(100dvh - 60px);height:calc(100dvh - 60px);margin:0;z-index:12}#filter-sidebar{border-right:1px solid #dfcee9}#schedule-cart{border-left:1px solid #dfcee9}.filter-sidebar-heading,.cart-heading,.cart-expand{background:#f1e7f7;box-shadow:none}.filter-sidebar-heading,.cart-heading{min-height:84px}.working .workspace:before,.working .workspace:after{content:'';position:absolute;top:0;bottom:0;background:#f1e7f7;z-index:-1;pointer-events:none}.working .workspace:before{left:0;width:48px;border-right:1px solid #dfcee9}.working .workspace:after{right:0;width:48px;border-left:1px solid #dfcee9}.working .workspace.filters-open:before{width:270px}.working .workspace.cart-open:after{width:302px}.sidebar-toggles{display:contents}.sidebar-toggles button{position:sticky;top:94px;grid-row:1;align-self:start;justify-self:center;writing-mode:vertical-rl;min-height:142px;width:40px;padding:14px 9px;margin:12px 0 0;border:0;border-radius:8px;background:#f1e7f7;color:#69457f;box-shadow:none;font-size:13px;letter-spacing:.4px;z-index:14}#filters-toggle{grid-column:1}#cart-toggle{grid-column:3}.filters-open #filters-toggle,.cart-open #cart-toggle{display:none}.sidebar-toggles button:hover{background:#e4d3ee}.filter-sidebar-heading button,#cart-close{border:1px solid #d8bfe8;padding:8px;border-radius:7px;background:#f8f2fb}.working .bottom-strip,.working footer{margin-left:32px;margin-right:32px}.working .workspace:has(#my-plan:not([hidden])){grid-template-columns:minmax(0,1fr)!important;padding:0 24px}.workspace:has(#my-plan:not([hidden])) .workspace-main{grid-column:1;padding:0}.workspace:has(#my-plan:not([hidden])):before,.workspace:has(#my-plan:not([hidden])):after{display:none}.calendar-event,.fit-overview .calendar-event{min-height:42px}
@media(max-width:1099px){
 .working .workspace,.working .workspace.filters-open,.working .workspace.cart-open,.working .workspace.filters-open.cart-open{grid-template-columns:38px minmax(0,1fr) 38px!important}.working .workspace:before,.working .workspace.filters-open:before,.working .workspace:after,.working .workspace.cart-open:after{width:38px}.workspace-main{padding:0 8px 22px}.sidebar-toggles button{width:34px;font-size:12px;padding:12px 7px}.filters-open #filters-toggle,.cart-open #cart-toggle{display:none}#filter-sidebar,#schedule-cart{position:fixed;top:60px;bottom:0;height:calc(100dvh - 60px);max-height:none;width:min(300px,calc(100vw - 38px));border-radius:0;box-shadow:none}#filter-sidebar{left:0}#schedule-cart{right:0}.working .workspace-heading{padding:0 20px}.working .workspace:has(#my-plan:not([hidden])){grid-template-columns:minmax(0,1fr)!important;padding:0 16px}
}
@media(max-width:760px){#filter-sidebar,#schedule-cart{top:104px;height:calc(100dvh - 104px);bottom:0}.sidebar-toggles button{top:116px;min-height:130px;margin-top:0}.working .workspace-heading{padding:0 14px}.workspace-heading h2{font-size:20px}.toolbar .view-switch{flex-wrap:wrap}.toolbar .view-switch button{flex:1 0 40%}.working .bottom-strip,.working footer{margin-left:16px;margin-right:16px}}
/* Compact filter disclosure: selected values remain visible when choices are closed. */
#filter-sidebar .filter-sidebar-heading{min-height:68px;padding:12px 14px}#filter-sidebar .filter-sidebar-heading .eyebrow{display:none}#filter-sidebar .filter-sidebar-heading h2{margin:0;font-size:24px}#filter-sidebar .explore-filters{padding:12px;display:flex;flex-direction:column;gap:12px}#filter-sidebar .sidebar-search{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#685675;margin:0}#filter-sidebar .sidebar-search input{padding:9px 10px;min-height:40px}#filter-sidebar .filter-date-time{gap:12px}#filter-sidebar .control-label{margin-bottom:6px}#filter-sidebar .days{gap:3px}#filter-sidebar .day{min-height:42px;padding:6px 3px!important}#filter-sidebar .day[data-all-days]{min-height:30px;padding:5px!important}#filter-sidebar .day span{margin-top:2px}#filter-sidebar .time-choice{display:flex;align-items:center;gap:10px}#filter-sidebar .time-choice>.control-label{margin:0;min-width:28px}#filter-sidebar .time-choice .time-filter-toggle{flex:1;border-radius:8px;min-height:40px;text-align:left}#filter-time-host:has(>[hidden]){display:none}#filter-sidebar #time-filters{padding:10px;margin:0;background:#faf5fc;border:1px solid #dfcee9;border-radius:9px}#filter-sidebar #time-filters .time-shortcuts{margin:10px 0 0;gap:5px}#filter-sidebar #time-filters>p{font-size:11px;line-height:1.5;margin:7px 0}#filter-sidebar #time-filters .time-filter-top strong{font-size:12px}#filter-sidebar #time-filters .time-filter-top button{font-size:11px}#sector-picker{border:1px solid #d8c9e2;border-radius:9px;background:#fffdf8}#sector-picker summary{list-style-position:inside;padding:10px 11px;cursor:pointer;font-size:12px;font-weight:600;line-height:1.4}#sector-summary{display:block;font-weight:400;font-size:13px;color:#76518e;margin:4px 0 0 13px}#filter-sidebar #sector-picker .filterbar{padding:0 8px 8px;margin:0}#sector-picker .filterbar>.control-label{display:none}#filter-sidebar #sector-picker .chips{gap:4px}#filter-sidebar #sector-picker .chip{min-height:34px;font-size:12px!important;padding:6px 8px}#filter-sidebar #extra-filters{gap:12px}#filter-sidebar .location-control{margin:0}#filter-sidebar .location-control>.control-label{font-size:12px}#filter-sidebar .filter-checks{gap:9px!important}#filter-sidebar .filter-checks label{min-height:26px}#filter-sidebar #reset{padding:3px 0;min-height:30px}#filter-sidebar #locations-picker summary{padding:10px 11px;min-height:40px}#space-filter label{padding:5px 0;font-size:12px}
/* Start the side surfaces directly under navigation; keep the centre heading clear. */
@media(min-width:1100px){
 .working .workspace-heading{height:74px;margin:0;padding:12px 70px;align-items:center}
 body:has(.workspace.filters-open) .workspace-heading{padding-left:288px}
 body:has(.workspace.cart-open) .workspace-heading{padding-right:320px}
 .working .workspace-heading h2{font-size:24px}.working .workspace-heading .eyebrow{font-size:10px!important}
 #filter-sidebar,#schedule-cart{margin-top:-92px;padding-top:0}
 .sidebar-toggles button{margin-top:-78px}
 .working .workspace:before,.working .workspace:after{top:-92px}
}
#filter-sidebar .filter-sidebar-heading{min-height:58px;padding:10px 12px}#filter-sidebar .explore-filters{gap:10px;padding:10px 12px}#filter-sidebar .sidebar-search{gap:5px}#filter-sidebar .filter-date-time{gap:10px}#filter-sidebar .filter-checks{gap:6px!important}#filter-sidebar #extra-filters{gap:10px}#sector-picker summary{padding:8px 11px}#sector-summary{margin-top:2px}
.grid-detail>strong,.fit-overview .grid-detail>strong{flex-shrink:0}.grid-event.micro-event .grid-detail,.fit-overview .grid-event.micro-event .grid-detail{padding:1px 28px 1px 7px;justify-content:center;gap:0}.grid-event.micro-event .grid-detail>strong{-webkit-line-clamp:1;line-height:1.1}.cart-expand,.cart-expand small{color:#684782}.cart-expand:hover{background:#e5d5ef}
/* Map results are a quick-scan programme, with full detail one click away. */
.map-mode .discover-panel{padding:14px 14px 0}.map-mode .results-heading{padding:0;gap:8px}.map-mode .results-heading h2{font-size:23px;margin:6px 0}.map-mode .results-heading .eyebrow{font-size:9px!important}.map-mode .results-heading .small-spark{font-size:28px}.map-mode .results-meta{font-size:12px;padding:8px 0 11px;margin:0;border-bottom:1px solid #e1d5e9}.map-mode #event-list{display:block;padding:0}.map-mode .event-card{display:grid;grid-template-columns:minmax(0,1fr) 34px;column-gap:9px;row-gap:3px;padding:11px 0;margin:0;border:0;border-bottom:1px solid #e5dbea;border-radius:0;background:transparent;box-shadow:none;position:relative;min-height:79px}.map-mode .event-card:hover{background:#f0e5f64a;transform:none}.map-mode .card-top{grid-column:1;display:block;padding:0;margin:0}.map-mode .event-time{font-size:11px;font-weight:600;line-height:1.4;color:#766185}.map-mode .event-category{display:none}.map-mode .event-title{grid-column:1;display:block;font:600 14px/1.35 'DM Sans',sans-serif;padding:0;margin:0;white-space:normal;text-align:left}.map-mode .event-host{grid-column:1;font-size:11px;line-height:1.35;margin:0;color:#8a7b91}.map-mode .card-bottom{display:contents}.map-mode .card-bottom>span{grid-column:1;font-size:11px;line-height:1.3;color:#83718e;margin:0}.map-mode .card-bottom .space-dot{width:5px;height:5px;margin-right:4px}.map-mode .save-button{grid-column:2;grid-row:1/5;align-self:center;justify-self:center;width:31px;height:31px;font-size:19px;margin:0}.map-mode .save-button.saved{font-size:14px}
.map-mode .event-host{display:none}.map-mode.single-space-results .card-bottom>span{display:none}.map-mode .event-card{min-height:64px;padding:10px 0;row-gap:2px}
/* A consistent reading size per zoom level, with regular-weight wrapped titles. */
.calendar-event-detail>strong,.fit-overview .calendar-event-detail>strong,.grid-detail>strong,.fit-overview .grid-detail>strong{font-family:'DM Sans',sans-serif;font-size:var(--event-font,12px);font-weight:400;line-height:1.22;white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-line-clamp:var(--event-lines,2);max-height:none;flex-shrink:0}
.grid-detail,.fit-overview .grid-detail,.grid-event.compact-event .grid-detail,.grid-event.micro-event .grid-detail,.fit-overview .grid-event.micro-event .grid-detail{padding:3px 27px 3px 7px;justify-content:flex-start;gap:3px}.grid-event.micro-event .grid-detail>strong{-webkit-line-clamp:var(--event-lines,1);line-height:1.22}.calendar-event-detail,.fit-overview .calendar-event-detail{padding-left:7px;padding-top:4px;padding-bottom:18px;gap:3px}.calendar-event.compact-event .calendar-event-detail{padding-top:3px;padding-bottom:17px}.calendar-event-detail>.calendar-event-location,.fit-overview .calendar-event-detail>.calendar-event-location{font-size:10px;font-weight:400;bottom:3px;line-height:1.15}.calendar-event:hover,.calendar-event:focus-within,.grid-event:hover,.grid-event:focus-within{height:var(--expanded-height)!important;min-height:42px;z-index:20;box-shadow:0 4px 14px #4f345b30}.calendar-event:hover strong,.calendar-event:focus-within strong,.grid-event:hover strong,.grid-event:focus-within strong{-webkit-line-clamp:unset;display:block;overflow:visible}.calendar-event:hover .calendar-event-detail,.calendar-event:focus-within .calendar-event-detail,.grid-event:hover .grid-detail,.grid-event:focus-within .grid-detail{overflow:visible}.grid-clash{font-size:10px;padding:3px;min-height:18px}.grid-event.has-clash .grid-detail{padding-bottom:3px}.hour-choices{font-size:11px}.hour-choices .big-plus{font-size:17px}
/* Horizontal panning remains local; vertical wheel/touch scrolling belongs to the page. */
.timetable-scroll,.timetable-scroll.fit-overview,.timetable-scroll.personal-calendar{max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior:auto;touch-action:pan-x pan-y}.planner{overflow:visible}.planner>.toolbar{border-radius:16px 16px 0 0}.venue-header-viewport{position:sticky;top:60px;z-index:18;overflow:hidden;background:#f5edf8;box-shadow:0 2px 4px #49365b12;overscroll-behavior:auto}.venue-head-row{display:grid;width:100%;min-width:calc(203px + var(--cols)*var(--column));grid-template-columns:58px 145px repeat(var(--cols),minmax(var(--column),1fr));background:#fffdf8}.venue-head-row>.grid-space,.venue-head-row>.grid-corner{position:relative;top:auto;min-height:60px}.venue-head-row>.grid-corner{position:sticky;left:0}.venue-head-row .grid-space{font-weight:500;font-size:12px}.venue-head-row .rail-heading{font-size:11px}.venue-head-row .rail-heading small{font-size:10px;line-height:1.4}.map-mode .event-title{font-weight:400}
@media(max-width:760px){.venue-header-viewport{top:104px}.venue-head-row{grid-template-columns:44px 115px repeat(var(--cols),minmax(155px,1fr));min-width:calc(159px + var(--cols)*155px)}}
.calendar-event,.grid-event{--event-font:var(--zoom-event-font,11.5px)}
.private-time-inputs select{width:100%;min-height:48px;font-size:16px;padding:11px 12px;background:#fffdf8;border:1px solid #cdbbdb;border-radius:9px;color:#493256}.private-duration{font-size:14px;font-weight:500;color:#745095;margin:12px 0 6px}.private-time-note{font-size:12px;line-height:1.6}
/* A compact starting point: content-sized cards, not full-screen tiles. */
#journey-starter{max-width:1080px;margin:0 auto;padding:8px 0 18px}.journey-heading{margin-bottom:18px;gap:16px}.journey-heading h2{font-size:30px;margin:8px 0}.journey-heading p{font-size:13px;line-height:1.6}.journey-flower{font-size:45px}.journey-options{gap:12px}.journey-card{min-height:164px;padding:18px 20px;border-radius:12px}.journey-number{position:absolute;top:22px;left:17px;border:0;padding:0;font-size:10px;letter-spacing:.6px}.journey-symbol{top:13px;right:18px;font-size:28px}.journey-card h3{font-size:22px;line-height:1.25;margin:0 27px 8px 28px;letter-spacing:-.2px}.journey-card p{font-size:13px;line-height:1.55;max-width:none;margin:0 0 12px 28px}.journey-action{font-size:12px;line-height:1.4;gap:10px;margin-left:28px;width:calc(100% - 28px)}.journey-action>span{width:24px;height:24px;flex-shrink:0}.journey-reassurance{padding-top:14px;gap:10px}.journey-reassurance p{font-size:11px}.journey-card:hover{transform:translateY(-2px)}
@media(max-width:760px){#journey-starter{padding-top:4px}.journey-heading h2{font-size:26px}.journey-heading p{font-size:13px}.journey-card{min-height:0;padding:16px}.journey-options{gap:10px}.journey-card h3{font-size:21px;margin-left:24px;margin-right:22px;margin-bottom:7px}.journey-card p{font-size:13px;margin-left:24px;margin-bottom:10px}.journey-number{left:13px;top:20px}.journey-symbol{font-size:24px;right:13px;top:12px}.journey-action{margin-left:24px;width:calc(100% - 24px);font-size:12px}.journey-flower{display:none}}
@media(min-width:761px){.journey-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.journey-card{min-height:196px;padding:20px 19px}.journey-card h3{font-size:21px;margin:18px 24px 9px 28px}.journey-card p{font-size:12px;line-height:1.55;margin-left:28px;margin-bottom:14px}.journey-action{font-size:12px;margin-left:28px;width:calc(100% - 28px)}.journey-symbol{font-size:31px;right:16px;top:15px}.journey-reassurance{padding-top:14px}}

/* Collapsed sidebars are continuous, full-height click targets. */
.working .workspace{--rail-width:28px;grid-template-columns:var(--rail-width) minmax(0,1fr) var(--rail-width)!important}
.working .workspace.filters-open{grid-template-columns:270px minmax(0,1fr) var(--rail-width)!important}
.working .workspace.cart-open{grid-template-columns:var(--rail-width) minmax(0,1fr) 302px!important}
.working .workspace.filters-open.cart-open{grid-template-columns:270px minmax(0,1fr) 302px!important}
.working .workspace:not(.filters-open):before,.working .workspace:not(.cart-open):after{width:var(--rail-width)}
.sidebar-toggles button{position:sticky;top:60px;align-self:start;justify-self:stretch;display:flex;align-items:center;justify-content:flex-start;width:100%;height:calc(100dvh - 60px);min-height:0;margin:0!important;padding:22px 5px;border-radius:0;font-size:12px;letter-spacing:0;background:#f1e7f7}
.sidebar-toggles button:focus-visible{outline:2px solid #7347aa;outline-offset:-2px}
@media(max-width:1099px){.working .workspace,.working .workspace.filters-open,.working .workspace.cart-open,.working .workspace.filters-open.cart-open{grid-template-columns:var(--rail-width) minmax(0,1fr) var(--rail-width)!important}.working .workspace:before,.working .workspace.filters-open:before,.working .workspace:after,.working .workspace.cart-open:after{width:var(--rail-width)}}
@media(max-width:760px){.sidebar-toggles button{top:104px;height:calc(100dvh - 104px)}}

/* Gap choices: compact rows, with full titles and a clear save target. */
.picker-events{display:flex;flex-direction:column;gap:0;margin-top:12px}.picker-events>div{min-width:0;border-bottom:1px solid #e6deeb}.picker-row{display:flex;align-items:center;gap:10px;padding:8px 0 8px 10px;border-left:3px solid var(--venue-colour);margin:3px 0}.picker-row-detail{display:grid;gap:3px;flex:1;min-width:0;text-align:left;background:none;border:0;padding:2px 0;color:#362b42}.picker-row-time,.picker-row-place{font-size:12px;line-height:1.35;color:#72617e}.picker-row-title{font-size:14px;font-weight:400;line-height:1.35;overflow-wrap:anywhere}.picker-row .save-button{flex:0 0 36px;width:36px;height:36px;margin:0 4px 0 0;font-size:21px}.picker-count{margin:8px 0!important;font-size:12px!important}.picker-me-time{padding:8px 12px!important;font-size:12px!important}.gap-filters{gap:8px;margin:10px 0}.gap-filters label{font-size:12px}.gap-filters select{padding:7px;font-size:12px}
@media(pointer:coarse){.picker-row .save-button{flex-basis:44px;width:44px;height:44px}}

/* Space identity is consistent across modes; sectors remain text filters. */
.grid-event[data-space],.space-cluster[data-space]{background:var(--venue-colour);border-color:color-mix(in srgb,var(--venue-colour) 70%,#524258);border-left-color:color-mix(in srgb,var(--venue-colour) 65%,#493355);color:#33283d}
.grid-space[data-venue]{background:color-mix(in srgb,var(--venue-colour) 65%,#fffdf8);color:#33283d;border-top:4px solid var(--venue-colour)}
.event-card[data-space]{--accent:var(--venue-colour);--tag:color-mix(in srgb,var(--venue-colour) 28%,white);border-left:3px solid var(--venue-colour)}
.event-card[data-space] .space-dot{background:var(--venue-colour)}
.map-pin[data-space] .pin-icon{background:var(--venue-colour)!important;color:#413148!important}
.map-pin[data-space] .pin-label{border-bottom:3px solid var(--venue-colour)}
.swipe-card[data-space] .swipe-art{background:var(--venue-colour);color:#493653}
@media(min-width:761px){.header{height:60px;padding-inline:3%;gap:20px}.header .nav{height:60px;font-size:13px}.header .brand{font-size:11px;gap:9px;letter-spacing:1.7px}.header .brand-mark{width:39px;height:39px;font-size:42px}.header .brand-sub{display:none}.header nav{height:60px;gap:24px}.header .icon-button{width:32px;height:32px}.header .edition{font-size:10px}}
.toolbar .view-switch button.active{background:#75469b;color:white;outline:0;box-shadow:0 2px 5px #60407720}.toolbar .view-switch button{min-height:40px;padding:9px 13px}.toolbar{padding:10px 14px}
/* Give more of the picker to choices, less to introductory chrome. */
#info-content:has(.picker-events)>h2{font-size:27px;margin:10px 0 12px}
#info-content:has(.picker-events)>p{font-size:13px;line-height:1.5;margin:10px 0}
#info-content:has(.picker-events) .picker-count{padding:8px 10px}
#info-content:has(.picker-events) .gap-filters{margin:12px 0 8px;gap:10px;grid-template-columns:1fr 1fr auto;align-items:end}
.picker-row-detail{grid-template-columns:115px minmax(0,1fr);column-gap:12px}.picker-row-time{grid-row:1/3;align-self:center}.picker-row-title,.picker-row-place{grid-column:2}.picker-row{padding-top:6px;padding-bottom:6px}
@media(max-width:540px){.picker-row-detail{grid-template-columns:1fr}.picker-row-time{grid-row:auto}.picker-row-title,.picker-row-place{grid-column:1}#info-content:has(.picker-events) .gap-filters{grid-template-columns:1fr 1fr}#info-content:has(.picker-events) .gap-filters>label:last-child{grid-column:1/-1}}

.timetable,.venue-head-row{grid-template-columns:58px 145px var(--venue-tracks);min-width:var(--grid-min-width)}
/* Discovery explains its queue without taking over the card. */
.discovery-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:min(760px,100%);margin:12px auto 4px;padding:10px 12px;border:1px solid #e3d2eb;border-radius:10px;background:#f8f0fb;color:#725b82;font-size:11px}
.discovery-status strong{color:#593a70;font-size:12px}.discovery-status span{padding-left:8px;border-left:1px solid #d8c6e1}.discovery-status label{display:flex;align-items:center;gap:5px;margin-left:auto;color:#654c72}.discovery-status input{accent-color:#8050a4}.discovery-status button{padding:5px 8px;font-size:10px}
.discovery-clash-action{margin-left:auto!important;border:1px solid #cdb4dc;border-radius:8px;background:#fff;color:#654477;min-height:34px}.discovery-clash-action:hover{background:#eee0f7;transform:translateY(-1px)}
.discovery-welcome{display:flex;align-items:center;gap:20px;width:min(760px,100%);margin:8px auto 16px;padding:18px 20px;border:1px solid #d8bce7;border-radius:16px;background:linear-gradient(120deg,#f2e2fa,#fff3d5);box-shadow:0 5px 20px #80509a12}.discovery-welcome-mark{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:#8754ab;color:#fff;font-size:30px;animation:sunspin 30s linear infinite}.discovery-welcome h3{font:500 23px/1.25 'DM Sans',system-ui,sans-serif;color:#5c3e6e;margin:5px 0}.discovery-welcome p{font-size:13px;line-height:1.55;color:#76657e;margin:5px 0}.discovery-welcome-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.discovery-welcome-actions button{min-height:38px;font-size:11px}.discovery-welcome-actions .secondary{background:#fff8}
.discovery-welcome-screen{min-height:420px;margin:0 auto;justify-content:center;max-width:680px;padding:42px 48px}.discovery-welcome-screen>div{max-width:470px}
.festival-overview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px 18px;border:1px solid #e1d1e8;border-radius:12px;background:linear-gradient(110deg,#f4e9fa,#fff8e6)}.festival-overview h3{font:500 18px/1.3 'DM Sans',system-ui,sans-serif;margin:5px 0}.festival-overview p{font-size:12px;color:#78677e}.festival-overview .secondary{white-space:nowrap}
@media(max-width:760px){.discovery-status{font-size:11px;gap:6px}.discovery-status label{width:100%;margin:2px 0 0}.discovery-status button{min-height:36px}}
@media(max-width:760px){.discovery-welcome{display:block;margin:8px 0 14px;padding:16px;border-radius:14px}.discovery-welcome-mark{width:42px;height:42px;font-size:23px;margin-bottom:10px}.discovery-welcome h3{font-size:20px}.discovery-welcome p{font-size:13px}.discovery-welcome-actions{display:grid;grid-template-columns:1fr 1fr}.discovery-welcome-actions button{min-height:44px}}
@media(max-width:760px){.discovery-welcome-screen{min-height:calc(100dvh - 210px);margin:0 -4px;padding:28px 20px;display:flex;flex-direction:column;justify-content:center}.discovery-welcome-screen>div{max-width:none}}
/* First Discovery visit is a calm, focused orientation layer. */
/* Point out that both side rails can be hidden once per browser session. */
@keyframes sidebar-nudge{0%,100%{transform:translateX(0);box-shadow:none}18%{transform:translateX(-4px);box-shadow:0 0 0 5px #d8bce755}36%{transform:translateX(3px);box-shadow:0 0 0 5px #d8bce755}54%{transform:translateX(-2px)}72%{transform:translateX(1px)}}
body.sidebar-nudge #filters-toggle,body.sidebar-nudge #cart-toggle,body.sidebar-nudge #filters-close,body.sidebar-nudge #cart-close{animation:sidebar-nudge 1.4s ease-in-out 2}
@media(prefers-reduced-motion:reduce){body.sidebar-nudge #filters-toggle,body.sidebar-nudge #cart-toggle,body.sidebar-nudge #filters-close,body.sidebar-nudge #cart-close{animation:none}}
@media(max-width:760px){.festival-overview{display:block;padding:14px;margin-top:12px}.festival-overview .secondary{margin-top:12px;width:100%;min-height:42px}}
/* Gap emphasis is driven by opportunity density, not colour alone. */
.gap-option{position:relative;overflow:hidden;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.gap-option.gap-rich{background:linear-gradient(125deg,#f0def9 0%,#e9e8fa 48%,#e1f1d5 100%);border:1px solid #a875c4;color:#56366d;box-shadow:0 5px 16px #8050a42b}.gap-option.gap-rich:before{content:'GOOD FIT';position:absolute;top:0;right:0;padding:3px 8px;border-radius:0 0 0 8px;background:#8050a4;color:#fff;font:600 8px/1 'DM Sans',sans-serif;letter-spacing:.7px}.gap-option.gap-rich:hover,.gap-option.gap-rich:focus-visible{background:linear-gradient(125deg,#ebd2f8,#e0e1fa 48%,#d6edc7);border-color:#8050a4;box-shadow:0 8px 20px #8050a438;transform:translateY(-1px)}.gap-option.gap-rich .big-plus{background:#fff9ff;border-color:#b27dcc;color:#8050a4}.gap-option.gap-some{background:linear-gradient(110deg,#f2e9f6,#edf2e4);border-style:solid;border-color:#c7b1d1;color:#6a5772}.gap-option.gap-some:hover,.gap-option.gap-some:focus-visible{background:#eee3f4;border-color:#a887b5}.gap-option.gap-empty{background:#eff1eb;border:1px solid #d6d9cf;color:#92968f;box-shadow:none}.gap-option.gap-empty .big-plus{background:#e5e8df;border-color:#cbd0c3;color:#9aa091}.gap-option.gap-empty:hover,.gap-option.gap-empty:focus-visible{background:#e9ece5;border-color:#bdc4b6}.gap-opportunity-count{font-weight:600}.gap-empty .gap-opportunity-count{font-weight:500}.gaps-columns .gap-option.gap-rich{min-height:72px}.gaps-columns .gap-option.gap-empty{opacity:.78}
@media(prefers-reduced-motion:reduce){.gap-option{transition:none}.gap-option.gap-rich:hover,.gap-option.gap-rich:focus-visible{transform:none}}
/* Make the exploration modes read as distinct choices. */
.toolbar .view-switch{gap:5px;padding:4px;border:1px solid #d6c1e2;border-radius:11px;background:#eee4f5}.toolbar .view-switch button{border:1px solid transparent;background:#fffaf5;box-shadow:0 1px 3px #60407718;color:#664879;font-weight:550}.toolbar .view-switch button[data-mode=grid]{border-color:#c9b0db}.toolbar .view-switch button[data-mode=map]{border-color:#a8cfba;background:#f2faef;color:#49745d}.toolbar .view-switch button[data-mode=list]{border-color:#e4c48a;background:#fff9e8;color:#896127}.toolbar .view-switch button[data-mode=discover]{border-color:#cfb4e1;background:#f9f0fd;color:#75469b}.toolbar .view-switch button.active{background:#75469b!important;border-color:#75469b!important;color:#fff!important;box-shadow:0 3px 8px #60407735}
@media(min-width:761px){.planner.discover-mode{max-width:980px;margin-inline:auto;overflow:visible}.planner.discover-mode .discovery-heading,.planner.discover-mode .discovery-data-note{max-width:760px;margin-inline:auto}.planner.discover-mode .discovery-stage{max-width:900px;margin-inline:auto}}
/* Compact controls keep the sidebar useful without opening the full schedule. */
.cart-tools{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:0 14px 12px;border-bottom:1px solid #dfcee9}.cart-tools label{display:flex;flex-direction:column;gap:5px;color:#735486;font-size:10px;font-weight:600}.cart-tools select,.cart-tools input{width:100%;min-width:0;min-height:36px;padding:7px 8px;border:1px solid #d3c0df;border-radius:7px;background:#fffafc;color:#5e416e;font-size:11px}.cart-tools input::placeholder{font-size:10px}.cart-tools select:focus-visible,.cart-tools input:focus-visible{outline:2px solid #75469b;outline-offset:1px}
.timetable-day-picker{display:inline-flex;align-items:center}.timetable-day-picker select{min-height:32px;padding:6px 28px 6px 9px;border:1px solid #cdb4dc;border-radius:7px;background:#fffaff;color:#68457b;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.timetable-day-picker select:focus-visible{outline:2px solid #75469b;outline-offset:2px}
.shared-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 16px}.shared-day{min-width:0;padding:11px;border:1px solid #dfcce8;border-radius:10px;background:linear-gradient(160deg,#faf3fc,#fffaf0)}.shared-day>header{display:flex;flex-direction:column;gap:3px;padding-bottom:9px;margin-bottom:3px;border-bottom:1px solid #eaddec}.shared-day>header strong{font:600 15px 'DM Sans',sans-serif;color:#69447d}.shared-day>header span{font-size:10px;color:#a080ad}.shared-event{display:grid;grid-template-columns:1fr auto;gap:5px 7px;padding:10px 0;border-bottom:1px solid #eee5f0}.shared-event:last-child{border-bottom:0}.shared-event time{grid-column:1/-1;font-size:10px;color:#8b6b9b}.shared-event>div{min-width:0}.shared-event>div strong{display:block;font:400 13px/1.25 Georgia,serif;color:#44324f;overflow-wrap:anywhere}.shared-event small{display:block;margin-top:3px;font-size:10px;line-height:1.3;color:#967fa0;overflow-wrap:anywhere}.shared-add{align-self:start;min-height:30px;padding:5px 8px;font-size:10px}.shared-add:disabled{background:#eadcf0;border-color:#d6c3df;color:#765d83;cursor:default}.shared-event.is-added{opacity:.72}.shared-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.shared-actions button{min-height:40px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.shared-calendar{grid-template-columns:1fr 1fr;gap:8px}.shared-day{padding:9px}.shared-event>div strong{font-size:12px}.shared-add{padding-inline:7px}}
@media(max-width:480px){.shared-calendar{grid-template-columns:1fr}.shared-actions{display:grid;grid-template-columns:1fr}.shared-actions button{width:100%}}
/* Discovery metrics use a styled tooltip rather than the browser title popup. */
.discovery-status strong[data-tooltip],.discovery-status span[data-tooltip],.phone-discovery-status strong[data-tooltip],.phone-discovery-status span[data-tooltip]{position:relative;cursor:help;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:4px}.discovery-status [data-tooltip]::after,.phone-discovery-status [data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 11px);z-index:80;width:250px;padding:10px 12px;border:1px solid #8f70a6;border-radius:9px;background:#3f2c4f;color:#fff;box-shadow:0 8px 22px #38204735;font:400 11px/1.45 'DM Sans',sans-serif;letter-spacing:0;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .16s ease,transform .16s ease}.discovery-status [data-tooltip]::before,.phone-discovery-status [data-tooltip]::before{content:'';position:absolute;left:50%;bottom:calc(100% + 5px);z-index:81;border:6px solid transparent;border-top-color:#3f2c4f;opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .16s ease}.discovery-status [data-tooltip]:hover::after,.discovery-status [data-tooltip]:focus-visible::after,.phone-discovery-status [data-tooltip]:hover::after,.phone-discovery-status [data-tooltip]:focus-visible::after,.discovery-status [data-tooltip]:hover::before,.discovery-status [data-tooltip]:focus-visible::before,.phone-discovery-status [data-tooltip]:hover::before,.phone-discovery-status [data-tooltip]:focus-visible::before{opacity:1}.discovery-status [data-tooltip]:focus-visible::after,.phone-discovery-status [data-tooltip]:focus-visible::after{transform:translate(-50%,0)}
/* Keep timetable metadata optically centred around the day selector. */
.timetable-caption{align-items:center}.timetable-caption .timetable-day-picker{flex:0 0 auto}.timetable-caption>span{flex:1;text-align:center}.timetable-caption small{flex:0 0 auto}
/* My Schedule controls sit directly below its heading and use the full drawer width. */
.cart-tools{grid-template-columns:1fr;gap:8px;padding:10px 14px 12px}.cart-tools select{width:100%;min-width:0}.cart-tools .cart-search{display:flex;flex-direction:column}
/* Resizable desktop/tablet sidebars. */
.filter-sidebar-heading,.cart-heading{position:relative}.sidebar-resize{position:absolute!important;top:50%;width:20px!important;height:42px!important;min-height:0!important;padding:0!important;margin:0!important;transform:translateY(-50%);display:grid;place-items:center;font-size:16px!important;line-height:1;color:#9a77aa!important;background:transparent!important;border:0!important;cursor:ew-resize!important;z-index:2}.filter-sidebar-heading .sidebar-resize{right:-11px}.cart-heading .sidebar-resize{left:-11px}.sidebar-resize:hover,.sidebar-resize:focus-visible{color:#68417e!important;background:#eadcf0!important;border-radius:5px!important;outline:0}
body.resizing-sidebar,body.resizing-sidebar *{cursor:ew-resize!important;user-select:none!important}
@media(min-width:1100px){.working .workspace.filters-open{grid-template-columns:var(--filters-width,270px) minmax(0,1fr) 48px!important}.working .workspace.cart-open{grid-template-columns:48px minmax(0,1fr) var(--cart-width,302px)!important}.working .workspace.filters-open.cart-open{grid-template-columns:var(--filters-width,270px) minmax(0,1fr) var(--cart-width,302px)!important}.working .workspace.filters-open:before{width:var(--filters-width,270px)}.working .workspace.cart-open:after{width:var(--cart-width,302px)}}
@media(min-width:761px) and (max-width:1099px){#filter-sidebar{width:min(var(--filters-width,270px),calc(100vw - 38px))}#schedule-cart{width:min(var(--cart-width,302px),calc(100vw - 38px))}}
@media(max-width:760px){.timetable-caption>span{flex-basis:100%;text-align:left}.timetable-caption small{width:100%}.sidebar-resize{display:none!important}.cart-tools{padding-inline:12px}.cart-tools select,.cart-tools input{min-height:42px;font-size:13px}}
/* Explore timetable: the header row and the event row are one exact column grid. */
#explore-timetable .timetable,#explore-timetable .venue-head-row{grid-template-columns:58px 145px var(--venue-tracks)!important;min-width:var(--grid-min-width,203px)}
/* Keep the collapsed left rail flush with the full-height side surfaces. */
@media(min-width:1100px){.sidebar-toggles button{margin-top:-92px!important}.working .workspace:before,.working .workspace:after{top:-92px}}
@keyframes sidebar-rail-nudge{0%,100%{transform:translateX(0)}22%{transform:translateX(-3px)}44%{transform:translateX(3px)}66%{transform:translateX(-1px)}}
body.sidebar-nudge .workspace:before,body.sidebar-nudge .workspace:after{animation:sidebar-rail-nudge 1.4s ease-in-out 2}
@media(prefers-reduced-motion:reduce){body.sidebar-nudge .workspace:before,body.sidebar-nudge .workspace:after{animation:none}}
/* Timetable cards stay inside their scheduled slot; details are clipped to the available room. */
.calendar-event:hover,.calendar-event:focus-within,.grid-event:hover,.grid-event:focus-within{height:var(--event-height)!important;min-height:38px}
.calendar-event:hover strong,.calendar-event:focus-within strong,.grid-event:hover strong,.grid-event:focus-within strong{display:-webkit-box!important;overflow:hidden!important;-webkit-line-clamp:var(--event-lines,2)!important}
.calendar-event:hover .calendar-event-detail,.calendar-event:focus-within .calendar-event-detail,.grid-event:hover .grid-detail,.grid-event:focus-within .grid-detail{overflow:hidden!important}
/* Fit view omits secondary text only when the event is genuinely too short for it. */
.fit-overview .calendar-event:not(.compact-event) .calendar-event-detail>span,.fit-overview .calendar-event:not(.compact-event) .calendar-event-detail>small{display:block}
