: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:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);background-size:cover;background-position:center;transition:filter .3s ease,opacity .8s ease;z-index:-2;opacity:0}.background.loaded{opacity:1}.background-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);background-size:cover;background-position:center;z-index:-1;opacity:0;transition:opacity 1.2s ease}.background.blur,.background-overlay.blur{filter:blur(20px)}.island{display:none;position:fixed;top:20px;left:50%;transform:translate(-50%);background:#1c1c1ed1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding:0;border-radius:28px;font-size:14px;z-index:10;white-space:nowrap;border:.8px solid rgba(255,255,255,.08);box-shadow:0 4px 12px #0006;overflow:hidden;transition:width .35s cubic-bezier(.25,.46,.45,.94),height .35s cubic-bezier(.25,.46,.45,.94),border-radius .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s ease}.island.expanded{border-radius:20px;box-shadow:0 8px 24px #0000008c}.island-content{display:flex;align-items:center;gap:8px;padding:8px 20px;opacity:1;transform:scale(1);transition:opacity .25s ease,transform .25s ease}.island-content.switching{opacity:0;transform:scale(.92)}.island .countdown-label{color:#fff9}.island .countdown-days{font-weight:600;font-variant-numeric:tabular-nums}.island .countdown-detail{display:flex;flex-direction:column;gap:4px;padding:0 20px;border-top:.8px solid transparent;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .35s cubic-bezier(.25,.46,.45,.94),padding .35s cubic-bezier(.25,.46,.45,.94),border-color .3s ease}.island.expanded .countdown-detail{opacity:1;max-height:120px;padding:12px 20px;border-color:#ffffff0f}.island .detail-row{display:flex;justify-content:space-between;font-size:13px;color:#ffffffb3}.island .detail-row .detail-value{color:#ffffffe6;font-variant-numeric:tabular-nums}@media (min-width: 768px){.island.visible{display:block;animation:island-entrance .85s cubic-bezier(.175,.885,.32,1.15) both;transform-origin:top center}.island.visible .island-content{animation:island-content-fade .85s cubic-bezier(.25,.46,.45,.94) both}}@keyframes island-entrance{0%{transform:translate(-50%) scale(.05);opacity:0;filter:blur(4px)}15%{transform:translate(-50%) scale(.3);opacity:.6;filter:blur(2px)}35%{transform:translate(-50%) scale(.2,1.25);opacity:1;filter:blur(0)}60%{transform:translate(-50%) scale(1.08,.85)}80%{transform:translate(-50%) scale(.97,1.03)}to{transform:translate(-50%) scale(1)}}@keyframes island-content-fade{0%{opacity:0;transform:scale(.85)}50%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.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;position:relative;padding:10px 20px;overflow:hidden}.clock.pomodoro{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:32px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:visible}.clock.pomodoro .pomodoro-time,.clock.pomodoro .clock-sub{display:block;text-align:center}.clock.switching{overflow:hidden}.clock-old,.clock-new{display:inline-flex;align-items:center;justify-content:center}.clock-old{opacity:1}.clock-new{position:absolute;top:10px;left:20px;right:20px;bottom:10px;display:inline-block;opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%)}.pomodoro-badge{position:absolute;top:0;left:0;width:28px;height:28px;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}.clock-new-time{position:absolute;top:0;left:0;right:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%)}.clock.switching .clock-new,.clock.switching .clock-new-time{animation:reveal-right .8s ease-in-out forwards}.clock-new .pomodoro-time,.clock-new .clock-sub{display:block;text-align:center}.clock.switching .clock-old{animation:fade-out-left .8s ease-in-out forwards}.clock.switching .clock-new{animation:reveal-right .8s ease-in-out forwards}.clock.switching:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(-45deg,transparent 0%,rgba(255,255,255,.1) 42%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.1) 58%,transparent 100%);pointer-events:none;animation:sweep-light .8s ease-in-out forwards;z-index:2}@keyframes fade-out-left{0%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%)}}@keyframes reveal-right{0%{opacity:1;clip-path:polygon(0 0,0 0,0 100%,0 100%)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes sweep-light{0%{clip-path:polygon(0 0,3% 0,3% 100%,0 100%)}to{clip-path:polygon(97% 0,100% 0,100% 100%,97% 100%)}}.clock:after{content:"";position:absolute;top:-50%;left:-50%;width:100%;height:200%;background:repeating-linear-gradient(-45deg,transparent 0px,transparent 8px,rgba(255,255,255,.7) 8px,rgba(255,255,255,.7) 12px);pointer-events:none;opacity:0}.clock:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,255,255,.3) 0%,transparent 70%);pointer-events:none;opacity:0;z-index:1}.clock.switching:before{animation:clock-glow .6s ease-out .2s forwards}@keyframes clock-sweep{0%{transform:translate(-80%,-80%);opacity:1}to{transform:translate(80%,80%);opacity:1}}@keyframes clock-glow{0%{opacity:0;transform:scale(.8)}50%{opacity:.4}to{opacity:0;transform:scale(1.2)}}.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-menu{position:fixed;top:68px;right:72px;background:var(--bg-primary);border-radius:12px;box-shadow:0 4px 24px #0003;padding:8px 0;min-width:160px;z-index:100;display:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.user-menu.visible{display:block;animation:menu-fade-in .2s ease}@keyframes menu-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-item{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;color:var(--text-primary);transition:background .2s}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item svg{opacity:.7}.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}.turnstile-container{margin:12px 0;min-height:65px;display:flex;justify-content:center}.clock:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(-45deg,transparent 0%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.3) 60%,transparent 100%);pointer-events:none;opacity:0}.clock:before{content:"";position:absolute;top:50%;left:50%;width:120%;height:120%;background:radial-gradient(circle at center,rgba(255,255,255,.4) 0%,transparent 60%);pointer-events:none;opacity:0;z-index:1;transform:translate(-50%,-50%) scale(.5)}.clock.switching:after{animation:clock-sweep .45s ease-in-out forwards}.clock.switching:before{animation:clock-glow .5s ease-out .15s forwards}@keyframes clock-sweep{0%{left:-100%;opacity:1}to{left:150%;opacity:1}}@keyframes clock-glow{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}.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: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}.pomodoro-badge.paused{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);box-shadow:0 4px 12px #f59e0b40;animation:pomodoro-pulse-paused 2s infinite ease-in-out}.pomodoro-badge.paused:hover{background:#f59e0b40;border-color:#f59e0b80;box-shadow:0 6px 16px #f59e0b66}@keyframes pomodoro-pulse-paused{0%{box-shadow:0 4px 12px #f59e0b40,0 0 #f59e0b33}70%{box-shadow:0 4px 12px #f59e0b40,0 0 0 6px #f59e0b00}to{box-shadow:0 4px 12px #f59e0b40,0 0 #f59e0b00}}.clock.pomodoro.paused .pomodoro-time{color:#f59e0b}.pomodoro-pause-icon{font-size:16px;margin-left:4px;opacity:.8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
