:root{--bg:#f4f7fa;--surface:#fff;--text:#16202b;--muted:#5b6878;--border:#dde4ec;--accent:#0e7fc0;--accent-text:#fff;--accent-soft:#e3f1fa;--great:#1f9d55;--ok:#e0a100;--bad:#d64545;--broken:#555c66;--none:#8a94a3;--star:#f5b301;--warn-bg:#fdecec;--warn-text:#a12b2b;--border-strong:#c3ccd6;--note-bg:#fff4de;--note-text:#7a4a00;--seasonal-bg:#fff6ea;--seasonal-border:#f2b56b;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}h1,h2{margin:0 0 8px;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}p{margin:0 0 8px}a{color:var(--accent)}.muted{color:var(--muted);font-size:.9rem}.app{flex-direction:column;min-height:100dvh;display:flex}.app main{flex-direction:column;flex:1;display:flex}.app--map{height:100dvh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:1000;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:relative}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}.brand-campus{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:1px 7px;font-size:.75rem;font-weight:700}.tabs{gap:4px;display:flex}.tabs a{color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.9rem;font-weight:600;text-decoration:none}.tabs a.active{background:var(--accent-soft);color:var(--accent)}.tabs a{position:relative}.notice{text-align:center;background:var(--accent-soft);color:var(--text);margin:0;padding:6px 16px;font-size:.85rem}.notice--error{background:var(--warn-bg);color:var(--warn-text)}.sample-banner{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;display:flex}.sample-banner p{margin:0}.sample-banner-actions{white-space:nowrap;gap:12px;display:flex}.page{width:100%;max-width:560px;margin:0 auto;padding:16px 16px 48px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.back{margin-bottom:12px;font-weight:600;text-decoration:none;display:inline-block}.row{flex-wrap:wrap;gap:8px;display:flex}.button{background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:11px 18px;font-weight:700;text-decoration:none;display:inline-flex}.button:disabled{opacity:.45;cursor:not-allowed}.button--ghost{color:var(--accent);border:1px solid var(--border);background:0 0}.button--block{width:100%;margin-top:8px}.button--small{padding:7px 12px;font-size:.85rem}.stars-display{letter-spacing:1px;white-space:nowrap;width:max-content;line-height:1;display:inline-block;position:relative}.stars-empty{color:var(--border)}.stars-fill{color:var(--star);position:absolute;top:0;left:0;overflow:hidden}.stars-display--sm{font-size:.85rem}.stars-display--md{font-size:1rem}.stars-display--lg{margin:2px 0 4px;font-size:1.25rem}.board-name .stars-display{margin:1px 0 2px}.stat-grid .stars-display{align-self:center;margin:2px 0 4px}.map-wrap{--sheet-offset:0px;--sheet-ease:cubic-bezier(.2, .8, .2, 1);flex:1;min-height:360px;position:relative;overflow:hidden}.map-wrap .maplibregl-ctrl-bottom-right,.map-wrap .maplibregl-ctrl-bottom-left{bottom:var(--sheet-offset);transition:bottom .28s var(--sheet-ease)}.sheet{z-index:4;background:var(--surface);color:var(--text);border:1px solid var(--border);transition:height .28s var(--sheet-ease);border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 24px #00000029}.sheet--dragging{transition:none}@media (width>=640px){.sheet{width:400px;left:12px;right:auto}}.sheet-grab{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:none;padding:0 16px 10px}.sheet--dragging .sheet-grab{cursor:grabbing}.sheet-handle{cursor:pointer;background:0 0;border:0;width:100%;height:22px;padding:0;display:block;position:relative}.sheet-handle:before{content:"";background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:999px;width:40px;height:5px;margin-left:-20px;position:absolute;top:8px;left:50%}.sheet-body{overscroll-behavior:contain;min-height:0;padding:2px 16px calc(16px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}@media (pointer:coarse){.sheet:not(.sheet--full) .sheet-body{touch-action:none;overflow:hidden}}.filter-summary{align-items:center;gap:8px;display:flex}.filter-summary-open{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex:1;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.filter-summary-open:hover{background:var(--accent-soft)}.filter-summary-icons{color:var(--accent);flex:none;display:flex}.filter-summary-icons svg{width:20px;height:20px}.filter-summary-icons svg+svg{margin-left:-2px}.filter-summary-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:.88rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.filter-summary-edit{background:var(--accent-soft);color:var(--accent);border-radius:999px;flex:none;padding:4px 10px;font-size:.8rem;font-weight:700}.filter-summary-reset{flex:none;font-size:.85rem}.chip-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600}.chip-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip-toggle[aria-pressed=true]:before{content:"✓ "}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.legend-mark{background:var(--tier);border-radius:50%;flex:none;place-items:center;width:11px;height:11px;display:inline-grid}.legend-mark--none{border:1.5px solid var(--text);background:0 0}.legend-mark--broken{background:0 0;border-radius:0;width:auto;height:auto}.legend-mark--broken:before{content:"✕";color:var(--text);font-size:.78rem;font-style:normal;font-weight:700;line-height:1}.tier-pill{background:color-mix(in srgb, var(--tier) 14%, transparent);color:color-mix(in srgb, var(--tier) 70%, #000);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:2px 9px 2px 7px;font-size:.75rem;font-weight:700;display:inline-flex}.tier-pill .legend-mark{width:9px;height:9px}.tier-pill--none .legend-mark{border-color:currentColor}.tier-pill--broken .legend-mark:before{color:currentColor}.sheet-section{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:.75rem;font-weight:700}.sheet-section-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sheet-body>.sheet-section-row:first-child .sheet-section{margin-top:6px}.sheet-section-row .link-button:disabled{opacity:.5;cursor:default}.sheet-note{color:var(--muted);margin:0 0 8px;font-size:.8rem}.door-status{margin:0 0 10px;font-size:.9rem}.door-status--broken{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;padding:8px 10px}.door-place{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.door-place-head{margin:0 0 8px;font-size:.95rem}.door-note{margin:4px 0 12px}.door-pick-dot{background:#0e7fc0;border:3px solid #fff;border-radius:50%;width:18px;height:18px;display:block;box-shadow:0 1px 4px #0006}.sheet-tip{margin:16px 0 0;font-size:.8rem}.nearest-find{gap:8px;margin-top:4px}.nearest-error{margin-top:8px}.sheet-head-row{align-items:center;gap:12px;display:flex}.sheet-head-text{flex-direction:column;flex:1;min-width:0;display:flex}.sheet-head-text h2{overflow-wrap:anywhere;margin:0 0 2px;font-size:1.1rem}.sheet-head-sub{align-items:center;gap:8px;display:flex}.sheet-head-sub .muted{font-size:.82rem}.sheet-close{background:var(--bg);width:36px;height:36px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;flex:none;align-self:flex-start;font-size:1.4rem;line-height:1}.sheet-close:hover{background:var(--accent-soft)}.sheet-back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 6px -4px;padding:2px 4px;font-size:.85rem;font-weight:600}.sheet-warn{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:.88rem;font-weight:600}.place-check{background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;margin:0 0 12px;padding:10px 12px}.place-check-title{margin-bottom:2px;display:block}.place-check-note{margin:0 0 8px;font-size:.85rem}.place-check .segmented+.place-check-note{margin:8px 0 0}.place-check .segmented button:disabled{opacity:.6;cursor:default}.unconfirmed-pin{cursor:pointer;width:26px;height:26px;font:inherit;color:#3b6f94;opacity:.75;background:#ffffffa6;border:2px dashed #3b6f94;border-radius:50%;place-items:center;padding:0;font-size:.95rem;font-weight:800;line-height:1;display:grid;box-shadow:0 1px 3px #0003}.unconfirmed-pin--active{opacity:1;outline:3px solid var(--accent);outline-offset:4px}.suggestion-card{z-index:30;background:var(--surface,#fff);max-width:440px;margin:0;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 4px 18px #00000040}.suggestion-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.suggestion-card-close{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:0 4px;font-size:1.4rem;line-height:1}.place-check-item{flex-wrap:wrap}.place-check-actions{flex-wrap:wrap;gap:6px;display:flex}.review-actions{text-align:center;flex-direction:column;flex:none;align-items:stretch;gap:6px;display:flex}.pending-card .review-actions{flex-flow:wrap}.place-check-hint{color:var(--warn-text);margin-top:2px;font-size:.85rem;font-weight:600}.place-check-closed{margin-top:10px}.place-check-closed summary{cursor:pointer}.sheet-actions{grid-template-columns:1.4fr 1fr;gap:8px;margin-top:4px;display:grid}.sheet-actions .button{white-space:nowrap;padding:11px 10px}.place-facts{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:.92rem;display:grid}.place-facts dt{color:var(--muted)}.place-facts dd{margin:0}.score-rows{flex-direction:column;gap:6px;display:flex}.score-row{grid-template-columns:1fr auto 2.2em;align-items:center;gap:10px;font-size:.92rem;display:grid}.score-row strong{text-align:right}.score-row--supply{grid-template-columns:1fr auto}.review-list{margin:0;padding:0;list-style:none}.review{border-top:1px solid var(--border);padding:10px 0}.review-top{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.review-top .muted{font-size:.8rem}.review-verified{color:var(--great);font-size:.75rem;font-weight:700}.review-scores{flex-wrap:wrap;gap:4px 16px;font-size:.85rem;display:flex}.review-scores span{align-items:center;gap:6px;display:inline-flex}.review-broken{color:var(--warn-text);margin:0;font-size:.85rem}.place-list{margin:0 -16px;padding:0;list-style:none}.place-row{border:0;border-top:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:10px 16px;display:flex}.place-row:hover{background:var(--accent-soft)}.place-row-name{flex-direction:column;flex:1;min-width:0;display:flex}.place-row-name strong,.place-row-name .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.place-row-meta{flex-direction:column;flex:none;align-items:flex-end;font-size:.9rem;display:flex}.place-row-meta .muted{font-size:.75rem}.nearest-building{border:1px solid var(--border);border-radius:14px;margin:0 0 12px;overflow:hidden}.nearest-building--here{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.nearest-building-head{background:var(--bg);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.nearest-building--here .nearest-building-head{background:var(--accent-soft)}.nearest-building-head:hover strong{color:var(--accent)}.nearest-building-name{flex-direction:column;min-width:0;display:flex}.nearest-building-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nearest-here-label{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.nearest-places{margin:0}.nearest-places .place-row{padding:9px 14px}.nearest-floor{border-top:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 14px 4px;font-size:.72rem;font-weight:700}.nearest-floor+li .place-row{border-top:0}.nearest-floor-shown{color:var(--accent)}.nearest-unrated{font-size:.78rem}.my-rated{color:var(--accent);font-size:.78rem;font-weight:700}.my-rated--map{color:var(--muted);font-weight:600}.my-rated-note{background:var(--accent-soft);color:var(--accent);border-radius:10px;margin:0 0 10px;padding:8px 10px;font-size:.86rem;font-weight:700}.my-rated-note .muted{font-weight:500}.my-rated-note--map{background:var(--bg);color:var(--text)}.badge-nudge{background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;display:flex}.badge-nudge>span:last-child{flex-direction:column;gap:2px;font-size:.9rem;display:flex}.badge-nudge .muted{font-size:.8rem}.badge-nudge-icon{background:var(--surface);width:38px;height:38px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:1.3rem;display:grid}.badge-need{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:700}.link-button.nearest-more{border-top:1px solid var(--border);text-align:left;width:100%;padding:8px 14px 10px;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.nearest-disclaimer{margin-top:-2px}.nearest-cards{margin-top:18px}.nearest-toggle{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.nearest-toggle-caret{color:var(--accent);transition:transform .2s}.nearest-toggle[aria-expanded=true] .nearest-toggle-caret{transform:rotate(180deg)}.nearest-toggle:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.nearest-toggle-caret{transition:none}}.nearest-update{border:1px solid var(--border);background:var(--surface);color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.nearest-update:hover{background:var(--accent-soft)}.nearest-update:disabled{opacity:.6;cursor:default}.nearest-live{background:color-mix(in srgb, var(--great) 12%, transparent);color:var(--great);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.nearest-live-dot{background:currentColor;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite live-dot}@keyframes live-dot{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.nearest-live-dot{animation:none}}.badge.badge--unrated{background:var(--bg);color:var(--none);border:1.5px dashed var(--border-strong)}.kind-tabs{margin-bottom:16px}.kind-chips{scrollbar-width:none;gap:8px;margin:0 -16px 14px;padding:2px 16px 4px;display:flex;overflow-x:auto}.kind-chips::-webkit-scrollbar{display:none}.chip-scroller{position:relative}.chip-scroller-arrow{z-index:1;cursor:pointer;background:0 0;border:0;align-content:center;width:64px;padding:0;display:grid;position:absolute;top:0;bottom:4px}.chip-scroller-arrow span{background:var(--surface);width:30px;height:30px;color:var(--accent);border:1px solid var(--border);border-radius:50%;place-items:center;padding-bottom:2px;font-size:1.3rem;font-weight:800;line-height:1;display:grid;box-shadow:0 2px 8px #0000002e}.chip-scroller-arrow--right{background:linear-gradient(to right, transparent, var(--bg) 60%);justify-items:end;padding-right:8px;right:-16px}.chip-scroller-arrow--left{background:linear-gradient(to left, transparent, var(--bg) 60%);justify-items:start;padding-left:8px;left:-16px}.kind-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 14px 7px 10px;font-size:.9rem;font-weight:600;display:inline-flex}.kind-chip svg{width:18px;height:18px;color:var(--accent)}.kind-chip--all{padding:7px 14px}.ratings-kinds{margin-bottom:12px}.ratings-show{margin-bottom:10px}.comment-quote{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:3px;font-size:.9rem;display:-webkit-box;overflow:hidden}.comment-meta{color:var(--muted);margin-top:2px;font-size:.8rem;font-weight:600}.comment-meta--warn{color:var(--warn-text)}.kind-chip[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.kind-chip[aria-selected=true] svg{color:var(--accent-text)}.board-by{margin:-4px 0 16px}.place-podium{margin-top:22px}.place-podium .podium-spot{padding:0}.podium-link{width:100%;color:inherit;border-radius:inherit;flex-direction:column;align-items:center;gap:4px;padding:18px 8px 14px;text-decoration:none;display:flex}.podium-spot--1 .podium-link{padding-top:26px;padding-bottom:20px}.board-line{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.board-note{margin:12px 2px 0;font-size:.8rem}.board[start]:not(.rater-board) li:first-child .rank{color:var(--muted)}.new-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:6px;padding:0 6px;font-size:.72rem;font-weight:700}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}.dot,.cluster{cursor:pointer;font:inherit;border:0;padding:0}.dot{background:var(--tier);width:18px;height:18px;box-shadow:0 0 0 5px color-mix(in srgb, var(--tier) 30%, transparent), 0 1px 3px #0000004d;border:2.5px solid #fff;border-radius:50%;place-items:center;display:grid}.dot--broken{color:#3b424b;background:#d3d7dd;border:1.5px solid #fff;width:22px;height:22px;font-size:1.05rem;font-weight:700;line-height:1;box-shadow:0 0 0 4px #555c662e,0 1px 3px #00000040}.cluster{background:var(--ring);width:40px;height:40px;box-shadow:0 0 0 6px color-mix(in srgb, var(--tier) 28%, transparent), 0 1px 4px #0000004d;border-radius:50%;place-items:center;display:grid}.cluster span{background:var(--tier);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:grid}.marker--active{outline:3px solid var(--accent);outline-offset:7px}.cluster.bubble--badge{box-shadow:0 0 0 3px #fff,0 0 0 6px #3fb4ef,0 1px 6px #0000004d}.dot.bubble--badge{box-shadow:0 0 0 3px #fff,0 0 0 5.5px #3fb4ef,0 1px 4px #0000004d}.bubble-badge{pointer-events:none;color:#fff;background:linear-gradient(145deg,#3fb4ef,#0e7fc0);border:1.5px solid #fff;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:-10px;right:-10px;box-shadow:0 1px 3px #00000059}.search{z-index:5;position:absolute;top:12px;left:12px;right:12px}@media (width>=640px){.search{width:400px;right:auto}}.search-bar{background:var(--surface);height:50px;color:var(--text);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:0 6px 0 16px;display:flex;box-shadow:0 2px 10px #00000029}.search-icon{color:var(--muted);flex:none}.search-bar input{min-width:0;height:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0 6px;font-size:1rem}.search-bar input::placeholder{color:var(--muted)}.search-bar input::-webkit-search-cancel-button{display:none}.search-bar:focus-within{border-color:var(--accent)}.search-clear,.search-filters{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.4rem;line-height:1;display:grid}.search-filters{color:var(--text)}.search-clear:hover,.search-filters:hover{background:var(--accent-soft)}.search-divider{background:var(--border);flex:none;width:1px;height:26px}.search-results{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-height:min(60vh,420px);margin-top:8px;padding:4px 0;overflow-y:auto;box-shadow:0 6px 20px #0003}.search-results .place-list{margin:0}.search-results .place-row-name strong{white-space:normal;overflow-wrap:anywhere}.search-results .place-list li:first-child .place-row{border-top:0}.search-results .sheet-note{margin:10px 16px}.filter-menu{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-height:min(70vh,480px);margin-top:8px;padding:6px;animation:.15s ease-out tip-in-down;overflow-y:auto;box-shadow:0 6px 20px #0003}.filter-menu-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:6px 10px 4px;font-size:.8rem;font-weight:600}.filter-menu-kind+.filter-menu-kind{border-top:1px solid var(--border)}.filter-menu-row{cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.filter-menu-row:hover{background:var(--accent-soft)}.filter-menu-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.filter-menu-name{flex-direction:column;flex:1;min-width:0;display:flex}.filter-menu-name .muted{font-size:.8rem}.filter-menu-chips{margin:0 10px 10px 60px}.filter-menu-note{margin:0 10px 10px 60px;font-size:.85rem}.switch{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:999px;flex:none;width:44px;height:26px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.setting-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.setting-row h2{margin:0 0 2px}.setting-row>span{flex-direction:column;display:flex}.search-filters[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.search-building-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.map-wrap{--bonus-h:0px}.map-fabs{z-index:3;left:10px;top:calc(66px + var(--bonus-h));flex-direction:column;gap:10px;transition:top .2s;display:flex;position:absolute}.map-fab{cursor:pointer;background:var(--surface);width:36px;height:36px;color:var(--accent);border:2px solid var(--border);border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 2px 8px #00000040}.map-fab:hover{background:var(--accent-soft)}.map-fab--add{border-color:var(--accent)}.map-fab--add[aria-expanded=true]{background:var(--accent);color:var(--accent-text)}.map-fab--add svg{transition:transform .15s}.map-fab--add[aria-expanded=true] svg{transform:rotate(45deg)}.add-menu{position:relative}.add-menu-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(270px,100vw - 72px);padding:6px;animation:.15s ease-out tip-in-down;display:flex;position:absolute;top:0;left:46px;box-shadow:0 4px 16px #0003}.add-menu-list button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 8px;display:flex}.add-menu-list button:hover{background:var(--accent-soft)}.add-menu-list svg{color:var(--accent);flex:none}.add-menu-list span{flex-direction:column;min-width:0;display:flex}.add-menu-list .muted{font-size:.8rem}.add-menu-list button.is-on{background:var(--accent-soft)}.add-menu-list--looks{width:auto;min-width:168px}.add-menu-list .look-swatch{border:1px solid var(--border);border-radius:8px;flex:none;grid-template-rows:2fr 1fr 1fr;width:34px;height:34px;display:grid;overflow:hidden}.look-swatch i{display:block}.add-menu-list .look-check{color:var(--accent);flex:none;margin-left:auto;font-weight:700}.tour{z-index:1000;position:fixed;inset:0}.tour-dim{fill:#0009;position:fixed;inset:0}.tour-ring{fill:none;stroke:var(--accent);stroke-width:3px}.tour-card{background:var(--surface);width:min(320px,100vw - 24px);color:var(--text);border-radius:14px;padding:14px 16px 12px;transition:left .3s,top .3s;position:fixed;box-shadow:0 8px 28px #0000004d}.tour-card h2{margin:0 0 4px;font-size:1.1rem}.tour-card p{margin:0;line-height:1.4}.tour-count{font-size:.75rem;font-weight:700;margin-bottom:4px!important}.tour-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.tour-skip{margin-right:auto}@media (prefers-reduced-motion:reduce){.tour-card{transition:none}}.floor-tip{z-index:3;right:80px;top:calc(104px + var(--bonus-h));background:var(--surface);max-width:200px;color:var(--text);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:4px;padding:8px 6px 8px 12px;font-size:.85rem;line-height:1.3;animation:.3s ease-out floor-tip-in;display:flex;position:absolute;box-shadow:0 3px 12px #0000002e}.floor-tip div{flex-direction:column;gap:2px;display:flex}.floor-tip span{color:var(--muted);font-size:.8rem}.floor-tip:after{content:"";border:8px solid #0000;border-left-color:var(--surface);border-right:0;position:absolute;top:14px;left:100%}.floor-tip button{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:1.15rem;line-height:1}.floor-tip button:hover{background:var(--accent-soft)}@keyframes floor-tip-in{0%{opacity:0;transform:translate(-6px)}}.floor-picker{right:10px;top:calc(74px + var(--bonus-h));z-index:2;width:58px;max-height:max(110px, calc(100% - var(--sheet-offset) - 224px - var(--bonus-h)));background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;animation:.15s ease-out picker-in;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 10px #0003}@keyframes picker-in{0%{opacity:0;transform:translate(8px)}}.floor-picker-name{border-bottom:1px solid var(--border);text-align:center;color:var(--muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:none;padding:5px 3px;font-size:.6rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.floor-picker-levels{flex-direction:column;display:flex;overflow-y:auto}.floor-picker button{height:36px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;font-size:.9rem;font-weight:600;position:relative}.floor-picker button:hover{background:var(--accent-soft)}.floor-picker button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.floor-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.floor-picker button[aria-pressed=true] .floor-dot{background:var(--accent-text)}.locate{right:10px;bottom:calc(var(--sheet-offset) + 90px);z-index:2;transition:bottom .28s var(--sheet-ease);background:var(--surface);width:44px;height:44px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;box-shadow:0 2px 8px #00000040}.locate--locked{color:#1a73e8}.me-drop{filter:drop-shadow(0 1px 2px #0000004d);display:block;position:relative}.me-drop svg{display:block}.me-drop:before{content:"";background:#1a73e859;border-radius:50%;width:16px;height:8px;margin-left:-8px;animation:2s ease-out infinite me-pulse;position:absolute;bottom:-3px;left:50%}.me-drop--stale:before{background:#8a96a359;animation:none}.me-beam{transition:none;display:block}@keyframes me-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.me-drop--nudge{cursor:pointer}.me-drop--nudge:after{content:"";pointer-events:none;background:#f59e0b;border:2px solid #fff;border-radius:50%;width:11px;height:11px;animation:1.6s ease-in-out infinite me-nudge;position:absolute;top:-3px;right:-5px}@keyframes me-nudge{50%{transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.me-drop:before,.me-drop--nudge:after{animation:none}}.drop-tip{z-index:4;background:var(--surface);width:230px;color:var(--text);text-align:left;border:1px solid var(--border);cursor:default;border-radius:12px;align-items:flex-start;gap:8px;padding:8px 6px 8px 10px;font-size:.85rem;line-height:1.3;animation:.25s ease-out tip-in-down;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;translate:-50%;box-shadow:0 3px 12px #0000002e}.drop-tip div{flex-direction:column;gap:2px;display:flex}.drop-tip span:not(.drop-tip-dot){color:var(--muted);font-size:.8rem}.drop-tip-dot{background:#f59e0b;border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px}.drop-tip button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:0 4px;font-size:1.1rem;line-height:1}.drop-tip:after{content:"";border:8px solid #0000;border-top-color:var(--surface);border-bottom:0;margin-left:-8px;position:absolute;top:100%;left:50%}.locate--searching svg{color:#1a73e8;animation:1s ease-in-out infinite locate-pulse}.locate--error{color:var(--bad)}@keyframes locate-pulse{50%{opacity:.35}}.locate-message{right:62px;bottom:calc(var(--sheet-offset) + 90px);z-index:3;background:var(--surface);max-width:min(280px,100% - 80px);color:var(--text);border:1px solid var(--border);border-radius:10px;margin:0;padding:8px 12px;font-size:.82rem;position:absolute;box-shadow:0 2px 8px #0003}.locate-message:has(.locate-message-close){padding-right:30px}.locate-message-close{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.2rem;line-height:1;position:absolute;top:2px;right:4px}.copy-link{flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;display:flex}.copy-link-button{padding:6px 12px;font-size:.85rem}.copy-link-url{word-break:break-all;-webkit-user-select:all;user-select:all;font-size:.78rem}.compass{right:10px;bottom:calc(var(--sheet-offset) + 36px);z-index:2;transition:bottom .28s var(--sheet-ease);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;box-shadow:0 2px 8px #00000040}.compass svg{transition:transform 50ms linear}.photo-thumb{cursor:pointer;background:var(--border);border:2px solid #fff;border-radius:12px;flex:none;width:72px;height:72px;padding:0;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000040}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb-mark{background:#0000008c;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.7rem;display:grid;position:absolute;bottom:3px;right:3px}.photo-thumb--float{left:10px;bottom:calc(var(--sheet-offset) + 36px);z-index:2;transition:bottom .28s var(--sheet-ease);animation:.25s ease-out photo-in;position:absolute}@media (width>=640px){.photo-thumb--float{bottom:24px;left:424px}}@keyframes photo-in{0%{opacity:0;transform:scale(.85)}}.sheet-photo{align-items:center;gap:12px;margin:4px 0 10px;display:flex}.place-photo-admin-img{object-fit:cover;border-radius:10px;width:100%;max-height:220px;margin:6px 0 8px;display:block}.sheet-photo .photo-thumb{box-shadow:none;border-color:var(--border)}.link-button.sheet-photo-ask{margin:14px 0 0;font-weight:600;display:block}.photo-viewer{z-index:1300;background:rgb(0 0 0/var(--shade,.75));padding:max(12px, env(safe-area-inset-top)) 0 max(16px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;animation:.2s ease-out photo-viewer-in;display:flex;position:fixed;inset:0}@keyframes photo-viewer-in{0%{opacity:0}}.photo-viewer-close{top:max(12px, env(safe-area-inset-top));z-index:1;cursor:pointer;color:#fff;background:#0000008c;border:0;border-radius:50%;width:40px;height:40px;font-size:1.6rem;line-height:1;position:absolute;right:12px}.photo-track{scroll-snap-type:x mandatory;scrollbar-width:none;transform:translateY(var(--drag));gap:10px;padding:0 7vw;display:flex;overflow-x:auto}.photo-track::-webkit-scrollbar{display:none}.photo-track--one{justify-content:center}.photo-slide{scroll-snap-align:center;text-align:center;flex:0 0 86vw;max-width:560px;margin:0}.photo-slide img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;max-height:72dvh;display:block}.photo-slide figcaption{color:#fff;background:#0009;border-radius:999px;margin-top:10px;padding:3px 10px;font-size:.9rem;display:inline-block}.photo-dots{background:#00000073;border-radius:999px;align-self:center;gap:2px;margin-top:14px;padding:0 6px;display:flex}.photo-dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:grid}.photo-dots button:before{content:"";background:#ffffff59;border-radius:50%;width:8px;height:8px}.photo-dots button.is-on:before{background:#fff}.map-wrap[data-sheet-dragging] :is(.locate,.compass,.photo-thumb--float,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left){transition:none}.page-links{justify-content:space-between;gap:12px;display:flex}.page-links .link-button{font-size:inherit;text-decoration:none}.share-pill{cursor:pointer;font:inherit;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.share-pill:hover{border-color:var(--accent)}.share-pill:disabled{opacity:.6;cursor:default}.unrated{margin-top:24px}.unrated summary{cursor:pointer;margin-bottom:8px;font-weight:700}.badge{color:#fff;border-radius:10px;flex:none;place-items:center;min-width:42px;height:42px;padding:0 6px;font-size:1rem;font-weight:800;display:inline-grid}.badge--large{border-radius:14px;min-width:64px;height:64px;font-size:1.5rem}.badge--great{background:var(--great)}.badge--ok{background:var(--ok);color:#1e1600}.badge--bad{background:var(--bad)}.badge--broken{background:var(--broken);font-size:.85rem}.badge--none{background:var(--none)}.fountain-head{align-items:center;gap:14px;display:flex}.fountain-head h1{margin-bottom:2px}.chips{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:600}.chip--warn{background:var(--warn-bg);color:var(--warn-text)}.chip--ok{background:color-mix(in srgb, var(--great) 12%, transparent);color:var(--great)}.chip--extra{background:var(--note-bg);color:var(--note-text);border:1px dashed;padding:2px 8px}.row-tag-extra{vertical-align:1px;background:var(--note-bg);color:var(--note-text);border:1px dashed;border-radius:999px;margin-left:6px;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-block}.stat-grid{text-align:center;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.stat-grid>div{flex-direction:column;display:flex}.stat-num{font-size:1.4rem;font-weight:800}.stat-note{margin:-4px 4px 16px;font-size:.9rem}.fold-group+.stat-note{margin-top:18px}.count-list{margin:0 0 12px;padding-left:20px}.count-list li{margin-bottom:8px}.here-box{margin-bottom:16px}.here-note{margin:6px 2px 0;font-size:.85rem}fieldset{border:0;min-width:0;margin:0 0 16px;padding:0}legend{margin-bottom:6px;padding:0;font-weight:700}.segmented{grid-template-columns:1fr 1fr;gap:6px;display:grid}.segmented button{font:inherit;cursor:pointer;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.out-picker>.muted{margin:-2px 0 8px;font-size:.85rem}.out-picks{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.out-picks button{font:inherit;cursor:pointer;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 6px;font-size:.9rem;font-weight:600}.out-picks button[aria-pressed=true]{background:var(--warn-bg);border-color:var(--warn-text);color:var(--warn-text)}.out-picks button[aria-pressed=true]:before{content:"✕ "}.rating-out{color:var(--great);font-size:.85rem;font-weight:600}.rating-out--low{color:var(--warn-text)}.stars{gap:4px;display:flex}.star{cursor:pointer;color:var(--border);background:0 0;border:0;padding:2px 4px;font-size:2.2rem;line-height:1;transition:transform .1s}.star--on{color:var(--star)}.star--half{color:#0000;background:linear-gradient(90deg, var(--star) 50%, var(--border) 50%);-webkit-background-clip:text;background-clip:text}.star:active{transform:scale(.9)}.edit-cancel{margin:10px auto 0;display:block}.my-rating{flex-wrap:wrap;gap:6px 16px;margin:4px 0 8px;display:flex}.my-rating span{align-items:center;gap:6px;display:inline-flex}.star-caption{color:var(--muted);min-height:1.3em;margin:2px 0 0;font-size:.9rem}.form-error{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;padding:8px 12px;font-size:.9rem}.thanks h2{margin-bottom:4px}.thanks .row{margin-top:12px}.thanks .share-note{margin:8px 0 0;font-size:.85rem}.restroom-filter-offer{background:var(--accent-soft);border:1px solid var(--border);border-radius:12px;margin:12px 0;padding:10px 12px}.restroom-filter-offer p{margin:0;font-size:.9rem}p.restroom-filter-offer{background:0 0;border:0;padding:0}.thanks .restroom-filter-offer .row{margin-top:8px}.inline-form{gap:8px;margin:8px 0;display:flex}.inline-form input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:10px 12px}.inline-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.verified-note{background:color-mix(in srgb, var(--great) 14%, transparent);color:var(--great);border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:600}.invite-qr{aspect-ratio:1;width:240px;max-width:100%;height:auto;image-rendering:pixelated;background:#fff;border-radius:12px;margin:12px auto 8px;padding:8px;display:block}.invite-qr--loading{background:var(--border)}.invite-link{text-align:center;color:var(--muted);word-break:break-all;margin:0 0 12px;font-size:.85rem}.invite-stats{margin:10px 0 0;font-size:.88rem}.invite .verified-note{margin:10px 0 0}.invite-banner{text-align:left;align-items:flex-start;gap:10px;display:flex}.invite-banner p{flex:1;margin:0}.invite-banner .link-button{flex:none;padding:0 4px;font-size:1rem}.invite-banner--ok{background:color-mix(in srgb, var(--great) 14%, var(--surface))}.join-hero{text-align:center;padding:16px 4px 20px}.join-hero h1{font-size:1.75rem}.join-hero .verified-note{text-align:left;margin-top:12px}.join-cta{min-width:60%;margin-top:12px}.join-cta-note{margin:8px 0 0;font-size:.85rem}.join-drop{margin-bottom:4px;font-size:2.6rem;display:block}.join-steps{margin:0;padding-left:20px}.join-steps li{margin-bottom:10px}.join-steps li:last-child{margin-bottom:0}.join-map{text-align:center}.join-foot{text-align:center;margin-top:10px}.invite-qr-toggle{gap:8px;margin-top:8px}.points-nudge{border:1.5px solid var(--star);background:color-mix(in srgb, var(--star) 12%, var(--surface));color:var(--text);border-radius:12px;flex-direction:column;gap:4px;margin:0 0 10px;padding:10px 12px;font-size:.9rem;line-height:1.35;animation:.2s ease-out tip-in-down;display:flex}.streak-head{align-items:center;gap:14px;display:flex}.streak-head h2{margin-bottom:3px}.streak-head p{margin:0}.streak-count{text-align:center;background:var(--border);min-width:64px;color:var(--muted);border-radius:12px;flex:none;padding:10px 8px;font-size:1.3rem;font-weight:800}.streak-count--on{background:color-mix(in srgb, var(--star) 22%, transparent);color:var(--text)}.streak-pass{margin:10px 0 0;font-size:.88rem}.streak-pass:empty{display:none}.streak-milestones{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.streak-next{margin:12px 0 0;font-size:.9rem}.streak-next strong{color:var(--accent)}.recent-more{margin-top:8px}.chip--earned{background:color-mix(in srgb, var(--star) 22%, transparent);color:var(--text);font-weight:700}.streak-foot{margin:10px 0 0;font-size:.8rem}.streak-note{background:color-mix(in srgb, var(--star) 18%, transparent);border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:700}.masked-email{font:inherit;color:var(--text);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.install-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.install-row>span{flex-direction:column;min-width:0;display:flex}.install-row .muted{font-size:.85rem}.install-row .button{flex:none}.collapsible>.collapsible-head{cursor:pointer;border-radius:inherit;align-items:center;gap:10px;margin:-16px;padding:16px;list-style:none;display:flex}.collapsible>.collapsible-head::-webkit-details-marker{display:none}.collapsible>.collapsible-head h2{flex:1;min-width:0;margin:0}.collapsible-status{text-overflow:ellipsis;white-space:nowrap;max-width:45%;color:var(--muted);flex:none;font-size:.85rem;font-weight:600;overflow:hidden}.collapsible-caret{color:var(--accent);flex:none;transition:transform .2s}.collapsible[open]>.collapsible-head .collapsible-caret{transform:rotate(180deg)}.collapsible[open]>.collapsible-body{margin-top:14px}.collapsible>.collapsible-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.collapsible-caret{transition:none}}.achievement-head{justify-content:space-between;gap:12px;display:flex}.achievement-head h2{margin-bottom:3px}.achievement-count{color:var(--accent);flex:none;font-weight:800}.badge-group{margin-top:16px}.badge-group h3{color:var(--muted);margin:0 0 7px;font-size:.88rem}.achievement{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;display:flex}.achievement:last-child{border-bottom:0}.achievement-wrap{border-bottom:1px solid var(--border)}.achievement-wrap:last-child{border-bottom:0}.achievement--tap{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.achievement-chevron{color:var(--muted);flex:none;font-size:1.3rem;transition:transform .15s}.achievement-wrap--open .achievement-chevron{transform:rotate(90deg)}.badge-left{padding:0 0 12px 38px;font-size:.88rem}.badge-left h4{color:var(--muted);margin:4px 0;font-size:.8rem}.badge-left ul{margin:0 0 8px;padding-left:18px}.badge-left li{margin:3px 0}.badge-left p{margin:0 0 6px}.achievement-icon{background:var(--bg);width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:1.05rem;display:grid}.achievement--earned .achievement-icon{background:color-mix(in srgb, var(--star) 18%, transparent)}.achievement-copy{flex-direction:column;flex:1;min-width:0;display:flex}.achievement-copy .muted{font-size:.8rem}.achievement-progress{background:var(--border);border-radius:999px;height:5px;margin-top:5px;overflow:hidden}.achievement-progress>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.achievement--earned .achievement-progress>span{background:var(--great)}.achievement-sub{margin-top:6px}.achievement-progress--star>span,.achievement--earned .achievement-progress--star>span{background:var(--star)}.achievement-stars{color:var(--star)}.badge-star{background:var(--star);color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:16px;height:16px;font-size:.65rem;line-height:1;display:grid;position:absolute;top:-5px;right:-6px}.badge-details{margin-top:12px}.badge-details summary{cursor:pointer;color:var(--accent);font-weight:700}.badge-details .badge-group{margin-top:8px}.badge-empty{margin-top:14px}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;text-decoration:underline}.leaderboard-tabs{margin-bottom:20px}.period-tabs{margin:16px 0}.section-title{margin-top:24px}.board{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.board-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.rank{text-align:center;width:1.6em;color:var(--muted);font-size:1.1rem;font-weight:800}.board:not(.rater-board) li:first-child .rank{color:var(--star)}.board-name{flex-direction:column;flex:1;min-width:0;display:flex}.board-auto{font-weight:600}.rater-board .board-row{cursor:default}.board-row.is-me{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.you-tag{background:var(--accent);color:var(--accent-text);vertical-align:2px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.7rem;font-weight:700}.avatar{background:hsl(var(--avatar-hue) 55% 88%);width:34px;height:34px;color:hsl(var(--avatar-hue) 55% 28%);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:inline-grid}.avatar--big{width:52px;height:52px;font-size:1.05rem}.your-rank{margin:0 0 14px;padding:12px 14px}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.podium-spot{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);--medal:#b7bfca;flex-direction:column;align-items:center;gap:4px;padding:18px 8px 14px;display:flex;position:relative}.podium-spot--1{--medal:var(--star);border-color:color-mix(in srgb, var(--star) 55%, var(--border));order:2;padding-top:26px;padding-bottom:20px}.podium-spot--2{--medal:#a7b1bd;order:1}.podium-spot--3{--medal:#cd8a4e;order:3}.podium-spot.is-me{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.podium-medal{background:var(--medal);color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:26px;height:26px;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:-12px}.podium-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.92rem;overflow:hidden}.podium-points{color:var(--muted);font-size:.8rem}.podium-badge{justify-content:center;max-width:100%;font-size:.75rem}.podium-badge,.podium-badge *{min-width:0}.podium-badge{min-height:2.6em;line-height:1.3}.podium-badge .board-badge-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.last-week{margin:0 0 14px;padding:12px 14px}.last-week-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:.85rem}.last-week-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.last-week-spot{text-align:center;--medal:#b7bfca;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:6px 4px;display:flex;position:relative}.last-week-spot--1{--medal:var(--star)}.last-week-spot--2{--medal:#a7b1bd}.last-week-spot--3{--medal:#cd8a4e}.last-week-spot.is-me{box-shadow:0 0 0 2px var(--accent-soft)}.last-week-medal{background:var(--medal);color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:18px;height:18px;font-size:.7rem;font-weight:800;display:grid;position:absolute;top:0;left:calc(50% + 10px)}.last-week-name{flex-direction:column;max-width:100%;font-size:.85rem;display:flex}.last-week-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.last-week-name .muted{font-size:.75rem}.stat-link{color:inherit;border-radius:10px;flex-direction:column;align-items:center;text-decoration:none;display:flex}.stat-link:hover .stat-num,.stat-link:focus-visible .stat-num{color:var(--accent)}.points-day{margin-top:18px}.points-day-head{color:var(--muted);justify-content:space-between;margin:0 0 8px;font-size:.95rem;display:flex}.points-day-total{color:var(--great)}.fold-head{cursor:pointer;border-radius:8px;list-style:none}.fold-head::-webkit-details-marker{display:none}.fold-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fold-head .points-day-head{align-items:center;gap:8px}.fold-group:not([open]) .points-day-head{margin-bottom:0}.fold-title{flex:1;min-width:0}.fold-group:not([open]) .collapsible-caret{transform:none}.fold-group[open] .collapsible-caret{transform:rotate(180deg)}.places-group{margin-top:18px}.places-note{margin:-2px 0 8px}.places-more{margin-top:18px}.places-earn{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;flex:none;padding:3px 8px;font-size:.75rem;font-weight:700}.points-icon svg{width:18px;height:18px}.save-points{background:var(--note-bg);color:var(--note-text);border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:.9rem;font-weight:600}.save-points a{color:inherit;white-space:nowrap;font-weight:800}.points-icon{background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.points-list .points strong{color:var(--great)}.rating-scores{flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:.85rem;display:flex}.podium-points strong{color:var(--accent);font-size:1.15rem}.podium-spot--1 .podium-points strong{font-size:1.35rem}.points{min-width:58px;color:var(--accent);flex-direction:column;align-items:flex-end;display:flex}.points strong{font-size:1.15rem;line-height:1.1}.points span{color:var(--muted);font-size:.75rem}.qr-page{color:#111;background:#fff;min-height:100dvh;padding:16px}.qr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:900px;margin:0 auto 16px;display:flex}.qr-toolbar p{flex:1;min-width:240px;margin:0}.qr-secret label{align-items:center;gap:8px;font-weight:600;display:flex}.qr-secret input{font:inherit;border:1px solid #bbb;border-radius:8px;width:16em;padding:8px 10px}.qr-secret .qr-sub{flex:1;min-width:240px}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-width:900px;margin:0 auto;display:grid}.qr-card{text-align:center;break-inside:avoid;border:2px dashed #bbb;border-radius:12px;padding:14px}.qr-card img{aspect-ratio:1;width:100%;max-width:180px}.qr-title{margin:0 0 6px;font-size:1.05rem;font-weight:800}.qr-name{margin:6px 0 0;font-weight:700}.qr-sub{color:#555;margin:0;font-size:.8rem}@media print{.qr-toolbar{display:none}.qr-page{padding:0}.qr-grid{grid-template-columns:repeat(3,1fr)}}.tabbar{z-index:1000;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid;position:sticky;bottom:0}.tabbar a{color:var(--muted);flex-direction:column;align-items:center;gap:3px;font-size:.8rem;font-weight:600;text-decoration:none;display:flex}.tabbar-icon{border-radius:999px;place-items:center;width:60px;height:30px;display:grid}.tabbar a.active{color:var(--text)}.tabbar a.active .tabbar-icon{background:var(--accent-soft);color:var(--accent)}@media (width<=639px){.topbar{display:none}.app .install-popup:not(.install-popup--top,.install-popup--bottom){bottom:calc(84px + env(safe-area-inset-bottom))}}@media (width>=640px){.tabbar{display:none}}@media (width<=400px){.topbar{gap:8px;padding:10px 12px}.brand{font-size:.95rem}.tabs{gap:2px}.tabs a{padding:6px 7px}}@media (width<=370px){.brand-long{display:none}}.install-popup{z-index:1100;left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));background:var(--surface);max-width:420px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);margin:0 auto;padding:16px;animation:.2s ease-out sheet-in;position:fixed;box-shadow:0 8px 30px #00000047}.install-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:6px;right:6px}.install-close:hover{background:var(--accent-soft)}.news-backdrop{z-index:1200;background:#00000073;place-items:center;padding:16px;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.news-popup{background:var(--surface);width:min(420px,100%);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px 16px;animation:.2s ease-out sheet-in;position:relative;box-shadow:0 10px 40px #0000004d}.news-popup h2{margin:0 32px 8px 0;font-size:1.15rem}.news-popup p{margin:0 0 14px}.news-kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:700}.news-popup .news-kicker{margin:0 0 4px}.news-actions{gap:8px}.news-actions .button{flex:1}@keyframes fade-in{0%{opacity:0}}.privacy-notice h2{margin:0 0 4px;font-size:1.05rem}.privacy-notice p{margin:0;font-size:.9rem}.privacy{max-width:680px}.privacy h2{margin:28px 0 8px;font-size:1.1rem}.privacy p{line-height:1.55}.install-head{align-items:center;gap:12px;padding-right:24px;display:flex}.install-head img{border-radius:11px;flex:none}.push-invite-bell{background:var(--accent-soft);border-radius:11px;flex:none;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.push-invite .form-error{margin:10px 0 0}.install-head h2{margin:0 0 2px;font-size:1.05rem}.install-head p{margin:0;font-size:.85rem}.install-actions{margin-top:14px}.install-actions .button{flex:1}.install-steps{margin:14px 0 4px;padding-left:22px;font-size:.92rem}.install-steps li{margin-bottom:6px}.install-share{vertical-align:-3px;color:var(--accent)}.install-plus{vertical-align:-3px;border:1.5px solid;border-radius:4px;place-items:center;width:18px;height:18px;margin-left:2px;font-size:.8rem;font-weight:700;line-height:1;display:inline-grid}.install-popup--top{top:20px;bottom:auto}.install-popup--bottom{bottom:max(20px, env(safe-area-inset-bottom))}.install-arrow{border:10px solid #0000;width:0;height:0;animation:1s ease-in-out infinite install-nudge;position:absolute}.install-arrow--bottom-center,.install-arrow--bottom-right{border-top-color:var(--accent);border-bottom:0;top:100%}.install-arrow--bottom-center{left:calc(50% - 10px)}.install-arrow--bottom-right{right:18px}.install-arrow--top-right{border-bottom-color:var(--accent);border-top:0;bottom:100%;right:18px}@keyframes install-nudge{50%{translate:0 5px}}.install-arrow--top-right{animation-name:install-nudge-up}@keyframes install-nudge-up{50%{translate:0 -5px}}@media (prefers-reduced-motion:reduce){.install-arrow{animation:none}}.comments-head h2{margin:0 0 4px}.sheet-comments{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.sheet-comments .comments-head h2{font-size:1rem}.comment-add{margin:4px 0 12px}.comments-empty{margin:4px 0 0}.comment-list{margin:0;padding:0;list-style:none}.comment{padding-top:10px;display:flex;position:relative}.comment-list>.comment:first-child{padding-top:4px}.comment-line{cursor:pointer;background:0 0;border:0;flex:none;width:18px;margin:30px 0 0 -4px;padding:0;position:relative}.comment-line:before{content:"";background:var(--border);border-radius:1px;width:2px;position:absolute;top:0;bottom:4px;left:8px}.comment-line:hover:before{background:var(--accent)}.comment--collapsed .comment-line{visibility:hidden}.comment-main{flex:1;min-width:0}.comment-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0 0 2px -18px;padding:4px 0;font-size:.9rem;display:flex}.comment-head .muted{font-size:.82rem}.comment-chevron{width:14px;color:var(--muted);flex:none;font-size:.75rem}.comment-you{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 6px;font-size:.7rem;font-weight:700}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 4px}.comment-body--gone{color:var(--muted);font-size:.9rem;font-style:italic}.comment-note{color:var(--warn-text);margin:4px 0;font-size:.82rem}.comment-photo{max-width:100%;margin:4px 0;display:inline-block;position:relative}.comment-photo img{border:1px solid var(--border);border-radius:10px;max-width:100%;max-height:320px;display:block}.comment-photo-note{color:#fff;background:#000000a6;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600;position:absolute;bottom:6px;left:6px;right:6px}.comment-actions{align-items:center;gap:4px;margin:0 0 0 -8px;display:flex}.comment-action{min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 8px;font-size:.82rem;font-weight:600}.comment-action:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.comment-action:disabled{cursor:default;opacity:.6}span.comment-action{cursor:default;font-weight:500}.comment-like[aria-pressed=true]{color:var(--bad)}.comment-confirm{background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;padding:8px 10px;font-size:.88rem;display:flex}.comment-edit{margin:4px 0}.comment-edit textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;background:var(--surface);color:var(--text);border-radius:10px;padding:8px 10px}.comment-edit textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.comment-edit .comment-confirm{background:0 0;padding:4px 0}.comment-confirm span{flex:100%}.comment-replies{margin-left:2px}.comment-replies--flat{margin-left:-18px}.composer{margin:4px 0 12px}.composer textarea{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;display:block}.composer textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.composer-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.link-button.photo-gallery-link{margin:8px auto 0;font-size:.9rem;display:block}.composer-send{gap:8px;margin-left:auto;display:flex}.composer-photo{margin-top:8px;display:inline-block;position:relative}.composer-photo img{border-radius:10px;max-width:160px;max-height:160px;display:block}.composer-photo-remove{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:50%;width:28px;height:28px;font-size:1.1rem;line-height:1;position:absolute;top:4px;right:4px}.composer-note,.composer-count{margin:6px 0 0;font-size:.8rem}.feedback .composer{flex-direction:column;gap:10px;margin-bottom:0;display:flex}.feedback input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}.feedback input:focus{outline:2px solid var(--accent);outline-offset:1px}.feedback .form-error{margin:0}.composer-count.form-error{padding:4px 8px}.suggest{flex-direction:column;gap:14px;margin:0;display:flex}.suggest-field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;font-weight:600;display:flex}.suggest-field legend{margin-bottom:6px;padding:0}.suggest-field p{margin:0;font-weight:400}.suggest input,.suggest select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;font-weight:400}.suggest input:focus,.suggest select:focus{outline:2px solid var(--accent);outline-offset:1px}.suggest .form-error,.suggest .composer-note{margin:0}.suggest .composer-photo{align-self:flex-start;margin-top:0}.suggest input.switch{border:0;width:44px;padding:0}.suggest .setting-row{margin:0;font-weight:400}.pin-picker{border:1px solid var(--border);background:var(--bg);border-radius:12px;height:280px;font-weight:400;position:relative;overflow:hidden}.pin-picker--loading{justify-content:center;align-items:center;display:flex}.pin-picker-pin{color:var(--accent);cursor:grab;filter:drop-shadow(0 2px 3px #00000059);display:block}.pin-picker-ghost{color:#8a94a3;opacity:.75;display:block}.pin-picker-me{background:#1a73e8;border:2px solid #fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 1px #0003}.pin-picker-near{opacity:.85;filter:drop-shadow(0 1px 1px #00000040);display:block}.pin-picker-locate{cursor:pointer;background:var(--surface);color:#1a73e8;border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0003}.pin-picker-note{background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--text);border-radius:8px;margin:0;padding:6px 10px;font-size:.85rem;position:absolute;top:8px;left:8px;right:52px}.sheet-report{margin:24px 0 8px}.segmented--3{grid-template-columns:repeat(3,1fr)}.segmented--stack{grid-template-columns:1fr}.my-last-rating{background:var(--accent-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.my-last-rating .my-rating,.my-last-rating .review-broken{margin-top:4px}.my-last-rating .button{flex:none}.detail-changes{border-collapse:collapse;width:100%;font-size:.92rem}.detail-changes th,.detail-changes td{border-top:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px 6px 0}.detail-changes thead th{color:var(--muted);border-top:0;font-size:.78rem;font-weight:600}.detail-changes tbody th{font-weight:600}.segmented--stack button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.segmented--stack button .muted{font-size:.8rem;font-weight:400}.segmented--stack .add-kind{flex-direction:row;align-items:center;gap:12px;padding:12px 14px}.add-kind>span{flex-direction:column;gap:2px;display:flex}.add-kind svg{color:var(--accent);flex:none}.add-kind-note{margin-top:12px}.admin-add-kinds{grid-template-columns:repeat(4,1fr)}@media (width<=420px){.admin-add-kinds{grid-template-columns:1fr 1fr}}.share-claim .composer{flex-direction:column;gap:10px;margin:0;display:flex}.share-claim h2,.share-claim p{margin:0}.share-claim-field{flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.share-claim input{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;min-width:0;padding:10px 12px;font-weight:400}.share-claim input:focus{outline:2px solid var(--accent);outline-offset:1px}.share-claim-skip{align-self:center}.toggle-row{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.toggle-row input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.notifications .link-button{margin-top:6px}.celebrate-push{margin-top:8px}.confetti{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;inset:0}.celebrate-backdrop{align-items:center}.celebrate{z-index:2;text-align:center;max-width:340px;padding:28px 20px 20px;animation:.35s cubic-bezier(.2,1.4,.4,1) celebrate-in;position:relative}.celebrate h2{margin:10px 0 2px;padding:0;font-size:1.4rem}.celebrate-badge{background:var(--great);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;font-weight:800;display:inline-flex}.celebrate-points{color:var(--accent);margin:0 0 6px;font-size:2.2rem;font-weight:800}.celebrate .button{margin-top:12px}.celebrate-badge--plain{background:var(--accent-soft);font-size:1.8rem}.celebrate-tips{background:var(--accent-soft);border-radius:12px;margin:12px 0 0;padding:12px 14px;font-size:.9rem}.celebrate-tips-title{margin:0 0 6px;font-weight:700}.celebrate-tips ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.bonus-note{border:1.5px solid var(--star);background:color-mix(in srgb, var(--star) 12%, var(--surface));margin:0 0 16px;padding:12px 14px;font-weight:600}.bonus-note--won{border-color:var(--border);background:var(--surface);color:var(--muted);font-weight:400}.bonus-card{border:1.5px solid var(--star);background:color-mix(in srgb, var(--star) 12%, var(--surface));width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.bonus-card--won{border-color:var(--border);background:var(--surface)}.bonus-card-hint{color:var(--accent);margin-top:2px;font-size:.85rem;font-weight:600;display:block}.quest-line{background:var(--surface);border:1.5px solid var(--border);border-top:0;border-radius:0 0 12px 12px;align-items:baseline;gap:8px;margin:0;padding:8px 40px 8px 12px;font-size:.85rem;display:flex}.quest-line--done{color:var(--muted)}.bonus-float:has(.quest-line) .bonus-card{border-bottom-right-radius:0;border-bottom-left-radius:0}.quest-float .quest-line{border:1.5px solid var(--accent);border-radius:12px;padding-right:40px}.quest-float .bonus-float-close{top:50%;transform:translateY(-50%)}.quest-note{background:var(--accent-soft);color:var(--text);border:1px solid var(--accent);border-radius:10px;align-items:baseline;gap:8px;margin:0 0 12px;padding:8px 12px;font-size:.88rem;display:flex}.map-wrap:has(.search .filter-menu,.search .search-results) .bonus-float{visibility:hidden}.bonus-float{z-index:4;border-radius:12px;animation:.25s ease-out tip-in-down;position:absolute;top:70px;left:12px;right:12px;box-shadow:0 3px 12px #0000002e}@media (width>=640px){.bonus-float{width:400px;right:auto}}.bonus-float .bonus-card{background:color-mix(in srgb, var(--star) 14%, var(--surface));margin:0;padding-right:40px}.bonus-float .bonus-card--won{background:var(--surface)}.bonus-float-close{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute;top:6px;right:6px}.bonus-float-close:hover{background:#0000000f}.bonus-fab{border-color:var(--star);font-size:1.2rem;animation:.25s ease-out tip-in-down}.bonus-fab--won{border-color:var(--border)}.bonus-fab--on{background:color-mix(in srgb, var(--star) 22%, var(--surface));border-color:var(--star)}@keyframes tip-in-down{0%{opacity:0;transform:translateY(-6px)}}.bonus-card-icon{flex:none;font-size:1.5rem}.bonus-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.bonus-card-text .muted{font-size:.85rem}.building-badge{color:#fff;cursor:pointer;background:linear-gradient(145deg,#3fb4ef,#0e7fc0);border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 1px 4px #00000059,0 0 0 3px #3fb4ef59}.bonus-pin{filter:drop-shadow(0 1px 2px #0006);cursor:pointer;pointer-events:auto;font-size:1.6rem;line-height:1}@keyframes celebrate-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.celebrate--big{border:2px solid #f5b301;box-shadow:0 0 0 6px #f5b3012e,0 20px 50px #00000040}.celebrate-medal{color:#6b4a00;background:radial-gradient(circle at 35% 30%,#fff3c4,#f5b301 60%,#c98a00);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-size:2.6rem;animation:.7s cubic-bezier(.2,1.6,.4,1) .15s both medal-in;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 0 4px #fff,0 0 0 7px #f5b301,0 8px 24px #c98a0073}.celebrate-medal:after{content:"";background:linear-gradient(115deg,#0000 40%,#ffffffd9 50%,#0000 60%);animation:1.1s ease-out .8s both medal-shine;position:absolute;inset:-20%;transform:translate(-120%)}.celebrate-kicker{color:#b07a00;letter-spacing:.08em;text-transform:uppercase;margin:14px 0 0;font-size:.8rem;font-weight:800}.celebrate--big h2{margin-top:2px}.celebrate-earned-detail{margin:2px 0 0}.celebrate--big .celebrate-points{margin-top:10px;margin-bottom:0}.celebrate-points-note{margin:0 0 6px;font-size:.85rem}@keyframes medal-in{0%{opacity:0;transform:scale(0)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes medal-shine{to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.celebrate,.celebrate-medal,.celebrate-medal:after{animation:none}}.prompt-backdrop{z-index:1200;padding:12px 12px max(12px, env(safe-area-inset-bottom));background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.prompt{width:100%;max-width:420px;margin:0;padding-top:18px;animation:.2s ease-out sheet-in;position:relative;box-shadow:0 8px 30px #00000047}.prompt h2{padding-right:32px}@media (width>=640px){.prompt-backdrop{align-items:center}}.prompt-backdrop.celebrate-backdrop{align-items:center}.prompt.celebrate h2{padding:0}.moderate .chip{margin-left:6px}.moderate .chips .chip{margin-left:0}.moderate-body{border-left:4px solid var(--accent);background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:8px 0 12px;padding:12px 14px}.moderate-parent{font-style:italic}.moderate-photo{border-radius:10px;max-width:100%;margin-bottom:12px;display:block}.moderate-actions .button:first-child{margin-top:0}.button--danger{background:var(--bad);color:#fff}.stats{--series-1:#2a78d6;--series-2:#eb6834;--heat-empty:#f0f3f6;max-width:1040px}.stats-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.stats-head h1{margin-bottom:2px}.stats-tools{flex-shrink:0}.stats-sample{border-radius:10px;margin:0 0 12px;font-weight:600}.stats-body{grid-template-columns:minmax(0,1fr);transition:opacity .2s;display:grid}.stats-body>*{min-width:0}.stats-body--dim{opacity:.55}.stats .card h2{margin-bottom:2px}.stats-sub{margin:20px 0 4px;font-size:.95rem}.stats-label{color:var(--muted);font-size:.85rem}.stats-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.15}.stats-note{color:var(--muted);font-size:.8rem}.stats-delta{font-size:.8rem;font-weight:600}.stats-delta--up{color:var(--great)}.stats-delta--down{color:var(--bad)}.stats-callout{margin:8px 0}.stats-foot{margin:4px 4px 0;font-size:.8rem}.stats-key input{border:1px solid var(--border);font:inherit;border-radius:10px;padding:10px 12px}.stats-key{flex-direction:column;gap:10px;display:flex}.stats-scroll{overflow-x:auto}.stats-hero{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:16px;display:grid}.stats-hero-main{flex-direction:column;display:flex}.stats-hero-num{letter-spacing:-.02em;font-size:3.5rem;font-weight:700;line-height:1.05}.stats-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stats-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.stats-tile{background:var(--bg);border-radius:10px;flex-direction:column;gap:2px;padding:12px;display:flex}@media (width<=720px){.stats-hero{grid-template-columns:minmax(0,1fr)}.stats-tiles--4{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-hero-num{font-size:3rem}}.chart{margin-top:8px;position:relative}.chart svg{touch-action:pan-y;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-cross{stroke:var(--muted);stroke-width:1px}.chart-axis{fill:var(--muted);font-size:11px}.chart-label{fill:var(--text);font-size:12px;font-weight:700}.chart-bar{cursor:default}.chart-bar--hover path{filter:brightness(1.12)}.chart-legend{color:var(--muted);gap:16px;margin-top:4px;font-size:.85rem;display:flex}.chart-swatch{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.chart-tip{z-index:5;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:150px;padding:8px 10px;font-size:.8rem;display:flex;position:absolute;box-shadow:0 4px 14px #0000001f}.chart-tip-title,.chart-tip-row{color:var(--muted)}.chart-tip-row strong{color:var(--text);font-variant-numeric:tabular-nums}.chart-tip-key{vertical-align:3px;width:10px;height:2px;margin-right:6px;display:inline-block}.cohorts{border-collapse:separate;border-spacing:2px;min-width:100%;margin-top:8px;font-size:.85rem}.cohorts th{color:var(--muted);text-align:left;white-space:nowrap;padding:4px 6px;font-weight:600}.cohorts td{text-align:center;font-variant-numeric:tabular-nums;border-radius:4px;padding:6px}.cohort-empty{background:0 0}.heat{grid-template-columns:34px repeat(24,minmax(14px,1fr));gap:2px;min-width:420px;margin-top:4px;display:grid}.heat-day,.heat-hour{color:var(--muted);font-size:11px}.heat-hour{white-space:nowrap;overflow:visible}.heat-day{align-self:center}.heat-cell{aspect-ratio:1;border-radius:3px;min-height:14px}.heat-cell:hover{outline:2px solid var(--text);outline-offset:-1px}.heat-legend{color:var(--muted);align-items:center;gap:2px;margin-top:10px;font-size:11px;display:flex}.heat-legend>span:first-child{margin-right:6px}.heat-legend>span:last-child{margin-left:6px}.heat-legend-cell{border-radius:3px;width:14px;height:14px}.hbars{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.hbars li{grid-template-columns:minmax(110px,38%) 1fr;align-items:center;gap:10px;font-size:.9rem;display:grid}.hbar-name{line-height:1.2}.hbar-track{align-items:center;gap:8px;display:flex}.hbar{background:var(--series-1);border-radius:0 4px 4px 0;height:18px}.hbar-value{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.page--wide{max-width:800px}.page--wide.stats{max-width:1040px}.issues-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.issues select,.admin-form input,.admin-form select,.issues-item select{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:10px;padding:8px 10px;font-size:.9rem}.issues-filter select{max-width:100%}.issues-group h2{align-items:center;gap:8px;display:flex}.issues-count{text-align:center;background:var(--bg);min-width:24px;color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.8rem}.issues-list{margin:0;padding:0;list-style:none}.issues-item{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.issues-item:first-child{border-top:0;padding-top:2px}.issues-main{overflow-wrap:anywhere;flex:1;min-width:0}.issues-title{color:var(--text);font-weight:700;text-decoration:none}a.issues-title:hover{color:var(--accent)}.issues-when{font-size:.82rem}.issues-fix{margin:-4px 0 8px;font-size:.85rem}.issues-item .chip{flex:none}.issues-side{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:6px;max-width:45%;display:flex}.issues-done{align-items:center;gap:8px;display:flex}.issues-item--fixed .issues-main{opacity:.55}.issues-error{color:var(--bad);font-size:.8rem}.issues-note{margin:4px 4px 0;font-size:.82rem}.admin-tabs{gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.admin-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:7px 14px;font-size:.9rem;font-weight:600}.admin-tabs button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.admin-tab-count{background:var(--border);color:var(--text);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.75rem;font-weight:700}.admin-tab-count--issues,.admin-tab-count--review{background:var(--accent);color:var(--on-accent,#fff)}.admin-form{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-message{gap:12px;max-width:560px;display:grid}.admin-message label{gap:4px;font-size:.9rem;font-weight:600;display:grid}.admin-message input:not([type=radio]),.admin-message select,.admin-message textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:10px;padding:8px 10px;font-weight:400}.admin-message-to{border:0;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;display:flex}.admin-message-to legend{margin-bottom:4px;padding:0;font-size:.9rem;font-weight:600}.admin-message-to label{align-items:center;gap:6px;font-weight:400;display:flex}.admin-message-hint{font-size:.85rem;font-weight:400}.admin-message p{margin:0}.name-picker{position:relative}.name-picker-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:280px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.name-picker-list li{cursor:pointer;border-radius:8px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:.9rem;display:flex}.name-picker-list li span{text-align:right;font-size:.82rem}.name-picker-list li.is-active,.name-picker-list li:hover{background:var(--accent-soft)}.name-picker-list li.name-picker-empty{cursor:default;background:0 0}.admin-message .name-picker-picked{margin-top:4px;font-size:.85rem}.admin-form input[type=email]{grid-column:1/-1}@media (width<=480px){.admin-form{grid-template-columns:1fr}}.admin-feedback{white-space:pre-wrap}@media print{.topbar,.tabbar,.stats-tools,.admin-tabs,.issues-tools,.notice:not(.stats-sample),.install-popup{display:none!important}body{background:#fff}.stats{max-width:none;padding:0}.stats .card{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.badge-token{color:#fff;background:linear-gradient(145deg,#3fb4ef,#0e7fc0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.badge-token--row{width:32px;height:32px}.badge-token--sm{width:20px;height:20px}.badge-token--locked{background:var(--bg);color:var(--muted)}.board-badge{align-items:center;gap:6px;display:flex}.badge-preview{border-collapse:collapse;width:100%}.badge-preview th,.badge-preview td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:8px 6px}.badge-preview td>div{align-items:center;gap:10px;display:flex}.badge-preview .badge-token--lg{width:56px;height:56px}.badge-preview .picked{outline:3px solid var(--great);outline-offset:2px}.route-start{gap:8px;margin-top:12px}.building-tools{flex-direction:column;gap:8px;margin:12px 0 18px;display:flex}.building-tools:empty{display:none}.room-finder-field{flex-direction:column;gap:4px;margin-top:4px;display:flex}.room-finder-field input{border:1px solid var(--border);width:100%;font:inherit;background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px}.room-finder-field input:focus{outline:2px solid var(--accent);outline-offset:1px}.room-finder-results{border:1px solid var(--border);border-radius:10px;margin:6px 0 0;padding:0;list-style:none;overflow:hidden}.room-finder-results li+li{border-top:1px solid var(--border)}.room-finder-results button{background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:0;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.room-finder-results button:hover{background:var(--accent-soft)}.route-ask{margin:4px 0;font-size:.95rem}.route-gps-note{margin-top:6px}.route-summary{margin:2px 0 10px;font-size:1.05rem}.route-door-note p{margin:0 0 6px}.route-door-note .notice{margin-bottom:8px}.route-door-btn{width:100%;min-height:44px;margin-top:4px;font-size:.95rem}.route-steps{counter-reset:step;margin:0 0 10px;padding:0;list-style:none}.route-step{counter-increment:step}.route-step--change{counter-increment:none}.route-step-btn{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 10px 9px 40px;font-size:.93rem;display:flex;position:relative}.route-step-btn:before{content:counter(step);background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid;position:absolute;top:9px;left:8px}.route-step--up .route-step-btn:before{content:"↑"}.route-step--down .route-step-btn:before{content:"↓"}.route-step--change .route-step-btn:before{background:var(--accent);color:var(--accent-text);font-size:.85rem}.route-step-btn--here{background:var(--accent-soft)}.route-step-btn .muted{font-size:.78rem}.route-toggle{align-items:center;gap:8px;margin:4px 0 8px;font-size:.9rem;display:flex}.route-change-pin{background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;white-space:nowrap;border:2px solid #fff;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 9px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 1px 4px #00000059,0 0 12px #2fa8ff8c}.route-change-pin--from{background:var(--surface);color:var(--accent);border-color:var(--accent);box-shadow:0 1px 4px #00000040}.route-change-arrow{font-size:.9rem;line-height:1}.nf{text-align:center;flex-direction:column;align-items:center;padding-top:48px;display:flex}.nf-art{color:var(--accent);align-items:center;gap:6px;margin-bottom:52px;display:flex;position:relative}.nf-digit{letter-spacing:-.04em;font-size:7rem;font-weight:800;line-height:1}.nf-drop{transform-origin:50% 90%;animation:3.2s ease-in-out infinite nf-wobble}.nf-drip{background:var(--accent);opacity:0;border-radius:50%/60% 60% 40% 40%;width:8px;height:11px;margin-left:-4px;animation:3.2s ease-in infinite nf-drip;position:absolute;top:100%;left:50%}.nf-puddle{background:var(--accent-soft);border-radius:50%;width:72px;height:8px;margin-left:-36px;animation:3.2s ease-out infinite nf-ripple;position:absolute;top:calc(100% + 26px);left:50%}.nf h1{font-size:1.6rem}.nf p{max-width:40ch}.nf-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}@keyframes nf-wobble{0%,to{rotate:-4deg}50%{rotate:4deg}}@keyframes nf-drip{0%,45%{opacity:0;transform:translateY(-14px)scale(.4)}55%{opacity:1;transform:translateY(-6px)scale(1)}78%{opacity:1;transform:translateY(16px)}80%,to{opacity:0;transform:translateY(18px)}}@keyframes nf-ripple{0%,78%{scale:1}86%{scale:1.25 .8}to{scale:1}}@media (width<=420px){.nf-digit{font-size:5rem}.nf-drop{width:72px;height:90px}}@media (prefers-reduced-motion:reduce){.nf-drop,.nf-puddle{animation:none}.nf-drip{display:none}}.user-icon{border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1px #0000000f}.me-name{align-items:center;gap:10px;display:flex}.shop-balance{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.shop-balance-num{color:var(--accent);font-size:2.4rem;font-weight:800;line-height:1.1}.shop-balance-label{font-weight:700}.shop-balance p{margin:8px 0 0}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.shop-item{border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;display:flex}.shop-item:hover{border-color:var(--accent)}.shop-item--picked{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.shop-item--worn{background:var(--accent-soft);border-color:var(--accent)}.shop-item-art{place-items:center;height:52px;display:grid}.theme-swatch{border:1px solid #0000001f;border-radius:12px;flex:none;display:block;position:relative;overflow:hidden}.theme-swatch i{display:block;position:absolute}.theme-swatch-map{height:38%;bottom:0;left:0;right:0}.theme-swatch-button{border-radius:999px;height:18%;top:22%;left:18%;right:18%}.shop-item-name{text-align:center;font-size:.85rem;font-weight:700}.shop-item-price{color:var(--accent);font-size:.8rem;font-weight:700}.shop-item--worn .shop-item-price{color:var(--great)}.shop-item-price--short{color:var(--muted)}.shop-item-kind{color:var(--muted);margin-top:-3px;font-size:.72rem;font-weight:600}.shop-shelf--seasonal{border-color:var(--seasonal-border);background:linear-gradient(180deg, var(--seasonal-bg), var(--surface) 70%)}.shop-panel{z-index:30;background:var(--surface);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px;width:min(440px,100% - 32px);padding:16px;display:grid;position:fixed;bottom:24px;left:50%;translate:-50%;box-shadow:0 10px 30px #00000038}.shop-panel>.button,.shop-panel-note,.shop-panel-limited{grid-column:1/-1;margin:0}.shop-panel-limited{background:var(--note-bg);color:var(--note-text);border-radius:10px;padding:8px 10px;font-size:.88rem;font-weight:600}.shop-panel-art{place-items:center;min-width:64px;display:grid}.shop-panel-text{flex-direction:column;gap:2px;padding-right:28px;display:flex}.shop-panel-close{position:absolute;top:10px;right:10px}.shop{padding-bottom:180px}@media (width<=639px){.shop-panel{bottom:calc(84px + env(safe-area-inset-bottom))}}.app main{position:relative}.profile-fab{z-index:6;background:var(--surface);width:50px;height:50px;color:var(--muted);border:1px solid var(--border);border-radius:50%;place-items:center;text-decoration:none;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 2px 10px #00000029}@media (width<=639px){.app--map .search{right:70px}.app--map .search-results,.app--map .filter-menu{margin-right:-58px}.page{padding-top:12px}.page>:first-child{min-height:50px;padding-right:58px}.page>h1:first-child,.page>.page-links:first-child,.page>.back:first-child{align-items:center;margin-bottom:12px;display:flex}.page>.back:first-child{width:fit-content}.page>.join-hero:first-child,.page>.nf-art:first-child{padding-right:0}.page>.page-links:first-child .back{margin-bottom:0}}@media (width>=640px){.profile-fab{display:none}}.shop-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.shop-head h1{margin:0}.shop-head{margin-bottom:12px}.shop-head-title{align-items:center;gap:10px;display:flex}.shop-inventory-link{white-space:nowrap}.shop-music{position:relative}.shop-speaker{border:1px solid var(--border);background:var(--surface);min-width:40px;height:40px;color:var(--accent);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.shop-speaker:hover{border-color:var(--accent)}.shop-speaker--blocked{border-color:var(--accent);background:var(--accent-soft);animation:1.6s ease-in-out infinite speaker-nudge}.shop-speaker-hint{white-space:nowrap;font-size:.8rem;font-weight:700}@keyframes speaker-nudge{50%{transform:scale(1.06)}}.shop-volume{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:4px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}.shop-volume-option{color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:.85rem;font-weight:600}.shop-volume-option.is-on{background:var(--accent);color:var(--accent-text)}@media (prefers-reduced-motion:reduce){.shop-speaker--blocked{animation:none}}.me-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex;padding-right:0!important}@media (width<=639px){.me-head{margin-right:-4px}}.me-head h1{min-width:0;margin:0}.me-head+.muted{margin-top:6px}.settings-cog{width:50px;height:50px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.settings-cog:hover{color:var(--accent);border-color:var(--accent)}.profile-note{margin:0 2px 6px;font-size:.85rem}.profile-card{margin-bottom:8px}.profile-top{align-items:center;gap:14px;display:flex}.profile-name{min-width:0}.profile-name h2{overflow-wrap:anywhere;margin:0 0 2px;font-size:1.35rem}.profile-name p{margin:0;font-size:.9rem}.profile-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:16px -4px 0;padding:12px 0}.profile-stats .stat-num{font-size:1.25rem}.profile-stats .muted{font-size:.8rem}.profile-section{margin-top:14px}.profile-section h3{margin:0 0 8px;font-size:.95rem}.profile-section h3 .muted{margin-left:4px;font-weight:600}.profile-section>p{margin:0}.profile-badges{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-badges .badge-token{width:36px;height:36px;font-size:1.05rem}.profile-more{color:var(--muted);align-self:center;font-size:.9rem;font-weight:700}.profile-wearing{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;padding:0;font-size:.88rem;list-style:none;display:flex}.profile-wearing li{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.profile-wearing svg{flex:none}.profile-links{margin:0 2px 14px;font-weight:600}.profile-links a{text-decoration:none}.prompt.profile-prompt{padding-top:0}.profile-prompt .profile-card{margin:0}.board-row.is-tappable,.podium-spot.is-tappable,.last-week-spot.is-tappable{cursor:pointer}.board-row.is-tappable:hover,.podium-spot.is-tappable:hover{border-color:var(--accent)}.board-row.is-tappable:focus-visible,.podium-spot.is-tappable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.last-week-spot.is-tappable:hover{background:var(--accent-soft)}.last-week-spot.is-tappable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.me-head-buttons{flex:none;gap:8px;display:flex;position:relative}.inbox-bell{font:inherit;cursor:pointer;padding:0;position:relative}.inbox-dot{color:#fff;border:2px solid var(--bg);background:#e5484d;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:-3px;right:-3px}.inbox-dot--tab{min-width:18px;height:18px;font-size:.68rem;top:-6px;right:-8px}.card.inbox{z-index:60;width:min(360px,100vw - 32px);max-height:min(70vh,560px);margin:0;animation:.15s ease-out inbox-in;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 10px 30px #00000038}.card.inbox h2{margin-bottom:10px}.me-head-buttons:has(.card.inbox) .inbox-bell{color:var(--accent);border-color:var(--accent)}.me-head-buttons:has(.card.inbox):after{content:"";z-index:61;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);width:14px;height:14px;position:absolute;top:calc(100% + 5px);right:76px;transform:rotate(45deg)}@keyframes inbox-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.card.inbox{animation:none}}.inbox-list .board-name{gap:2px}.inbox-when{font-size:.8rem}.inbox-section{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:4px 0 6px;font-size:.75rem;font-weight:700}.inbox-list+.inbox-section{margin-top:14px}.inbox-news{margin-top:12px}.inbox-news summary{cursor:pointer;color:var(--accent);font-size:.88rem;font-weight:600}.inbox-news .inbox-list{margin-top:8px}.inbox-list .inbox-item:not(:has(.inbox-clear)) .board-row{padding-right:12px}.inbox-unread .board-row{background:var(--accent-soft)}.inbox-item{position:relative}.inbox-item .board-row{padding-right:40px}.inbox-clear{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:6px;right:6px}.inbox-clear:hover,.inbox-clear:focus-visible{background:var(--border);color:var(--text)}.inbox-settings{margin:14px 0 0;font-size:.9rem}.moderation-back{margin-top:12px}.shop-stats-table{border-collapse:collapse;width:100%;font-size:.9rem}.shop-stats-table th{text-align:left;color:var(--muted);padding:6px 4px;font-size:.78rem;font-weight:700}.shop-stats-table td{border-top:1px solid var(--border);padding:6px 4px}.shop-stats-table th:not(:first-child),.shop-stats-table td:not(:first-child){text-align:right;white-space:nowrap}.shop-stats-item{align-items:center;gap:8px;display:flex}.draft-note{background:var(--accent-soft);border-radius:10px;margin:-2px 0 12px;padding:8px 12px;font-size:.88rem}.draft-note .link-button{font-size:inherit}.thanks-actions{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px;display:grid}.thanks-actions>:first-child{grid-column:1/-1}.thanks-actions>*{text-align:center;justify-content:center;width:100%}.profile-name-edit{font:inherit;color:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;margin:0;padding:0}.profile-name-pencil{color:var(--muted);margin-left:6px;font-size:.8em;font-weight:400}.profile-name-edit:hover .profile-name-pencil,.profile-name-edit:focus-visible .profile-name-pencil{color:var(--accent)}.shop-head{position:relative}.shop-inventory{align-self:stretch;align-items:center;display:flex;position:relative}.card.inventory-drop{z-index:60;width:min(420px,100%);max-height:min(70vh,560px);margin:0;animation:.15s ease-out inbox-in;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 10px 30px #00000038}.card.inventory-drop h2{margin-bottom:6px}.shop-head:has(.inventory-drop) .shop-inventory-link{color:var(--accent);border-color:var(--accent)}.shop-head:has(.inventory-drop) .shop-inventory:after{content:"";z-index:61;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);width:14px;height:14px;position:absolute;top:calc(100% + 5px);left:calc(50% - 7px);transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.card.inventory-drop{animation:none}}.install-note{background:var(--accent-soft);border-radius:10px;margin:0 0 10px;padding:8px 10px;font-size:.9rem}.season-banner{text-align:left;background:color-mix(in srgb, #eb6834 14%, var(--surface));align-items:flex-start;gap:10px;display:flex}.season-banner p{flex:1;margin:0}.season-banner .link-button{flex:none;padding:0 4px;font-size:1rem}.shelf-preview-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.shelf-preview-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.shop-shelf--preview>.button{margin:0 0 10px}.season-dot{pointer-events:none;font-size:.85rem;line-height:1;position:absolute;top:-8px;right:-6px}.tabbar-icon{position:relative}.tabbar .season-dot{top:-4px;right:8px}.afford-nudge{border:1.5px solid var(--accent);background:var(--accent-soft);color:var(--text);text-align:left;border-radius:12px;align-items:center;gap:10px;margin:4px 0 12px;padding:10px 12px;text-decoration:none;display:flex}.afford-nudge-art{flex:none;place-items:center;display:grid}.afford-nudge-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.afford-nudge-text .muted{font-size:.85rem}.afford-nudge-go{color:var(--accent);flex:none;font-size:1.4rem}.profile-prompt .icon-offer{margin:12px 0 0}.stat-side+.stat-side{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.stat-side-title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.75rem;font-weight:700}.stat-side-title span{color:var(--text)}.rate-side-title{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin:18px 0 2px;font-size:.75rem;font-weight:700}.rate-side+.rate-side{border-top:1px solid var(--border);margin-top:8px;padding-top:4px}.score-side{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:6px 0 0;font-size:.75rem;font-weight:700}.score-side span{color:var(--text)}.reject-reason{border:0;min-width:0;margin:12px 0 14px;padding:0}.reject-reason legend{padding:0}.reject-note{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;margin-top:12px;padding:10px 12px;display:block}.reject-note:focus{outline:2px solid var(--accent);outline-offset:1px}.pending-legend{margin:0 0 8px}.pending-view{margin-bottom:10px}.pending-dot{background:var(--pin);vertical-align:baseline;border-radius:50%;width:10px;height:10px;display:inline-block}.pending-map{border-radius:12px;height:min(68vh,560px);position:relative;overflow:hidden}.pending-pin{cursor:pointer;width:28px;height:28px;font:inherit;background:var(--pin);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;font-size:.95rem;font-weight:800;line-height:1;display:grid;box-shadow:0 1px 4px #00000059}.pending-pin--active{outline:3px solid var(--accent);outline-offset:3px}.pending-card{z-index:30;justify-items:start;gap:4px;max-width:440px;margin:0;display:grid;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 4px 18px #00000040}.pending-card .suggestion-card-head{width:100%}.pending-tag{color:var(--pin);font-size:.8rem;font-weight:700}.game-night-banner{text-align:left;background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.game-night-banner p{margin:0}.game-night-banner--live{border-color:var(--accent)}.game-night-clock{font-variant-numeric:tabular-nums;font-weight:700}.game-night-timer{font-variant-numeric:tabular-nums;margin:4px 0;font-size:2.4rem;font-weight:800}.game-night-me{margin:0 0 8px}.game-night-rules{margin:6px 0 10px;padding-left:1.2em}.game-night-badges{gap:6px;margin:0;padding:0;list-style:none;display:grid}.game-night-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.game-night-buildings{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;max-height:260px;padding:8px 10px;display:grid;overflow-y:auto}.admin-message .game-night-building{align-items:center;gap:6px;font-size:.9rem;font-weight:400;display:flex}.game-night-players{margin-top:10px}
