*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--surface: #161b22;--surface-2: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-glow: rgba(88, 166, 255, .15);--error: #f85149;--error-bg: rgba(248, 81, 73, .1);--radius: 14px;--radius-sm: 8px;--shadow: 0 8px 32px rgba(0,0,0,.4)}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1117cc;position:sticky;top:0;z-index:10}.logo{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.logo-icon{width:22px;height:22px;stroke:var(--accent)}.logo-link{background:none;border:none;cursor:pointer;padding:0;transition:opacity .15s}.logo-link:hover{opacity:.75}.app-main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:48px 20px 80px}.app-footer{border-top:1px solid var(--border);padding:20px 24px;text-align:center;font-size:.8rem;color:var(--text-muted)}.app-footer a{color:var(--accent);text-decoration:none}.app-footer a:hover{text-decoration:underline}.search-section{margin-bottom:48px;text-align:center}.headline{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;letter-spacing:-.03em;margin-bottom:8px;background:linear-gradient(135deg,var(--text) 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subheadline{color:var(--text-muted);margin-bottom:28px;font-size:.95rem}.search-bar{display:flex;gap:10px;max-width:520px;margin:0 auto}.search-input-wrap{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;width:18px;height:18px;stroke:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:12px 16px 12px 44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;transition:border-color .15s,box-shadow .15s;outline:none}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-input:disabled{opacity:.6;cursor:not-allowed}.search-input.dropdown-open{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:var(--surface-2)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;list-style:none;background:var(--surface);border:1px solid var(--accent);border-top:none;border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);box-shadow:0 12px 32px #00000080;overflow:hidden;animation:dropdown-in .12s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.autocomplete-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.active{background:var(--surface-2)}.autocomplete-pin{width:14px;height:14px;stroke:var(--text-muted);flex-shrink:0}.autocomplete-item.active .autocomplete-pin{stroke:var(--accent)}.autocomplete-main{font-size:.9rem;font-weight:500;color:var(--text);flex-shrink:0}.autocomplete-secondary{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-btn{padding:12px 22px;background:var(--accent);color:#0d1117;font-weight:600;font-size:.9rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;gap:6px;white-space:nowrap}.search-btn:hover:not(:disabled){opacity:.88}.search-btn:active:not(:disabled){transform:scale(.97)}.search-btn:disabled{opacity:.45;cursor:not-allowed}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.3);border-top-color:#0d1117;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.results{display:flex;flex-direction:column;gap:20px}.panels-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.current-header{margin-bottom:24px}.location{display:flex;align-items:center;gap:8px;margin-bottom:6px}.pin-icon{width:18px;height:18px;stroke:var(--accent);flex-shrink:0}.city-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.country-badge{font-size:.75rem;font-weight:600;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(88,166,255,.2);border-radius:4px;padding:2px 7px;text-transform:uppercase}.condition-label{color:var(--text-muted);font-size:.9rem;text-transform:capitalize;padding-left:26px}.current-body{display:flex;align-items:flex-start;gap:32px;flex-wrap:wrap}.temp-block{display:flex;align-items:center;gap:0;flex-shrink:0}.temp-main{display:flex;align-items:center}.temp-range{display:flex;gap:10px;font-size:.85rem;font-weight:600;padding-left:4px;margin-top:2px}.weather-icon-lg{width:80px;height:80px;filter:drop-shadow(0 2px 8px rgba(88,166,255,.3))}.temperature{font-size:clamp(3.5rem,10vw,5rem);font-weight:700;letter-spacing:-.04em;line-height:1}.unit{font-size:1.6rem;font-weight:300;color:var(--text-muted);align-self:flex-start;margin-top:10px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;flex:1;min-width:0}.stat-item{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.stat-icon{width:20px;height:20px;stroke:var(--accent);flex-shrink:0}.stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.stat-value{font-size:.95rem;font-weight:600}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:20px;font-weight:600}.forecast-list{display:flex;flex-direction:column;gap:4px}.forecast-day{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:16px;padding:12px 4px;border-bottom:1px solid var(--border);transition:background .1s;border-radius:var(--radius-sm)}.forecast-day:last-child{border-bottom:none}.forecast-day:hover{background:var(--surface-2);padding-left:12px;padding-right:12px}.forecast-date{font-size:.9rem;font-weight:500}.forecast-icon{width:44px;height:44px}.forecast-desc{font-size:.82rem;color:var(--text-muted);text-transform:capitalize}.forecast-temps{display:flex;gap:10px;font-size:.9rem;font-weight:600;text-align:right}.temp-max{color:var(--text)}.temp-min{color:var(--text-muted)}.error-card{display:flex;align-items:flex-start;gap:16px;background:var(--error-bg);border-color:#f851494d}.error-icon{width:24px;height:24px;stroke:var(--error);flex-shrink:0;margin-top:2px}.error-title{font-weight:600;color:var(--error);margin-bottom:4px}.error-body{font-size:.9rem;color:var(--text-muted)}.empty-state{text-align:center;padding:80px 20px;color:var(--text-muted)}.empty-icon{width:72px;height:72px;stroke:var(--border);margin:0 auto 16px;display:block}.empty-state p{font-size:.95rem}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-card{display:flex;flex-direction:column;gap:16px}.skeleton-title{height:20px;width:200px}.skeleton-subtitle{height:14px;width:120px}.skeleton-temp{height:80px;width:180px;border-radius:12px}.skeleton-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.skeleton-stat{height:56px;border-radius:8px}.unit-toggle{margin-left:auto;display:flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.85rem;font-weight:500;padding:5px 12px;cursor:pointer;transition:border-color .15s;line-height:1}.unit-toggle:hover{border-color:var(--accent)}.ut-active{color:var(--accent);font-weight:700}.ut-sep{color:var(--border)}.history-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.date-label{display:flex;align-items:center;gap:8px;cursor:pointer}.date-icon{width:16px;height:16px;stroke:var(--text-muted);flex-shrink:0}.date-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 10px;font-size:.85rem;cursor:pointer;transition:border-color .15s;outline:none}.date-input:focus{border-color:var(--accent)}.date-input:disabled{opacity:.5;cursor:not-allowed}.date-input::-webkit-calendar-picker-indicator{filter:invert(.55) sepia(1) saturate(0);cursor:pointer}.history-prompt{color:var(--text-muted);font-size:.9rem}.history-prompt strong{color:var(--text)}.forecast-limit-note{color:var(--text-muted);font-size:.82rem}.history-loading{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.9rem;padding:8px 0}.history-spinner{border-color:var(--surface-2);border-top-color:var(--accent);width:18px;height:18px}.history-error,.history-results{margin-top:4px}.history-date-label{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:4px}.landing{display:flex;flex-direction:column;min-height:100vh}.landing-main{flex:1;max-width:760px;width:100%;margin:0 auto;padding:80px 20px;text-align:center}.alias-section{margin-top:40px;text-align:left;padding:24px 28px}.landing-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;cursor:pointer;text-align:left;transition:border-color .15s,transform .1s,box-shadow .15s;box-shadow:var(--shadow);color:var(--text)}.landing-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 40px #00000080}.landing-card-icon{width:48px;height:48px;background:var(--accent-glow);border:1px solid rgba(88,166,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.landing-card-icon svg{width:26px;height:26px;stroke:var(--accent)}.landing-card-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.landing-card-desc{font-size:.88rem;color:var(--text-muted);line-height:1.5}.back-btn{margin-left:auto;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;padding:5px 14px;cursor:pointer;transition:border-color .15s,color .15s}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.tetris-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px 80px;position:relative}.tetris-layout{display:flex;gap:20px;align-items:flex-start}.tetris-canvas{border:1px solid var(--border);border-radius:var(--radius-sm);display:block}.tetris-leaderboard{width:200px;padding:16px 18px;align-self:flex-start}.tetris-sidebar{display:flex;flex-direction:column;gap:12px;width:140px}.tetris-info{padding:16px 18px}.tetris-score{font-size:1.6rem;font-weight:700;letter-spacing:-.02em}.tetris-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0d1117bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tetris-overlay-box{text-align:center;padding:40px 48px}.speed-btns{display:flex;flex-direction:column;gap:6px}.speed-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.82rem;padding:6px 10px;cursor:pointer;transition:border-color .15s,color .15s;text-align:left}.speed-btn:hover{border-color:var(--accent);color:var(--text)}.speed-btn-active{border-color:var(--accent)!important;color:var(--accent)!important;font-weight:600}.end-game-btn{width:100%;background:none;border:1px solid rgba(248,81,73,.4);border-radius:var(--radius-sm);color:var(--error);font-size:.85rem;font-weight:500;padding:8px;cursor:pointer;transition:background .15s,border-color .15s}.end-game-btn:hover:not(:disabled){background:var(--error-bg);border-color:var(--error)}.end-game-btn:disabled{opacity:.3;cursor:not-allowed}.tetris-canvas-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.tetris-mobile-score{display:none;gap:20px;font-size:.85rem;color:var(--text-muted)}.tetris-mobile-score strong{color:var(--text)}.touch-controls{display:none;flex-direction:column;gap:6px;width:100%;max-width:320px;padding:0 4px}.touch-row{display:flex;gap:6px}.touch-btn{flex:1;height:52px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1.1rem;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.touch-btn:active{background:var(--border)}.touch-btn-wide{font-size:.82rem}.touch-btn-drop{border-color:#58a6ff66;color:var(--accent)}.touch-btn-full{flex:1;font-size:.82rem}@media(pointer:coarse){.touch-controls,.tetris-mobile-score{display:flex}.tetris-main{padding:8px 12px 0;display:flex;flex-direction:column;height:calc(100dvh - 56px);overflow:hidden}.tetris-layout{flex-direction:column;align-items:center;gap:0;flex:1;overflow:hidden}.tetris-leaderboard,.tetris-sidebar{display:none}.tetris-canvas-wrap{flex:1;gap:6px;justify-content:flex-start;width:100%;overflow:hidden}.wordle-main{padding:12px 12px 16px;gap:12px}.wordle-grid,.wordle-row{gap:4px}.wordle-tile{width:52px;height:52px;font-size:1.5rem}.wordle-key-row{gap:4px}.wordle-key{min-width:30px;max-width:30px;height:50px;font-size:.75rem}.wordle-key-wide{min-width:46px;max-width:46px;font-size:.7rem}}.leaderboard-submit{text-align:left}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left}.leaderboard-table th{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1px solid var(--border)}.leaderboard-table td{padding:8px;border-bottom:1px solid var(--border);color:var(--text)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-highlight td{color:var(--accent);font-weight:600}.wordle-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 16px 32px;position:relative}.wordle-message{position:absolute;top:12px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-weight:700;font-size:.88rem;padding:10px 20px;border-radius:var(--radius-sm);z-index:10;white-space:nowrap;animation:pop-in .1s ease}@keyframes pop-in{0%{transform:translate(-50%) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.wordle-grid{display:flex;flex-direction:column;gap:6px}.wordle-row{display:flex;gap:6px}.wordle-shake{animation:wordle-shake .5s ease}@keyframes wordle-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.wordle-tile{width:58px;height:58px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;text-transform:uppercase;transition:border-color .05s;-webkit-user-select:none;user-select:none}.wordle-tile-filled{border-color:var(--text-muted);animation:tile-pop .1s ease}@keyframes tile-pop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.wordle-tile-flip{animation:tile-flip var(--flip-delay, 0ms) .35s ease forwards;animation-delay:var(--flip-delay, 0ms)}@keyframes tile-flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}.wordle-tile-correct{background:#538d4e;border-color:#538d4e;color:#fff}.wordle-tile-present{background:#b59f3b;border-color:#b59f3b;color:#fff}.wordle-tile-absent{background:var(--surface-2);border-color:var(--surface-2);color:var(--text-muted)}.wordle-keyboard{display:flex;flex-direction:column;gap:8px;width:100%;max-width:500px;margin-top:auto}.wordle-key-row{display:flex;justify-content:center;gap:6px}.wordle-key{height:58px;min-width:43px;flex:1;max-width:43px;background:var(--surface-2);border:none;border-radius:4px;color:var(--text);font-size:.85rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background .1s}.wordle-key:active{filter:brightness(1.2)}.wordle-key-wide{min-width:65px;max-width:65px;font-size:.75rem}.wordle-key-correct{background:#538d4e;color:#fff}.wordle-key-present{background:#b59f3b;color:#fff}.wordle-key-absent{background:#3a3a3c;color:var(--text-muted)}.wordle-icon-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;transition:background .15s}.wordle-icon-btn:hover{background:var(--surface-2)}.wordle-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.wordle-modal{background:var(--surface-1, #1a1a2e);border:1px solid var(--border, #333);border-radius:12px;padding:28px 32px;width:min(380px,90vw);display:flex;flex-direction:column;align-items:center;gap:8px}.wordle-modal-title{font-size:1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.wordle-stats-row{display:flex;gap:16px;justify-content:center;margin-bottom:8px}.wordle-stat{display:flex;flex-direction:column;align-items:center;min-width:52px}.wordle-stat-value{font-size:2rem;font-weight:700;line-height:1}.wordle-stat-label{font-size:.7rem;color:var(--text-muted);text-align:center;margin-top:4px}.wordle-dist-title{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:8px 0 4px;align-self:flex-start}.wordle-dist{width:100%;display:flex;flex-direction:column;gap:4px}.wordle-dist-row{display:flex;align-items:center;gap:6px;font-size:.85rem}.wordle-dist-num{width:12px;text-align:right;color:var(--text-muted)}.wordle-dist-bar-wrap{flex:1}.wordle-dist-bar{background:#538d4e;color:#fff;font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:3px;min-width:20px;text-align:right;transition:width .4s ease}@media(max-width:560px){.app-main{padding:32px 16px 60px}.card{padding:20px}.search-bar{flex-direction:column}.search-btn{width:100%;justify-content:center}.current-body{flex-direction:column;gap:20px}.temp-block{justify-content:center;width:100%}.stats-grid{grid-template-columns:1fr 1fr}.forecast-day{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px 16px}.forecast-icon{grid-row:1 / 3;grid-column:2}.forecast-desc{font-size:.78rem}.forecast-temps{font-size:.85rem}.history-panel-header{flex-direction:column;align-items:flex-start}.panels-row,.landing-cards{grid-template-columns:1fr}.tetris-info{flex:1;min-width:100px}}
