@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg-primary: #060b18;--bg-secondary: #0a1020;--bg-card: #0d1526;--bg-card-hover: #111d35;--bg-input: #0a1228;--accent: #00e5a0;--accent-blue: #0077ff;--accent-dim: rgba(0, 229, 160, .12);--accent-glow: 0 0 20px rgba(0, 229, 160, .1);--text-primary: #e2e8f0;--text-secondary: #7b8ca8;--text-muted: #3d4f6a;--border: rgba(255, 255, 255, .06);--border-accent: rgba(0, 229, 160, .25);--radius: 14px;--radius-sm: 8px;--gap: 20px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=light]{--bg-primary: #fdf8f1;--bg-secondary: #f7eee2;--bg-card: #ffffff;--bg-card-hover: #ffffff;--bg-input: #fcf6ef;--accent: #ff9f67;--accent-blue: #6fb3ff;--accent-dim: rgba(255, 159, 103, .1);--accent-glow: 0 4px 20px rgba(255, 159, 103, .1);--text-primary: #4a3e31;--text-secondary: #8c7b6a;--text-muted: #bdaf9f;--border: rgba(74, 62, 49, .08);--border-accent: rgba(255, 159, 103, .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;width:100%;height:100%;opacity:.8;transition:var(--transition)}:root[data-theme=light] #bg-canvas{opacity:.3;filter:brightness(1.2)}.dashboard{position:relative;z-index:1;display:grid;grid-template-columns:1.6fr 1fr;gap:var(--gap);max-width:1500px;margin:0 auto;padding:60px var(--gap) 16px;height:100vh;align-content:center;overflow:hidden}.dashboard-left,.dashboard-right{display:grid;grid-template-columns:1fr;gap:16px;align-content:start}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:var(--transition);opacity:0;transform:translateY(16px);animation:cardFadeIn .5s ease forwards}.card:hover{border-color:var(--border-accent);box-shadow:var(--accent-glow)}@keyframes cardFadeIn{to{opacity:1;transform:translateY(0)}}.card:nth-child(1){animation-delay:0s}.card:nth-child(2){animation-delay:.08s}.card:nth-child(3){animation-delay:.16s}.dashboard-left .card:nth-child(1){animation-delay:0s}.dashboard-left .card:nth-child(2){animation-delay:.1s}.dashboard-left .bottom-row .card:nth-child(1){animation-delay:.2s}.dashboard-left .bottom-row .card:nth-child(2){animation-delay:.25s}.dashboard-right .card:nth-child(1){animation-delay:.05s}.dashboard-right .card:nth-child(2){animation-delay:.15s}.dashboard-right .card:nth-child(3){animation-delay:.3s}.card-title{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary)}.bottom-row{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--gap)}@media(max-width:1100px){.dashboard{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible;padding:40px var(--gap) 40px;align-content:start}.dashboard-right{grid-template-columns:1fr 1fr;gap:var(--gap)}.dashboard-right .card-calendar{grid-column:1 / -1}}@media(max-width:768px){:root{--gap: 16px}.dashboard{padding:30px var(--gap) 40px;gap:16px}.dashboard-right,.bottom-row{grid-template-columns:1fr}.card{padding:16px}}@media(max-width:480px){.dashboard{padding:20px 12px 40px;gap:12px}.card{padding:14px}}.greeting-content{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.greeting-hello{display:flex;animation:greetingPulse 4s ease-in-out infinite;align-items:center;gap:8px;margin-bottom:4px}.greeting-emoji{font-size:20px}.greeting-text{font-size:14px;color:var(--text-secondary);font-weight:400}.greeting-day{font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--text-primary)}.greeting-date{font-size:12px;color:var(--text-secondary);font-weight:500;letter-spacing:1px;margin-top:2px}@keyframes greetingPulse{0%,to{opacity:1}50%{opacity:.25}}.year-progress{min-width:200px;padding-top:4px}.year-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.year-progress-label{font-size:11px;font-weight:600;letter-spacing:1.5px;color:var(--text-secondary)}.year-progress-value{font-size:13px;font-weight:600;color:var(--accent);font-family:var(--font-mono)}.year-progress-bar{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.year-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#00c4ff);border-radius:3px;transition:width 1.2s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #00e5a04d}@media(max-width:768px){.greeting-content{flex-direction:column;gap:16px}.greeting-day{font-size:36px}.year-progress{min-width:unset;width:100%}}@media(max-width:480px){.greeting-day{font-size:32px}.greeting-text{font-size:13px}}.clock-display{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 0 16px}.clock-unit{display:flex;flex-direction:column;align-items:center;gap:10px}.clock-digit{position:relative;font-family:var(--font-mono);font-size:72px;font-weight:700;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;padding:12px 14px;min-width:100px;height:125px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 10px 30px #0006;overflow:hidden;transition:var(--transition)}.clock-digit:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#ffffff0d;box-shadow:0 0 10px #00000080;z-index:2}.clock-separator{display:flex;flex-direction:column;gap:12px;margin-top:-20px}.clock-separator:before,.clock-separator:after{content:"";width:10px;height:10px;background:var(--text-muted);border-radius:3px;opacity:.6}.clock-label{font-size:10px;font-weight:700;letter-spacing:3px;color:var(--text-muted);text-transform:uppercase}.clock-quote{text-align:center;padding:16px 24px 4px;border-top:1px solid var(--border);margin-top:8px}.quote-icon{color:var(--accent);font-size:18px;margin-right:8px;opacity:.7}.quote-text{font-size:14px;color:var(--text-secondary);font-style:italic;font-weight:300}@media(max-width:768px){.clock-digit{font-size:42px;min-width:70px;height:90px;padding:6px 12px}.clock-separator{gap:8px;margin-top:-15px}.clock-separator:before,.clock-separator:after{width:8px;height:8px}.clock-display{gap:8px;padding:20px 0 12px}}@media(max-width:480px){.clock-digit{font-size:32px;min-width:60px;height:75px;border-radius:10px}.clock-label{font-size:8px;letter-spacing:1.5px}.clock-separator{gap:6px}.clock-separator:before,.clock-separator:after{width:6px;height:6px}}.focus-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.focus-add-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:500;padding:5px 14px;border-radius:6px;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.focus-add-btn:hover{border-color:var(--accent);color:var(--accent)}.focus-input-wrap{margin-bottom:12px}.focus-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:10px 14px;font-family:var(--font-body);outline:none;transition:var(--transition)}.focus-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.focus-list{list-style:none;display:flex;flex-direction:column;gap:2px}.focus-item{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:var(--radius-sm);transition:var(--transition);cursor:default;position:relative}.focus-item:hover{background:#ffffff05}.focus-item.dragging{opacity:.4}.focus-checkbox-label{position:relative;display:flex;align-items:center;cursor:pointer}.focus-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--text-muted);border-radius:4px;cursor:pointer;transition:var(--transition);background:transparent}.focus-checkbox:checked{background:var(--accent);border-color:var(--accent);animation:checkBounce .3s ease}.focus-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--bg-primary);font-size:12px;font-weight:700}@keyframes checkBounce{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.focus-text{flex:1;font-size:14px;color:var(--text-primary);transition:var(--transition)}.focus-item.done .focus-text{text-decoration:line-through;color:var(--text-muted)}.focus-delete{opacity:0;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:0 4px;transition:var(--transition)}.focus-item:hover .focus-delete{opacity:1}.focus-delete:hover{color:#ff6b6b}.focus-drag-handle{color:var(--text-muted);font-size:12px;cursor:grab;opacity:0;transition:var(--transition);-webkit-user-select:none;user-select:none;letter-spacing:-2px}.focus-item:hover .focus-drag-handle{opacity:.6}.music-header{margin-bottom:14px}.music-url-wrap{display:flex;gap:8px;margin-bottom:14px}.music-url-input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;padding:9px 12px;font-family:var(--font-body);outline:none;transition:var(--transition)}.music-url-input:focus{border-color:var(--accent)}.music-url-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:0 12px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-size:14px}.music-url-btn:hover{border-color:var(--accent);color:var(--accent)}.music-player{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:16/9;background:var(--bg-secondary)}.music-player iframe{width:100%;height:100%;border:none}.personal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.personal-actions{display:flex;gap:8px;align-items:center}.personal-edit-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;font-size:14px}.personal-edit-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.personal-frame-area{width:100%;aspect-ratio:16/6;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);position:relative}.personal-frame-area:hover{border-color:var(--border-accent)}.personal-frame-area img{width:100%;height:100%;object-fit:cover}.personal-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted)}.personal-placeholder-icon{font-size:36px;opacity:.5}.personal-placeholder-text{font-size:12px;letter-spacing:1px}.personal-file-input{display:none}@media(max-width:768px){.personal-frame-area{aspect-ratio:16/9}}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-title{font-size:14px;font-weight:700;letter-spacing:1.5px;color:var(--text-primary)}.calendar-nav{display:flex;gap:8px}.calendar-nav-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);width:26px;height:26px;border-radius:6px;cursor:pointer;transition:var(--transition);font-size:12px;display:flex;align-items:center;justify-content:center}.calendar-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.calendar-weekday{text-align:center;font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:1px;padding:4px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{text-align:center;font-size:12px;padding:6px 0;border-radius:6px;cursor:default;transition:var(--transition);color:var(--text-primary);font-weight:500}.calendar-day:hover{background:#ffffff0a}.calendar-day.other-month{color:var(--text-muted);opacity:.5}.calendar-day.today{background:var(--accent);color:var(--bg-primary);font-weight:700;box-shadow:0 0 14px #00e5a04d}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.notes-badge{font-size:12px;font-weight:500;color:var(--accent);background:var(--accent-dim);border:1px solid var(--border-accent);padding:4px 12px;border-radius:20px;cursor:default}.notes-textarea{width:100%;min-height:80px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-body);padding:14px;outline:none;resize:vertical;transition:var(--transition);line-height:1.7}.notes-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.notes-textarea::placeholder{color:var(--text-muted)}.notes-status{font-size:11px;color:var(--text-muted);margin-top:8px;text-align:right;opacity:0;transition:opacity .3s}.notes-status.show{opacity:1}
