:root{--color-bg: #0e1a3a;--color-surface: #16244c;--color-border: #2c3c68;--color-text: #ffffff;--color-text-muted: #a8b2d1;--color-accent: #f2762e;--color-accent-text: #0e1a3a;--color-green: #4caf50;--color-yellow: #e0b400;--color-orange: #e8792f;--color-red: #e5484d;--tier-text: #12182c;--font-base: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Sora", var(--font-base);--font-body: "Inter", var(--font-base);--fs-xs: .75rem;--fs-sm: .85rem;--fs-base: 1rem;--fs-md: 1.05rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem;--radius: 8px;--radius-lg: 14px;--radius-xl: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--max-width: 480px;--z-base: 0;--z-map: 1;--z-header: 10;--z-overlay: 100;--z-modal: 1000;--z-toast: 1100;--z-intro: 1200}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip;max-width:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.4;-webkit-font-smoothing:antialiased}body.modal-open{position:fixed;left:0;right:0;overflow:hidden}#app{max-width:var(--max-width);margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:var(--space-3) var(--space-4) var(--space-6);position:relative;z-index:var(--z-base)}#app.dashboard-active{max-width:1100px}button{font-family:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hidden{display:none!important}.app-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);position:relative;z-index:var(--z-header)}.app-title,h1,h2,h3,.mode-card-title,.arcade-title,.place-name,.primary-btn,#guessSubmit,.home-daily-title,.home-arcade-title,.stats-grid .stat-value{font-family:var(--font-heading)}.app-title{font-size:var(--fs-lg);margin:0;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-title-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.ui-icon{width:20px;height:20px;flex-shrink:0}.back-chevron{display:none;align-items:center;color:var(--color-text-muted)}.back-chevron .ui-icon{width:24px;height:24px}#app:not(.is-home) .back-chevron{display:inline-flex}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-intro);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4)}.intro-overlay-out{pointer-events:none}.intro-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#0e1a3a;opacity:1;transition:opacity .5s ease}.intro-overlay-out .intro-backdrop{opacity:0}.intro-logo{position:relative;z-index:1;width:140px;height:140px;border-radius:32px;flex-shrink:0;transition:transform .5s cubic-bezier(.22,1,.36,1)}.intro-logo-morph{transform:translate(var(--morph-x, 0),var(--morph-y, 0)) scale(var(--morph-scale, 1))}.intro-wordmark{position:relative;z-index:1;font-family:var(--font-heading, var(--font-base));font-size:1.7rem;font-weight:700;color:#fff;letter-spacing:.02em;margin:0;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}.intro-wordmark-in .intro-wordmark{opacity:1;transform:none;transition-delay:.84s}.intro-overlay-out .intro-wordmark{opacity:0;transition:opacity .25s ease}.app-logo{display:block;width:38px;height:38px;border-radius:9px;flex-shrink:0}.logo-band{stroke-dasharray:1;stroke-dashoffset:1;animation:logoBandDraw .45s ease-out forwards}.logo-band-1{animation-delay:0ms}.logo-band-2{animation-delay:90ms}.logo-band-3{animation-delay:.18s}.logo-band-4{animation-delay:.27s}.logo-band-5{animation-delay:.36s}@keyframes logoBandDraw{to{stroke-dashoffset:0}}.logo-bar,.logo-pin{opacity:0;transform-box:fill-box;transform-origin:center;animation:logoPopIn .28s ease-out forwards}.logo-bar{animation-delay:.42s}.logo-pin-a{animation-delay:.48s}.logo-pin-b{animation-delay:.56s}@keyframes logoPopIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;flex-shrink:0}.settings-wrap{position:relative}.settings-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-overlay);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);min-width:11rem;box-shadow:0 8px 24px #00000059}.settings-panel-label{margin:0 0 var(--space-2);font-size:var(--fs-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.unit-toggle-group{display:flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.unit-toggle-btn{flex:1;background:none;border:none;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);font-weight:600;min-height:2.5rem}.unit-toggle-btn.active{background:var(--color-accent);color:#fff}.icon-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius);min-width:2.75rem;height:2.75rem;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-2);text-decoration:none}.icon-btn:hover{border-color:var(--color-accent)}button:not(:disabled),.icon-btn,.primary-btn:not(:disabled),.mode-card,.modal-close,.home-daily-btn,.home-arcade-btn{transition:transform .15s ease,box-shadow .15s ease}button:not(:disabled):active,.icon-btn:active,.primary-btn:not(:disabled):active,.mode-card:active,.home-daily-btn:active,.home-arcade-btn:active{transform:scale(.96)}@media (hover: hover){.icon-btn:hover,.primary-btn:not(:disabled):hover,.mode-card:hover,.home-daily-btn:hover,.home-arcade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}}.arcade-icon-lg{display:block;width:32px;height:32px;border-radius:8px;flex-shrink:0}.arcade-icon-sm{display:block;width:16px;height:16px;border-radius:4px;flex-shrink:0}.places{display:flex;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;margin-bottom:var(--space-5)}.place{font-size:1.15rem;font-weight:600;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;overflow-wrap:break-word}.place-name{display:block}.place-label{display:block;font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.vs{color:var(--color-text-muted);font-size:1.1rem}.puzzle-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:.8rem}.guess-form{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.guess-input-wrap{position:relative;flex:1;min-width:0;display:flex}#guessInput{flex:1;min-width:0;width:100%;padding:var(--space-3);padding-right:3em;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}#guessInput:focus{outline:2px solid var(--color-accent);outline-offset:1px}.guess-input-suffix{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:.9rem;pointer-events:none}.primary-btn,#guessSubmit{background:var(--color-accent);color:var(--color-accent-text);border:none;border-radius:var(--radius);min-height:2.75rem;padding:var(--space-3) var(--space-4);font-size:1rem;font-weight:600;white-space:nowrap}.primary-btn:disabled,#guessSubmit:disabled{opacity:.5;cursor:not-allowed}.input-error{min-height:1.2em;color:var(--color-red);font-size:.85rem;margin:0 0 var(--space-3)}#guessInput.input-shake{animation:inputShake .32s ease-in-out}@keyframes inputShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.time-unit-select{padding:var(--space-3);font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.reveal-extra{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.reveal-extra p{margin:0 0 var(--space-2);font-size:.9rem}.reveal-extra p:last-child{margin-bottom:0}.fun-fact strong{font-weight:600}.place-flag{width:1.1em;height:auto;vertical-align:-.15em;border-radius:2px;display:inline-block}.guess-history{list-style:none;padding:0;margin:0 0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.guess-row{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border)}.guess-row-enter{animation:guessRowIn .28s ease-out}@keyframes guessRowIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.guess-row-main{display:flex;align-items:center;gap:var(--space-3)}.guess-row .guess-number{color:var(--color-text-muted);font-size:.8rem;width:1.4em;flex-shrink:0}.guess-row .guess-value{flex:1;min-width:0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.guess-detail{margin:0;padding-left:calc(1.4em + var(--space-3));font-size:var(--fs-xs);color:var(--color-text-muted)}.tier-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:var(--space-1) var(--space-2);border-radius:var(--radius);font-size:.85rem;color:var(--tier-text)}.tier-pill{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-2);border-radius:999px;font-size:.75rem;font-weight:700;color:var(--tier-text);white-space:nowrap;flex-shrink:0}.tier-pill-pop{animation:tierChipPop .32s cubic-bezier(.34,1.56,.64,1)}@keyframes tierChipPop{0%{transform:scale(0) rotateY(90deg);opacity:0}60%{transform:scale(1.15) rotateY(0);opacity:1}to{transform:scale(1) rotateY(0)}}.tier-green{background:var(--color-green)}.tier-yellow{background:var(--color-yellow)}.tier-orange{background:var(--color-orange)}.tier-red{background:var(--color-red)}.result-section.hidden,.modal.hidden,.dev-panel.hidden{display:none}.result-summary{font-size:1.05rem;font-weight:600;text-align:center;margin-bottom:var(--space-3)}.result-points{font-size:.85rem;font-weight:600;color:var(--color-accent);text-align:center;margin:0 0 var(--space-3)}.puzzle-map{width:100%;height:220px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);margin-bottom:var(--space-4);background:var(--color-surface);position:relative;isolation:isolate;z-index:var(--z-map)}@media (max-width: 400px){.puzzle-map{height:220px}}.distancle-marker{pointer-events:none}.distancle-marker-drop{display:flex;animation:markerDrop .42s cubic-bezier(.34,1.56,.64,1) backwards}.distancle-marker-drop svg{filter:drop-shadow(0 2px 3px rgba(14,26,58,.45))}@keyframes markerDrop{0%{opacity:0;transform:translateY(-14px) scale(.6)}to{opacity:1;transform:none}}.distancle-marker-badge{width:34px;height:34px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-text);box-shadow:0 1px 4px #00000059;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.maplibregl-popup.distancle-marker-label-popup .maplibregl-popup-content{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:2px 8px;font-size:.75rem;font-weight:600;box-shadow:0 1px 4px #0e1a3a59;white-space:nowrap}.maplibregl-popup.distancle-marker-label-popup .maplibregl-popup-tip{border-top-color:var(--color-border);border-bottom-color:var(--color-border)}.puzzle-map .maplibregl-ctrl-group{background:#16244cbf;border:1px solid var(--color-border);box-shadow:0 1px 4px #0e1a3a59}.puzzle-map .maplibregl-ctrl-group button{background:transparent}.puzzle-map .maplibregl-ctrl-group button+button{border-top:1px solid var(--color-border)}.puzzle-map .maplibregl-ctrl-icon{filter:invert(1)}.puzzle-map .maplibregl-ctrl-attrib{background:#0e1a3ab3;border-radius:var(--radius) 0 0 0;font-size:.65rem}.puzzle-map .maplibregl-ctrl-attrib a{color:var(--color-text-muted)}.puzzle-map .maplibregl-ctrl-attrib-button{background-color:#0e1a3ab3}.map-tap-hint{position:absolute;top:var(--space-2);left:var(--space-2);background:#0e1a3ad9;color:var(--color-text);font-size:.7rem;padding:3px 9px;border-radius:var(--radius);pointer-events:none;z-index:1001;transition:opacity .3s ease-out}.map-tap-hint-out{opacity:0}.map-load-failed-note{position:absolute;top:var(--space-2);right:var(--space-2);background:#0e1a3ad9;color:var(--color-text-muted);font-size:.7rem;padding:3px 9px;border-radius:var(--radius);pointer-events:none;z-index:1001}.result-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.countdown{color:var(--color-text-muted);font-size:.85rem;margin:0}.reveal-in{animation:revealIn .32s ease-out}@keyframes revealIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.streak-pulse{animation:streakPulse .36s ease-out}@keyframes streakPulse{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-toast)}.confetti-piece{position:fixed;width:8px;height:8px;border-radius:2px;animation:confettiBurst .8s ease-out forwards}@keyframes confettiBurst{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx),calc(var(--dy) + 140px)) rotate(var(--rot));opacity:0}}.distancle-marker-drop{animation:markerDrop .42s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes markerDrop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hub-intro{color:var(--color-text-muted);margin:0 0 var(--space-4)}.arcade-picker-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.arcade-picker-header-icon .arcade-icon-svg{width:48px;height:48px}.arcade-picker-title{margin:0;font-size:var(--fs-lg)}.arcade-picker-header .hub-intro{margin:2px 0 0}.mode-cards{display:flex;flex-direction:column;gap:var(--space-3)}.arcade-picker-cards .mode-card{opacity:0;animation:arcadePickerCardIn .32s ease-out forwards}.arcade-picker-cards .mode-card:nth-child(1){animation-delay:80ms}.arcade-picker-cards .mode-card:nth-child(2){animation-delay:.16s}@keyframes arcadePickerCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.mode-card{display:flex;align-items:center;gap:var(--space-4);min-height:2.75rem;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:inherit;text-decoration:none}.mode-card:hover{border-color:var(--color-accent)}.mode-card-emoji{font-size:2rem;line-height:1}.mode-card-body{flex:1}.mode-card-title{margin:0 0 var(--space-1);font-size:1.05rem;display:flex;align-items:center;gap:var(--space-2)}.mode-card-desc{margin:0;font-size:.85rem;color:var(--color-text-muted)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal);opacity:1;transition:opacity .18s ease;animation:modalBackdropIn .18s ease}.modal.modal-closing{opacity:0}@keyframes modalBackdropIn{0%{opacity:0}}.modal-content{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5);max-width:420px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:modalContentIn .22s cubic-bezier(.34,1.56,.64,1)}.modal.modal-closing .modal-content{transition:transform .18s ease,opacity .18s ease;transform:scale(.95);opacity:0}@keyframes modalContentIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;font-size:1.4rem;color:var(--color-text-muted);line-height:1}.modal h2{margin-top:0}.how-to-play-tiers{list-style:none;padding:0;margin:var(--space-3) 0}.how-to-play-tiers li{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);text-align:center;margin-bottom:var(--space-4)}.stats-grid .stat-value{font-size:1.6rem;font-weight:700}.stats-grid .stat-label{font-size:.7rem;color:var(--color-text-muted)}.distribution-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:.8rem}.distribution-bar-track{flex:1;background:var(--color-surface);border-radius:var(--radius)}.distribution-bar{background:var(--color-accent);color:var(--color-accent-text);border-radius:var(--radius);min-width:1.6em;text-align:right;padding:2px var(--space-2);font-size:.75rem;font-weight:600}.share-text-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);white-space:pre-wrap;font-size:.85rem;margin-bottom:var(--space-3)}.dev-panel{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:2px dashed var(--color-accent);padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;z-index:var(--z-overlay)}.dev-panel input{width:4.5rem;padding:var(--space-1) var(--space-2)}.arcade-round-card{animation:roundCardIn .3s ease-out}@keyframes roundCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.arcade-badge{display:inline-flex;align-items:center;gap:4px;background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:2px var(--space-2);border-radius:var(--radius);margin-bottom:var(--space-3)}.arcade-title{text-align:center;font-size:1.1rem;margin:0 0 var(--space-2)}.arcade-top-row{position:relative;margin:0 0 var(--space-4)}.arcade-streak{text-align:center;font-size:1rem;font-weight:600;margin:0}.skip-btn-top{position:absolute;top:50%;right:0;transform:translateY(-50%);background:none;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius);padding:2px var(--space-2);font-size:.75rem;white-space:nowrap}.skip-btn-top:active{transform:translateY(-50%) scale(.96)}@media (hover: hover){.skip-btn-top:hover{transform:translateY(calc(-50% - 1px))}}.next-round-btn{display:block;width:100%;margin-bottom:var(--space-4);font-size:1.05rem}.arcade-stats-note{text-align:center;color:var(--color-text-muted);font-size:.8rem;margin:0 0 var(--space-4)}.keep-playing-arcade{text-align:center;color:var(--color-text-muted);font-size:.85rem;margin:var(--space-2) 0 0}.keep-playing-arcade a{display:inline-flex;align-items:center;gap:4px;color:var(--color-accent);font-weight:600;text-decoration:none}.keep-playing-arcade a:hover{text-decoration:underline}.arcade-mode-card .mode-card-desc{font-weight:500}main#view{flex:1;display:flex;flex-direction:column}.home{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-5) 0;position:relative}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);position:relative}.home-hero:before{content:"";position:absolute;top:50%;left:50%;width:280px;height:280px;transform:translate(-50%,-50%);border:1px dashed rgba(255,255,255,.07);border-radius:50%;z-index:-1}.home-hero:after{content:"";position:absolute;top:50%;left:50%;width:190px;height:190px;transform:translate(-50%,-50%);border:1px dashed rgba(255,255,255,.05);border-radius:50%;z-index:-1}.home-hero-logo{width:104px;height:104px;border-radius:24px;flex-shrink:0}.home-hero-wordmark{margin:var(--space-2) 0 0;font-family:var(--font-heading);font-size:var(--fs-3xl);font-weight:800;letter-spacing:.01em}.home-hero-tagline{margin:0;font-size:var(--fs-base);color:var(--color-text-muted)}.home-actions{display:flex;flex-direction:column;gap:var(--space-4)}.home-daily-btn,.home-arcade-btn{display:flex;text-decoration:none;color:inherit;border-radius:var(--radius-xl)}.home-daily-btn{flex-direction:column;background:var(--color-accent);overflow:hidden;animation:dailyGlow 3.5s ease-in-out infinite}.home-daily-strip{display:block;height:6px;background:linear-gradient(90deg,var(--color-red),var(--color-orange),var(--color-yellow),var(--color-green))}@keyframes dailyGlow{0%,to{box-shadow:0 0 #f2762e00}50%{box-shadow:0 0 28px 6px #f2762e66}}.home-daily-content{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5) var(--space-4)}.home-daily-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.home-daily-main-label{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700;color:var(--color-bg);display:flex;align-items:baseline}.home-daily-countdown{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;color:#0e1a3ad9}.home-daily-streak{font-size:var(--fs-base);font-weight:700;color:var(--color-bg);flex-shrink:0}.home-daily-sub-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:500;color:#0e1a3ad9}.home-daily-sub-label .ui-icon{width:16px;height:16px}.home-arcade-btn{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);box-shadow:0 0 0 1px #e5484d1a,0 4px 18px #f2762e24,0 0 0 1px #2fb46314 inset}.home-arcade-icon-slot{display:block;flex-shrink:0}.home-arcade-icon-slot .arcade-icon-svg{width:56px;height:56px}.home-arcade-body{display:flex;flex-direction:column;flex:1;min-width:0}.home-arcade-label{font-family:var(--font-heading);font-size:var(--fs-md);font-weight:700}.home-arcade-sub-label{font-size:var(--fs-sm);color:var(--color-text-muted)}.home-arcade-chevron{display:flex;align-items:center;color:var(--color-text-muted);flex-shrink:0}.home-arcade-btn-pressed{animation:arcadeButtonPress .22s ease-out}@keyframes arcadeButtonPress{0%{transform:scale(1)}35%{transform:scale(.94)}to{transform:scale(1)}}.home-arcade-btn-fallback-out{transition:opacity .2s ease;opacity:0}@media (hover: hover){.home-arcade-btn:hover .arcade-icon-stick,.home-arcade-btn:focus-visible .arcade-icon-stick{animation:arcadeIdleWiggle 1.6s ease-in-out infinite}.home-arcade-btn:hover .arcade-dome-band,.home-arcade-btn:focus-visible .arcade-dome-band{filter:brightness(1.15)}}@keyframes arcadeIdleWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.arcade-launch-playing .arcade-icon-stick{animation:arcadeLaunchTilt 1s cubic-bezier(.22,.68,.34,1)}@keyframes arcadeLaunchTilt{0%{transform:rotate(0) translateY(0)}16%{transform:rotate(-34deg) translateY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}26%{transform:rotate(-23deg) translateY(0)}46%{transform:rotate(33deg) translateY(0);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}58%{transform:rotate(21deg) translateY(0)}74%{transform:rotate(-5deg) translateY(-16px);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}86%{transform:rotate(1deg) translateY(-9px)}to{transform:rotate(0) translateY(0)}}.arcade-icon-svg.arcade-launch-playing{animation:arcadeLaunchSquash 1s ease-in-out}@keyframes arcadeLaunchSquash{0%,66%{transform:scale(1)}74%{transform:scale(1.07,.9);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}84%{transform:scale(.96,1.06)}to{transform:scale(1)}}.arcade-launch-playing .arcade-icon-ball{animation:arcadeLaunchPulse 1s ease-in-out}@keyframes arcadeLaunchPulse{0%,to{transform:scale(1);filter:brightness(1)}16%{transform:scale(1.16);filter:brightness(1.5)}24%{transform:scale(1);filter:brightness(1)}46%{transform:scale(1.2);filter:brightness(1.6)}56%{transform:scale(1);filter:brightness(1)}74%{transform:scale(1.32);filter:brightness(2)}86%{transform:scale(1.04);filter:brightness(1.15)}}.arcade-launch-playing .arcade-dome-band{animation:arcadeLaunchDomeLight .38s ease-out}.arcade-launch-playing .arcade-dome-band-1{animation-delay:40ms}.arcade-launch-playing .arcade-dome-band-2{animation-delay:.18s}.arcade-launch-playing .arcade-dome-band-3{animation-delay:.32s}.arcade-launch-playing .arcade-dome-band-4{animation-delay:.46s}.arcade-launch-playing .arcade-dome-band-base{animation:arcadeLaunchDomeLight .3s ease-out;animation-delay:.62s}@keyframes arcadeLaunchDomeLight{0%{filter:brightness(1) saturate(1);transform:scale(1)}50%{filter:brightness(2.1) saturate(1.5);transform:scale(1.035)}to{filter:brightness(1) saturate(1);transform:scale(1)}}.arcade-icon-burst,.arcade-spark{opacity:0}.arcade-launch-playing .arcade-spark{animation:arcadeLaunchSpark .34s ease-out}.arcade-launch-playing .arcade-spark-1{--spark-x: -52px;--spark-y: -50px;animation-delay:.7s}.arcade-launch-playing .arcade-spark-2{--spark-x: 54px;--spark-y: -48px;animation-delay:715ms}.arcade-launch-playing .arcade-spark-3{--spark-x: -62px;--spark-y: 18px;animation-delay:705ms}.arcade-launch-playing .arcade-spark-4{--spark-x: 60px;--spark-y: 20px;animation-delay:725ms}@keyframes arcadeLaunchSpark{0%{opacity:0;transform:translate(0) scale(.3)}30%{opacity:1;transform:translate(calc(var(--spark-x) * .45),calc(var(--spark-y) * .45)) scale(1.15)}to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.4)}}.arcade-spark-ring{opacity:0}.arcade-launch-playing .arcade-spark-ring{animation:arcadeLaunchRing .36s ease-out;animation-delay:.7s}@keyframes arcadeLaunchRing{0%{opacity:.85;transform:scale(.5)}to{opacity:0;transform:scale(1.9)}}.arcade-icon-morph{view-transition-name:arcade-icon-launch}.home-footer{text-align:center;color:var(--color-text-muted);font-size:var(--fs-xs)}.home-footer p{margin:0 0 var(--space-1)}.home-footer-links a{color:var(--color-text-muted);text-decoration:underline}.home-footer-links a:hover{color:var(--color-text)}.preview-banner{background:#f5c5181f;border:1px dashed var(--color-yellow);color:var(--color-yellow);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:600;text-align:center;margin-bottom:var(--space-4)}.travel-mode-card{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.travel-mode-card-emoji{font-size:1.8rem;line-height:1.2}.travel-mode-card-name{margin:0 0 2px;font-weight:700;font-variant-numeric:tabular-nums}.travel-mode-card-note{margin:0;font-size:.82rem;color:var(--color-text-muted)}.travel-mode-card-assumption{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--fs-xs);color:var(--color-text-muted)}@media (min-width: 640px){#app{padding-top:var(--space-5)}}@media (max-width: 380px){.app-title-link,.header-actions{gap:var(--space-1)}.app-title{font-size:var(--fs-md)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.dashboard-header{margin-bottom:var(--space-4)}.dashboard-title{margin:0 0 var(--space-1);font-size:var(--fs-xl)}.dashboard-subtitle{margin:0;color:var(--color-text-muted);font-size:var(--fs-sm)}.dashboard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.dashboard-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.dashboard-summary-value{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700}.dashboard-summary-label{font-size:var(--fs-xs);color:var(--color-text-muted)}.dashboard-save-status{background:#2fb4631f;border:1px solid var(--color-green);color:var(--color-green);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-sm);font-weight:600}.dashboard-save-status-error{background:#e5484d1f;border-color:var(--color-red);color:var(--color-red)}.dashboard-rows{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.dashboard-row-today{border-color:var(--color-accent)}.dashboard-row-past{opacity:.6}.dashboard-row-main{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:var(--fs-sm)}.dashboard-row-date{display:flex;flex-direction:column;min-width:90px;font-weight:600}.dashboard-row-n{color:var(--color-text-muted);min-width:3em}.dashboard-row-type{min-width:7.5em}.dashboard-row-places{flex:1;min-width:220px}.dashboard-row-place-type{color:var(--color-text-muted);font-size:var(--fs-xs)}.dashboard-row-answer{font-weight:600;white-space:nowrap}.dashboard-row-actions{display:flex;gap:var(--space-2);margin-left:auto}.dashboard-btn-small{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius);padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);font-weight:600;text-decoration:none;cursor:pointer;min-height:28px}.dashboard-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.dashboard-warnings{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.dashboard-warning{font-size:var(--fs-xs);color:var(--color-yellow)}.dashboard-edit-form{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-edit-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:var(--fs-sm)}.dashboard-edit-row label{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs);color:var(--color-text-muted)}.dashboard-edit-row select,.dashboard-edit-row input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius);padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);min-height:32px}.dashboard-swap-row{opacity:.85}.dashboard-edit-status{margin:0;font-size:var(--fs-xs)}
