.harvest-outing strong{font-size:13px;display:block}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/forktown/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/forktown/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/forktown/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/forktown/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/forktown/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/forktown/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/forktown/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/forktown/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/forktown/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/forktown/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2)format("woff2"),url(/forktown/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/forktown/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2)format("woff2"),url(/forktown/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/forktown/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2)format("woff2"),url(/forktown/assets/space-mono-latin-400-normal-_3DlpgIW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/forktown/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2)format("woff2"),url(/forktown/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/forktown/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2)format("woff2"),url(/forktown/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/forktown/assets/space-mono-latin-700-normal-mWgeinG7.woff2)format("woff2"),url(/forktown/assets/space-mono-latin-700-normal-D7A851RN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/forktown/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2)format("woff2"),url(/forktown/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/forktown/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2)format("woff2"),url(/forktown/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/forktown/assets/fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(/forktown/assets/fraunces-latin-500-normal-BTR4KCeb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/forktown/assets/fraunces-vietnamese-500-italic-C9H4s5GK.woff2)format("woff2"),url(/forktown/assets/fraunces-vietnamese-500-italic-Iu4UOzuF.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/forktown/assets/fraunces-latin-ext-500-italic-D-eTYFHX.woff2)format("woff2"),url(/forktown/assets/fraunces-latin-ext-500-italic-CzWJT2mH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/forktown/assets/fraunces-latin-500-italic-CjxnbVsv.woff2)format("woff2"),url(/forktown/assets/fraunces-latin-500-italic-Bp1RWfBU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.errand-item-preview{width:44px;height:44px;image-rendering:pixelated;background:#f2f0e3;border-radius:8px;flex:0 0 44px;display:block}.follow-status>.follow-caption{overflow-wrap:anywhere;min-width:0}.follow-status>button{flex-shrink:0}:is(.town-app .follow-status:has(>.errand-item-preview),.review-world .follow-status:has(>.errand-item-preview)){gap:10px;width:max-content}.seasonal-errand-card{cursor:default;align-items:flex-start}.seasonal-errand-card>.errand-item-preview{margin-top:3px}.seasonal-errand-card .errand-route,.seasonal-errand-card .errand-body{overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.6}.seasonal-errand-card .errand-route{color:var(--muted)}.seasonal-errand-card .errand-actions{flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:2px;display:flex}.seasonal-errand-card .errand-actions .text-button{text-align:left;white-space:normal;min-height:32px;padding:4px 0;font-size:11px;line-height:1.5}.seasonal-errand-card .errand-actions svg{flex-shrink:0}.tale-quote{border-left:3px solid var(--lantern,#f2c06b);background:var(--lantern-pale,#fff6df);color:var(--ink,#343e35);font:italic 500 15px/1.55 var(--serif,"Fraunces", serif);white-space:pre-line;overflow-wrap:anywhere;border-radius:0 8px 8px 0;margin:0;padding:10px 14px}.fork-card .eyebrow,.lantern-provenance .eyebrow,.evening-eyebrow{font:10px/1.7 var(--mono,"Space Mono", monospace);letter-spacing:1.4px;color:var(--lantern-ink,#8a5a1c)}.lantern-badge{background:var(--lantern-pale,#fff6df);color:var(--lantern-ink,#8a5a1c);font:10px/1.5 var(--mono,"Space Mono", monospace);letter-spacing:.4px;white-space:nowrap;border:1px solid #e8d2a6;border-radius:4px;align-items:center;gap:6px;padding:2px 7px;display:inline-flex}.lantern-badge.is-newest:before{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:#c57b65;width:6px;height:7px}.lantern-badge.is-tale:before{content:"";border:1px solid var(--lantern-ink,#8a5a1c);background:#fbf3de;border-radius:1px 1px 0 0;width:5px;height:7px}.lantern-number,.fork-hour.is-lighting .fork-hour-detail{font:700 12px var(--mono,"Space Mono", monospace)}.lantern-glyph{display:block}.tale-quote,.lantern-badge,.fork-hour,.almanac-evening{transition:background-color .4s,border-color .4s,color .4s}.fork-card{flex-direction:column;padding:22px 22px 30px;display:flex}.fork-lede{margin:6px 0 18px;font-size:14px;line-height:1.65}.fork-hour{background:var(--green-pale,#eef1e6);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.fork-hour [role=status]{font:500 17px/1.35 var(--serif,"Fraunces", serif)}.fork-hour-detail{color:var(--muted,#5f6b57);margin-top:4px;font-size:12px}.fork-hour.is-lighting .fork-hour-detail{color:var(--lantern-ink,#8a5a1c)}.fork-tale{flex-direction:column;gap:10px;margin-top:24px;display:flex}.fork-tale h3{font:500 22px/1.25 var(--serif,"Fraunces", serif);margin-top:-6px}.fork-tale h3 .text-button{min-height:0;font:inherit;text-align:left}.tale-credit{color:var(--muted,#5f6b57);font-size:12px}.lantern-heading{font:500 17px/1.3 var(--serif,"Fraunces", serif);margin:28px 0 6px}.lantern-list{margin:0;padding:0;list-style:none}.lantern-list li+li{border-top:1px solid var(--line,#e4e5da)}.lantern-row{text-align:left;border-radius:6px;align-items:center;gap:12px;width:100%;min-height:48px;padding:7px 8px;display:flex}.lantern-row:hover{background:var(--green-pale,#eef1e6)}.lantern-row>span:not([class]){flex-direction:column;flex:1;min-width:0;display:flex}.lantern-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.lantern-row small{color:var(--muted,#5f6b57);font-size:11px}.lantern-number{min-width:2ch;color:var(--muted,#5f6b57);text-align:right}.fork-note{color:var(--muted,#5f6b57);margin-top:10px;font-size:12px;line-height:1.6}.fork-footer{font:500 18px/1.4 var(--serif,"Fraunces", serif);margin:28px 0 16px}.fork-card>.button{align-self:flex-start}.lantern-provenance{color:var(--muted,#5f6b57);margin-top:12px;font-size:12px;line-height:1.6}.lantern-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.evening-eyebrow{grid-column:1/-1;margin:4px 0 -4px}.evening-eyebrow:first-of-type{margin-top:0}.evening-card .evening-body{font-size:12px;line-height:1.5}.evening-card .live-dot{background:var(--lantern,#f2c06b);border-radius:1px;box-shadow:inset 0 0 0 1px #8a5a1c}.event-card.tale-card{cursor:default;align-items:flex-start}.event-card.tale-card:hover{background:#fdfcf7;border-color:#dcded0}.tale-card .tale-quote{padding:8px 12px;font-size:14px}.tale-card .text-button{align-self:flex-start;gap:5px;min-height:28px;font-size:11px}.almanac-evening{background:var(--lantern-pale,#fff6df);border:1px solid #efdfbb;border-radius:12px;gap:8px;margin:-8px 0 22px;padding:12px 14px;font-size:12px;display:grid}.almanac-evening p{align-items:center;gap:10px;line-height:1.5;display:flex}.almanac-evening p>svg{width:12px;color:var(--lantern-ink,#8a5a1c)}.almanac-evening strong{font-weight:600}.almanac-evening .text-button{min-height:24px;color:var(--green,#516b42);text-underline-offset:3px;font-size:12px;text-decoration:underline}.field-hint{color:var(--muted,#5f6b57);font-size:10px;font-weight:400;line-height:1.5}.town-app-night .tale-quote{background:var(--dusk-raised,#30494a);color:var(--dusk-ink,#f1eedc)}.town-app-night :is(.fork-card .eyebrow,.lantern-provenance .eyebrow,.evening-eyebrow){color:var(--lantern,#f2c06b)}.town-app-night .lantern-badge{color:var(--lantern,#f2c06b);background:#f2c06a24;border-color:#f2c06a40}.town-app-night .lantern-badge.is-tale:before{border-color:var(--lantern,#f2c06b)}.town-app-night .fork-hour{background:var(--dusk-raised,#30494a)}.town-app-night .fork-hour.is-lighting .fork-hour-detail{color:var(--glow,#ffe0a0)}.town-app-night :is(.fork-hour-detail,.tale-credit,.lantern-number,.fork-note){color:var(--dusk-muted,#c3d4c2)}.town-app-night .lantern-list li+li{border-top-color:#3a5553}.town-app-night .lantern-row:hover{background:var(--dusk-raised,#30494a)}.town-app-night .lantern-row:hover .lantern-badge{color:var(--glow,#ffe0a0)}.town-app-night .lantern-provenance{color:var(--dusk-muted,#c3d4c2)}.town-app-night .lantern-glyph:not(.is-lit) .lantern-glyph-body{fill:#7c8676}.town-app-night .lantern-glyph.is-lit{filter:drop-shadow(0 0 3px #ffe0a0b3)}.town-app-night .event-card.tale-card:hover,.town-app-night .almanac-evening{border-color:var(--dusk-line,#45605c);background:var(--dusk-raised,#30494a)}.town-app-night .almanac-evening p>svg{color:var(--lantern,#f2c06b)}.town-app-night .almanac-evening .text-button{color:var(--dusk-link,#bfd8a6)}.map-clock .calendar-trigger{white-space:nowrap;border-left:1px solid #65785825;border-radius:0;gap:7px;width:auto;padding:0 8px;font-size:11px;display:flex}.town-calendar{color:#425640;width:min(340px,100vw - 32px);max-height:calc(100dvh - 140px);font-family:var(--sans);background:#faf9ef;border:1px solid #e1e3d3;border-radius:22px;margin:0;padding:24px;position:fixed;inset:86px auto auto 50%;overflow:auto;transform:translate(-50%);box-shadow:0 16px 60px #1c33262b}.town-calendar::backdrop{background:0 0}.calendar-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.calendar-eyebrow{font:9px var(--mono);letter-spacing:1.8px;color:#7a846d}.calendar-heading h2{font:500 29px var(--serif);margin:9px 0 0}.calendar-heading h2 span{font:12px var(--sans);color:#7a846d;white-space:nowrap}.calendar-season{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.calendar-heading button{border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.calendar-heading button:hover{background:#e7eadc}.calendar-moon{color:#e4e8d0;background:#344c46;border-radius:12px;align-items:center;gap:14px;margin:22px 0;padding:16px;display:flex}.calendar-moon svg{flex-shrink:0}.calendar-moon strong,.calendar-moon span{display:block}.calendar-moon strong{font-size:13px;font-weight:500}.calendar-moon span{color:#becab5;margin-top:5px;font-size:10px;line-height:1.6}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.calendar-days li{font:10px var(--mono);border-radius:9px;flex-direction:column;align-items:center;gap:5px;padding:8px 0;display:flex}.calendar-days svg{opacity:.5}.calendar-days [aria-current=date]{color:#fcfbea;background:#526b49}.calendar-days [aria-current=date] svg{opacity:1}.calendar-footer{border-top:1px solid #dedfce;margin-top:18px;padding-top:16px}.calendar-status{font:10px var(--mono);align-items:center;gap:7px;display:flex}.calendar-footer p{color:#7a846d;margin:10px 0 0;font-size:11px;line-height:1.7}.town-app-night .town-calendar{border-color:var(--dusk-line);background:var(--dusk);color:var(--dusk-ink);box-shadow:0 16px 60px #0b1a1a66}.town-app-night :is(.calendar-eyebrow,.calendar-heading h2 span,.calendar-season,.calendar-footer p){color:var(--dusk-muted)}.town-app-night .calendar-heading button:hover,.town-app-night .calendar-moon{background:var(--dusk-raised)}.town-app-night .calendar-days [aria-current=date]{background:var(--green)}.town-app-night .calendar-footer{border-top-color:var(--dusk-line)}@media (width>=601px) and (width<=800px){.calendar-trigger span{display:none}}@media (width<=600px){.town-calendar{max-height:calc(100dvh - 150px);padding:20px;top:125px}.map-clock .calendar-trigger{font-size:10px}}.live-stream{cursor:none;background:#edf0e3;width:100%;height:100dvh;position:relative;overflow:hidden}.live-stream-night{background:#263c3c}.live-stream>canvas{width:100%;height:100%;display:block}.live-watermark{z-index:1;top:max(28px, env(safe-area-inset-top));left:max(30px, env(safe-area-inset-left));opacity:.9;pointer-events:none;filter:drop-shadow(1px 0 #f7f6e8)drop-shadow(-1px 0 #f7f6e8)drop-shadow(0 1px #f7f6e8)drop-shadow(0 -1px #f7f6e8);transition:filter .4s;position:absolute}.live-watermark .brand-mark rect{transition:fill .4s}.live-stream-night .live-watermark{filter:drop-shadow(0 2px 8px #142826)}.live-glass{color:#2f463b;-webkit-backdrop-filter:blur(16px)saturate(125%);backdrop-filter:blur(16px)saturate(125%);pointer-events:none;background:#f9fbf1c7;border:1px solid #fffff7b3;transition:color .4s,background-color .4s,border-color .4s,box-shadow .4s;box-shadow:0 8px 32px #243e3012,inset 0 1px #ffffff60}.live-community{z-index:2;top:max(24px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));border-radius:18px;width:210px;padding:16px;position:absolute}.live-caption{letter-spacing:1.5px;text-transform:uppercase;opacity:.72;font-size:9px;font-weight:600;display:block}.live-population{justify-content:space-between;align-items:center;display:flex}.live-population strong{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:30px;font-weight:500;line-height:1.25;display:flex}.live-population strong span{opacity:.72;font-size:11px;font-weight:400}.live-community-dots{align-items:flex-end;gap:3px;padding-right:2px;display:flex}.live-community-dots i{opacity:.55;background:#6e946b;border-radius:3px;width:5px;height:12px}.live-community-dots i:nth-child(2){opacity:.95;height:19px}.live-arrival{border-top:1px solid #44624b20;align-items:center;gap:10px;margin-top:12px;padding-top:12px;transition:border-color .4s;display:flex}.live-avatar{background:#698d6518;border-radius:11px;flex-shrink:0;padding:2px;transition:background-color .4s}.live-arrival-copy{min-width:0}.live-arrival-copy strong{overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:600;display:block}.live-arrival-home{opacity:.7;overflow-wrap:anywhere;margin-top:2px;font-size:10px;display:block}.live-follow-label{z-index:1;text-align:center;border-radius:13px;max-width:min(250px,100vw - 32px);padding:9px 15px;position:absolute;transform:translate(-50%,-100%)}.live-follow-label:after{content:"";background:#eff4df;border-radius:1px;width:8px;height:8px;transition:background-color .4s;position:absolute;bottom:-5px;left:calc(50% - 4px);transform:rotate(45deg)}.live-follow-label .live-caption{justify-content:center;align-items:center;gap:5px;font-size:8px;display:flex}.live-follow-label .live-caption i{background:#628c51;border-radius:50%;width:5px;height:5px;transition:background-color .4s}.live-follow-label strong{overflow-wrap:anywhere;margin-top:3px;font-size:14px;font-weight:600;display:block}.live-stream-night .live-glass{color:#eef3df;background:#233933d1;border-color:#e0efcd30;box-shadow:0 8px 32px #0b20152e,inset 0 1px #f2ffe00c}.live-stream-night .live-arrival{border-color:#d9e9cc24}.live-stream-night .live-avatar{background:#c9e1b815}.live-stream-night .live-follow-label:after{background:#304b40}.live-stream-night .live-follow-label .live-caption i{background:#c0dfa0}@media (width<=600px){.live-community{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));border-radius:15px;width:180px;padding:12px}.live-population strong{font-size:25px}.live-arrival{gap:7px;margin-top:9px;padding-top:9px}}.live-break{z-index:6;pointer-events:none;background:#263c3c;position:absolute;inset:0}.live-break canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,fieldset{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex-shrink:0}}@layer base{:root{color:#343e35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f8f7f2;--surface:#fdfcf8;--ink:#343e35;--muted:#5f6b57;--line:#e4e5da;--green:#516b42;--green-deep:#405934;--green-pale:#eef1e6;--mono:"Space Mono", monospace;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif;--leaf:#769267;--lantern:#f2c06b;--lantern-ink:#8a5a1c;--lantern-pale:#fff6df;--glow:#ffe0a0;--timber:#ad9069;--timber-ink:#6f5a3c;--dusk:#263c3c;--dusk-surface:#2b4242;--dusk-raised:#30494a;--dusk-line:#45605c;--dusk-ink:#f1eedc;--dusk-muted:#c3d4c2;--dusk-link:#bfd8a6;background:#f8f7f2;font-family:DM Sans,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:24px}body{min-width:320px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,canvas:focus-visible,pre:focus-visible{outline-offset:4px;outline:3px solid #739b76}button{background:0 0;border:0}button,a{-webkit-touch-callout:none}input,textarea,select{min-width:0;color:var(--ink)}::selection{color:#344c2b;background:#dce5c7}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:11px}.eyebrow{font-family:var(--mono);letter-spacing:1.4px;font-size:10px;font-weight:400;line-height:1.7}.button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:41px;padding:11px 17px;font-size:13px;font-weight:600;line-height:1.3;transition:background .15s,transform .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{background:var(--green);color:#fffdf4;border:1px solid var(--green)}.button-primary:hover{background:var(--green-deep)}.button-secondary{background:var(--surface);color:var(--green-deep);border:1px solid #d9ddce}.button-secondary:hover{background:var(--green-pale)}.text-button{color:var(--green);align-items:center;gap:8px;min-height:32px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.icon-button{border-radius:5px;justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex}.icon-button:hover{background:var(--green-pale)}.full-width{width:100%}.live-dot{background:#7a9860;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #7a986017}.skip-link{background:var(--ink);color:#fff;z-index:30;border-radius:4px;padding:10px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}}@layer components{.house-files{padding:24px 30px 30px}.house-files>.modal-intro{margin:16px 0}.house-files-layout{grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:20px;margin:20px 0;display:grid}.house-file-list{border:1px solid #e2e7d6;border-radius:7px;flex-direction:column;max-height:480px;display:flex;overflow-y:auto}.house-file-list>strong{flex-wrap:wrap;align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.house-file-list>strong>span{font-weight:400}.house-file-list>button{text-align:left;overflow-wrap:anywhere;border-top:1px solid #e2e7d6;padding:12px 14px}.house-file-list>button[aria-pressed=true]{background:#e5eddb}.house-file-list>button>span{font:11px var(--mono);display:block}.house-file-list small{color:var(--muted);margin-top:5px;display:block}.house-files .code-export pre{max-height:440px;overflow-y:auto}.house-files-note{color:var(--muted);margin:12px 0;font-size:12px;line-height:1.7}.house-file-actions{margin:18px 0}.builder-actions{flex-wrap:wrap}@media (width<=600px){.house-files{padding:18px}.house-files-layout{grid-template-columns:1fr}.house-file-list{max-height:200px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.town-clock{border:1px solid var(--line);background:var(--surface);border-bottom:0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;display:flex}.clock-now,.clock-playback{align-items:center;gap:12px;display:flex}.clock-now{color:var(--green)}.clock-now strong{font:13px var(--mono)}.clock-now span{color:var(--muted);text-transform:capitalize;font-size:11px}.clock-play{border:1px solid var(--line);background:var(--green-pale);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.clock-sync{color:var(--green);white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:flex}.paused-dot{background:var(--muted);border-radius:50%;width:5px;height:5px}.clock-hint{color:var(--muted);font-size:10px}.follow-status{color:#516b42;background:#fdfcf8ed;border:1px solid #d9dfce;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:10px;display:flex;position:absolute;top:48px;left:20px}.follow-status button{background:0 0;border:0;border-left:1px solid #d9dfce;padding-left:10px;font-size:10px;text-decoration:underline}.neighbors-section{margin:62px 0}.neighbors-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.neighbors-heading h2{font:500 35px/1.2 var(--serif);margin-top:10px}.neighbors-heading p{color:var(--muted);font-size:12px;line-height:1.8}.neighbor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.neighbor-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}.neighbor-card.is-followed{background:#f1f4e9;border-color:#8caa78}.neighbor-identity{align-items:center;gap:12px;display:flex}.neighbor-portrait{background:#eef0e4;border-radius:50%;width:60px;height:60px}.neighbor-identity h3{font:500 21px var(--serif);overflow-wrap:anywhere}.neighbor-identity span{color:var(--muted);font-size:10px}.neighbor-activity{color:var(--green);align-items:center;gap:6px;margin:14px 0 8px;font-size:10px;display:flex}.neighbor-greeting{font:italic 15px var(--serif);overflow-wrap:anywhere;min-height:24px}.neighbor-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:14px;padding-top:12px;display:flex}.neighbor-actions .text-button{font-size:10px}.detail-resident{align-items:center;gap:8px;margin-bottom:10px;display:flex}.detail-resident strong{font-size:11px;display:block}.detail-resident span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.detail-sign canvas{border:3px solid #b9b5a0;width:100%;max-width:240px;height:auto;margin-top:20px}.detail-sign:empty{display:none}.fresh-draft{margin-top:12px;font-size:10px}.home-fields:not([hidden]),.customization-fields{flex-direction:column;gap:18px;display:flex}.builder-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:5px;padding-bottom:16px;display:grid}.builder-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:9px 6px;font-size:11px}.builder-tabs button span{font:9px var(--mono);opacity:.7;margin-right:6px}.builder-tabs button.selected{color:var(--green);background:var(--green-pale);border-color:#d7dfcd}.builder-resident{text-align:left;font:17px var(--serif);align-items:center;margin-top:10px;display:flex}.builder-resident small{color:var(--muted);overflow-wrap:anywhere;max-width:150px;margin-top:5px;font:10px DM Sans,sans-serif;display:block}.paint-row{flex-wrap:wrap;gap:20px;display:flex}.paint-field{color:var(--green);align-items:center;gap:8px;font-size:10px;display:flex}.paint-field input{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:5px;width:30px;height:30px;padding:2px}.frames-field{align-items:center;gap:8px;display:flex}.frames-field .text-button{min-height:30px;font-size:10px}.panel-intro,.sign-help{color:var(--muted);font-size:11px;line-height:1.8}.field small,.color-picker legend small{color:var(--muted);font-size:10px;font-weight:400}.routine-fields{background:var(--green-pale);border-radius:8px;gap:14px;padding:20px;display:grid}.routine-fields h3{font:20px var(--serif)}.routine-fields p,.routine-fields>small{color:var(--muted);font-size:10px;line-height:1.7}.routine-fields .field>span{justify-content:space-between;display:flex}.sign-artwork{background:#eceee3;border-radius:8px;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex}.sign-artwork canvas{border:4px solid #b9b5a0;max-width:100%;height:auto;box-shadow:0 3px #aaa78f}.sign-artwork span{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.field .sign-source{font:11px/1.8 var(--mono)}.sign-help p+p{margin-top:8px}.code-export pre{max-height:450px;overflow:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:28px;max-width:1536px;height:85px;margin:auto;padding:0 48px;display:flex}.header-inner nav{align-items:center;gap:28px;height:100%;margin-left:38px;margin-right:auto;display:flex}.nav-link{height:100%;color:var(--muted);white-space:nowrap;align-items:center;padding:0;font-size:12px;display:inline-flex;position:relative}.nav-link:hover{color:var(--green)}.nav-link.active{color:#495842;font-weight:600}.nav-link.active:after{content:"";background:var(--green);height:2px;position:absolute;bottom:-1px;left:0;right:0}.header-right{align-items:center;gap:24px;display:flex}.github-link,.open-source-label{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.github-link:hover{color:var(--green-deep)}.header-build{min-height:38px;padding:10px 14px}.page-shell{max-width:1536px;margin:auto;padding:0 48px}.hero{justify-content:space-between;align-items:center;gap:40px;padding:52px 0 42px;display:flex}.hero-copy>.eyebrow{color:#6c795e;align-items:center;gap:8px;margin-bottom:17px;font-size:9px;display:flex}.tiny-star{color:#78885d;font-size:18px;line-height:1}.hero h1{font-family:var(--serif);letter-spacing:-2px;font-size:clamp(38px,4.15vw,62px);font-weight:500;line-height:1.06}.hero h1 em{color:#708061;font-weight:500}.hero-copy>p{color:#7e8175;margin-top:18px;font-size:13px;line-height:1.8}.hero-invitation{text-align:center;flex-shrink:0;max-width:300px;padding:8px 37px 0 0}.hero-sprites{isolation:isolate;justify-content:center;align-items:flex-end;height:94px;display:flex}.hero-sprites canvas{margin:0 -9px}.hero-sprites canvas:nth-child(2){z-index:1;position:relative;transform:translateY(9px)}.hero-invitation>p{color:#7a8070;margin:10px 0 9px;font-size:12px;line-height:1.7}.hero-invitation strong{color:#566249;font-weight:500}.hero-invitation .text-button{font-size:11px}.town-section{background:var(--surface);border:1px solid #dedfd3;border-radius:10px;overflow:hidden;box-shadow:0 5px 24px #3f4f2910}.town-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:61px;padding:12px 22px;display:flex}.town-title{align-items:center;gap:10px;display:flex}.tiny-town-icon{color:#6e8060;justify-content:center;align-items:center;display:inline-flex}.town-title h2{white-space:nowrap;font-size:13px;font-weight:600}.edition-tag{font:8px var(--mono);letter-spacing:.8px;color:#929683;white-space:nowrap;background:#f0f0e8;border:1px solid #e5e5d9;border-radius:3px;margin-left:3px;padding:4px 6px}.town-settings{align-items:center;gap:22px;display:flex}.plot-toggle{color:#7b8170;cursor:pointer;align-items:center;gap:7px;font-size:10px;display:flex;position:relative}.plot-toggle input{opacity:0;cursor:pointer;width:26px;height:18px;position:absolute;inset:0}.toggle-track{pointer-events:none;background:#dfe3d6;border-radius:12px;width:25px;height:14px;position:relative}.toggle-track:after{content:"";background:#fafaf5;border-radius:50%;width:8px;height:8px;transition:transform .15s;position:absolute;top:3px;left:3px}.plot-toggle input:checked+.toggle-track{background:#79916a}.plot-toggle input:checked+.toggle-track:after{transform:translate(11px)}.plot-toggle input:focus-visible+.toggle-track{outline-offset:3px;outline:2px solid #739b76}.town-layout{grid-template-columns:minmax(0,1fr) 290px;display:grid}.city-stage{isolation:isolate;background:#e9eeda radial-gradient(at 45% 45%,#f1f3e7 0,#0000 70%);min-width:0;height:586px;transition:background-color .25s;position:relative;overflow:hidden}.city-stage.is-night{background:#263c3c radial-gradient(at 40% 40%,#3d5350 0,#0000 70%)}.city-stage>canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.city-stage.is-dragging>canvas{cursor:grabbing}.map-location{pointer-events:none;font:9px var(--mono);color:#7d8d6c;align-items:center;gap:8px;display:flex;position:absolute;top:20px;left:23px}.map-location-divider{color:#a1ac91;margin:0 2px}.is-night .map-location{color:#a9beb0}.compass{color:#8b9d79;text-align:center;pointer-events:none;font:9px var(--mono);position:absolute;top:19px;right:22px}.compass div{font:25px/1.3 Georgia,serif;transform:rotate(27deg)}.is-night .compass{color:#a4b6a8}.map-help{pointer-events:none;color:#839374;font:8px var(--mono);align-items:center;gap:8px;display:flex;position:absolute;bottom:19px;left:23px}.is-night .map-help{color:#a8bcae}.mouse-mark{opacity:.8;border:1px solid;border-radius:4px;width:8px;height:12px;position:relative}.mouse-mark:after{content:"";background:currentColor;width:1px;height:3px;position:absolute;top:2px;left:3px}.map-controls{background:#fdfcf5f2;border:1px solid #d7deca;border-radius:5px;align-items:center;padding:3px;display:flex;position:absolute;bottom:16px;right:18px;box-shadow:0 2px 5px #53653c0d}.map-controls button{color:#758263;border-radius:3px;justify-content:center;align-items:center;width:30px;height:29px;display:flex}.map-controls button:hover{background:#e9eddd}.map-controls>span:not(.control-divider){font:9px var(--mono);text-align:center;color:#7f8974;width:39px}.control-divider{background:#e1e5d8;width:1px;height:17px;margin:0 2px;display:block}.map-tooltip{pointer-events:none;color:#586c48;z-index:2;background:#fcfcf3;border:1px solid #d5dcca;border-radius:5px;align-items:center;gap:7px;max-width:200px;padding:10px 13px;font-size:11px;display:flex;position:absolute;box-shadow:0 3px 10px #31442215}.neighborhood-panel{border-left:1px solid var(--line);background:#fdfcf8;flex-direction:column;min-width:0;height:586px;display:flex;overflow:hidden}.panel-heading{padding:22px 21px 17px}.panel-heading-top{color:#8b9879;justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.panel-heading-top .eyebrow{letter-spacing:.9px;font-size:8px}.panel-heading h3{font:500 22px/1.2 var(--serif);letter-spacing:-.5px;margin-bottom:8px}.panel-heading p{color:#8b8e7d;font-size:11px}.town-counts{color:#8a8f7b;align-items:center;gap:11px;margin-top:18px;font-size:10px;display:flex}.town-counts b{font-family:var(--mono);color:#556648;margin-right:2px;font-size:11px;font-weight:400}.town-counts i{background:var(--line);width:1px;height:11px}.directory-controls{padding:0 20px}.search-field{color:#929a86;background:#f9f9f3;border:1px solid #e2e4d9;border-radius:5px;align-items:center;gap:8px;height:35px;padding:0 10px;display:flex}.search-field:focus-within{outline-offset:2px;outline:2px solid #92a580}.search-field input{background:0 0;border:0;outline:none;width:100%;padding:7px 0;font-size:10px}.search-field input:focus-visible{outline:none}.search-field input::placeholder{color:#989e8c}.search-field button{color:#859071;padding:4px;display:flex}.directory-tabs{border-bottom:1px solid var(--line);gap:17px;margin-top:11px;display:flex}.directory-tabs button{color:#959a87;align-items:center;gap:6px;padding:9px 0 10px;font-size:10px;display:flex;position:relative}.directory-tabs button span{font:8px var(--mono);text-align:center;background:#f0f1e9;border-radius:3px;min-width:17px;line-height:16px}.directory-tabs button.active{color:#516444;font-weight:600}.directory-tabs button.active:after{content:"";background:#7d906b;height:2px;position:absolute;bottom:-1px;left:0;right:0}.place-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d5dccb transparent;flex:1;padding:2px 12px;overflow-y:auto}.place-row{text-align:left;border-bottom:1px solid #efefe7;border-radius:4px;align-items:center;gap:9px;width:100%;min-height:61px;padding:4px 7px;display:flex}.place-row:hover{background:#f0f3e8}.place-thumbnail{background:#f1f2e8;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex;overflow:hidden}.place-row-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.place-row-copy strong{color:#536148;overflow-wrap:anywhere;font-size:10.5px;font-weight:600}.place-row-copy>span{color:#929986;flex-wrap:wrap;align-items:center;gap:6px;font-size:8px;display:flex}.place-row-copy i{color:#b0b6a4;font-style:normal}.place-row>svg{color:#a3ae95}.panel-invitation{border-top:1px solid var(--line);color:#849170;background:#f5f6ee;flex-shrink:0;justify-content:space-between;align-items:center;padding:13px 20px;font-size:9px;display:flex}.panel-invitation>span{align-items:center;gap:7px;display:flex}.panel-invitation button{color:#748565;padding:2px;display:flex}.empty-thumbnail{color:#90a27a;background:#f1f3e9;border:1px dashed #ccd5bf;border-radius:4px;justify-content:center;align-items:center;width:44px;height:40px;margin:3px;display:flex}.empty-row{min-height:59px}.no-results{text-align:center;color:#8c9780;flex-direction:column;align-items:center;gap:12px;padding:32px 15px;font-size:12px;display:flex}.no-results button{color:#577144;text-underline-offset:3px;font-size:11px;text-decoration:underline}.town-bottom{border-top:1px solid var(--line);color:#949987;background:#fcfbf6;justify-content:space-between;align-items:center;gap:16px;min-height:36px;padding:10px 22px;font-size:9px;display:flex}.town-bottom>span{align-items:center;gap:7px;display:flex}.town-bottom svg{color:#8a9c74}.dot-separator{color:#b5bba8;margin:0 1px}.welcome-strip{grid-template-columns:1.22fr 1fr 1fr 1fr;align-items:center;gap:30px;padding:38px 4px 39px;display:grid}.welcome-title>.eyebrow{letter-spacing:1px;color:#959b89;font-size:7px}.welcome-title h2{font:500 26px/1.35 var(--serif);letter-spacing:-.8px;color:#54634c;margin:6px 0}.welcome-title .text-button{gap:6px;font-size:10px;font-weight:500}.welcome-step{align-items:flex-start;gap:12px;display:flex}.step-icon{color:#7c8e6b;background:#eef0e5;border:1px solid #e4e8da;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.step-number{font:7px var(--mono);letter-spacing:.4px;color:#939c86;white-space:nowrap}.welcome-step p{color:#77816e;margin-top:5px;font-size:11px;line-height:1.85}.site-footer{border-top:1px solid var(--line);color:#9b9f8e;align-items:center;gap:17px;max-width:1440px;margin:0 auto;padding:22px 0 28px;font-size:9px;display:flex}.footer-brand{font:15px var(--mono);letter-spacing:-1px;color:#8e9980}.site-footer>div{align-items:center;gap:27px;margin-left:auto;display:flex}.site-footer button{color:#7e8b70;padding:0;font-size:9px}.site-footer>div>span{align-items:center;gap:7px;display:flex}.place-detail{scrollbar-width:thin;scrollbar-color:#d5dccb transparent;height:100%;overflow-y:auto}.back-button{color:#839273;text-align:left;align-items:center;gap:8px;width:100%;padding:18px 20px;font-size:10px;display:flex}.back-button:hover{color:#49683c}.detail-illustration{background:#edf1e1;border:1px solid #e4e8d8;border-radius:7px;justify-content:center;align-items:center;height:192px;margin:0 18px;display:flex;position:relative;overflow:hidden}.detail-illustration.night{background:#3e5550;border-color:#556b5e}.detail-illustration>canvas{margin-top:4px}.plot-chip{font:8px var(--mono);color:#83916f;align-items:center;gap:4px;display:flex;position:absolute;top:11px;left:10px}.night .plot-chip{color:#afbfaa}.detail-type{font:8px var(--mono);color:#8c9878;position:absolute;bottom:9px;right:10px}.night .detail-type{color:#afbfaa}.detail-body{padding:20px 21px 22px}.detail-body h3{font:500 27px/1.12 var(--serif);letter-spacing:-.7px;color:#4b5f42;overflow-wrap:anywhere}.creator-line{color:#8b9580;align-items:center;gap:7px;margin-top:11px;font-size:9px;display:flex}.creator-avatar{color:#839367;background:#e9eddc;border-radius:50%;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 3px;font-size:8px;display:flex}.creator-line a{color:#68814f;align-items:center;gap:5px;display:flex}.creator-line a:hover{text-decoration:underline}.place-story{color:#7e8675;overflow-wrap:anywhere;margin-top:18px;font-size:12px;line-height:1.8}.detail-divider{background:var(--line);height:1px;margin:19px 0 13px}.place-facts{color:#929a84;justify-content:space-between;align-items:center;gap:12px;font-size:8px;display:flex}.place-facts>span:last-child{font-family:var(--mono);background:#eef1e5;border-radius:3px;padding:3px 5px;font-size:8px}.seed-note{color:#979e8a;margin:14px 0 17px;font-size:10px;line-height:1.7}.detail-body>.button{min-height:36px;margin-top:15px;font-size:10px}.detail-source{color:#88987a;justify-content:center;align-items:center;gap:6px;margin-top:15px;font-size:9px;display:flex}.empty-plot-detail{text-align:center;padding:10px 24px 26px}.empty-plot-art{color:#8ba077;background:#f1f4e7;border:1px dashed #ced7bd;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:17px;width:160px;height:143px;margin:6px auto 20px;display:flex}.empty-plot-art span{font:9px var(--mono);letter-spacing:1px}.empty-plot-detail>.eyebrow{letter-spacing:1px;color:#8a9b75;font-size:8px}.empty-plot-detail h3{font:500 31px/1.15 var(--serif);letter-spacing:-1px;color:#596f4d;margin-top:10px}.empty-plot-detail p{color:#8c947f;margin:17px 0 23px;font-size:12px;line-height:1.8}.empty-plot-detail .button{font-size:11px}.small-reassurance{font:8px var(--mono);color:#9ba58c;margin-top:15px;display:block}.preview-banner{color:#887552;background:#f3ecd9;border-bottom:1px solid #e8dfc7;align-items:center;gap:9px;padding:10px 20px;font-size:10px;display:flex}.preview-banner>span{flex:1}.preview-banner strong{font-weight:600}.preview-banner button{white-space:nowrap;color:#756345;align-items:center;gap:5px;padding:3px;font-size:10px;display:flex}.toast{z-index:80;color:#f0f3e5;background:#536a43;border:1px solid #6c805b;border-radius:7px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:14px 17px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #24371b22}.toast button{color:#d2ddc4;margin-left:10px;display:flex}.modal{background:var(--surface);max-width:calc(100vw - 24px);color:var(--ink);scrollbar-width:thin;scrollbar-color:#d5dccb transparent;border:1px solid #dce0d1;border-radius:13px;width:min(610px,100vw - 32px);max-height:calc(100dvh - 48px);padding:0;overflow-y:auto;box-shadow:0 24px 100px #26391f33}.modal-wide{width:min(900px,100vw - 32px)}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#293a306b}.modal-header{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:27px 30px 24px;display:flex;position:sticky;top:0}.modal-header .eyebrow{color:#8c9b7b;font-size:8px}.modal-header h2{font:500 30px/1.2 var(--serif);letter-spacing:-.8px;margin-top:7px}.modal-header .icon-button{color:#89977b;flex-shrink:0}.guide-content{padding:25px 30px 30px}.modal-intro{color:#818a77;font-size:13px;line-height:1.8}.contribution-steps{flex-direction:column;gap:23px;margin:26px 0;padding:0;list-style:none;display:flex}.contribution-steps>li{gap:13px;display:flex}.contribution-steps>li>span{color:#819669;width:26px;height:26px;font:11px var(--mono);background:#ecf0e2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contribution-steps h3{margin-bottom:4px;font-size:12px;font-weight:600;line-height:26px}.contribution-steps p{color:#838d76;font-size:12px;line-height:1.75}.contribution-steps code{font:10px var(--mono);overflow-wrap:anywhere;background:#eef1e6;border-radius:3px;padding:1px 4px}.guide-aside{color:#81936a;background:#f0f3e8;border-radius:6px;gap:12px;margin-bottom:22px;padding:17px;display:flex}.guide-aside p{font-size:11px;line-height:1.8}.about-art{justify-content:center;align-items:flex-end;margin:-10px -10px 18px;display:flex;overflow:hidden}.about-art canvas{flex-shrink:0;margin:0 -17px}.about-content>p{color:#7d8971;margin-bottom:19px;font-size:13px;line-height:1.9}.about-content blockquote{font:italic 500 30px/1.3 var(--serif);color:#789165;letter-spacing:-.7px;text-align:center;margin:28px 0}.contribute-progress{border-bottom:1px solid var(--line);color:#a0a895;justify-content:center;align-items:center;gap:15px;padding:16px 20px;font-size:10px;display:flex}.contribute-progress>span{align-items:center;gap:7px;display:flex}.contribute-progress b{font:9px var(--mono);border:1px solid #dde2d3;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.contribute-progress i{background:#e1e5d8;width:35px;height:1px}.contribute-progress .current,.contribute-progress .done{color:#6b8156}.contribute-progress .current b,.contribute-progress .done b{color:#fff;background:#718960;border-color:#718960}.builder-layout{grid-template-columns:300px 1fr;display:grid}.builder-preview{border-right:1px solid var(--line);text-align:center;background:#f0f3e8;flex-direction:column;align-items:center;padding:33px 20px;display:flex}.builder-preview>.eyebrow{color:#93a181;font-size:8px}.preview-ground{justify-content:center;align-items:center;width:250px;height:246px;margin:8px -10px;display:flex;position:relative}.preview-ground:before{content:"";background:#e4ebd6;border:1px dashed #ccd9b9;width:170px;height:170px;position:absolute;bottom:-3px;transform:rotateX(60deg)rotate(45deg);box-shadow:4px 5px #dce5cc}.preview-ground canvas{z-index:1;margin-top:10px;position:relative}.builder-preview h3{font:500 26px/1.2 var(--serif);color:#5c704d;overflow-wrap:anywhere;max-width:100%}.builder-preview .mono{color:#8e9b7e;margin-top:9px;font-size:9px}.builder-preview>p{color:#8c997c;margin:24px 0;font-size:11px;line-height:1.9}.draft-label{color:#97a385;align-items:center;gap:7px;margin-top:auto;padding-top:20px;font-size:8px;display:flex}.draft-label .live-dot{width:4px;height:4px}.builder-form{flex-direction:column;gap:19px;padding:25px;display:flex}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:17px;display:grid}.field{color:#6e7c5e;flex-direction:column;gap:7px;font-size:10px;font-weight:600;display:flex;position:relative}.field input,.field select,.field textarea{background:#fffefa;border:1px solid #dce2d2;border-radius:5px;width:100%;padding:9px 10px;font-size:11px;font-weight:400;line-height:1.5}.field textarea{resize:vertical;min-height:79px;max-height:230px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{background:#fff9f1;border-color:#bd8070}.field-error{color:#aa634f;font-size:10px;font-weight:400;line-height:1.5}.field-optional{color:#a1aa94;font-size:9px;font-weight:400;position:absolute;top:0;right:0}.character-count{text-align:right;font:8px var(--mono);color:#9ca88c;margin-top:-2px}.input-prefix{color:#a8af9b;background:#fffefa;border:1px solid #dce2d2;border-radius:5px;align-items:center;padding-left:10px;display:flex}.input-prefix input{background:0 0;border:0;padding-left:5px}.input-prefix:has(input[aria-invalid=true]){border-color:#bd8070}.input-prefix:focus-within{outline-offset:4px;outline:3px solid #739b76}.input-prefix input:focus-visible{outline:none}.building-picker,.color-picker{border:0;min-width:0;padding:0}.building-picker legend,.color-picker legend{color:#6e7c5e;margin-bottom:9px;padding:0;font-size:10px;font-weight:600}.building-picker>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.building-picker button{color:#97a087;background:#f7f8f0;border:1px solid #e4e8da;border-radius:5px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:0 0 7px;font-size:8px;display:flex;overflow:hidden}.building-picker button>canvas{flex-shrink:0}.building-picker button:hover{border-color:#a9b897}.building-picker button.selected{color:#5c7747;background:#edf2e2;border-color:#8ba575;box-shadow:0 0 0 1px #8ba575}.color-picker>div{flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;display:flex}.color-picker button{color:#fffefa;border:1px solid #00000005;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;padding:0;display:flex}.color-picker button.selected{box-shadow:0 0 0 2px #fdfcf8,0 0 0 3px #a2b195}.custom-color{color:#96a284;border:1px solid #dce2d2;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:relative;overflow:hidden}.custom-color input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.custom-color:focus-within{outline-offset:4px;outline:3px solid #739b76}.builder-actions{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.builder-actions .text-button{font-size:10px}.builder-actions .button{padding:10px 13px;font-size:11px}.form-notice{color:#957b52;background:#f6f0df;border-radius:4px;padding:10px 12px;font-size:11px;line-height:1.65}.submit-layout{grid-template-columns:1fr 1fr;gap:32px;padding:28px 30px 32px;display:grid}.submit-guide .modal-intro{font-size:12px}.submit-guide .contribution-steps{gap:19px;margin:21px 0}.submit-guide .contribution-steps p,.submit-guide .contribution-steps h3{font-size:11px}.local-note{color:#8b947e;background:#f0f3e8;border:1px solid #e4e9d9;border-radius:5px;padding:13px 15px;font-size:10px;line-height:1.8}.back-to-design{margin-top:14px;font-size:10px;display:block}.code-export{background:#f2f4eb;border:1px solid #e2e7d6;border-radius:7px;align-self:start;min-width:0;overflow:hidden}.code-heading{font:9px var(--mono);color:#788b65;border-bottom:1px solid #e0e6d3;justify-content:space-between;align-items:center;gap:10px;padding:14px 17px;display:flex}.code-heading>span:first-child{overflow-wrap:anywhere}.code-heading>span:last-child{color:#a4ae95;font-size:8px}.code-export pre{font:10px/1.95 var(--mono);color:#658155;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:21px 17px}.local-save-action{padding:0 20px 14px}.export-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:0 16px 16px;display:flex}.export-actions .button{min-height:36px;padding:9px 12px;font-size:10px}.export-footnote{color:#97a188;text-align:center;padding:0 17px 17px;font-size:9px;line-height:1.6}.code-export .form-notice{margin:0 12px 12px}.hero-copy>p,.hero-invitation>p,.panel-heading p,.town-counts,.place-story,.modal-intro,.contribution-steps p,.about-content>p,.empty-plot-detail p,.builder-preview>p,.guide-aside p{color:var(--muted)}.place-row-copy>span,.creator-line,.seed-note,.small-reassurance,.panel-invitation,.town-bottom,.draft-label,.local-note,.export-footnote,.step-number,.site-footer,.field-optional,.character-count{color:#707c61}.directory-tabs button,.search-field input::placeholder{color:#727f62}.field,.building-picker legend,.color-picker legend{font-size:11px}.place-row-copy strong{font-size:12px}.place-row-copy>span{font-size:9px}.modal-intro,.contribution-steps p{font-size:13px}.field-error,.form-notice{color:#825839}}@layer responsive{@media (width<=760px){.town-clock{flex-direction:column;align-items:stretch;gap:10px}.clock-playback{justify-content:space-between}.clock-hint{font-size:9px}.neighbor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.neighbors-heading{flex-direction:column;align-items:start;gap:12px}.builder-resident{margin-top:0}}@media (width<=460px){.neighbor-grid{grid-template-columns:1fr}.neighbors-heading h2{font-size:29px}.builder-tabs button{font-size:10px}.builder-tabs button span{display:none}}@media (width>=1536px){.site-footer{max-width:1440px}.city-stage,.neighborhood-panel{height:640px}.town-layout{grid-template-columns:minmax(0,1fr) 320px}.place-row-copy strong{font-size:12px}.place-row-copy>span{font-size:9px}.place-row{min-height:67px}.hero{padding-top:60px;padding-bottom:45px}}@media (width<=1535px){.site-footer{margin-left:48px;margin-right:48px}}@media (width<=1150px){.header-inner,.page-shell{padding-left:30px;padding-right:30px}.header-inner nav{gap:22px;margin-left:18px}.header-right{gap:16px}.open-source-label,.github-link span,.github-link>svg:last-child{display:none}.town-layout{grid-template-columns:minmax(0,1fr) 270px}.hero{padding-top:42px;padding-bottom:36px}.hero-invitation{padding-right:14px}.city-stage,.neighborhood-panel{height:560px}.welcome-strip{gap:18px}.welcome-step{gap:9px}.step-icon{width:32px;height:32px}.welcome-step p{font-size:10px}.step-number{font-size:6.5px}.site-footer{margin-left:30px;margin-right:30px}.welcome-title h2{font-size:24px}.map-help{font-size:7px;left:15px}.map-controls{right:12px}.map-location{left:15px}}@media (width<=900px){.header-inner nav{gap:18px;margin-left:8px}.nav-link{font-size:11px}.header-inner{gap:16px}.hero h1{font-size:44px}.hero-invitation{width:220px;padding-right:0}.town-layout{grid-template-columns:minmax(0,1fr) 250px}.edition-tag{display:none}.town-toolbar{padding:12px 17px}.town-settings{gap:12px}.directory-controls{padding:0 14px}.panel-heading{padding-left:15px;padding-right:15px}.place-list{padding-left:6px;padding-right:6px}.map-help{display:none}.welcome-strip{grid-template-columns:1fr 1fr;row-gap:24px}.welcome-title{grid-row:span 3}.welcome-step{gap:14px}.welcome-step p{font-size:12px}.step-number{font-size:8px}.site-footer>div>span{display:none}.builder-layout{grid-template-columns:240px 1fr}.builder-preview{padding-left:12px;padding-right:12px}.preview-ground{margin-left:-30px;margin-right:-30px;transform:scale(.9)}.builder-form{padding:22px 18px}.building-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.building-picker button{flex-direction:row;gap:0;padding:0 5px 0 0;font-size:8px}.building-picker button canvas{width:46px!important;height:46px!important}.builder-actions{flex-direction:column-reverse;align-items:stretch}.builder-actions .text-button{justify-content:center}}@media (width<=720px){.header-inner{height:73px;padding:0 22px}.page-shell{padding:0 22px}.header-inner nav{display:none}.header-build{padding:9px 12px;font-size:11px}.hero{gap:20px;padding:34px 0 30px}.hero h1{letter-spacing:-1.6px;font-size:40px}.hero-copy>.eyebrow{letter-spacing:1px;margin-bottom:13px;font-size:7px}.hero-copy>p{font-size:12px}.hero-invitation{display:none}.town-layout{flex-direction:column;display:flex}.city-stage{height:440px}.neighborhood-panel{border-left:0;border-top:1px solid var(--line);height:395px}.panel-heading{padding:20px 20px 14px}.panel-heading h3{font-size:24px}.panel-heading-top{margin-bottom:7px}.panel-heading p{font-size:11px}.town-counts{margin-top:13px}.directory-controls{padding:0 20px}.place-list{padding:3px 13px}.place-row{min-height:64px}.place-row-copy strong{font-size:12px}.place-row-copy>span{font-size:9px}.search-field input{font-size:12px}.directory-tabs button{font-size:11px}.panel-invitation{padding:12px 20px;font-size:10px}.town-bottom{flex-wrap:wrap;gap:8px;padding:10px 16px;font-size:8px}.town-bottom>span:last-child{display:none}.town-title h2{font-size:12px}.town-title{gap:6px}.town-settings{gap:12px}.plot-toggle{font-size:9px}.town-toolbar{padding:11px 14px}.map-location{font-size:8px}.welcome-strip{padding:28px 0 32px}.welcome-title h2{font-size:27px}.welcome-title .text-button{text-align:left;line-height:1.7}.welcome-title>.eyebrow{max-width:150px;font-size:7px;line-height:1.9;display:block}.welcome-step p{font-size:10px}.step-number{font-size:7px}.welcome-step{gap:10px}.site-footer{flex-wrap:wrap;gap:12px;margin-left:22px;margin-right:22px;padding:18px 0 22px}.site-footer>span:nth-child(2){font-size:8px}.site-footer>div{width:100%;margin-left:0}.place-detail{grid-template-columns:1fr 1fr;align-content:start;display:grid}.back-button{grid-column:1/-1;padding:15px 19px}.detail-illustration{height:220px;margin:0 0 16px 18px}.detail-body{padding:0 18px 18px}.detail-body h3{font-size:25px}.place-story{margin-top:13px;font-size:11px}.creator-line{font-size:8px}.detail-divider{margin:14px 0 10px}.seed-note{margin:10px 0;font-size:9px}.detail-body>.button{margin-top:8px;font-size:9px}.detail-source{font-size:8px}.empty-plot-detail{grid-column:1/-1;padding:0 24px 24px}.empty-plot-art{float:left;width:140px;height:150px;margin:13px 24px 15px 0}.empty-plot-detail h3{text-align:left;font-size:27px}.empty-plot-detail>.eyebrow{text-align:left;margin-top:10px;display:block}.empty-plot-detail p{text-align:left;margin:10px 0 16px;font-size:11px}.empty-plot-detail>.button{max-width:300px}.preview-banner{flex-wrap:wrap;padding:10px 12px;font-size:9px}.preview-banner>span{flex-basis:75%}.preview-banner>button:nth-last-child(2){margin-left:23px}.preview-banner>button:last-child{margin-left:auto}.builder-layout{grid-template-columns:1fr}.builder-preview{border-right:0;border-bottom:1px solid var(--line);text-align:left;grid-template-rows:auto auto auto;grid-template-columns:125px 1fr;align-items:center;column-gap:12px;padding:18px;display:grid}.builder-preview>.eyebrow{grid-column:2;align-self:end;margin:0;font-size:7px}.preview-ground{grid-area:1/1/4;width:125px;height:120px;margin:0;transform:none}.preview-ground canvas{margin:0;width:125px!important;height:125px!important}.preview-ground:before{width:95px;height:95px;bottom:-9px}.builder-preview h3{align-self:center;font-size:24px}.builder-preview>.mono{align-self:start;margin:0;font-size:8px}.builder-preview>p,.draft-label{display:none}.builder-form{gap:18px;padding:21px}.building-picker>div{grid-template-columns:repeat(6,minmax(0,1fr))}.building-picker button{flex-direction:column;padding:0 0 8px;font-size:8px}.building-picker button canvas{width:58px!important;height:58px!important}.builder-actions{flex-direction:row;align-items:center}.builder-actions .button,.builder-actions .text-button{font-size:10px}.modal{border-radius:10px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.modal-header{padding:21px}.modal-header h2{font-size:27px}.modal-header .eyebrow{font-size:7px}.submit-layout{grid-template-columns:1fr;gap:24px;padding:22px}.submit-guide{order:2}.code-export{order:1}.submit-guide .contribution-steps{margin:20px 0}.code-export pre{font-size:10px}.guide-content{padding:22px}.contribution-steps p{font-size:11px}.toast{min-width:280px;font-size:11px;bottom:16px}.toast button{margin-left:auto}}@media (width<=440px){.header-inner,.page-shell{padding:0 16px}.hero h1{font-size:37px}.hero-copy>p{font-size:11px}.desktop-break{display:none}.hero{padding:29px 0}.town-title h2{font-size:11px}.town-toolbar{padding:11px}.town-settings{gap:8px}.plot-toggle>span:last-child{display:none}.city-stage{height:365px}.map-location{gap:6px;font-size:7px;top:16px;left:13px}.compass{top:14px;right:13px}.map-controls{bottom:12px;right:12px}.neighborhood-panel{height:390px}.welcome-strip{gap:20px 18px}.welcome-title h2{font-size:24px}.welcome-title .text-button{font-size:9px}.welcome-step{gap:8px}.step-icon{width:28px;height:28px}.step-icon svg{width:16px}.step-number{letter-spacing:.1px;font-size:6px}.welcome-step p{font-size:9px}.site-footer{margin-left:16px;margin-right:16px}.site-footer>span:nth-child(2){font-size:7px}.detail-illustration{height:195px;margin-left:12px}.detail-body{padding-left:13px;padding-right:13px}.detail-body h3{font-size:22px}.detail-illustration>canvas{width:145px!important;height:145px!important}.creator-line{font-size:7px}.place-story{font-size:10px}.detail-body>.button{white-space:normal;gap:6px;padding:7px;font-size:8px;line-height:1.5}.place-facts{flex-wrap:wrap;gap:5px;font-size:7px}.seed-note{font-size:8px}.detail-type,.plot-chip{font-size:7px}.empty-plot-art{width:100px;height:130px;margin-right:15px}.empty-plot-detail h3{font-size:26px}.empty-plot-detail{padding:0 18px 20px}.empty-plot-detail p{font-size:10px}.empty-plot-detail>.eyebrow{font-size:7px}.builder-form{padding:19px 16px}.field-row{gap:12px}.field input,.field select,.field textarea{font-size:12px}.building-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.building-picker button{flex-direction:row;padding:0 5px 0 0;font-size:8px}.building-picker button canvas{width:47px!important;height:47px!important}.builder-actions{flex-direction:column-reverse;align-items:stretch}.builder-actions .button{min-height:42px}.contribute-progress{gap:10px;padding:13px;font-size:9px}.contribute-progress i{width:20px}.field-optional{font-size:8px}.modal-header h2{font-size:25px}.about-art canvas{width:120px!important;height:120px!important}.about-art canvas:nth-child(2){width:135px!important;height:135px!important}.about-content blockquote{font-size:27px}}@media (width<=380px){.builder-preview{grid-template-columns:95px minmax(0,1fr);gap:8px 10px}.builder-preview h3{font-size:22px}.preview-ground{width:95px;height:110px}.preview-ground canvas{width:110px!important;height:110px!important}.preview-ground:before{width:80px;height:80px;bottom:-3px}.building-picker button{flex-direction:column;padding:0 0 7px;font-size:9px}.building-picker button canvas{width:52px!important;height:52px!important}}@media (pointer:coarse){.button{min-height:44px}.map-controls button{width:40px;height:39px}.icon-button{min-width:44px;min-height:44px}.directory-tabs button{min-height:40px}.panel-invitation button{min-width:30px;min-height:30px}.color-picker button,.custom-color{width:28px;height:28px}.field input,.field select,.field textarea,.search-field input{font-size:16px}.back-button{min-height:44px}.modal-header .icon-button{min-width:40px;min-height:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}.json-guide{overflow-wrap:anywhere;border:1px solid #dce1d2;border-radius:8px;margin:1rem 0;padding:1rem;font-size:.875rem;line-height:1.6}.json-guide summary{cursor:pointer;font-weight:600}.json-guide summary:focus-visible{outline-offset:4px;outline:2px solid #526b43}.json-guide dt{margin-top:.7rem;font-weight:600}.json-guide dd{margin:0}.town-events{background:#f4f2e9;border-bottom:1px solid #dedfce;grid-template-columns:.8fr 1fr 1fr;gap:14px;padding:20px 24px;display:grid}.events-intro{align-self:center}.events-intro .eyebrow{letter-spacing:1.2px;font-size:8px}.events-intro h3{margin:5px 0;font:500 24px Fraunces,serif}.events-intro p{color:#6b7962;margin:0;font-size:11px}.event-card{text-align:left;color:#40563e;cursor:pointer;background:#fdfcf7;border:1px solid #dcded0;border-radius:9px;align-items:center;gap:13px;min-width:0;padding:15px;display:flex}.event-card:hover{background:#fffef8;border-color:#7b9366}.event-card:focus-visible{outline-offset:3px;outline:2px solid #526d42}.event-card.is-live{background:#edf1e2;border-color:#8ea272}.event-symbol{background:#e9eddf;border-radius:50%;flex:0 0 38px;place-items:center;height:38px;display:grid}.event-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.event-copy strong{font-size:13px;line-height:1.4}.event-copy>span:last-child{align-items:center;gap:5px;font-size:11px;display:flex}.event-time{color:#68765d;font-size:9px;line-height:1.5}.event-time .live-dot{margin-right:3px;display:inline-block}.venue-detail{padding:28px 24px}.venue-detail h3{margin:13px 0;font:500 30px Fraunces,serif}.venue-detail p{color:#6b7962;font-size:13px;line-height:1.8}.venue-program{background:#f0f2e7;border:1px solid #dce2ce;border-radius:8px;margin:24px 0;padding:20px}.venue-program h4{margin:12px 0;font:500 22px Fraunces,serif}.venue-program strong{color:#4e6644;font-size:12px}@media (width<=900px){.town-events{grid-template-columns:1fr 1fr;padding:16px}.events-intro{grid-column:1/-1}}@media (width<=560px){.town-events{grid-template-columns:1fr;gap:10px}}html,body,#root{width:100%;height:100%;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.town-app{height:100dvh;min-height:320px;position:relative;overflow:hidden}.town-app>.city-stage{border:0;width:100%;height:100%;position:absolute;inset:0}.map-header{z-index:3;top:max(24px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;left:28px;right:28px}.map-header>*{pointer-events:auto}.town-wordmark{color:#334c3c;font:500 27px var(--serif);letter-spacing:-1px;text-shadow:0 1px 14px #f5f6e9;align-items:center;gap:10px;transition:color .4s,text-shadow .4s;display:flex}.town-wordmark .brand-mark{flex-shrink:0}.town-wordmark .brand-mark rect{transition:fill .4s}.town-wordmark .brand-lantern{align-self:flex-end;margin:0 0 7px -8px;transition:filter .4s}.town-app-night .town-wordmark{color:#f1eedc;text-shadow:0 1px 14px #263c3c}.town-app-night .town-wordmark .brand-lantern{filter:drop-shadow(0 0 4px #ffe0a0b3)}.way-in{color:#fffef1;background:#405b3c;border-radius:100px;justify-content:center;align-items:center;gap:14px;padding:15px 20px;font-size:14px;font-weight:600;transition:background .15s,transform .15s;display:flex;box-shadow:0 4px 20px #233b2514}.way-in:hover{background:#304b2c}.way-in:hover svg{transform:translate(2px)}.way-in svg{transition:transform .15s}.map-clock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#3f5236;background:#fdfcf0de;border:1px solid #e3e6d799;border-radius:40px;align-items:center;gap:10px;padding:4px 5px 4px 15px;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #233c2512}.map-clock time{font:700 13px var(--mono);letter-spacing:.5px;font-variant-numeric:tabular-nums}.map-clock button{border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.map-clock button:hover{background:#dfe6d5}.explore-dock{z-index:4;bottom:max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fdfcf5f0;border:1px solid #e3e5d6;border-radius:40px;padding:5px;display:flex;position:absolute;left:28px;box-shadow:0 4px 24px #233c2510}.explore-dock button{color:#4a5d3f;border-radius:30px;justify-content:center;align-items:center;gap:9px;min-width:44px;height:42px;transition:background .15s,color .15s;display:flex;position:relative}.explore-dock button:first-child{padding:0 16px;font-size:13px;font-weight:600}.explore-dock button:hover,.explore-dock button[aria-expanded=true]{color:#3b5534;background:#e8eddc}.event-indicator{background:var(--lantern);border-radius:1px;width:6px;height:6px;position:absolute;top:8px;right:9px;box-shadow:inset 0 0 0 1px #8a5a1c}.town-app-night .event-indicator{box-shadow:inset 0 0 0 1px #8a5a1c,0 0 6px #ffe0a0}.town-app .map-controls{right:28px;bottom:max(24px, env(safe-area-inset-bottom));border-radius:40px;padding:5px;box-shadow:0 4px 24px #233c2510}.town-app .map-controls button{border-radius:50%;width:42px;height:42px}.town-app .map-controls>span:not(.control-divider){display:none}.town-app .follow-status{border-radius:12px;max-width:calc(100% - 36px);padding:12px 16px;font-size:12px;top:92px;left:50%;transform:translate(-50%)}.town-app .follow-status>span{flex-direction:column;gap:4px;display:flex}.town-app .follow-status button{white-space:nowrap;font-size:11px}.town-panel{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fdfcf7f7;border:1px solid #fefdf5a6;border-radius:18px;flex-direction:column;width:340px;max-height:calc(100dvh - 190px);display:flex;position:absolute;top:92px;right:28px;overflow:hidden;box-shadow:0 12px 60px #1d392426,0 2px 6px #1d39240a}.town-panel-header{border-bottom:1px solid #e7e8dc;flex-shrink:0;align-items:center;gap:9px;padding:18px 18px 15px;display:flex}.town-panel-header h2{font:500 25px var(--serif);overflow-wrap:anywhere;flex:1;margin:0}.town-panel-header h2:focus{outline:none}.town-panel-header .icon-button{flex:0 0 32px}.town-panel-content{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.browse-controls{padding:18px 18px 0}.browse-controls .search-field{width:100%;margin:0}.browse-controls .directory-tabs{margin:16px 0 0}.browse-row{text-align:left;border-bottom:1px solid #e9eade;align-items:center;gap:12px;width:100%;padding:10px 18px;display:flex}.place-row{content-visibility:auto;contain-intrinsic-size:auto 69px}.browse-row:hover,.resident-link:hover{background:#edf0e5}.browse-row>span:not(.plot-symbol){flex:1;min-width:0}.browse-row strong,.resident-link strong{font-size:14px;font-weight:600;display:block}.browse-row small,.resident-link small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}.browse-row>svg{color:#8b977e;flex-shrink:0}.plot-symbol{color:#8ca279;place-items:center;width:48px;height:48px;display:grid}.map-label-setting{color:var(--muted);align-items:center;gap:9px;padding:17px 20px;font-size:12px;display:flex}.map-label-setting input{accent-color:#526e44}.empty-search{color:var(--muted);padding:24px 20px;font-size:13px}.full-town-note{background:var(--lantern-pale);color:var(--lantern-ink);border-radius:9px;margin:0 0 20px;padding:13px 16px;font-size:13px;line-height:1.6}.full-town-note a{text-underline-offset:3px;align-items:center;gap:4px;font-weight:600;text-decoration:underline;display:inline-flex}.full-town-note code{font:12px var(--mono)}.town-panel .full-town-note{margin:16px 20px}.welcome-guide .button-primary:disabled{opacity:.55;transform:none}.welcome-guide .button-primary:disabled:hover{background:var(--green)}.resident-directory{padding:8px}.resident-link{text-align:left;border-radius:9px;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.resident-link>span{flex:1;min-width:0}.resident-link>svg{flex-shrink:0}.home-illustration{background:#edf0df;flex-direction:column;justify-content:center;align-items:center;padding:10px 0 18px;display:flex}.home-illustration.night{color:#e4e7d4;background:#41584e}.home-illustration>span{font:11px var(--mono);letter-spacing:.5px;opacity:.85}.home-info-body{padding:20px}.home-credit{color:#4d6844;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.home-story{font:italic 500 16px/1.55 var(--serif);white-space:pre-line;margin:13px 0}.home-info-body>.resident-link{margin:12px 0;padding:10px 0}.home-sign{background:#eef1e6;border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin:16px 0 0;padding:14px 14px 16px;display:flex}.home-sign figcaption{align-self:flex-start}.home-sign canvas{border-radius:4px;box-shadow:0 2px 8px #1d39241f}.home-sign .tube-sign{color:#2f4a3b;text-align:center;background:#cfddb9;border:1px solid #6f8b66;border-radius:3px;margin:0;padding:8px 12px;font:700 .8rem/1.4 Space Mono,monospace}.home-actions{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.home-actions .text-button{font-size:13px}.venue-actions{padding:0 22px 22px}.football-info+.venue-actions{padding:0 18px 20px}.arrival-intro{border-bottom:1px solid var(--line);background:var(--green-pale);margin:0;padding:12px 20px;font-size:13px;line-height:1.6}.arrival-intro .text-button{vertical-align:bottom;gap:4px;min-height:0}.quiet-label{font:10px var(--mono);letter-spacing:1px;color:var(--muted)}.muted-copy{color:var(--muted);font-size:13px;line-height:1.7}.venue-info{padding:22px}.venue-info .venue-program{margin:18px 0;padding:18px}.venue-program h3{font:500 23px var(--serif);margin:12px 0}.venue-program p{margin-bottom:15px;font-size:14px;line-height:1.7}.venue-program .reel-missing{background:var(--lantern-pale);color:var(--lantern-ink);border-radius:8px;padding:10px 13px;font-size:13px}.town-panel .town-events{background:0 0;border:0;flex-direction:column;padding:18px;display:flex}.town-panel .events-intro{display:none}.town-panel .event-card{padding:17px 13px}.empty-corner{color:#738863;flex-direction:column;align-items:center;gap:22px;padding:35px 20px;display:flex}.empty-corner p{font:500 22px var(--serif);color:#46553e;text-align:center}.empty-corner small{max-width:240px;color:var(--muted);text-align:center;margin-top:-12px;font-size:13px;line-height:1.6}.start-on-github{flex-direction:column;gap:16px;padding:20px;display:flex}.start-house{align-items:center;gap:12px;display:flex}.start-house canvas{flex-shrink:0}.start-house>span{min-width:0}.start-house strong{font:500 20px var(--serif);display:block}.start-house small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}.start-house code{color:var(--muted);margin-top:2px;display:block}.start-on-github code{font:11px var(--mono);overflow-wrap:anywhere}.start-username{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.start-username .input-prefix{min-height:41px;font-size:14px;font-weight:400}.start-username input{flex:1;width:100%;min-width:0;padding:9px 10px 9px 4px;font-size:14px}.start-hint{color:var(--muted);font-size:12px;font-weight:400;line-height:1.55}.start-hint-needed{background:var(--lantern-pale);color:var(--lantern-ink);border-radius:8px;padding:9px 11px}.start-on-github .field-error{font-size:12px}.start-on-github .button{white-space:normal}.start-on-github .button:disabled{opacity:.55;cursor:not-allowed;transform:none}.start-on-github .button-primary:disabled:hover{background:var(--green)}.start-builder-link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;margin-top:-8px;padding:2px 4px;font-size:12px;text-decoration:underline}.start-builder-link:hover{color:var(--ink)}.start-steps{gap:9px;margin:0;padding-left:20px;font-size:13px;line-height:1.6;display:grid}.start-steps li::marker{color:var(--green);font:700 12px var(--mono)}.start-steps strong{font-weight:600}.start-steps a{color:var(--green);text-underline-offset:3px;align-items:center;gap:3px;font-weight:600;text-decoration:underline;display:inline-flex}.start-fallback{background:var(--green-pale);color:var(--muted);border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.6}.start-fallback>div{flex-wrap:wrap;gap:0 18px;margin-top:4px;display:flex}.start-fallback .text-button{font-size:12px}.start-fallback .text-button:disabled{opacity:.55;cursor:not-allowed;text-decoration:none}.start-fallback [role=status]:not(:empty){color:var(--green-deep);margin-top:4px;font-weight:600}.start-file summary{cursor:pointer;width:max-content;color:var(--green);font-size:12px;font-weight:600}.start-file pre{max-height:260px;font:11px/1.55 var(--mono);background:#f1f3ea;border-radius:8px;margin-top:10px;padding:12px;overflow:auto}.start-file pre code{overflow-wrap:normal}.guide-actions{flex-wrap:wrap;gap:10px;display:flex}.draft-chip{z-index:4;background:#fff8dfef;border-radius:12px;align-items:center;gap:12px;padding:12px 15px;font-size:12px;display:flex;position:absolute;bottom:90px;left:28px;box-shadow:0 3px 20px #233c2510}.draft-chip button{color:#526b42;font-weight:600;display:flex}.welcome-guide{padding:24px 34px 32px}.welcome-guide>p{color:var(--muted);font-size:15px;line-height:1.6}.welcome-guide ol{margin:26px 0;padding:0;list-style:none;position:relative}.welcome-guide li{gap:16px;padding-bottom:22px;display:flex;position:relative}.welcome-guide li:last-child{padding-bottom:0}.welcome-guide li:not(:last-child):before{content:"";border-left:2px dotted #cdd6bf;position:absolute;top:32px;bottom:4px;left:14px}.welcome-guide li>span{background:var(--green-pale);height:30px;color:var(--green-deep);font:700 12px var(--mono);border-radius:50%;flex:0 0 30px;place-items:center;display:grid}.welcome-guide li strong{padding-top:5px;font-size:15px;font-weight:600;display:block}.welcome-guide li p{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.6}.welcome-links{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:28px;display:flex}.welcome-links .text-button{font-size:13px}.town-app .modal-header .eyebrow{color:var(--lantern-ink);font-size:10px}.town-app .toast{overflow-wrap:anywhere;bottom:90px}.town-app .modal .toast{bottom:24px}.town-app:has(>.welcome-card)>.toast{width:max-content;min-width:0;max-width:calc(100vw - 392px);left:calc(184px + 50vw)}@media (width<=600px){.town-app:has(>.welcome-card)>.toast{width:auto;min-width:280px;max-width:calc(100vw - 32px);top:128px;bottom:auto;left:50%}.map-header{top:max(18px, env(safe-area-inset-top));gap:10px;left:18px;right:18px}.town-wordmark{gap:6px;font-size:23px}.town-wordmark .brand-mark{display:none}.town-wordmark .brand-lantern{margin:0 0 6px -4px}.way-in{gap:8px;padding:12px 15px;font-size:11px}.map-clock{gap:8px;padding-left:12px;position:fixed;top:76px;left:18px;transform:none}.map-clock time{font-size:10px}.map-clock button{width:30px;height:30px}.explore-dock{left:12px;bottom:max(16px, env(safe-area-inset-bottom));padding:4px}.explore-dock button{min-width:40px;height:40px}.explore-dock button:first-child{padding:0 11px}.explore-dock button:first-child span{display:none}.town-app .map-controls{right:12px;bottom:max(16px, env(safe-area-inset-bottom));padding:4px}.town-app .map-controls button{width:40px;height:40px}.town-panel{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 62px);border-radius:18px;width:auto;max-height:46dvh;left:12px;right:12px}.town-panel-header{padding:12px 15px}.town-panel-header h2{font-size:23px}.home-illustration{display:none}.home-info-body{padding:16px}.arrival-intro{padding:10px 16px}.town-app .follow-status{font-size:11px;top:125px}.draft-chip{bottom:78px;left:12px}.town-app:has(.town-panel) .draft-chip{display:none}.welcome-guide{padding:18px 22px 25px}.start-on-github{padding:16px}.start-username input{font-size:16px}}.town-sound{position:relative}.explore-dock .town-sound>button{width:42px;padding:0}.sound-popover{color:#3b5534;background:#fdfcf7;border:1px solid #e5e8d9;border-radius:18px;width:280px;padding:20px;font-size:13px;position:fixed;bottom:90px;left:28px;box-shadow:0 12px 45px #1d392426}.sound-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sound-heading>span{font:10px var(--mono);letter-spacing:2px;color:var(--muted)}.explore-dock .sound-heading button{min-width:24px;height:24px;padding:0}.sound-popover>strong{font:500 22px var(--serif)}.sound-popover>p{color:var(--muted);margin:7px 0 17px;font-size:13px}.explore-dock .sound-toggle{background:#e8eddc;width:100%;font-size:12px}.sound-volume{align-items:center;gap:14px;margin:18px 0;font-size:11px;display:flex}.sound-volume input{accent-color:#59764a;width:100%}.sound-popover>small{color:var(--muted);font-size:11px;line-height:1.6;display:block}@media (width<=600px){.sound-popover{width:min(280px,100vw - 28px);bottom:84px;left:14px}.explore-dock .town-sound>button{width:34px;min-width:34px}}@media (width<=440px){.explore-dock>button:first-child>span{display:none}.explore-dock>button:first-child{padding:0}}@media (width<=360px){.town-app .map-controls button{width:36px}}.football-info{padding:16px 18px 20px}.football-board{color:#f6f0da;background:repeating-linear-gradient(90deg,#ffffff07 0 28px,#0000 28px 56px),#26493b;border-radius:14px;margin-top:12px;transition:box-shadow .5s;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.football-board.goal-0{box-shadow:inset 0 0 0 2px #c4e7c1,0 0 0 4px #28796847}.football-board.goal-1{box-shadow:inset 0 0 0 2px #ffe1a2,0 0 0 4px #e49b454d}.football-info .team-0 .football-fill,.football-info .football-fill.team-0{background:#287968}.football-info .team-1 .football-fill,.football-info .football-fill.team-1{background:#e49b45}.football-status{box-sizing:border-box;min-height:38px;font:10px/1.4 var(--mono);color:#c0d3b6;background:#00000018;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 14px;display:flex}.football-status>span:first-child{color:#f6f0da;align-items:center;gap:7px;display:inline-flex}.football-status .live-dot{background:#a5d98f;animation:1.8s ease-in-out infinite football-live;box-shadow:0 0 0 3px #a5d98f2e}.football-flash{letter-spacing:.8px;text-transform:uppercase;color:#1c2b22;border-radius:999px;padding:2px 8px;font-weight:700;animation:.5s ease-out football-rise}.football-flash.team-0,.football-digits b.is-new.team-0{background:#c4e7c1}.football-flash.team-1,.football-digits b.is-new.team-1{background:#ffe1a2}.football-card-score{align-items:center;gap:7px;display:inline-flex}.football-chip{border-radius:2px;flex:none;width:8px;height:8px}.football-chip.team-0{background:#287968}.football-chip.team-1{background:#e49b45}.football-card-goal{letter-spacing:.6px;text-transform:uppercase;color:#1c2b22;border-radius:999px;margin-left:6px;padding:1px 6px;font-weight:700;animation:.5s ease-out football-rise}.football-card-goal.team-0{background:#c4e7c1}.football-card-goal.team-1{background:#ffe1a2}.football-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;column-gap:4px;padding:16px 10px 10px;display:grid}.football-side{text-align:center;flex-direction:column;grid-row:1;align-items:center;gap:6px;min-width:0;display:flex}.football-side.team-1{grid-column:3}.football-side>strong{font-size:12px;font-weight:600;line-height:1.3}.football-side.is-winner>strong{color:#fffdf1}.football-won{font:600 11px/1.2 var(--sans);letter-spacing:.5px;text-transform:uppercase;margin-top:-3px}.football-side.team-0 .football-won{color:#c4e7c1}.football-side.team-1 .football-won{color:#ffe1a2}.football-side ul{color:#c0d3b6;margin:0;padding:0;font-size:11px;line-height:1.5;list-style:none}.football-crest{filter:drop-shadow(0 2px #0000002e);display:block}.football-crest text{font:500 13px var(--serif)}.football-scoreline{flex-direction:column;grid-area:1/2;align-items:center;gap:6px;display:flex}.football-digits{font:700 38px/1 var(--mono);align-items:center;gap:2px;display:flex}.football-digits b{text-align:center;border-radius:8px;min-width:34px;padding:2px 3px 4px;transition:background-color .4s,color .4s}.football-digits b.is-new{color:#1c2b22;animation:.7s cubic-bezier(.2,1.5,.4,1) football-pop}.football-digits i{color:#a4bb97;font-size:24px;font-style:normal;transform:translateY(-3px)}.football-digits.is-time{letter-spacing:1px;padding:6px 0 2px;font-size:24px}.football-scoreline small{font:700 10px var(--mono);letter-spacing:1.2px;color:#c0d3b6}.football-timeline{padding:2px 16px 10px}.football-track{background:#ffffff24;border-radius:2px;height:4px;margin:14px 0;position:relative}.football-played{border-radius:inherit;background:#eae3c3b8;position:absolute;inset:0 auto 0 0}.football-half{background:#fff6;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px;left:50%}.football-now{background:#fffbea;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;box-shadow:0 0 0 3px #fffbea33}.football-pin{box-sizing:border-box;background:#287968;border:2px solid #c4e7c1;border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute}.football-pin.team-0{bottom:8px}.football-pin.team-1{background:#e49b45;border-color:#ffe1a2;top:8px}.football-pin:after{content:"";background:#c4e7c1;width:2px;height:4px;position:absolute;left:2px}.football-pin.team-0:after{top:100%}.football-pin.team-1:after{background:#ffe1a2;bottom:100%}.football-ticks{font:10px var(--mono);color:#c0d3b6;grid-template-columns:1fr auto 1fr;display:grid}.football-ticks span:last-child{text-align:right}.football-caption{box-sizing:border-box;background:#00000012;border-top:1px solid #ffffff17;align-items:baseline;gap:9px;min-height:48px;padding:11px 14px 12px;display:flex}.football-caption p{margin:0;font-size:12.5px;line-height:1.5}.football-board:is(.goal-0,.goal-1) .football-caption p{color:#ffe4a3;font-weight:600}.football-minute{box-sizing:border-box;min-width:26px;font:700 10px/1.6 var(--mono);text-align:center;border-radius:4px;flex-shrink:0;padding:1px 4px}.football-caption .football-minute{background:#ffffff1c}.football-stats{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:18px;font-size:12px}.football-stats :is(th,td){padding:5px 0}.football-stats thead th{font:400 10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:0 0 7px}.football-stats thead th:nth-child(2){width:30%}.football-stats thead .team-0{text-align:left}.football-stats thead .team-1{text-align:right}.football-stats thead i{border-radius:2px;width:8px;height:8px;margin:0 6px 0 0;display:inline-block}.football-stats thead .team-1 i{margin:0 0 0 6px}.football-stats tbody th{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:500}.football-value{align-items:center;gap:8px;display:flex}.team-1>.football-value{flex-direction:row-reverse}.football-value b{min-width:2ch;font:400 12px var(--mono)}.team-1>.football-value b{text-align:right}.football-value b.is-ahead,.football-possession b{font-weight:700}.football-bar{background:var(--line);border-radius:3px;flex:1;height:5px;display:flex;overflow:hidden}.team-0>.football-value .football-bar{justify-content:flex-end}.football-bar i{border-radius:3px;transition:width .6s}.football-possession b{font:700 13px var(--mono)}.football-possession .team-1{text-align:right}.football-split td{padding:0 0 8px}.football-split span{gap:3px;height:8px;display:flex}.football-split i{border-radius:4px;min-width:4px;transition:flex-grow .6s}.football-feed{margin-top:16px}.football-heading{font:400 10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 6px}.football-feed ol{margin:0;padding:0;list-style:none}.football-feed li{border-top:1px solid var(--line);grid-template-columns:30px 14px minmax(0,1fr);align-items:start;gap:8px;padding:7px 0;font-size:12px;line-height:1.45;display:grid}.football-feed li svg{color:var(--muted);margin-top:2px}.football-feed li.team-0 svg{color:#287968}.football-feed li.team-1 svg{color:#b27936}.football-feed .football-minute{color:var(--muted);background:var(--green-pale)}.football-feed li.is-goal{font-weight:600}.football-feed li.is-goal.team-0 .football-minute{color:#fffdf1;background:#287968}.football-feed li.is-goal.team-1 .football-minute{color:#3d240c;background:#e49b45}.football-results{margin-top:16px}.football-results ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.football-results li{background:var(--green-pale);box-shadow:inset 0 3px 0 var(--line);border-radius:7px;flex-direction:column;align-items:center;gap:1px;padding:7px 0 5px;display:flex}.football-results li.team-0{box-shadow:inset 0 3px #287968}.football-results li.team-1{box-shadow:inset 0 3px #e49b45}.football-results b{font:700 12px var(--mono)}.football-results small{font:10px var(--mono);color:var(--muted)}.football-lineups{border:1px solid var(--line);border-radius:10px;margin-top:16px}.football-lineups summary{box-sizing:border-box;cursor:pointer;align-items:center;gap:8px;min-height:42px;padding:0 13px;list-style:none;display:flex}.football-lineups summary::-webkit-details-marker{display:none}.football-lineups summary>span{font-size:13px;font-weight:600}.football-lineups summary small{font:10px var(--mono);color:var(--muted)}.football-lineups summary svg{color:var(--muted);margin-left:auto;transition:transform .2s}.football-lineups[open] summary svg{transform:rotate(180deg)}.football-lineups summary:focus-visible{outline-offset:2px;border-radius:10px;outline:3px solid #739b76}.football-lineups>div{grid-template-columns:1fr 1fr;gap:14px;padding:2px 13px 14px;display:grid}.football-lineups h4{align-items:center;gap:6px;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.football-lineups ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.football-lineups li{align-items:center;gap:7px;font-size:12px;line-height:1.2;display:flex}.football-lineups li>span:nth-child(2){flex-direction:column;display:flex}.football-lineups li small{color:var(--muted);font-size:10px}.football-shirt{height:20px;font:700 10px var(--mono);color:#fffdf1;background:#287968;border-radius:5px 5px 8px 8px;flex:0 0 22px;place-items:center;display:grid}.team-1 .football-shirt{color:#3d240c;background:#e49b45}.team-0 .football-shirt.is-keeper{color:#2d2340;background:#a487c7}.team-1 .football-shirt.is-keeper{color:#3d1a14;background:#d9736b}.football-scored{gap:2px;margin-left:auto;display:inline-flex}.football-notes{margin-top:14px}.football-notes p{color:var(--muted);gap:9px;margin:7px 0;font-size:11.5px;line-height:1.55;display:flex}.football-notes svg{flex-shrink:0;margin-top:2px}@keyframes football-pop{0%{transform:scale(.6)}55%{transform:scale(1.15)}}@keyframes football-rise{0%{opacity:0;transform:translateY(-3px)}}@keyframes football-live{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.football-status .live-dot,.football-flash,.football-card-goal,.football-digits b.is-new{animation:none}}.sound-popover .sound-field-note{color:var(--muted);font-size:11px;line-height:1.5}@media (width<=600px){.football-info{padding:12px 14px 16px}.football-info+.venue-actions{padding:0 14px 16px}.football-info>.quiet-label{display:none}.football-board{margin-top:0}.football-teams{padding:12px 8px 6px}.football-side .football-crest{width:26px;height:29px}.football-digits{font-size:32px}.football-caption{min-height:0;padding:9px 12px 10px}}.welcome-card{z-index:4;left:28px;bottom:calc(max(24px, env(safe-area-inset-bottom)) + 66px);width:min(340px,100vw - 56px);color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fdfcf7f7;border:1px solid #fefdf5a6;border-radius:18px;padding:18px 20px;animation:.3s both welcome-in;position:fixed;box-shadow:0 12px 60px #1d392426,0 2px 6px #1d39240a}@keyframes welcome-in{0%{opacity:0;transform:translateY(6px)}}.welcome-card-heading{align-items:center;gap:12px;padding-right:28px;display:flex}.welcome-card .eyebrow{color:var(--lantern-ink)}.welcome-card h2{font:500 22px/1.2 var(--serif);letter-spacing:-.3px;text-wrap:balance;margin:14px 0 8px}.welcome-card p{font-size:14px;line-height:1.55}.welcome-card small{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.55;display:block}.welcome-card-actions{flex-wrap:wrap;align-items:center;gap:6px 20px;margin-top:16px;display:flex}.welcome-card-actions>.icon-button{width:32px;height:32px;color:var(--muted);border-radius:50%;position:absolute;top:12px;right:12px}@media (width<=600px){.welcome-card{width:auto;left:12px;right:12px;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 62px);padding:16px 18px}.welcome-card h2{font-size:20px}}@media (height<=600px){.welcome-card{max-height:calc(100dvh - 190px);padding:12px 16px 14px;overflow-y:auto}.welcome-card-heading svg,.welcome-card small{display:none}.welcome-card h2{margin:8px 0 4px;font-size:18px}.welcome-card-actions{margin-top:10px}}.town-app:has(.sound-popover) .welcome-card{display:none}.map-clock,.explore-dock,.town-app .map-controls,.town-panel,.welcome-card,.map-tooltip,.town-app .follow-status,.town-app .toast,.sound-popover,.town-calendar,.welcome-card :is(.eyebrow,small,.text-button){transition:background-color .4s,border-color .4s,color .4s}.town-app-night :is(.town-panel,.welcome-card,.sound-popover,.map-tooltip,.follow-status){--ink:var(--dusk-ink);--muted:var(--dusk-muted);--line:var(--dusk-line);--green-pale:var(--dusk-raised)}.town-app-night :is(button,a,input,textarea,select,canvas,pre):focus-visible{outline-color:#a9cfa0}.town-app-night .modal :is(button,a,input,textarea,select,pre):focus-visible{outline-color:#739b76}.town-app-night .map-clock{color:var(--dusk-ink);background:#263c3ce6;border-color:#45605c99}.town-app-night .map-clock button:hover{background:var(--dusk-raised)}.town-app-night .map-clock .calendar-trigger{border-left-color:#c3d4c233}.town-app-night .explore-dock,.town-app-night .map-controls{border-color:var(--dusk-line);background:#263c3ceb}.town-app-night .explore-dock button,.town-app-night .map-controls button{color:#dce3cf}.town-app-night .explore-dock button:hover,.town-app-night .explore-dock button[aria-expanded=true],.town-app-night .map-controls button:hover{background:var(--dusk-raised);color:var(--dusk-ink)}.town-app-night .map-controls .control-divider{background:var(--dusk-line)}.town-app-night .town-panel{color:var(--dusk-ink);background:#2b4242f5;border-color:#45605c80}.town-app-night .town-panel-content{scrollbar-color:var(--dusk-line) transparent}.town-app-night .town-panel-header{border-bottom-color:var(--dusk-line)}.town-app-night .browse-row{border-bottom-color:#3a5553}.town-app-night :is(.browse-row,.resident-link):hover{background:var(--dusk-raised)}.town-app-night .browse-row>svg,.town-app-night .town-panel :is(small,.muted-copy,.quiet-label,.map-label-setting,.empty-search){color:var(--dusk-muted)}.town-app-night :is(.town-panel,.welcome-card) :is(.home-credit,.text-button){color:var(--dusk-link)}.town-app-night .home-story{color:var(--dusk-ink)}.town-app-night .home-sign,.town-app-night .venue-program{background:var(--dusk-raised);border-color:var(--dusk-line)}.town-app-night .venue-program strong{color:var(--dusk-link)}.town-app-night .football-board{background-color:#1d3a33}.town-app-night .football-board:not(.goal-0,.goal-1){box-shadow:inset 0 0 0 1px var(--dusk-line)}.town-app-night .football-info :is(.team-0 .football-fill,.football-fill.team-0){background:#4f9884}.town-app-night .football-results li.team-0{box-shadow:inset 0 3px #4f9884}.town-app-night .football-feed li.team-0 svg{color:#86c3b2}.town-app-night .football-feed li.team-1 svg{color:#e49b45}.town-app-night .town-panel .search-field{background:var(--dusk);border-color:var(--dusk-line);color:var(--dusk-muted)}.town-app-night .town-panel .search-field input{color:var(--dusk-ink)}.town-app-night .town-panel .search-field input::placeholder,.town-app-night .town-panel .search-field button{color:var(--dusk-muted)}.town-app-night .town-panel .search-field:focus-within{outline-color:#a9cfa0}.town-app-night .directory-tabs button{color:var(--dusk-muted)}.town-app-night .directory-tabs button.active{color:var(--dusk-ink)}.town-app-night .directory-tabs button.active:after{background:#9fc08e}.town-app-night .directory-tabs button span{background:var(--dusk-raised)}.town-app-night .plot-symbol,.town-app-night .empty-corner{color:#9fc08e}.town-app-night .empty-corner p{color:var(--dusk-ink)}.town-app-night .start-username .input-prefix{background:var(--dusk);border-color:var(--dusk-line);color:var(--dusk-muted)}.town-app-night .start-username input{color:var(--dusk-ink)}.town-app-night .start-username input::placeholder{color:var(--dusk-muted)}.town-app-night .start-on-github .field-error{color:#f0b3a2}.town-app-night .start-steps a,.town-app-night .start-file summary{color:var(--dusk-link)}.town-app-night .start-steps li::marker{color:var(--dusk-link)}.town-app-night .start-fallback [role=status]{color:var(--dusk-ink)}.town-app-night .start-file pre{background:var(--dusk);color:var(--dusk-ink)}.town-app-night .map-label-setting input,.town-app-night .sound-volume input{accent-color:#9fc08e}.town-app-night .event-card{background:var(--dusk-raised);border-color:var(--dusk-line);color:var(--dusk-ink)}.town-app-night .event-card:hover,.town-app-night .event-card.is-live{background:#35504c;border-color:#6f9a6a}.town-app-night .event-symbol{background:var(--dusk)}.town-app-night .event-time{color:var(--dusk-muted)}.town-app-night :is(.map-tooltip,.follow-status,.toast,.sound-popover){border-color:var(--dusk-line);color:var(--dusk-ink);background:#263c3cf2}.town-app-night .follow-status button{border-left-color:var(--dusk-line);color:var(--dusk-link)}.town-app-night .toast button{color:var(--dusk-muted)}.town-app-night .explore-dock .sound-toggle{background:var(--dusk-raised)}.town-app-night .welcome-card{color:var(--dusk-ink);background:#2b4242f5;border-color:#45605c80;box-shadow:0 12px 60px #0b1a1a59,0 2px 6px #0b1a1a1f}.town-app-night .welcome-card .eyebrow{color:var(--lantern)}.town-app-night .welcome-card-actions>.icon-button{color:var(--dusk-muted)}
