:root{--bg-primary: rgba(255, 255, 255, .9);--bg-secondary: #f0f0f0;--bg-hover: #e0e0e0;--text-primary: #333;--text-secondary: #666;--accent: #0078d4;--suggestion-hover: #f5f5f5;--modal-bg: rgba(0, 0, 0, .5);--modal-content-bg: white;--input-border: #ddd;--cancel-bg: #f0f0f0}[data-theme=dark]{--bg-primary: rgba(30, 30, 30, .9);--bg-secondary: #333;--bg-hover: #444;--text-primary: #eee;--text-secondary: #aaa;--accent: #4da6ff;--suggestion-hover: #3a3a3a;--modal-bg: rgba(0, 0, 0, .7);--modal-content-bg: #2a2a2a;--input-border: #555;--cancel-bg: #444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow:hidden}.background{position:fixed;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;transition:filter .3s ease,opacity .8s ease;z-index:-1;background-color:#1a1a2e;opacity:0}.background.loaded{opacity:1}.background.blur{filter:blur(20px)}.weather{position:fixed;top:20px;left:20px;color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.4);-webkit-user-select:none;user-select:none;z-index:10;display:flex;align-items:center;gap:8px}.weather-temp{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.weather-desc{font-size:14px;opacity:.85}.weather-loc{font-size:12px;opacity:.65}.theme-btn{position:fixed;top:20px;right:20px;width:40px;height:40px;border:none;border-radius:50%;background:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);box-shadow:0 2px 8px #0003;transition:all .2s;z-index:10}.theme-btn:hover{background:var(--bg-hover);transform:scale(1.05)}.theme-btn .icon-sun,.theme-btn .icon-moon,.theme-btn .icon-auto{display:none}.theme-auto .icon-auto,.theme-light .icon-sun,.theme-dark .icon-moon{display:block}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.clock{font-size:clamp(48px,10vw,80px);font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);letter-spacing:2px;margin-bottom:32px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.search-section{width:100%;max-width:600px;margin-bottom:60px;position:relative}.search-box{background:var(--bg-primary);border-radius:24px;padding:16px 24px;box-shadow:0 4px 24px #0003;transition:border-radius .15s ease}.search-box.has-suggestions{border-radius:24px 24px 0 0}.engine-selector{display:flex;gap:8px;margin-bottom:12px}.engine-btn{padding:6px 16px;border:none;background:var(--bg-secondary);border-radius:16px;cursor:pointer;font-size:14px;transition:all .2s;color:var(--text-primary)}.engine-btn:hover{background:var(--bg-hover)}.engine-btn.active{background:var(--accent);color:#fff}.input-wrapper{display:flex;align-items:center;gap:12px}#searchInput{flex:1;border:none;outline:none;font-size:16px;background:transparent;color:var(--text-primary)}#searchInput::placeholder{color:var(--text-secondary)}.search-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px}.search-btn:hover{color:var(--text-primary)}.suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border-radius:0 0 24px 24px;box-shadow:0 4px 24px #0003;display:none;z-index:10;overflow:hidden}.suggestions.visible{display:block}.suggestion-item{padding:12px 24px;cursor:pointer;transition:background .2s;color:var(--text-primary)}.suggestion-item:hover{background:var(--suggestion-hover)}.shortcuts-section{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:600px;padding-bottom:48px}.shortcuts-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.shortcut-item{position:relative;width:clamp(68px,12vw,96px);cursor:grab;transition:transform .2s,opacity .2s}.shortcut-item.dragging{opacity:.4;transform:scale(.95)}.shortcut-item.drag-over{transform:scale(1.08)}.shortcut-link{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-decoration:none;color:#fff}.shortcut-icon{width:clamp(44px,8vw,64px);height:clamp(44px,8vw,64px);background:var(--bg-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,3vw,28px);box-shadow:0 2px 8px #0003;color:var(--text-primary);overflow:hidden}.shortcut-icon img{width:60%;height:60%;border-radius:4px}.shortcut-name{font-size:12px;text-shadow:0 1px 3px rgba(0,0,0,.5);text-align:center;word-break:break-all}.shortcut-delete{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#ff4757;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:all .15s ease;z-index:5}.shortcut-item:hover .shortcut-delete{opacity:1;transform:scale(1)}.shortcut-delete:hover{background:#ff6b81;transform:scale(1.1)!important}.add-shortcut-btn{width:clamp(44px,8vw,64px);height:clamp(44px,8vw,64px);background:#ffffff4d;border:2px dashed rgba(255,255,255,.6);border-radius:50%;cursor:pointer;font-size:clamp(18px,3vw,28px);color:#fff;transition:all .2s}.add-shortcut-btn:hover{background:#ffffff80}.wallpaper-info{position:fixed;bottom:16px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:13px;text-shadow:0 1px 4px rgba(0,0,0,.5);text-align:center;max-width:80%;pointer-events:none;-webkit-user-select:none;user-select:none}.user-btn{position:fixed;top:20px;right:72px;height:40px;padding:0 16px;border:none;border-radius:20px;background:var(--bg-primary);cursor:pointer;font-size:14px;color:var(--text-primary);box-shadow:0 2px 8px #0003;transition:all .2s;z-index:10;display:flex;align-items:center;gap:6px}.user-btn:hover{background:var(--bg-hover);transform:scale(1.05)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.login-error{color:#ff4757;font-size:13px;min-height:18px;margin-bottom:4px}.clock.pomodoro{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.pomodoro-time{font-size:clamp(48px,10vw,80px);font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);letter-spacing:2px;font-variant-numeric:tabular-nums;line-height:1}.pomodoro-badge{position:absolute;top:-10px;left:-24px;width:32px;height:32px;background:#ff475726;border:1px solid rgba(255,71,87,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #ff475740;transition:all .3s ease;animation:pomodoro-pulse 2s infinite ease-in-out}.pomodoro-badge:hover{transform:scale(1.1);background:#ff475740;border-color:#ff475780;box-shadow:0 6px 16px #ff475766}.pomodoro-badge svg{width:22px;height:22px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}@keyframes pomodoro-pulse{0%{box-shadow:0 4px 12px #ff475740,0 0 #ff475733}70%{box-shadow:0 4px 12px #ff475740,0 0 0 6px #ff475700}to{box-shadow:0 4px 12px #ff475740,0 0 #ff475700}}.clock-sub{display:block;text-align:center;font-size:14px;font-weight:400;opacity:.8;margin-top:4px;letter-spacing:normal;animation:none;text-shadow:none}.toast{position:fixed;top:72px;right:20px;padding:10px 20px;border-radius:8px;font-size:14px;color:#fff;box-shadow:0 4px 12px #0000004d;transform:translate(120%);transition:transform .3s ease;z-index:200;pointer-events:none}.toast.visible{transform:translate(0)}.toast.success{background:#2ed573}.toast.error{background:#ff4757}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-bg);display:none;align-items:center;justify-content:center;z-index:100}.modal.visible{display:flex}.modal-content{background:var(--modal-content-bg);padding:24px;border-radius:12px;width:90%;max-width:400px;color:var(--text-primary)}.modal-content h3{margin-bottom:16px}.modal-content input{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:8px;margin-bottom:12px;font-size:14px;background:transparent;color:var(--text-primary)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{padding:8px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px}#cancelBtn{background:var(--cancel-bg);color:var(--text-primary)}#saveBtn{background:var(--accent);color:#fff}
