:root{color-scheme:dark;font-family:Manrope,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #06060a;--surface: rgba(20, 22, 28, .4);--surface-solid: #14161c;--accent: #5a8bff;--accent-dim: rgba(90, 139, 255, .18);--text: #f5f6ff;--text-soft: rgba(245, 246, 255, .7);--text-faint: rgba(245, 246, 255, .42);--line: rgba(255, 255, 255, .16);--line-strong: rgba(255, 255, 255, .34);color:var(--text);background:var(--bg)}html[data-theme=light]{color-scheme:light;--bg: #dbe1ec;--surface: rgba(255, 255, 255, .5);--surface-solid: #eef1f7;--text: #191c24;--text-soft: rgba(25, 28, 36, .72);--text-faint: rgba(25, 28, 36, .48);--line: rgba(25, 28, 36, .15);--line-strong: rgba(25, 28, 36, .3)}html[data-theme=light] .overlay{background:linear-gradient(180deg,#ffffff80,#fff0 45%)}html[data-theme=light] .clock{color:#fff;text-shadow:0 2px 32px rgba(0,0,0,.45)}html[data-theme=light] .calendar,html[data-theme=light] .todo,html[data-theme=light] .weather,html[data-theme=light] .widget-card,html[data-theme=light] .apod-card,html[data-theme=light] .widget-add-btn,html[data-theme=light] .widget-edit-btn{background:#ffffff80}html[data-theme=light] .todo-add input,html[data-theme=light] .modal-box input,html[data-theme=light] .weather-edit input,html[data-theme=light] .widget-pick,html[data-theme=light] .clock-field select{background:#ffffff9e}html[data-theme=light] #date-input{color-scheme:light;background:var(--surface)}html[data-theme=light] .modal{background:#f0f3f880}html[data-theme=light] .widget-grip{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2314161c'%3E%3Ccircle cx='9' cy='5' r='1.6'/%3E%3Ccircle cx='15' cy='5' r='1.6'/%3E%3Ccircle cx='9' cy='12' r='1.6'/%3E%3Ccircle cx='15' cy='12' r='1.6'/%3E%3Ccircle cx='9' cy='19' r='1.6'/%3E%3Ccircle cx='15' cy='19' r='1.6'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}#app{position:relative;height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:28px clamp(24px,10vw,140px) 24px;overflow:hidden}.bg{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:background-image .6s ease;animation:bg-fade .9s ease;pointer-events:none}.bg.front,.bg.hide-front{z-index:30}.bg.front{animation:bg-to-front .8s ease}.bg.hide-front{animation:bg-to-back .7s ease}@keyframes bg-to-front{0%{opacity:0}to{opacity:1}}@keyframes bg-to-back{0%{opacity:1}to{opacity:0}}@keyframes bg-fade{0%{opacity:0}to{opacity:1}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#00000073,#0000001a 40%,#0000008c);pointer-events:none}.topbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.date{font-family:Manrope,sans-serif;font-weight:600;font-size:clamp(1rem,2.6vw,1.5rem);letter-spacing:.06em;color:var(--text-soft);text-shadow:0 2px 32px rgba(0,0,0,.35)}.settings-btn{display:grid;place-items:center;flex:none;border:none;border-right:1px solid var(--line);background:transparent;color:var(--text-faint);padding:6px 10px;margin-right:12px;cursor:pointer;transition:color .15s ease}.settings-btn svg{width:16px;height:16px}.settings-btn:hover,.settings-btn[aria-expanded=true]{color:var(--text-soft)}.settings-menu{position:absolute;left:10px;top:calc(100% + 3px);z-index:30;width:224px;padding:12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-solid);box-shadow:0 20px 50px #00000073;animation:fade-in .15s ease}.settings-section+.settings-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.settings-title{margin:0 0 8px;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.settings-options{display:flex;gap:6px}.settings-options button{flex:1;padding:7px 8px;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--text-soft);font-family:Manrope,sans-serif;font-size:.78rem;font-weight:700;transition:background .15s ease,color .15s ease,border-color .15s ease}.settings-options button:hover{background:var(--accent-dim);color:var(--text)}.settings-options button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.settings-swatches{display:flex;flex-wrap:wrap;gap:8px}.settings-swatches .swatch{width:26px;height:26px;padding:0;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.settings-swatches .swatch:hover{transform:scale(1.15)}.settings-swatches .swatch.active{border-color:var(--text)}.settings-custom{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:.78rem;color:var(--text-soft)}.settings-custom input[type=color]{width:34px;height:26px;padding:0;border:1px solid var(--line-strong);border-radius:6px;background:transparent;cursor:pointer}.stage{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;margin:12px 0;animation:rise-in .8s ease both}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.clock{margin:0;font-family:Manrope,sans-serif;font-size:clamp(3.5rem,11vw,7rem);line-height:1;letter-spacing:.04em;color:var(--text);text-shadow:0 2px 32px rgba(0,0,0,.35);cursor:pointer}.clock:hover{opacity:.92}.clock-edit{display:flex;gap:12px;margin:0;padding:10px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 40px #0000004d;animation:fade-in .15s ease}.clock-field{display:flex;flex-direction:column;gap:4px;font-size:.7rem;color:var(--text-soft)}.clock-field select{padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#12141a99;color:var(--text);font:inherit;font-family:inherit;font-size:.82rem;outline:none;color-scheme:dark}.clock-field select:focus{border-color:var(--accent)}.search-wrap{position:relative;width:min(520px,88vw)}.search{display:flex;align-items:center;width:100%;border:1px solid var(--line-strong);border-radius:12px;padding:5px 5px 5px 18px;background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 40px #0000004d;transition:border-color .2s ease,box-shadow .2s ease}.search:focus-within{border-color:var(--accent);box-shadow:0 12px 40px #0000004d,0 0 0 3px #5a8bff24}.engine{position:relative;display:flex;align-items:center}.engine-btn{display:grid;place-items:center;border:none;border-right:1px solid var(--line);outline:none;background:transparent;color:var(--text-faint);font:inherit;font-family:inherit;font-size:.78rem;padding:6px 10px;margin-right:12px;cursor:pointer;transition:color .15s ease}.engine-btn:hover,.engine-btn[aria-expanded=true]{color:var(--text-soft)}.engine-icon{display:grid;place-items:center;width:16px;height:16px;border-radius:4px;overflow:hidden}.engine-icon img{width:16px;height:16px}.search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-family:inherit}.search input::placeholder{color:var(--text-faint)}.search button{display:grid;place-items:center;width:40px;height:40px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-family:Manrope,sans-serif;font-weight:700;transition:filter .15s ease,transform .15s ease}.search-icon{width:18px;height:18px}.search button:hover{filter:brightness(1.1)}.lucky{margin-top:0;padding:8px 18px;border:none;border-radius:8px;background:transparent;color:var(--text-soft);font-family:Manrope,sans-serif;font-weight:600;font-size:.85rem;transition:background .15s ease,color .15s ease}.lucky:hover{background:var(--accent-dim);color:var(--text)}.suggest,.engine-menu{position:absolute;top:calc(100% + 8px);border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-solid);box-shadow:0 20px 50px #00000073;overflow:hidden;animation:fade-in .15s ease}.suggest{left:0;right:0;z-index:20}.engine-menu{left:18px;top:calc(100% + 3px);z-index:30;min-width:190px;width:max-content}.suggest ul,.engine-menu ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none}.suggest li,.engine-menu li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.85rem;color:var(--text-soft);cursor:pointer;transition:background .1s ease,color .1s ease}.suggest li:before{content:"";flex:none;width:14px;height:14px;background-color:var(--text-faint);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center / contain no-repeat;transition:background-color .15s ease}.suggest li.history:before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") center / contain no-repeat}.suggest li.suggest-label{padding:6px 12px 2px;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);cursor:default;pointer-events:none}.suggest li.suggest-label:before{display:none}.suggest li.suggest-clear{justify-content:center;padding:6px 12px;font-size:.72rem;color:var(--text-faint)}.suggest li.suggest-clear:before{width:13px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3C/svg%3E") center / contain no-repeat}.suggest li:hover,.suggest li.active,.engine-menu li:hover,.engine-menu li.active{background:var(--accent-dim);color:var(--text)}.suggest li:hover:before,.suggest li.active:before{background-color:var(--text)}.engine-menu li:before{display:none}.engine-menu li.active:after{content:"✓";margin-left:auto;font-size:.75rem}.engine-menu li.engine-divider{height:1px;margin:4px 6px;padding:0;background:var(--line);border-radius:0;cursor:default;pointer-events:none}.engine-menu li.engine-divider:before,.engine-menu li.engine-divider:after{display:none}.engine-menu li.engine-add{color:var(--accent);font-weight:700}.engine-menu li.engine-add:hover{color:var(--text)}.engine-remove{flex:none;margin-left:auto;padding:0 2px;border:none;background:none;color:var(--text-faint);font-size:.85rem;line-height:1;opacity:0;transition:opacity .15s ease,color .15s ease}.engine-menu li:hover .engine-remove{opacity:1}.engine-remove:hover{color:#ff5252}.engine-hint{margin:-4px 0 0;font-size:.72rem;color:var(--text-faint)}.search button:active{transform:scale(.97)}.links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:0}.link,.link-add{display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;text-decoration:none}.link-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:var(--surface);border:1px solid var(--line-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;transition:transform .15s ease,border-color .15s ease}.link-img{width:100%;height:100%;object-fit:contain;padding:8px}.link-letter{display:none;font-family:Manrope,sans-serif;font-weight:700;font-size:1.2rem;color:var(--accent)}.link-letter.show{display:block}.link:hover .link-icon{transform:translateY(-3px);border-color:var(--accent)}.link-name{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:var(--text-soft)}.link{position:relative}.link-remove{position:absolute;top:-6px;right:2px;display:grid;place-items:center;width:18px;height:18px;border:none;border-radius:6px;background:#ff5252e6;color:#fff;font-size:.85rem;line-height:1;opacity:0;transition:opacity .15s ease}.link:hover .link-remove{opacity:1}.link-add{background:none;border:none}.link-add:before{content:"+";display:grid;place-items:center;width:46px;height:46px;border-radius:10px;border:1px dashed var(--line-strong);color:var(--text-faint);font-family:Manrope,sans-serif;font-size:1.4rem;font-weight:700;transition:transform .15s ease,border-color .15s ease,color .15s ease}.link-add:hover:before{transform:translateY(-3px);border-color:var(--accent);color:var(--text)}.link-add span{font-size:.7rem;color:var(--text-faint)}.widgets{position:fixed;top:0;right:clamp(24px,10vw,140px);bottom:0;z-index:3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;width:fit-content;max-height:100vh;overflow-y:auto;gap:12px;padding:28px 0;scrollbar-width:none;-ms-overflow-style:none}.widgets::-webkit-scrollbar{display:none;width:0;height:0}.calendar{width:224px;padding:16px 16px 14px;border:1px solid var(--line);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px #00000059;animation:fade-in .8s .2s ease both}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.calendar-title{flex:1;margin:0;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:700;text-align:center}.calendar-nav{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text-soft);width:26px;height:26px;font-size:.85rem;line-height:1;transition:background .15s ease,color .15s ease}.calendar-nav:hover{background:var(--accent-dim);color:var(--text)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekdays span{padding:4px 0;text-align:center;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.calendar-grid span{display:grid;place-items:center;height:26px;font-size:.78rem;color:var(--text-soft);border-radius:8px}.calendar-grid span.today{background:var(--accent);color:#fff;font-weight:700}.overlays{position:fixed;top:0;left:clamp(24px,10vw,140px);bottom:0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:fit-content;max-height:100vh;overflow-y:auto;gap:12px;padding:28px 0;scrollbar-width:none;-ms-overflow-style:none}.overlays::-webkit-scrollbar{display:none;width:0;height:0}.widget-card{width:224px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px #00000059;animation:fade-in .8s .3s ease both}.widget-title{margin:0 0 8px;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.iss-line{margin:0;font-size:.85rem;color:var(--text-soft)}.iss-coords{margin:4px 0 0;font-size:.72rem;color:var(--text-faint)}.moon{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:.8rem;color:var(--text-soft)}.recents-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.recents-list a{display:block;color:var(--text-soft);font-size:.8rem;line-height:1.4;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.recents-list a:hover{color:var(--accent)}.recents-empty{font-size:.8rem;color:var(--text-faint)}.news-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.news-item a{display:block;color:var(--text-soft);font-size:.8rem;line-height:1.45;text-decoration:none;transition:color .15s ease}.news-item a:hover{color:var(--accent)}.news-empty{font-size:.8rem;color:var(--text-faint)}.todo{width:224px;padding:16px 16px 14px;border:1px solid var(--line);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px #00000059;animation:fade-in .8s .3s ease both}.todo-title{margin:0 0 14px;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:700;text-align:center}.todo-list{display:flex;flex-direction:column;gap:6px;max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.todo-empty{padding:6px 0;font-size:.8rem;color:var(--text-faint);text-align:center}.todo-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-soft)}.todo-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;place-items:center;flex:none;width:16px;height:16px;margin:0;border:1px solid var(--line-strong);border-radius:4px;background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.todo-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.todo-item input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:.68rem;line-height:1}.todo-label{flex:1;word-break:break-word}.todo-item.done .todo-label{color:var(--text-faint);text-decoration:line-through}.todo-due{flex:none;padding:2px 8px;border:1px solid var(--line-strong);border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.todo-due.due-today{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.todo-due.due-overdue{color:#ff7a7a;border-color:#ff525280;background:#ff52521f}.todo-del{flex:none;padding:0;border:none;background:none;color:var(--text-faint);font-size:.9rem;line-height:1;opacity:0;transition:opacity .15s ease,color .15s ease}.todo-item:hover .todo-del{opacity:1}.todo-del:hover{color:#ff5252}.todo-add{margin-top:10px}.todo-add input{width:100%;padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#12141a99;color:var(--text);font:inherit;font-family:inherit;font-size:.8rem;outline:none}.todo-add input:focus{border-color:var(--accent)}[data-widget]{position:relative}.widget-grip{position:absolute;top:8px;left:8px;z-index:5;width:22px;height:22px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f5f6ff'%3E%3Ccircle cx='9' cy='5' r='1.6'/%3E%3Ccircle cx='15' cy='5' r='1.6'/%3E%3Ccircle cx='9' cy='12' r='1.6'/%3E%3Ccircle cx='15' cy='12' r='1.6'/%3E%3Ccircle cx='9' cy='19' r='1.6'/%3E%3Ccircle cx='15' cy='19' r='1.6'/%3E%3C/svg%3E") center / 14px no-repeat;opacity:0;pointer-events:none;cursor:grab;touch-action:none;transition:opacity .15s ease}[data-widget]:hover .widget-grip,body.widgets-editing .widget-grip{opacity:1;pointer-events:auto}.widget-grip:active{cursor:grabbing}[data-widget].dragging{z-index:100;cursor:grabbing;box-shadow:0 24px 60px #0000008c}[data-widget].drag-over{border-color:var(--accent);box-shadow:0 0 0 3px #5a8bff59}.widget-x{position:absolute;top:8px;right:8px;z-index:5;display:grid;place-items:center;width:22px;height:22px;border:none;border-radius:6px;background:#ff5252eb;color:#fff;font-size:.95rem;line-height:1;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}body.widgets-editing [data-widget] .widget-x{opacity:1;pointer-events:auto}body.widgets-editing [data-widget] .widget-x:hover{transform:scale(1.12)}.widgets-actions{display:flex;gap:8px;width:224px}.widget-add-btn{flex:1;padding:12px 10px;border:1px dashed var(--line-strong);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-soft);font-family:Manrope,sans-serif;font-weight:700;font-size:.85rem;transition:border-color .15s ease,color .15s ease,background .15s ease}.widget-add-btn:hover{border-color:var(--accent);color:var(--text);background:var(--accent-dim)}.widget-edit-btn{flex:none;width:44px;border:1px solid var(--line-strong);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-soft);font-size:1rem;transition:border-color .15s ease,color .15s ease,background .15s ease}.widget-edit-btn:hover,.widget-edit-btn.active{border-color:var(--accent);color:var(--text);background:var(--accent-dim)}.widget-modal-box{width:min(400px,88vw)}.widget-picker{display:flex;flex-direction:column;gap:8px}.widget-pick{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#12141a99}.widget-pick-info{display:flex;flex-direction:column;min-width:0}.widget-pick-name{font-size:.85rem;font-weight:700;color:var(--text)}.widget-pick-desc{font-size:.7rem;color:var(--text-faint)}.widget-pick button{flex:none;padding:6px 14px;border:1px solid var(--line-strong);border-radius:8px;font-family:Manrope,sans-serif;font-weight:700;font-size:.75rem;transition:background .15s ease,color .15s ease,filter .15s ease}.widget-pick .pick-add{background:var(--accent);border-color:var(--accent);color:#fff}.widget-pick .pick-add:hover{filter:brightness(1.1)}.widget-pick .pick-remove{background:#ff52521f;border-color:#ff525280;color:#ff7a7a}.widget-pick .pick-remove:hover{background:#ff525238}.widget-pick-empty{margin:0;text-align:center;font-size:.8rem;color:var(--text-faint)}.weather{width:224px;padding:16px 16px 14px;border:1px solid var(--line);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px #00000059;text-align:center;animation:fade-in .8s .3s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.weather-city{display:block;max-width:100%;margin:0 auto 6px;padding:0 0 2px;border:none;border-bottom:1px dashed transparent;background:none;color:var(--text-soft);font-family:Manrope,sans-serif;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.weather-city:hover{color:var(--text);border-bottom-color:var(--line-strong)}.weather-edit input{width:100%;margin-bottom:8px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:8px;background:#12141a99;color:var(--text);font:inherit;font-family:inherit;font-size:.78rem;text-align:center;outline:none}.weather-edit input:focus{border-color:var(--accent)}.weather-main{display:flex;align-items:center;justify-content:center;gap:8px}.weather-temp{font-family:Manrope,sans-serif;font-size:2.2rem;line-height:1}.weather-icon{font-size:1.6rem;line-height:1}.weather-desc{margin-top:6px;font-size:.82rem;color:var(--text-soft)}.weather-meta{margin-top:10px;font-size:.7rem;color:var(--text-faint)}.apod{position:relative;z-index:2;display:flex;justify-content:center}.apod-card{width:min(680px,100%);padding:18px 22px 14px;border:1px solid var(--line);border-radius:14px;background:#080a0e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px #00000059;animation:rise-in .8s .15s ease both}.apod-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.apod-title{margin:0;font-family:Manrope,sans-serif;font-weight:700;font-size:clamp(1rem,2.2vw,1.4rem);letter-spacing:.01em;line-height:1.25;color:var(--text)}.fav{flex:none;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);width:38px;height:38px;font-size:1.1rem;color:#ffd166;transition:transform .15s ease,background .15s ease}.fav:hover{transform:scale(1.08);background:var(--accent-dim)}.apod-explanation{margin:14px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;line-height:1.6;color:var(--text-soft)}.apod-explanation.open{-webkit-line-clamp:unset}.more{margin:6px 0 0;padding:0;border:none;background:none;font-size:.78rem;color:var(--accent)}.more:hover{text-decoration:underline}.apod-media{margin-top:14px}.apod-media img,.apod-media video,.apod-media iframe{width:100%;border-radius:8px;border:1px solid var(--line)}.apod-media iframe{aspect-ratio:16 / 9}.apod-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.action{border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);width:40px;height:40px;font-size:1.05rem;color:var(--text);transition:transform .15s ease,background .15s ease,opacity .15s ease}.action:hover:not(:disabled){transform:translateY(-2px);background:var(--accent-dim)}.action:disabled{opacity:.35;cursor:default}#date-input{border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;background:var(--surface);color:var(--text);font:inherit;font-family:inherit;color-scheme:dark}.credit{margin:14px 0 0;text-align:center;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}[hidden]{display:none!important}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0405088c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-box{display:flex;flex-direction:column;gap:12px;width:min(360px,88vw);padding:26px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-solid);box-shadow:0 30px 90px #0009;animation:rise-in .25s ease both}.modal-box h2{margin:0;font-family:Manrope,sans-serif;font-weight:800;font-size:1.15rem;text-align:center}.modal-box input{padding:11px 14px;border:1px solid var(--line-strong);border-radius:8px;background:#12141a99;color:var(--text);font:inherit;font-family:inherit;outline:none}.modal-box input:focus{border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions button{padding:9px 18px;border-radius:8px;border:1px solid var(--line-strong);background:var(--accent-dim);font-family:Manrope,sans-serif;font-weight:700;transition:filter .15s ease}.modal-actions button:hover{filter:brightness(1.15)}@media(max-width:1100px){.overlays{display:none}}@media(max-width:760px){.widgets{display:none}}@media(max-width:600px){#app{padding:20px 16px 18px}.topbar{font-size:.8rem}.apod-card{padding:16px 16px 12px}}
