:root{--bg-gradient: linear-gradient(135deg, #0b172a 0%, #1e293b 100%);--surface-card: #1e293b;--surface-card-hover: #334155;--surface-border: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--primary: #38bdf8;--primary-hover: #0ea5e9;--primary-glow: rgba(56, 189, 248, .35);--accent: #f59e0b;--danger: #ef4444;--success: #22c55e;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Comic Sans MS", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-main);min-height:100vh;overflow-x:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-container{max-width:1100px;margin:0 auto;padding:12px 16px 40px;display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:10px 0 16px;border-bottom:1px solid rgba(255,255,255,.08);gap:12px}.header-left{display:flex;align-items:center;gap:16px}.hider-target-btn{display:inline-flex;align-items:center;gap:10px;background:#38bdf824;border:1.5px solid rgba(56,189,248,.4);padding:5px 14px 5px 6px;border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease;color:#f0f9ff;font-family:inherit}.hider-target-btn:hover{background:#38bdf840;border-color:#38bdf8;transform:scale(1.02)}.hider-target-img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #38bdf8;flex-shrink:0}.hider-target-title{font-size:1.1rem;font-weight:800;color:#f0f9ff;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:8px}.nav-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff0f;color:var(--text-main);border:1px solid var(--surface-border);padding:8px 14px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.nav-btn:hover{background:#ffffff1f;border-color:#ffffff40}.nav-btn.icon-only{padding:8px;border-radius:50%}.nav-btn-giveup{color:#fca5a5;border-color:#ef44444d}.nav-btn-giveup:hover{background:#ef444426;border-color:#ef4444}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-md);padding:12px 20px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn-primary{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-secondary{background:#334155;color:var(--text-main);border:1px solid #475569}.btn-secondary:hover:not(:disabled){background:#475569}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-lg{padding:14px 28px;font-size:1.15rem;border-radius:var(--radius-lg)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;border:none;border-radius:50%;padding:8px;color:var(--text-main);cursor:pointer;transition:all .15s ease}.icon-btn:hover{background:#fff3}.speak-btn{display:inline-flex;align-items:center;justify-content:center;background:#38bdf82e;color:#38bdf8;border:1px solid rgba(56,189,248,.4);border-radius:50%;width:38px;height:38px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.speak-btn:hover{background:#38bdf8;color:#0f172a;transform:scale(1.08)}.speak-btn.large{width:52px;height:52px}.choose-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0 40px}.choose-title{font-size:2.2rem;font-weight:800;margin-bottom:6px;background:linear-gradient(135deg,#38bdf8,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.choose-subtitle{font-size:1.15rem;color:var(--text-muted);margin-bottom:24px}.btn-play-big{font-size:1.35rem;padding:16px 36px;border-radius:var(--radius-full)}.choose-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:24px}.carousel{position:relative;width:100%;max-width:620px;height:310px;margin:10px auto;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.carousel-track{position:relative;width:100%;height:100%}.carousel-card{position:absolute;top:50%;left:50%;width:200px;display:flex;flex-direction:column;align-items:center;gap:10px;background:transparent;border:none;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s ease}.carousel-photo-frame{width:180px;height:180px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.2);background:#0f172a;box-shadow:0 10px 25px #0006;transition:all .35s ease}.carousel-card.selected .carousel-photo-frame{border-color:#38bdf8;box-shadow:0 0 35px #38bdf8a6,0 12px 30px #00000080;transform:scale(1.05)}.carousel-photo-frame img{width:100%;height:100%;object-fit:cover;display:block}.carousel-card-name{font-size:1.25rem;font-weight:800;color:#f8fafc;background:#0f172acc;border:1px solid rgba(255,255,255,.15);padding:4px 16px;border-radius:var(--radius-full);box-shadow:0 4px 12px #0000004d;letter-spacing:.5px}.carousel-card.selected .carousel-card-name{color:#38bdf8;border-color:#38bdf880;background:#0f172af2}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#0f172abf;border:1px solid rgba(255,255,255,.15);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.carousel-arrow:hover{background:#38bdf8;color:#0f172a;transform:translateY(-50%) scale(1.1)}.carousel-arrow.left{left:10px}.carousel-arrow.right{right:10px}.carousel-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:8px}.carousel-dots span{width:10px;height:10px;border-radius:50%;background:#ffffff40;transition:all .2s ease}.carousel-dots span.active{background:#38bdf8;transform:scale(1.3)}.game-view{display:flex;flex-direction:column;gap:16px;max-width:960px;width:100%;margin:0 auto}.feedback-banner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-radius:var(--radius-md);border:2px solid;gap:16px;animation:slideIn .25s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.feedback-headline{font-size:1.55rem;font-weight:800;line-height:1.2}.feedback-detail{font-size:1.05rem;margin-top:4px;opacity:.9}.next-points-callout{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:#f59e0b2e;border:1px solid rgba(245,158,11,.45);color:#fbbf24;padding:4px 12px;border-radius:var(--radius-full);font-size:.95rem;font-weight:600;width:fit-content}.points-sparkle-icon{color:#fbbf24;flex-shrink:0}.next-points-callout strong{color:#fff;font-weight:800}.tone-hot{background:#ef444426;border-color:#ef4444;color:#fecaca}.tone-warm{background:#fb923c26;border-color:#fb923c;color:#fed7aa}.tone-cold{background:#60a5fa26;border-color:#60a5fa;color:#bfdbfe}.tone-freezing,.tone-frozen{background:#1e3a8a59;border-color:#3b82f6;color:#93c5fd}.tone-found{background:#22c55e33;border-color:#22c55e;color:#bbf7d0}.tone-info{background:#38bdf826;border-color:#38bdf8;color:#e0f2fe}.map-wrapper{width:100%;background:#0f1c30;border-radius:var(--radius-lg);border:2px solid var(--surface-border);overflow:hidden;box-shadow:0 10px 30px #0006}.map-frame{position:relative;width:100%}.us-map{width:100%;height:100%;display:block}.state{fill:#1e293b;stroke:#475569;stroke-width:1.25;cursor:pointer;transition:fill .2s ease,stroke .2s ease}.state:hover,.state:focus{stroke:#fff;stroke-width:2.2;filter:brightness(1.2);outline:none}.state.unguessed{fill:#1a2538}.state.guessed{stroke:#fff;stroke-width:1.5}.state-latest{fill:none;stroke:#fbbf24;stroke-width:3.5;pointer-events:none}.state-secret{fill:none;stroke:#22c55e;stroke-width:4;pointer-events:none}.callout-line{stroke:#94a3b873;stroke-dasharray:3 3;stroke-width:1.5}.callout-box{cursor:pointer}.callout-box.emphasis{stroke:#fbbf24;stroke-width:2.5}.callout-text{fill:#f8fafc;font-size:13px;font-weight:700;text-anchor:middle;pointer-events:none}.map-label{position:absolute;transform:translate(-50%,-50%);background:#0f172a;color:#38bdf8;font-size:1.15rem;font-weight:800;padding:6px 12px;border-radius:var(--radius-full);border:2px solid #38bdf8;box-shadow:0 4px 16px #0009;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;white-space:nowrap;animation:popIn .2s cubic-bezier(.2,.8,.2,1);z-index:15;display:inline-flex;align-items:center;gap:6px;transition:box-shadow .15s ease,border-color .15s ease}.map-label:not(.beside-box):not(.moved):after{content:"";position:absolute;bottom:-7px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #38bdf8;pointer-events:none}.map-label.dragging{cursor:grabbing;box-shadow:0 12px 30px #000c,0 0 20px #38bdf880;border-color:#fff;z-index:30}.map-label.beside-box{transform:translate(-115%,-50%)}.map-label.below-hider{transform:translate(-50%,60%)}.label-drag-grip{opacity:.55;cursor:grab}.map-label.dragging .label-drag-grip{cursor:grabbing}.label-state-name{pointer-events:none}.label-dismiss-btn{background:#ffffff29;border:none;border-radius:50%;color:var(--text-muted);width:22px;height:22px;min-width:22px;min-height:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin-left:6px;transition:all .15s ease;flex-shrink:0}.label-dismiss-btn:hover,.label-dismiss-btn:active{background:#ef4444;color:#fff;transform:scale(1.15)}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.map-hider{position:absolute;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:3px solid #22c55e;box-shadow:0 0 20px #22c55eb3;overflow:hidden;pointer-events:none;z-index:12;animation:popHider .35s cubic-bezier(.3,1.3,.3,1)}.map-hider img{width:100%;height:100%;object-fit:cover}@keyframes popHider{0%{transform:translate(-50%,-50%) scale(0)}80%{transform:translate(-50%,-50%) scale(1.15)}to{transform:translate(-50%,-50%) scale(1)}}.map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:#0f172abf;border-top:1px solid var(--surface-border);gap:10px}.map-toolbar-hint{font-size:.85rem;color:var(--text-muted);-webkit-user-select:none;user-select:none}.map-controls{display:flex;align-items:center;gap:6px}.map-ctrl-btn{background:#ffffff14;border:1px solid var(--surface-border);color:var(--text-main);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.map-ctrl-btn:hover{background:#38bdf8;color:#0f172a;border-color:#38bdf8}.legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;padding:8px 12px;background:#ffffff08;border-radius:var(--radius-md);font-size:.9rem}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-text{color:var(--text-muted)}.guess-list{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:16px}.guess-list h2{font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#cbd5e1}.guess-count{background:#ffffff1a;padding:2px 8px;border-radius:var(--radius-full);font-size:.85rem}.guess-list ol{list-style:none;display:flex;flex-direction:column;gap:8px}.guess-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);background:#0f172a80;border-left:4px solid transparent;cursor:pointer;transition:all .15s ease}.guess-row:hover{background:#38bdf814}.guess-row.selected{background:#38bdf82e;outline:2px solid #38bdf8;outline-offset:-1px}.guess-row.tone-hot{border-left-color:#ef4444}.guess-row.tone-warm{border-left-color:#fb923c}.guess-row.tone-cold{border-left-color:#60a5fa}.guess-row.tone-freezing,.guess-row.tone-frozen{border-left-color:#1e3a8a}.guess-row.tone-found{border-left-color:#22c55e}.guess-number{font-size:.85rem;color:var(--text-muted);width:22px}.guess-chip{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#0f172a;box-shadow:0 1px 4px #0000004d}.chip-icon{stroke-width:2.5px}.found-tag{display:inline-flex;align-items:center;gap:4px;color:#22c55e;font-weight:700}.guess-name{font-size:1.1rem;font-weight:700;flex:1}.guess-temp{font-weight:700;font-size:.95rem}.guess-distance{color:var(--text-muted);font-size:.95rem;min-width:90px;text-align:right}.game-won-banner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 14px;background:#22c55e1f;border:2px solid rgba(34,197,94,.4);border-radius:var(--radius-lg);margin-top:14px}.game-won-points{font-size:1.35rem;font-weight:800;color:#fbbf24;display:inline-flex;align-items:center;gap:8px;text-shadow:0 2px 8px rgba(0,0,0,.4)}.won-trophy-icon{color:#f59e0b;flex-shrink:0}.game-won-actions,.gave-up-banner{display:flex;justify-content:center;gap:14px;padding:4px 0;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fadeIn .15s ease-out}.modal-card{background:#1e293b;border:1px solid #475569;border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0009;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--surface-border)}.modal-title-group{display:flex;align-items:center;gap:10px;color:#38bdf8}.modal-title-group h2{font-size:1.3rem;font-weight:700;color:var(--text-main)}.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.setting-row:last-child{border-bottom:none}.setting-label{font-size:1.05rem;font-weight:700;margin-bottom:4px}.setting-desc{font-size:.85rem;color:var(--text-muted);max-width:250px}.segmented-control{display:inline-flex;background:#0f172a;padding:3px;border-radius:var(--radius-sm);border:1px solid var(--surface-border)}.segment-btn{background:transparent;border:none;color:var(--text-muted);padding:6px 14px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.segment-btn.active{background:#38bdf8;color:#0f172a;font-weight:700}.manager-card{max-width:580px}.manager-note{font-size:.9rem;color:var(--text-muted);line-height:1.4}.manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;margin-top:10px}.manager-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:1;background:#38bdf814;border:2px dashed rgba(56,189,248,.4);border-radius:var(--radius-md);color:#38bdf8;cursor:pointer;transition:all .2s ease}.manager-add:hover{background:#38bdf82e;border-color:#38bdf8;transform:scale(1.02)}.manager-add span{font-size:.85rem;font-weight:700}.manager-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:#0f172a;border:1px solid var(--surface-border);display:flex;flex-direction:column}.manager-item img{width:100%;height:100%;object-fit:cover}.manager-item-name{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);padding:16px 8px 6px;font-size:.85rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-item-tag{position:absolute;top:6px;left:6px;background:#0f172ad9;font-size:.7rem;padding:2px 6px;border-radius:4px;color:#38bdf8;font-weight:600}.manager-delete{position:absolute;top:6px;right:6px;background:#ef4444d9;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .15s ease}.manager-delete:hover{background:#dc2626;transform:scale(1.1)}.add-hider{display:flex;flex-direction:column;align-items:center;gap:16px}.choose-photo-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:260px;height:260px;border-radius:var(--radius-md);border:2px dashed rgba(255,255,255,.25);background:#0f172a;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.choose-photo-btn:hover{border-color:#38bdf8;color:#38bdf8}.cropper{position:relative;border-radius:var(--radius-md);overflow:hidden;background:#000;cursor:grab;touch-action:none}.cropper:active{cursor:grabbing}.cropper img{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none}.cropper-mask{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 9999px #000000a6;border:2px solid #38bdf8;pointer-events:none}.cropper-zoom{display:flex;align-items:center;gap:12px;width:260px}.cropper-zoom input[type=range]{flex:1}.hint{font-size:.85rem;color:var(--text-muted);text-align:center}.link-btn{background:transparent;border:none;color:#38bdf8;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:underline}.name-field{display:flex;flex-direction:column;gap:6px;width:100%}.name-field span{font-size:.9rem;font-weight:700}.name-field input{background:#0f172a;border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:10px 14px;font-size:1.1rem;color:var(--text-main);outline:none;font-family:inherit}.name-field input:focus{border-color:#38bdf8}.title-preview{font-size:.95rem;color:#38bdf8;font-weight:600}.form-error{color:#ef4444;font-size:.9rem;font-weight:600}.form-actions{display:flex;justify-content:flex-end;gap:12px;width:100%;margin-top:8px}.confirm-card{max-width:420px}.confirm-message{font-size:1.05rem;line-height:1.5}.confirm-with-image{display:flex;align-items:center;gap:14px}.confirm-with-image img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid #ef4444}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b172ac7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;animation:fadeIn .3s ease}.celebration-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.celebration-card{position:relative;background:linear-gradient(135deg,#1e293b,#0f172a);border:3px solid #38bdf8;border-radius:var(--radius-lg);padding:32px 28px;max-width:480px;width:100%;text-align:center;box-shadow:0 20px 50px #000c,0 0 30px #38bdf866;display:flex;flex-direction:column;align-items:center;gap:14px;z-index:10;animation:popCelebration .4s cubic-bezier(.3,1.4,.3,1)}.celebration-close-btn{position:absolute;top:14px;right:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:var(--text-main);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:20}.celebration-close-btn:hover{background:#ffffff38;transform:scale(1.08)}@keyframes popCelebration{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.celebration-image-wrapper{position:relative;width:150px;height:150px;border-radius:50%;border:5px solid #22c55e;box-shadow:0 0 25px #22c55e99;margin-bottom:8px}.celebration-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.celebration-badge{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);background:#22c55e;color:#0f172a;font-weight:800;font-size:.85rem;padding:4px 12px;border-radius:var(--radius-full);box-shadow:0 2px 8px #0006;white-space:nowrap}.celebration-title{font-size:2.1rem;font-weight:800;color:#38bdf8}.celebration-state{font-size:1.25rem;color:var(--text-main)}.celebration-points-badge{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#0f172a;font-size:1.35rem;font-weight:800;padding:8px 24px;border-radius:var(--radius-full);box-shadow:0 4px 18px #f59e0b66;margin:6px 0;display:inline-flex;align-items:center;gap:8px}.celebration-trophy{color:#0f172a;flex-shrink:0}.celebration-stats{font-size:1.05rem;color:var(--text-muted)}.celebration-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:10px}.btn-speak{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.4)}.btn-speak:hover{background:#38bdf84d}@media(max-width:680px){.app-container{padding:8px 10px 30px}.app-header{flex-wrap:wrap;gap:8px;padding:8px 0 12px}.header-left{gap:10px;min-width:0;flex:1 1 auto}.hider-target-btn{padding:4px 10px 4px 4px;gap:8px}.hider-target-img{width:28px;height:28px}.hider-target-title{font-size:.95rem;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.header-nav .btn-text{display:none}.nav-btn{padding:7px;border-radius:var(--radius-sm)}.nav-btn.icon-only{padding:7px}.choose-title{font-size:1.7rem}.carousel{height:240px}.carousel-card{width:150px;height:150px;margin-top:-75px}.feedback-headline{font-size:1.3rem}.next-points-callout{font-size:.85rem;padding:3px 10px}.guess-distance{min-width:70px}.map-toolbar{padding:4px 8px}.map-toolbar-hint{font-size:.75rem}.map-ctrl-btn{width:30px;height:30px}}@media(max-width:420px){.app-container{padding:6px 8px 24px}.hider-target-btn{padding:3px 8px 3px 3px;gap:6px}.hider-target-img{width:26px;height:26px}.hider-target-title{font-size:.9rem;white-space:nowrap}.header-nav{gap:4px}.nav-btn,.nav-btn.icon-only{padding:6px}.map-toolbar-hint{display:none}.map-toolbar{justify-content:flex-end}}.state-pattern-overlay{opacity:.85}.theme-high-contrast{--bg-gradient: #050505;--surface-card: #09090b;--surface-card-hover: #18181b;--surface-border: #ffffff;--text-main: #ffffff;--text-muted: #e4e4e7;--primary: #facc15;--primary-hover: #eab308}.theme-high-contrast .map-wrapper{background:#000;border:3px solid #ffffff;box-shadow:0 0 24px #ffffff40}.theme-high-contrast .state.unguessed{fill:#18181b;stroke:#fff;stroke-width:2.5px}.theme-high-contrast .state.guessed{stroke:#fff;stroke-width:3px}.theme-high-contrast .state.emphasis,.theme-high-contrast .state-latest,.theme-high-contrast .state-secret{stroke:#facc15!important;stroke-width:4.5px!important;filter:drop-shadow(0 0 8px #facc15)}.theme-high-contrast .state-pattern-overlay{opacity:1}.theme-high-contrast .map-label{background:#000;border:3px solid #facc15;color:#fff}.theme-high-contrast .feedback-banner{border-width:3.5px;background:#09090b}.theme-high-contrast .next-points-callout{background:#000;border:2px solid #facc15;color:#fef08a}.theme-high-contrast .guess-row{background:#09090b;border:1.5px solid #27272a}.theme-high-contrast .guess-row.selected{border:2px solid #facc15;outline:none}.theme-high-contrast .map-toolbar{background:#000;border-top:2px solid #ffffff}.theme-high-contrast .map-ctrl-btn{background:#18181b;border:2px solid #ffffff;color:#fff}.text-large{font-size:1.15rem}.text-large .feedback-headline{font-size:1.9rem}.text-large .feedback-detail{font-size:1.25rem}.text-large .next-points-callout{font-size:1.15rem;padding:6px 18px}.text-large .hider-target-title,.text-large .label-state-name{font-size:1.25rem}.text-large .nav-btn{padding:10px 18px;font-size:1.05rem}.text-large .guess-name{font-size:1.25rem}.text-large .guess-temp,.text-large .guess-distance{font-size:1.1rem}.text-large .legend-item{font-size:1.05rem}*:focus-visible{outline:3.5px solid #facc15!important;outline-offset:3px!important}.state:focus-visible{outline:none;stroke:#facc15!important;stroke-width:4px!important;filter:drop-shadow(0 0 6px #facc15)}
