:root{--red: #c8102e;--red-strong: #a30d25;--red-soft: #fde8ec;--cream: #fff8f0;--paper: #fffdf9;--ink: #1c1917;--ink-soft: #44403c;--muted: #78716c;--line: #efe4d8;--gold: #d4a017;--green: #16a34a;--nav-h: 66px;--shadow: 0 10px 30px rgba(28, 25, 23, .12);--font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;touch-action:pan-y}#root{width:100%;display:flex;align-items:center;justify-content:center}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 15% 8%,rgba(200,16,46,.24),transparent 42%),radial-gradient(circle at 85% 92%,rgba(212,160,23,.16),transparent 45%),#120d0b;display:flex;align-items:center;justify-content:center;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell,.app-viewport,.page-shell{max-width:100%;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.app-shell{position:relative;width:100%;height:100dvh;max-width:560px;margin:0 auto;background:var(--cream);overflow:hidden}@media(min-width:600px){.app-shell{height:min(940px,96dvh);border-radius:28px;border:1px solid rgba(255,255,255,.07);box-shadow:0 40px 90px #0000008c}}@media(orientation:landscape)and (max-height:600px){.app-shell{max-width:none;height:100dvh;border-radius:0;border:0;box-shadow:none}}.app-viewport{position:relative;height:100%;overflow:hidden}.page{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:calc(20px + env(safe-area-inset-top)) 18px calc(var(--nav-h) + 30px);background:var(--cream)}.page-header{margin-bottom:16px}.eyebrow{font-size:10.5px;letter-spacing:.16em;font-weight:800;color:var(--red);text-transform:uppercase}.page-header h1{font-family:var(--font-display);font-size:30px;margin:4px 0 6px;letter-spacing:-.02em}.page-header p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5;max-width:42ch}.bar{height:8px;background:#efe6dc;border-radius:99px;overflow:hidden;margin-top:8px}.bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#e11d48,#f97316);transition:width .4s ease}.bar.small{height:6px;margin-top:8px}.bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:50;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fffdf9f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}.nav-item{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10.5px;font-weight:700}.nav-item.active{color:var(--red)}.nav-icon{display:grid;place-items:center;width:40px;height:26px;border-radius:999px;transition:background .18s ease}.nav-item.active .nav-icon{background:var(--red-soft)}.map-page{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.map-view{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(120% 90% at 50% 35%,#12242e,#0b171e 45%,#060d12)}.map-3d{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(75% 58% at 50% 44%,#4fb6dd,#2b92c2 55%,#1d78a6)}.map-3d:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(130% 100% at 50% 42%,transparent 55%,rgba(12,60,90,.28) 100%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 18%)}.map3d-canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.landmark-preview-attrib{position:absolute;right:6px;bottom:4px;z-index:3;max-width:calc(100% - 12px);padding:1px 6px;border-radius:6px;background:#00000059;color:#ffffffc7;font-size:8.5px;line-height:1.3;text-align:right;pointer-events:none}.map3d-zoom{position:absolute;right:14px;top:50%;z-index:5;transform:translateY(-50%);display:flex;flex-direction:column;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0a1210e0;box-shadow:0 6px 18px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map3d-zoom button{width:44px;height:44px;border:0;background:transparent;color:#f4f1e8;font-size:24px;font-weight:600;line-height:1;cursor:pointer;touch-action:manipulation}.map3d-zoom button+button{border-top:1px solid rgba(255,255,255,.14)}.map3d-zoom button:hover{background:#ffffff1a}.map3d-zoom button:active{background:#ffffff2e}.map3d-zoom .map3d-zoom-home{font-size:20px}@media(max-width:640px){.map3d-zoom{right:10px}.map3d-zoom button{width:40px;height:40px}}.map3d-label{position:absolute;top:0;left:0;z-index:4;display:flex;align-items:center;gap:5px;width:max-content;max-width:min(300px,calc(100% - 16px));padding:5px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#0a1210ed;color:#fff;font-size:11px;font-weight:700;line-height:1.25;white-space:normal;overflow-wrap:break-word;opacity:0;pointer-events:none;box-shadow:0 8px 22px #00000061;transition:opacity .12s ease;will-change:transform}.map3d-label.is-visible{opacity:1}.map3d-label-emoji{font-size:13px;line-height:1;flex:0 0 auto}.map3d-loading,.map3d-error{position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#071014c7;color:#d9f7ea;font-size:11.5px;font-weight:600;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}.map3d-error strong{font-size:12.5px}.map3d-error span{color:#d9f7eaa6;font-size:10.5px}.map3d-spinner{width:20px;height:20px;border-radius:50%;border:2px solid rgba(167,243,208,.2);border-top-color:#6ee7b7;animation:spin .8s linear infinite}.map-view:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(125,170,180,.05) 0 1px,transparent 1px 72px),repeating-linear-gradient(90deg,rgba(125,170,180,.05) 0 1px,transparent 1px 72px),radial-gradient(closest-side at 34% 30%,rgba(56,189,248,.14),transparent 70%),radial-gradient(closest-side at 68% 62%,rgba(45,212,191,.12),transparent 70%);animation:seaDrift 22s ease-in-out infinite alternate}.map-view:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:450;pointer-events:none;background:radial-gradient(130% 100% at 50% 38%,transparent 48%,rgba(2,6,10,.6) 100%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 20%)}.leaflet-container{font-family:var(--font-body)}.map-view .leaflet-land-pane svg{filter:drop-shadow(0 8px 0 rgba(3,8,6,.55)) drop-shadow(0 16px 24px rgba(0,0,0,.55))}@keyframes seaDrift{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,1%,0) scale(1.05)}}.leaflet-control-attribution{background:#14100e99!important;color:#b9afa6!important;font-size:9px!important;padding:2px 6px!important;border-radius:6px 0 0}.leaflet-control-attribution a{color:#d8cfc7!important}.map-top{position:absolute;top:0;left:0;right:0;z-index:20;padding:calc(14px + env(safe-area-inset-top)) 16px 16px;background:linear-gradient(180deg,rgba(15,12,10,.92) 0%,rgba(15,12,10,.62) 55%,transparent 100%);pointer-events:none}.map-top>*{pointer-events:auto}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px;color:#fff;min-width:0}.brand-logo{margin:-6px 0 -4px -6px;line-height:0;flex:1 1 auto}.brand-logo img{display:block;height:62px;width:auto;max-width:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#e11d48,#9f1239);color:#fff;box-shadow:0 6px 18px #e11d4866;flex:0 0 auto}.brand h1{font-family:var(--font-display);font-size:20px;letter-spacing:.04em;margin:0;line-height:1}.brand p{margin:4px 0 0;font-size:10.5px;color:#ffffffad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-chip{background:#ffffff1f;border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:12px;padding:6px 10px;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;flex:0 0 auto}.level-chip span{font-weight:800;font-size:13px}.level-chip small{font-size:9px;color:#ffffffa6}.search-box{display:flex;align-items:center;gap:8px;background:#fffffff5;border-radius:14px;padding:10px 12px;box-shadow:0 8px 24px #00000040;color:var(--muted)}.search-box input{border:0;outline:0;background:transparent;flex:1;font-size:16px;color:var(--ink);min-width:0}.search-box input::placeholder{color:#a8a29e}.search-box button{border:0;background:#f1eae3;color:var(--muted);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:10px;overflow:hidden}.chips::-webkit-scrollbar{display:none}.chip{min-width:0;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#ffffffd9;border-radius:12px;padding:5px 2px 4px;font-size:10.5px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.chip.active{background:#fff;color:var(--red);border-color:#fff}.chip-emoji{font-size:15px;line-height:1.2}.chip-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results{margin-top:10px;background:var(--paper);border-radius:16px;box-shadow:var(--shadow);max-height:min(52dvh,380px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.search-empty{padding:14px;font-size:13px;color:var(--muted);text-align:center}.search-result{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.search-result:last-child{border-bottom:0}.result-emoji{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f5efe8;font-size:17px;flex:0 0 auto}.result-body{display:flex;flex-direction:column;flex:1;min-width:0}.result-body strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-body small{color:var(--muted);font-size:11px}.result-dist{font-size:11px;font-weight:700;color:var(--red);flex:0 0 auto}.map-bottom{position:absolute;left:16px;right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px);z-index:20;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;pointer-events:none}.map-bottom>*{pointer-events:auto}.map-actions{display:flex;flex-direction:column;align-items:center;gap:9px;flex:0 0 auto}.view-toggle{height:36px;min-width:62px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#14100ed6;color:#fff;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:.04em;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 22px #0000004d}.view-toggle.is-3d{background:#fff;color:var(--red);border-color:#fff}.view-toggle svg{flex:0 0 auto}.map-progress{display:flex;align-items:center;gap:9px;background:#14100ed1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border-radius:14px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px #0000004d}.progress-emoji{font-size:18px}.map-progress strong{display:block;font-size:13px;line-height:1.1}.map-progress small{font-size:9.5px;color:#fff9}.demo-chip{margin-left:4px;font-size:8.5px;font-weight:800;letter-spacing:.08em;color:#fbbf24;background:#fbbf2429;border:1px solid rgba(251,191,36,.35);padding:3px 6px;border-radius:6px}.locate-btn{width:52px;height:52px;border-radius:50%;border:0;background:#fff;color:var(--red);display:grid;place-items:center;box-shadow:0 10px 28px #00000059;flex:0 0 auto}.locate-btn.has-fix{background:var(--red);color:#fff}.locate-btn.is-loading svg{animation:spin 1s linear infinite}.pin-wrap{background:transparent;border:0}.blusukan-pin{width:36px;height:36px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#e7e0d4 72%);border:2.5px solid var(--pin-color, #64748b);box-shadow:0 6px 16px #00000073,0 2px 4px #00000059;transition:transform .15s ease;animation:pinFloat 3.8s ease-in-out infinite;will-change:translate}.pin-wrap:nth-child(3n) .blusukan-pin{animation-delay:-1.25s}.pin-wrap:nth-child(3n+1) .blusukan-pin{animation-delay:-2.5s}@keyframes pinFloat{0%,to{translate:0 0}50%{translate:0 -5px}}@media(prefers-reduced-motion:reduce){.blusukan-pin,.map-view:before{animation:none}}.blusukan-pin .pin-emoji{transform:rotate(45deg);font-size:16px;line-height:1}.blusukan-pin.rarity-common{--pin-color: #94a3b8}.blusukan-pin.rarity-rare{--pin-color: #3b82f6}.blusukan-pin.rarity-legendary{--pin-color: #f59e0b}.blusukan-pin.is-collected{background:var(--pin-color)}.blusukan-pin.is-collected .pin-emoji{filter:grayscale(1) brightness(2.4)}.blusukan-pin.is-selected{transform:rotate(-45deg) scale(1.22);z-index:5;box-shadow:0 8px 20px #00000080}.pin-tooltip{background:#14100eeb!important;color:#fff!important;border:0!important;border-radius:8px!important;font-size:11px!important;font-weight:700!important;padding:5px 8px!important;box-shadow:0 6px 18px #0000004d!important}.pin-tooltip:before{display:none!important}.user-marker-wrap{background:transparent;border:0}.user-dot{width:22px;height:22px;border-radius:50%;background:#3b82f6;border:3px solid #fff;box-shadow:0 0 0 6px #3b82f638;position:relative}.user-dot span{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid rgba(59,130,246,.6);animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{transform:scale(.7);opacity:.9}to{transform:scale(2.1);opacity:0}}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:#0b2b2b;display:flex;align-items:stretch;overflow:hidden;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.destination-sheet{position:relative;width:100%;height:100%;background:#0b2b2b;border-radius:0;padding:0;max-height:none;overflow:hidden;animation:sheetFullIn .38s cubic-bezier(.2,.8,.2,1);box-shadow:none}@keyframes sheetFullIn{0%{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.sheet-handle{display:none}.sheet-close{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.38);background:#082d3094;color:#fff;display:grid;place-items:center;z-index:8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000002e}.sheet-panel{position:absolute;left:0;right:0;bottom:0;z-index:4;max-height:min(62dvh,560px);overflow-y:auto;overscroll-behavior:contain;padding:24px 18px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:linear-gradient(180deg,rgba(255,250,244,.82) 0%,rgba(255,250,244,.97) 18%,var(--paper) 46%);border-top:1px solid rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1);box-shadow:0 -24px 60px #143c3c3d;animation:sheetPanelRise .46s cubic-bezier(.2,.8,.2,1)}.sheet-panel:before{content:"";position:absolute;top:9px;left:50%;width:40px;height:4px;border-radius:99px;background:#123b3d33;transform:translate(-50%)}@keyframes sheetPanelRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.destination-sheet .landmark-preview{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;margin:0;border-radius:0;z-index:0}.destination-sheet .landmark-preview-badge{top:calc(14px + env(safe-area-inset-top));left:14px}.destination-sheet .landmark-preview-rarity{top:calc(14px + env(safe-area-inset-top));right:64px}.destination-sheet .landmark-preview-caption{display:none}.destination-sheet .landmark-preview-drag{top:calc(52px + env(safe-area-inset-top));left:14px;right:auto;bottom:auto}.sheet-head{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding-right:36px;animation:sheetRise .45s cubic-bezier(.2,.8,.2,1) both}.sheet-description,.sheet-stats,.sheet-actions{animation:sheetRise .45s cubic-bezier(.2,.8,.2,1) both}.sheet-description{animation-delay:.05s}.sheet-stats{animation-delay:.1s}.sheet-actions{animation-delay:.15s}@keyframes sheetRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sheet-emoji{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:#f5efe8;flex:0 0 auto}.sheet-title h2{font-family:var(--font-display);font-size:22px;line-height:1.12;margin:5px 0 0;letter-spacing:-.02em}.landmark-preview{--accent: #35e6ff;position:relative;height:clamp(220px,62vw,300px);margin:8px -18px 0;border-radius:0 0 24px 24px;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 78% 14%,#fffbe0 0 7%,rgba(255,250,219,.58) 12%,transparent 33%),radial-gradient(circle at 18% 74%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 48%),radial-gradient(ellipse at 50% 112%,#ffe0b3 0%,#ffd0a0 30%,transparent 64%),linear-gradient(180deg,#86e5ff,#bff4ff 36%,#e7fff8 66%,#fff2d8);box-shadow:inset 0 0 0 1px #ffffff85,0 18px 38px #34686e33;cursor:grab;touch-action:none}.landmark-preview:before{content:"";position:absolute;top:-8%;right:-14%;bottom:-8%;left:-14%;z-index:0;background:radial-gradient(ellipse at 18% 28%,rgba(255,255,255,.9),transparent 20%),radial-gradient(ellipse at 30% 24%,rgba(255,255,255,.68),transparent 18%),radial-gradient(ellipse at 80% 42%,rgba(255,255,255,.5),transparent 23%);filter:blur(9px);opacity:.85;animation:previewCloud 20s ease-in-out infinite alternate;pointer-events:none}.landmark-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,transparent 22%,transparent 54%,rgba(255,247,229,.92) 100%),radial-gradient(circle at 50% 104%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 58%);pointer-events:none}.landmark-preview.is-dragging{cursor:grabbing}.landmark-preview-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;width:100%;height:100%}.landmark-preview-badge{position:absolute;top:12px;left:14px;z-index:3;font-size:9px;font-weight:800;letter-spacing:.12em;color:#0d4a4a;background:#ffffffbd;border:1px solid rgba(13,74,74,.12);border-radius:999px;padding:4px 9px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #0d4a4a1f}.landmark-preview-rarity{position:absolute;top:12px;right:14px;z-index:3;font-size:8.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;background:#ffffffc7;border:1px solid currentColor;border-radius:999px;padding:4px 9px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #0d4a4a1a}.landmark-preview-caption{position:absolute;left:15px;bottom:14px;z-index:3;display:flex;flex-direction:column;gap:2px;max-width:68%;color:#123b3d;text-shadow:0 1px 0 rgba(255,255,255,.6);pointer-events:none}.landmark-preview-caption span{font-size:8.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 48%,#0d4a4a)}.landmark-preview-caption strong{font-family:var(--font-display);font-size:18px;line-height:1.08;letter-spacing:-.02em}.landmark-preview-drag{position:absolute;right:13px;bottom:14px;z-index:3;font-size:9px;font-weight:800;letter-spacing:.01em;color:#0d4a4a;background:#ffffffc7;border:1px solid rgba(13,74,74,.12);border-radius:999px;padding:5px 9px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #0d4a4a1a;animation:previewPulse 1.9s ease-in-out infinite;pointer-events:none}.landmark-preview.is-failed{display:grid;place-items:center}.landmark-preview-fallback{font-size:58px;filter:drop-shadow(0 0 24px color-mix(in srgb,var(--accent) 60%,transparent))}@keyframes previewCloud{to{transform:translate(5%) scale(1.04)}}@keyframes previewPulse{0%,to{opacity:.62;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.sheet-badges{display:flex;gap:6px;flex-wrap:wrap}.rarity-badge{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:#eef2f7;color:#475569}.rarity-badge.rarity-rare{background:#e6efff;color:#1d4ed8}.rarity-badge.rarity-legendary{background:#fff4dd;color:#b45309}.province-badge{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:700;color:var(--muted);background:#f4efe9;padding:3px 7px;border-radius:6px}.sheet-description{margin:14px 0;color:var(--ink-soft);font-size:13.5px;line-height:1.55}.sheet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.stat-tile{background:#f7f1ea;border:1px solid var(--line);border-radius:13px;padding:9px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}.stat-value{font-size:13.5px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-hint{font-size:9.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stamp-flash{display:flex;align-items:center;gap:8px;background:#e9f9ef;color:#15803d;border:1px solid #bbf0cc;border-radius:12px;padding:9px 12px;font-size:12.5px;font-weight:700;margin-bottom:12px;animation:pop .3s ease}@keyframes pop{0%{transform:scale(.94)}60%{transform:scale(1.02)}to{transform:scale(1)}}.demo-note,.range-note{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.45;border-radius:11px;padding:9px 11px;margin-bottom:12px}.demo-note{background:#fff8e6;color:#92600a;border:1px solid #fde9b8}.range-note{background:#eef4ff;color:#1e40af;border:1px solid #d6e3ff}.demo-note svg,.range-note svg{flex:0 0 auto;margin-top:1px}.sheet-actions{display:flex;gap:8px}.primary-btn{flex:1;border:0;border-radius:14px;padding:14px 16px;background:linear-gradient(145deg,#e11d48,#b3122f);color:#fff;font-weight:800;font-size:13.5px;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 8px 22px #c8102e52}.primary-btn:disabled{background:#e7e0d8;color:#a8a29e;box-shadow:none}.ghost-btn{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:14px;padding:14px 16px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px;text-decoration:none}.passport-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#1c1917,#3b2b26 60%,#5a1f28);color:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.passport-hero:after{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;border:18px solid rgba(255,255,255,.05)}.passport-seal{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:#ffffff1a;border:1px dashed rgba(255,255,255,.35);flex:0 0 auto}.passport-hero-body{flex:1;min-width:0}.eyebrow.light{color:#ffffff8c}.passport-hero h2{font-family:var(--font-display);margin:3px 0 10px;font-size:21px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-stats{display:flex;gap:18px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:15px}.hero-stats small{font-size:9.5px;color:#fff9}.completion-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px}.completion-head{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:800}.completion-head span{display:flex;align-items:center;gap:5px}.completion-head strong{color:var(--red)}.completion-card p{font-size:11.5px;color:var(--muted);line-height:1.5;margin:9px 0 0}.completion-sub{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin-top:8px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#f1eae3;border-radius:12px;padding:4px;margin:16px 0 4px}.segmented button{border:0;background:transparent;border-radius:9px;padding:8px;font-size:12px;font-weight:700;color:var(--muted)}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #1c191714}.province-block{margin-top:16px}.province-block header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.province-block h3{font-size:13px;margin:0;letter-spacing:-.01em}.province-block header span{font-size:11px;font-weight:800;color:var(--muted);background:#f1eae3;padding:2px 7px;border-radius:99px}.province-block header span.done{background:#e9f9ef;color:#15803d}.stamp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.stamp-card{position:relative;display:flex;flex-direction:column;gap:5px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:10px;min-height:82px}.stamp-card .stamp-emoji{font-size:20px;line-height:1}.stamp-card .stamp-name{font-size:11px;font-weight:700;line-height:1.25;color:var(--ink)}.stamp-card.locked{background:#f6f1ea}.stamp-card.locked .stamp-emoji{filter:grayscale(1);opacity:.45}.stamp-card.locked .stamp-name{color:#a8a29e}.stamp-card.earned{border-color:#f3d9c4;box-shadow:0 3px 10px #c8102e0f}.stamp-card.rarity-legendary.earned{border-color:#f5d9a8;background:linear-gradient(180deg,#fffdf5,#fff8ea)}.stamp-card.rarity-rare.earned{border-color:#cfdfff}.stamp-status{position:absolute;top:8px;right:8px;color:#c9beb2}.stamp-card.earned .stamp-status{color:var(--green)}.empty-state{text-align:center;padding:34px 18px;color:var(--muted)}.empty-state span{font-size:34px}.empty-state h3{margin:8px 0 4px;color:var(--ink)}.empty-state p{font-size:12.5px;margin:0}.quest-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}.quest-summary>div{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px}.summary-icon{font-size:22px}.quest-summary strong{display:block;font-size:16px;line-height:1.1}.quest-summary small{font-size:10px;color:var(--muted)}.quest-group{margin-top:20px}.group-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.group-head h2{font-family:var(--font-display);font-size:17px;margin:0}.group-head span{font-size:10.5px;color:var(--muted);font-weight:700}.quest-card{display:flex;gap:11px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:9px}.quest-card.is-done{border-color:#f3c9d3;background:linear-gradient(180deg,#fffafb,#fff5f7)}.quest-card.is-claimed{opacity:.72}.quest-icon{width:42px;height:42px;border-radius:12px;background:#f5efe8;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.quest-body{flex:1;min-width:0}.quest-title-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.quest-title-row h3{font-size:13.5px;margin:0}.quest-reward{font-size:10px;font-weight:800;color:var(--red);background:var(--red-soft);padding:2px 7px;border-radius:99px;white-space:nowrap}.quest-body p{font-size:11.5px;color:var(--muted);margin:3px 0 0;line-height:1.4}.quest-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10.5px;color:var(--muted);font-weight:700}.claim-btn{border:0;border-radius:9px;padding:6px 11px;font-size:10.5px;font-weight:800;background:var(--red);color:#fff}.claim-btn:disabled{background:#eee7df;color:#a8a29e}.claimed-tag{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:10.5px;font-weight:800}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.badge-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:11px 9px;display:flex;flex-direction:column;gap:3px;text-align:center;align-items:center;min-height:112px}.badge-card .badge-icon{font-size:24px}.badge-card strong{font-size:10.5px;line-height:1.2}.badge-card small{font-size:9px;color:var(--muted);line-height:1.3}.badge-card.locked{background:#f6f1ea;opacity:.72}.badge-card.locked .badge-icon{filter:grayscale(1);opacity:.5}.badge-card.earned{border-color:#f3d9c4;background:linear-gradient(180deg,#fffdf8,#fff7ec)}.badge-lock{position:absolute;top:7px;right:7px;color:#b9aea2}.profile-card{display:flex;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#e11d48,#9f1239);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:26px;flex:0 0 auto;box-shadow:0 8px 20px #c8102e4d}.profile-main{flex:1;min-width:0}.name-row{display:flex;align-items:center;gap:6px}.name-row h2{font-family:var(--font-display);font-size:20px;margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{border:0;background:#f1eae3;color:var(--muted);width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}.name-edit{display:flex;gap:6px}.name-edit input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:16px;font-weight:700;background:#fff;outline:0}.name-edit input:focus{border-color:var(--red)}.mini-btn{border:0;background:var(--red);color:#fff;border-radius:9px;width:32px;display:grid;place-items:center}.level-row{display:flex;align-items:center;gap:7px;margin-top:7px;flex-wrap:wrap}.level-pill{background:var(--red);color:#fff;font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px}.level-title{font-size:11px;font-weight:700;color:var(--ink-soft)}.level-xp{font-size:10.5px;color:var(--muted);margin-left:auto}.level-hint{font-size:9.5px;color:var(--muted);display:block;margin-top:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.stats-tile{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:11px 6px;display:flex;flex-direction:column;align-items:center;gap:2px}.stats-tile strong{font-family:var(--font-display);font-size:19px}.stats-tile span{font-size:9.5px;color:var(--muted);font-weight:700}.category-card,.setting-card,.leaderboard-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px}.category-card h3{font-size:13px;margin:0 0 10px}.category-rows{display:flex;flex-direction:column;gap:8px}.category-row{display:flex;align-items:center;gap:8px;font-size:11px}.category-emoji{font-size:14px}.category-name{width:52px;color:var(--ink-soft);font-weight:700}.category-bar{flex:1;height:6px;background:#efe6dc;border-radius:99px;overflow:hidden}.category-bar span{display:block;height:100%;background:linear-gradient(90deg,#e11d48,#f97316);border-radius:99px}.category-count{width:18px;text-align:right;font-weight:800;color:var(--muted)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.setting-row strong{display:block;font-size:13px}.setting-row small{display:block;font-size:10.5px;color:var(--muted);line-height:1.4;margin-top:2px}.toggle{position:relative;width:46px;height:27px;border-radius:99px;border:0;background:#e2d8cc;transition:background .2s ease;flex:0 0 auto}.toggle span{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .2s ease}.toggle.on{background:var(--green)}.toggle.on span{transform:translate(19px)}.leaderboard-card .group-head{margin-bottom:8px}.leaderboard{display:flex;flex-direction:column}.leader-row{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:11.5px}.leader-row:last-child{border-bottom:0}.leader-row.me{background:var(--red-soft);border-radius:9px;padding:8px;margin:2px -6px;border-bottom:0}.leader-rank{width:18px;text-align:center;font-weight:800;color:var(--muted);font-size:10.5px}.leader-rank.rank-1{color:var(--gold)}.leader-rank.rank-2{color:#94a3b8}.leader-rank.rank-3{color:#b45309}.leader-avatar{width:26px;height:26px;border-radius:50%;background:#f1eae3;display:grid;place-items:center;font-weight:800;font-size:11px;color:var(--ink-soft);flex:0 0 auto}.leader-row.me .leader-avatar{background:var(--red);color:#fff}.leader-name{flex:1;font-weight:700;display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-name em{font-style:normal;font-size:8.5px;background:var(--red);color:#fff;padding:1px 5px;border-radius:99px;font-weight:800}.leader-level{font-size:9.5px;color:var(--muted);font-weight:700}.leader-xp{font-size:10px;font-weight:800;color:var(--red);width:58px;text-align:right}.danger-btn{width:100%;margin-top:16px;border:1px solid #f3c9d3;background:#fff5f7;color:#b3122f;border-radius:13px;padding:12px;font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center;gap:7px}.app-footer{text-align:center;padding:22px 0 4px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.app-footer strong{font-family:var(--font-display);letter-spacing:.14em;font-size:13px;color:var(--ink-soft)}.app-footer span{font-size:10px}.toast-stack{position:absolute;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:6px;width:min(92%,420px);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:700;text-align:left;box-shadow:0 12px 30px #00000047;animation:toastIn .25s ease;background:#1c1917;color:#fff}@keyframes toastIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-success{background:#14532d}.toast-error{background:#7f1d1d}.toast-info{background:#1e293b}.toast-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#ffffff26;flex:0 0 auto}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.install-banner{position:absolute;left:12px;right:12px;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:18px;background:#0f172af0;color:#fff;box-shadow:0 14px 34px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:install-in .32s ease-out}.install-banner img{width:44px;height:44px;border-radius:12px;flex:0 0 auto;background:#0b1a30}.install-banner-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.install-banner-text strong{font-size:14px}.install-banner-text span{font-size:11.5px;color:#ffffffb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-banner-cta,.install-setting-btn{flex:0 0 auto;border:0;border-radius:999px;padding:9px 16px;font:700 13px var(--font-body);color:#fff;background:linear-gradient(145deg,#e11d48,#b3122f);box-shadow:0 6px 16px #e11d4859;cursor:pointer}.install-banner-close{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:18px;line-height:1;cursor:pointer}.install-done{font-size:12px;font-weight:700;color:var(--green);white-space:nowrap}.install-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:#0206178c;animation:install-fade .2s ease-out}.install-guide{width:100%;max-width:420px;background:var(--paper);color:var(--ink);border-radius:22px;padding:20px 18px 16px;box-shadow:0 24px 60px #00000059;text-align:center;animation:install-in .28s ease-out}.install-guide-icon{width:64px;height:64px;border-radius:16px;background:#0b1a30}.install-guide h3{margin:10px 0 12px;font-family:var(--font-display);font-size:18px}.install-guide ol{margin:0;padding:0;list-style:none;counter-reset:step;text-align:left;display:flex;flex-direction:column;gap:10px}.install-guide li{counter-increment:step;position:relative;padding-left:34px;font-size:13.5px;line-height:1.6}.install-guide li:before{content:counter(step);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;background:var(--red)}.install-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:8px;background:#eef2f7;color:#1d4ed8;font-weight:700;vertical-align:middle;white-space:nowrap}.install-guide-note{margin:14px 0 12px;font-size:12px;color:var(--muted)}.install-guide-close{width:100%;border:0;border-radius:14px;padding:12px;font:700 14px var(--font-body);color:#fff;background:var(--red);cursor:pointer}@keyframes install-in{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes install-fade{0%{opacity:0}to{opacity:1}}.page-shell{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--cream)}.page-shell>.page{flex:1 1 auto;min-height:0;height:auto;padding-top:18px;overflow-x:hidden}.app-header{flex:0 0 auto;min-width:0}.app-header:not(.is-overlay){position:relative;z-index:5;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:linear-gradient(180deg,#120e0c,#1d1714);box-shadow:0 6px 18px #0000002e}.app-header:not(.is-overlay) .brand-row{margin-bottom:0}.brand-row,.brand-logo{min-width:0}.header-right{display:flex;align-items:center;gap:6px;flex:0 0 auto}.level-chip small{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-switch{display:inline-flex;padding:3px;gap:2px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.lang-switch button{border:0;min-width:34px;padding:6px 8px;border-radius:999px;background:transparent;color:#ffffffc7;font:800 11px var(--font-body);letter-spacing:.04em;cursor:pointer}.lang-switch button.active{background:#fff;color:var(--red)}.lang-switch.is-compact button{min-width:28px;padding:5px 6px;font-size:10px}.setting-card .lang-switch{background:#f1ebe4;border-color:var(--line)}.setting-card .lang-switch button{color:var(--muted)}.setting-card .lang-switch button.active{background:var(--red);color:#fff}@media(max-width:360px){.brand-logo img{height:52px}}.search-box input[type=search]::-webkit-search-cancel-button,.search-box input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tour-launch{display:flex;align-items:center;gap:10px;width:100%;margin:4px 0 14px;padding:13px 16px;border:0;border-radius:16px;background:linear-gradient(135deg,#0f5c45,#16795a);color:#fff;font:700 15px/1.2 var(--font-body);cursor:pointer;box-shadow:0 8px 20px #0f5c4547}.tour-launch>svg:last-child{margin-left:auto}.tour-launch:focus-visible,.tour-btn:focus-visible,.tour-dot:focus-visible,.tour-close:focus-visible{outline:3px solid #f5d27a;outline-offset:2px}.tour-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;background:#0d1a16;overflow:hidden;animation:fade .25s ease}.tour-view,.tour-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.tour-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;transition:opacity .26s ease}.tour-fade.is-on{opacity:1}.tour-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:14px;color:#e9f2ee;font:600 15px var(--font-body);text-align:center;padding:24px}.tour-spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#f5d27a;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tour-top{position:absolute;top:calc(12px + env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:center;gap:10px;pointer-events:none}.tour-heading{display:grid;gap:1px;padding:8px 14px;border-radius:14px;background:#0a14118c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}.tour-kicker{font:700 10px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#f5d27a}.tour-heading strong{font:700 16px/1.25 var(--font-display)}.tour-close{margin-left:auto;pointer-events:auto;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:#0a141199;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer}.tour-hint{position:absolute;top:calc(66px + env(safe-area-inset-top));left:12px;right:12px;margin:0;color:#ffffffeb;font:600 12px/1.4 var(--font-body);text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}.tour-stick{position:absolute;left:18px;bottom:calc(196px + env(safe-area-inset-bottom));width:104px;height:104px;border-radius:50%;background:#0a141161;border:2px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;touch-action:none;cursor:grab}.tour-stick.is-floating{bottom:auto!important;transform:translate(-50%,-50%)}.tour-stick-knob{width:44px;height:44px;border-radius:50%;background:#ffffffeb;box-shadow:0 3px 10px #0000004d;pointer-events:none}.tour-card{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:14px 16px 10px;border-radius:20px;background:#fffdf9f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 12px 30px #0000004d}.tour-card-head{display:flex;align-items:baseline;gap:10px}.tour-card h3{margin:0;font:800 18px/1.25 var(--font-display)}.tour-step{font:700 12px var(--font-body);color:#0f5c45}.tour-card p{margin:6px 0 0;font:500 14px/1.5 var(--font-body);color:var(--ink-soft)}.tour-nav{display:flex;align-items:center;gap:10px;margin-top:10px}.tour-btn{width:42px;height:42px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:#0f5c45;color:#fff;cursor:pointer}.tour-btn:not(.is-next) svg{transform:rotate(180deg)}.tour-btn:disabled{background:#d9d3c9;color:#8a837a;cursor:default}.tour-dots{flex:1;display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.tour-dot{width:24px;height:24px;border:0;padding:0;background:transparent;cursor:pointer;position:relative}.tour-dot:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:#cfc6b8;transition:transform .2s ease,background .2s ease}.tour-dot.is-active:after{background:#0f5c45;transform:scale(1.35)}.tour-note{display:block;margin-top:6px;font:500 11px var(--font-body);color:var(--muted);text-align:center}.tour-more{display:none}.tour-rotate{display:none;margin-left:auto;pointer-events:auto;padding:8px 12px;border:0;border-radius:999px;background:#0a141199;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:700 12px var(--font-body);cursor:pointer}.tour-rotate .when-landscape{display:none}@media(orientation:landscape){.tour-rotate .when-portrait{display:none}.tour-rotate .when-landscape{display:inline}}@media(pointer:coarse),(hover:none){.tour-rotate{display:block}.tour-rotate+.tour-lang,.tour-rotate+.tour-close{margin-left:0}}.tour-rotate-hint{position:absolute;top:calc(66px + env(safe-area-inset-top));left:50%;transform:translate(-50%);margin:0;padding:8px 14px;background:#0a1411bf;color:#fff;font:600 12px/1.4 var(--font-body);width:min(320px,calc(100% - 32px));text-align:center;border-radius:16px;pointer-events:none}@media(max-width:640px),(max-height:500px){.tour-hint{font-size:11px}.tour-card{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px;border-radius:999px}.tour-card:has(p.is-more){border-radius:18px}.tour-nav{display:contents}.tour-dots,.tour-note{display:none}.tour-btn{width:34px;height:34px;order:0}.tour-btn.is-next{order:3}.tour-card-head{order:1;flex:1;min-width:0;gap:6px}.tour-card h3{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-step{font-size:11px;flex:none}.tour-more{display:block;order:2;flex:none;padding:6px 10px;border:0;border-radius:999px;background:#e6efe9;color:#0f5c45;font:700 11px var(--font-body);cursor:pointer}.tour-card p{display:none;order:4;width:100%;margin:0;padding:0 8px 6px;font-size:13px;line-height:1.45}.tour-card p.is-more{display:block;max-height:30vh;overflow-y:auto}.tour-stick{bottom:calc(76px + env(safe-area-inset-bottom));width:92px;height:92px}.bedug-panel{bottom:calc(76px + env(safe-area-inset-bottom))}}@media(max-height:500px)and (orientation:landscape){.tour-card{left:auto;right:calc(12px + env(safe-area-inset-right));width:min(360px,50vw)}.tour-stick{left:calc(18px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom))}.bedug-panel{bottom:calc(14px + env(safe-area-inset-bottom));width:min(320px,44vw)}.tour-hint{right:auto;max-width:48vw}}@media(prefers-reduced-motion:reduce){.tour-overlay,.tour-spinner{animation:none}}.tour-standalone{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1a16}.tour-lang{margin-left:auto;pointer-events:auto;display:flex;padding:3px;gap:2px;border-radius:999px;background:#0a141199;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tour-lang button{border:0;border-radius:999px;padding:7px 12px;background:transparent;color:#fff;font:700 12px var(--font-body);cursor:pointer}.tour-lang button.is-active{background:#fff;color:#0f5c45}.tour-lang button:focus-visible{outline:3px solid #f5d27a;outline-offset:2px}.tour-crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;pointer-events:none}.tour-crosshair:before,.tour-crosshair:after{content:"";position:absolute;background:#ffffffe6;box-shadow:0 0 2px #0009}.tour-crosshair:before{left:8px;top:0;width:2px;height:18px}.tour-crosshair:after{left:0;top:8px;width:18px;height:2px}.tour-canvas{cursor:crosshair}.bedug-panel{position:absolute;left:50%;bottom:calc(196px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(460px,calc(100% - 32px));display:grid;justify-items:center;gap:8px;pointer-events:none}.bedug-hint{margin:0;padding:8px 14px;border-radius:12px;background:#0a14119e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font:600 13px/1.4 var(--font-body);text-align:center}.bedug-meter{width:220px;max-width:100%;height:10px;border-radius:999px;background:#0a14118c;overflow:hidden}.bedug-meter span{display:block;height:100%;background:linear-gradient(90deg,#f5d27a,#e8862e,#c8102e);transform-origin:left center}.bedug-result{font:800 26px/1 var(--font-display);color:#fff4d6;text-shadow:0 2px 8px rgba(0,0,0,.6);animation:bedugPop 1.4s ease forwards}.bedug-result.is-miss{color:#e9eef0;font-size:18px}@keyframes bedugPop{0%{transform:scale(.6);opacity:0}12%{transform:scale(1.15);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.bedug-buttons{display:flex;gap:10px;pointer-events:auto}.bedug-btn{border:0;border-radius:999px;padding:12px 18px;background:#fffdf9f0;color:#0f5c45;font:700 14px var(--font-body);cursor:pointer;touch-action:none}.bedug-btn.is-strike{background:#a8442f;color:#fff;padding:12px 26px}.bedug-btn:focus-visible{outline:3px solid #f5d27a;outline-offset:2px}@media(prefers-reduced-motion:reduce){.bedug-result{animation:none}}.bedug-credit{pointer-events:auto;font:500 10.5px/1.3 var(--font-body);color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.7);text-decoration:underline;text-underline-offset:2px}.bedug-credit{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px;text-decoration:none}.bedug-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.jet-hud{position:absolute;left:12px;top:calc(96px + env(safe-area-inset-top));display:grid;gap:8px;padding:12px 14px;border-radius:16px;background:#08161c9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;min-width:190px;font-variant-numeric:tabular-nums}.jet-speed{display:flex;align-items:baseline;gap:6px}.jet-speed strong{font:800 42px/1 var(--font-display)}.jet-speed span{font:600 13px var(--font-body);opacity:.8}.jet-stats{margin:0;display:grid;gap:6px}.jet-stats div{display:grid;gap:1px}.jet-stats dt{font:600 10.5px var(--font-body);letter-spacing:.04em;text-transform:uppercase;opacity:.75}.jet-stats dd{margin:0;font:700 15px var(--font-body)}.jet-aground{margin:0;padding:6px 8px;border-radius:8px;background:#c8102e;font:700 12px var(--font-body)}.jet-map{position:absolute;right:12px;top:calc(66px + env(safe-area-inset-top));width:150px;height:225px;border-radius:14px;border:2px solid rgba(255,255,255,.8);box-shadow:0 6px 18px #0000004d}.jet-controls{position:absolute;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));display:grid;justify-items:end;gap:8px}.jet-rates{display:flex;padding:3px;gap:2px;border-radius:999px;background:#08161c9e}.jet-rates button,.jet-view{border:0;border-radius:999px;padding:8px 12px;background:transparent;color:#fff;font:700 13px var(--font-body);cursor:pointer}.jet-rates button.is-active{background:#fff;color:#0f5c45}.jet-view{background:#08161c9e}.jet-rates button:focus-visible,.jet-view:focus-visible{outline:3px solid #f5d27a;outline-offset:2px}.jet-fast{position:absolute;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));transform:translate(-50%);margin:0;padding:6px 12px;border-radius:999px;background:#08161c9e;color:#ffd34d;font:600 12px var(--font-body);white-space:nowrap}.jet-stick{bottom:calc(28px + env(safe-area-inset-bottom))}.jet-credit{position:absolute;left:12px;bottom:calc(6px + env(safe-area-inset-bottom));margin:0;color:#fffc;font:500 10px var(--font-body);text-shadow:0 1px 2px rgba(0,0,0,.7);max-width:60%}@media(max-width:520px){.jet-hud{min-width:0;padding:10px 12px}.jet-speed strong{font-size:32px}.jet-map{width:110px;height:165px}.jet-fast{white-space:normal;width:calc(100% - 32px);text-align:center}}.app-shell.no-nav{--nav-h: 0px}.sheet-stats.is-two{grid-template-columns:repeat(2,1fr)}.tour-credit{display:block;margin-top:8px;font:500 10.5px/1.4 var(--font-body);color:var(--ink-soft);opacity:.6}@media(max-width:640px),(max-height:500px){.tour-credit{display:none;order:5;width:100%;margin:0;padding:0 8px 6px;font-size:10px}.tour-card:has(p.is-more) .tour-credit{display:block}}
