:root{--bg-primary:#090d16;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--bg-glass:#0f172abf;--bg-glass-card:#1e293ba6;--bg-hover:#ffffff0d;--bg-active:#ffffff17;--border-subtle:#ffffff14;--border-strong:#ffffff29;--border-focus:#f59e0b80;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dim:#475569;--accent-amber:#f59e0b;--accent-amber-glow:#f59e0b59;--accent-indigo:#6366f1;--accent-indigo-glow:#6366f14d;--accent-emerald:#10b981;--accent-emerald-glow:#10b9814d;--accent-rose:#f43f5e;--entry-dot-color:#f59e0b;--search-highlight-bg:#10b9812e;--search-highlight-border:#10b981;--search-highlight-glow:#10b98166;--font-sans:"Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 12px -1px #00000080;--shadow-lg:0 10px 25px -3px #0009;--shadow-modal:0 25px 50px -12px #000c, 0 0 0 1px #ffffff1a;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-glass:#ffffffd9;--bg-glass-card:#f1f5f9cc;--bg-hover:#0000000a;--bg-active:#00000014;--border-subtle:#00000014;--border-strong:#00000026;--border-focus:#d9770699;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-dim:#94a3b8;--accent-amber:#d97706;--accent-amber-glow:#d9770640;--entry-dot-color:#d97706;--search-highlight-bg:#10b98126;--search-highlight-border:#059669;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 12px -1px #00000014;--shadow-lg:0 10px 25px -3px #0000001f;--shadow-modal:0 25px 50px -12px #0003, 0 0 0 1px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app-container{background:radial-gradient(circle at 50% 0%, var(--bg-secondary) 0%, var(--bg-primary) 75%);min-height:100vh;transition:background var(--transition-normal);flex-direction:column;display:flex}.main-content{flex-direction:column;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;display:flex}.app-header{z-index:40;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);padding:.85rem 1.25rem;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;display:flex}.brand-section{cursor:pointer;align-items:center;gap:.65rem;display:flex}.brand-icon-wrapper{width:34px;height:34px;box-shadow:0 0 15px var(--accent-amber-glow);border:1px solid var(--border-strong);border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.brand-icon-img{object-fit:cover;width:100%;height:100%}.brand-title{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 30%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.2rem;font-weight:700}.nav-controls{align-items:center;gap:.4rem;display:flex}.month-display{letter-spacing:-.01em;text-align:center;min-width:130px;color:var(--text-primary);font-size:1.15rem;font-weight:600}.icon-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:.45rem;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.96)}.today-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:8px;padding:.4rem .75rem;font-size:.82rem;font-weight:500}.today-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.header-actions{align-items:center;gap:.5rem;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-input{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-primary);width:150px;transition:all var(--transition-fast);border-radius:9999px;padding:.4rem .85rem .4rem 2rem;font-size:.85rem}.search-input:focus{border-color:var(--border-focus);background:var(--bg-secondary);width:220px}.search-icon-pos{color:var(--text-muted);pointer-events:none;position:absolute;left:.65rem}.calendar-card{background:var(--bg-glass-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;flex:1;padding:1.25rem;display:flex}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.65rem;display:grid}.weekday-header{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.4rem 0;font-size:.8rem;font-weight:600}.weekday-header.weekend{color:var(--text-dim)}.calendar-grid{flex:1;grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.day-cell{aspect-ratio:1;background:var(--bg-secondary);border:1px solid var(--border-subtle);cursor:pointer;min-height:80px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:center;padding:.5rem;display:flex;position:relative}.day-cell:hover{background:var(--bg-tertiary);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.day-cell:active{transform:scale(.98)}.day-cell.other-month{opacity:.35;background:0 0;border-color:#0000}.day-cell.other-month:hover{opacity:.7;background:var(--bg-hover);border-color:var(--border-subtle)}.day-cell.is-today{border-color:var(--accent-indigo);background:#6366f114}.day-cell.is-today .day-number{color:#fff;background:var(--accent-indigo);width:24px;height:24px;box-shadow:0 0 10px var(--accent-indigo-glow);border-radius:9999px;justify-content:center;align-items:center;font-weight:700;display:flex}.day-cell.search-match{background:var(--search-highlight-bg);border-color:var(--search-highlight-border);box-shadow:0 0 14px var(--search-highlight-glow);animation:2s ease-in-out infinite pulse-border}@keyframes pulse-border{0%,to{box-shadow:0 0 10px var(--search-highlight-glow)}50%{box-shadow:0 0 18px var(--search-highlight-glow)}}.day-cell-top{justify-content:space-between;align-items:center;width:100%;display:flex}.day-number{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.88rem;font-weight:500}.day-cell:hover .day-number{color:var(--text-primary)}.future-badge{color:var(--text-muted);font-size:.65rem}.day-cell-top-actions{align-items:center;gap:.25rem;display:flex}.quick-marker-btn{color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex}.day-cell:hover .quick-marker-btn{opacity:.75}.quick-marker-btn:hover{color:var(--accent-amber);transform:scale(1.15);opacity:1!important}@media (hover:none){.quick-marker-btn{opacity:.5}}.day-markers-container{cursor:pointer;width:100%;min-height:22px;transition:background var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;gap:.2rem;margin:2px 0;padding:1px 2px;display:flex}.day-markers-container:hover{background:#ffffff0d}.day-marker-badge{transition:transform var(--transition-fast);justify-content:center;align-items:center;font-size:.95rem;line-height:1;display:inline-flex}.day-cell:hover .day-marker-badge{transform:scale(1.08)}.dot-container{justify-content:center;align-items:center;width:100%;height:14px;display:flex}.entry-dot{background-color:var(--entry-dot-color);width:7px;height:7px;box-shadow:0 0 8px var(--accent-amber-glow);transition:transform var(--transition-fast);border-radius:9999px}.day-cell:hover .entry-dot{transform:scale(1.3)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);animation:fadeIn var(--transition-fast) forwards;background:#000000bf;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.editor-modal-container{background:var(--bg-secondary);border:1px solid var(--border-strong);box-shadow:var(--shadow-modal);width:100%;max-width:680px;max-height:85vh;animation:scaleUp var(--transition-normal) forwards;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.editor-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:1rem 1.4rem;display:flex}.editor-date-badge{flex-direction:column;gap:.15rem;display:flex}.editor-date-text{letter-spacing:-.01em;color:var(--text-primary);font-size:1.15rem;font-weight:700}.editor-status-indicator{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.status-pulse-dot{background-color:var(--accent-emerald);border-radius:9999px;width:6px;height:6px}.status-pulse-dot.saving{background-color:var(--accent-amber);animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.editor-header-actions{align-items:center;gap:.5rem;display:flex}.editor-body{flex-direction:column;flex:1;padding:1.25rem 1.4rem;display:flex;position:relative}.diary-textarea{resize:none;width:100%;min-height:320px;color:var(--text-primary);font-family:var(--font-sans);letter-spacing:.01em;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:1;font-size:1.05rem;line-height:1.8}.diary-textarea::placeholder{color:var(--text-dim)}.editor-footer{border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.75rem 1.4rem;font-size:.8rem;display:flex}.char-counter{font-variant-numeric:tabular-nums}.delete-entry-btn{color:var(--accent-rose);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.8rem;display:inline-flex}.delete-entry-btn:hover{background:#f43f5e1f}.auth-gate-container{background:radial-gradient(circle at 50% 30%,#1e293b 0%,#090d16 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-gate-card{background:var(--bg-glass-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-strong);text-align:center;width:100%;max-width:440px;box-shadow:var(--shadow-modal);animation:scaleUp var(--transition-normal) forwards;border-radius:24px;padding:3rem 2.25rem}.auth-hero-icon{width:80px;height:80px;box-shadow:0 0 35px var(--accent-amber-glow);border:1px solid var(--border-strong);border-radius:22px;margin:0 auto 1.5rem;overflow:hidden}.auth-title{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 40%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);margin-bottom:2.25rem;font-size:.95rem;line-height:1.6}.auth-button-group{flex-direction:column;gap:.85rem;display:flex}.google-login-btn{color:#0f172a;cursor:pointer;transition:all var(--transition-fast);background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 4px 14px #00000040}.google-login-btn:hover{background:#f1f5f9;transform:translateY(-2px);box-shadow:0 6px 20px #00000059}.google-login-btn:active{transform:scale(.98)}.demo-guest-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:12px;padding:.75rem 1.25rem;font-size:.88rem;font-weight:500}.demo-guest-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.auth-error-banner{border:1px solid var(--accent-rose);color:#fecdd3;text-align:left;background:#f43f5e26;border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.82rem}.settings-group{margin-bottom:1.5rem}.settings-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.segmented-control{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:10px;grid-template-columns:1fr 1fr;padding:.25rem;display:grid}.segmented-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;padding:.5rem;font-size:.85rem;font-weight:500}.segmented-btn.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.config-textarea{background:var(--bg-tertiary);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-family:var(--font-mono);resize:vertical;border-radius:8px;min-height:80px;padding:.65rem;font-size:.8rem}.editor-markers-badge-group{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.editor-marker-badge{background:var(--bg-tertiary);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;padding:.2rem .45rem;font-size:1.1rem;line-height:1}.editor-marker-badge:hover{border-color:var(--accent-amber);background:var(--bg-hover);transform:scale(1.15)}.editor-add-marker-btn{border:1px dashed var(--border-strong);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:8px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.78rem;font-weight:500;display:inline-flex}.editor-add-marker-btn:hover{color:var(--text-primary);border-color:var(--accent-amber);background:#f59e0b14}.marker-popover-overlay{z-index:120;-webkit-backdrop-filter:blur(6px);animation:fadeIn var(--transition-fast) forwards;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.marker-popover-card{background:var(--bg-secondary);border:1px solid var(--border-strong);width:100%;max-width:380px;box-shadow:var(--shadow-lg), 0 0 30px #00000080;border-radius:18px;flex-direction:column;gap:1.1rem;padding:1.25rem;animation:.2s cubic-bezier(.16,1,.3,1) forwards slideUpScale;display:flex}@keyframes slideUpScale{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.marker-popover-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.marker-popover-title-wrap{align-items:center;gap:.45rem;display:flex}.marker-accent-icon{color:var(--accent-amber)}.marker-popover-title{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:600}.marker-slots-section{flex-direction:column;gap:.5rem;display:flex}.marker-slots-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:600;display:flex}.marker-count-badge{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:9999px;padding:.15rem .5rem;font-size:.75rem}.marker-slots-list{background:var(--bg-tertiary);border:1px dashed var(--border-subtle);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:42px;padding:.4rem .65rem;display:flex}.marker-empty-hint{color:var(--text-dim);font-size:.8rem}.active-marker-chip{background:var(--bg-secondary);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .5rem;animation:.15s ease-out forwards popIn;display:inline-flex}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.active-marker-emoji{font-size:1.15rem;line-height:1}.remove-marker-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex}.remove-marker-btn:hover{color:var(--accent-rose);background:#f43f5e26}.marker-preset-section{flex-direction:column;gap:.45rem;display:flex}.marker-preset-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.marker-preset-grid{grid-template-columns:repeat(6,1fr);gap:.4rem;display:grid}.marker-preset-btn{aspect-ratio:1;background:var(--bg-tertiary);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);border-radius:10px;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.marker-preset-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-amber);transform:translateY(-2px)scale(1.1);box-shadow:0 4px 10px #0003}.marker-preset-btn:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(80%)}.marker-custom-form{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.marker-custom-input{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-primary);transition:all var(--transition-fast);border-radius:8px;flex:1;padding:.5rem .75rem;font-size:.88rem}.marker-custom-input:focus{border-color:var(--accent-amber);box-shadow:0 0 0 2px var(--accent-amber-glow);outline:none}.marker-custom-input:disabled{opacity:.5;cursor:not-allowed}.marker-custom-add-btn{background:var(--accent-amber);color:#111827;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;align-items:center;gap:.3rem;padding:.5rem .85rem;font-size:.82rem;font-weight:600;display:flex}.marker-custom-add-btn:hover:not(:disabled){box-shadow:0 4px 12px var(--accent-amber-glow);background:#f59e0b;transform:translateY(-1px)}.marker-custom-add-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.main-content{padding:.75rem .5rem 1.5rem}.calendar-card{border-radius:12px;padding:.75rem .4rem}.day-cell{border-radius:8px;min-height:60px;padding:.35rem .25rem}.day-number{font-size:.78rem}.day-cell.is-today .day-number{width:20px;height:20px;font-size:.75rem}.day-marker-badge{font-size:.82rem}.day-markers-container{gap:.1rem;min-height:18px}.entry-dot{width:5px;height:5px}.search-input{width:100px}.search-input:focus{width:140px}.month-display{min-width:100px;font-size:1rem}.marker-popover-card{max-width:320px;padding:1rem}.marker-preset-grid{grid-template-columns:repeat(6,1fr);gap:.3rem}.marker-preset-btn{font-size:1.1rem}}.header-left-section{align-items:center;gap:1.25rem;display:flex}.view-switcher-tabs{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:9999px;align-items:center;gap:.2rem;padding:.2rem;display:flex}.view-tab-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.view-tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.view-tab-btn.active{color:var(--text-primary);background:var(--bg-secondary);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.nav-controls-placeholder{min-width:200px}.network-status-badge{animation:fadeIn var(--transition-normal);border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.75rem;font-weight:500;display:inline-flex}.network-status-badge.offline{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e66}.network-status-badge.reconnected{color:#34d399;background:#10b98126;border:1px solid #10b98166}.status-icon-pulse{animation:1.8s infinite pulse}.status-icon-bounce{animation:.6s infinite alternate bounce}.pwa-install-header-btn{border:1px solid var(--accent-amber);color:var(--accent-amber);cursor:pointer;transition:all var(--transition-fast);background:#f59e0b26;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.8rem;font-weight:500;display:inline-flex}.pwa-install-header-btn:hover{background:var(--accent-amber);color:#0f172a;box-shadow:0 2px 8px var(--accent-amber-glow);transform:translateY(-1px)}.insights-container{flex-direction:column;gap:1.75rem;max-width:1140px;margin:0 auto;padding:1.5rem 1rem 3rem;animation:.3s ease-out fadeIn;display:flex}.insights-header-section{justify-content:space-between;align-items:flex-end;display:flex}.insights-main-title{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.5rem;font-weight:700;display:flex}.title-sparkle-icon{color:var(--accent-amber)}.insights-sub-title{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.insights-metrics-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.metric-card{background:var(--bg-glass-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), border-color var(--transition-fast);border-radius:12px;flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex}.metric-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.metric-card-header{align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.metric-icon-wrap{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.streak-icon-wrap{color:var(--accent-amber);background:#f59e0b26}.trophy-icon-wrap{color:var(--accent-indigo);background:#6366f126}.book-icon-wrap{color:var(--accent-emerald);background:#10b98126}.pen-icon-wrap{color:var(--accent-rose);background:#f43f5e26}.flame-icon-pulse{animation:2s ease-in-out infinite pulse}.metric-card-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.metric-value-row{align-items:baseline;gap:.35rem;margin-bottom:.4rem;display:flex}.metric-big-number{font-size:2rem;font-weight:800;font-family:var(--font-mono);color:var(--text-primary);line-height:1}.metric-unit{color:var(--text-muted);font-size:.85rem;font-weight:500}.metric-detail-note{color:var(--text-muted);font-size:.75rem;line-height:1.4}.insights-panel{background:var(--bg-glass-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:12px;padding:1.25rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.panel-title-group{color:var(--text-primary);align-items:center;gap:.5rem;display:flex}.panel-title-group h2{font-size:1rem;font-weight:600}.heatmap-legend{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.7rem;display:flex}.legend-cell{border-radius:2px;width:10px;height:10px}.heatmap-scroll-wrapper{padding-bottom:.5rem;overflow-x:auto}.heatmap-scroll-wrapper::-webkit-scrollbar{height:6px}.heatmap-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.heatmap-canvas-inner{flex-direction:column;min-width:780px;display:flex}.heatmap-month-header{grid-template-columns:repeat(53,14px);gap:3px;margin-bottom:4px;padding-left:22px;display:grid}.heatmap-month-label{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.heatmap-grid-layout{gap:6px;display:flex}.heatmap-weekday-labels{color:var(--text-dim);text-align:right;grid-template-rows:repeat(7,12px);gap:3px;width:16px;font-size:.65rem;line-height:12px;display:grid}.heatmap-weeks-container{gap:3px;display:flex}.heatmap-week-column{grid-template-rows:repeat(7,12px);gap:3px;display:grid}.heatmap-day-cell{cursor:pointer;border:none;border-radius:2px;width:12px;height:12px;padding:0;transition:transform .12s,outline .12s;position:relative}.heatmap-day-cell:hover{z-index:10;outline:1.5px solid var(--text-primary);transform:scale(1.4)}.heatmap-day-cell.level-0,.legend-cell.level-0{background-color:#ffffff0d}.heatmap-day-cell.level-1,.legend-cell.level-1{background-color:#064e3b}.heatmap-day-cell.level-2,.legend-cell.level-2{background-color:#047857}.heatmap-day-cell.level-3,.legend-cell.level-3{background-color:#10b981}.heatmap-day-cell.level-4,.legend-cell.level-4{background-color:#34d399;box-shadow:0 0 6px #34d39966}.heatmap-day-cell.has-marker:after{content:"";background-color:var(--accent-amber);border-radius:50%;width:3px;height:3px;position:absolute;top:1px;right:1px}[data-theme=light] .heatmap-day-cell.level-0,[data-theme=light] .legend-cell.level-0{background-color:#0000000f}[data-theme=light] .heatmap-day-cell.level-1,[data-theme=light] .legend-cell.level-1{background-color:#a7f3d0}[data-theme=light] .heatmap-day-cell.level-2,[data-theme=light] .legend-cell.level-2{background-color:#34d399}[data-theme=light] .heatmap-day-cell.level-3,[data-theme=light] .legend-cell.level-3{background-color:#059669}[data-theme=light] .heatmap-day-cell.level-4,[data-theme=light] .legend-cell.level-4{background-color:#065f46}.heatmap-day-preview{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;min-height:38px;margin-top:.75rem;padding:.6rem .85rem;display:flex}.preview-active-info{color:var(--text-primary);align-items:center;gap:.6rem;width:100%;font-size:.8rem;display:flex}.preview-date{font-weight:600}.preview-divider{color:var(--text-dim)}.preview-chars{color:var(--text-secondary)}.preview-markers{gap:.2rem;margin-left:.25rem;display:flex}.preview-marker-emoji{font-size:.95rem}.preview-hint{color:var(--accent-amber);margin-left:auto;font-size:.72rem}.preview-empty-hint{color:var(--text-muted);font-size:.75rem}.insights-bottom-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.marker-stat-list{flex-direction:column;gap:.6rem;display:flex}.marker-stat-row{align-items:center;gap:.75rem;display:flex}.marker-rank{font-size:.75rem;font-family:var(--font-mono);color:var(--text-dim);width:22px}.marker-display-emoji{font-size:1.2rem;line-height:1}.marker-bar-container{background:var(--bg-tertiary);border-radius:9999px;flex:1;height:8px;overflow:hidden}.marker-bar-fill{background:linear-gradient(90deg, var(--accent-amber), #fbbf24);border-radius:9999px;height:100%;transition:width .4s}.marker-count-text{color:var(--text-secondary);font-size:.78rem;font-weight:600;font-family:var(--font-mono);text-align:right;min-width:65px}.marker-pct-text{color:var(--text-muted);margin-left:.2rem;font-size:.7rem}.recent-entry-cards{flex-direction:column;gap:.6rem;display:flex}.recent-entry-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;padding:.75rem .85rem}.recent-entry-card:hover{border-color:var(--border-strong);background:var(--bg-hover);transform:translate(2px)}.recent-entry-top{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.recent-entry-date{color:var(--text-primary);font-size:.8rem;font-weight:600}.recent-entry-markers{gap:.15rem;font-size:.85rem;display:flex}.recent-entry-preview{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.35rem;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.recent-entry-bottom{justify-content:space-between;align-items:center;display:flex}.recent-entry-chars{color:var(--text-dim);font-size:.7rem}.recent-arrow-icon{color:var(--text-muted)}.empty-panel-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.empty-state-icon{opacity:.4}.empty-panel-state p{color:var(--text-secondary);font-size:.9rem;font-weight:600}.empty-panel-state span{max-width:320px;font-size:.75rem;line-height:1.4}@media (width<=1024px){.insights-metrics-grid{grid-template-columns:repeat(2,1fr)}.insights-bottom-grid{grid-template-columns:1fr}}@media (width<=640px){.insights-metrics-grid{grid-template-columns:1fr}.view-tab-btn span{display:none}.view-tab-btn{padding:.35rem .5rem}.pwa-install-header-btn span,.nav-controls-placeholder{display:none}}.error-boundary-container{background-color:var(--bg-primary);background-image:radial-gradient(circle at 50% 20%,#f43f5e14,#0000 50%),radial-gradient(circle at 80% 80%,#f59e0b0d,#0000 40%);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.error-boundary-card{background:var(--bg-secondary);border:1px solid var(--border-strong);width:100%;max-width:480px;box-shadow:var(--shadow-modal);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;border-radius:1.25rem;padding:2.25rem 2rem;animation:.25s cubic-bezier(.16,1,.3,1) forwards modalEnter}.error-boundary-icon-wrapper{background:#f43f5e1f;border:1px solid #f43f5e40;border-radius:1rem;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;display:inline-flex}.error-boundary-icon{color:var(--accent-rose)}.error-boundary-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.error-boundary-desc{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem;line-height:1.6}.error-boundary-details{border:1px solid var(--border-subtle);text-align:left;background:#0000004d;border-radius:.5rem;max-height:120px;margin-bottom:1.5rem;padding:.75rem 1rem;overflow-x:auto}.error-boundary-details code{font-family:var(--font-mono);color:var(--accent-rose);word-break:break-all;white-space:pre-wrap;font-size:.75rem}.error-boundary-button{color:#0f172a;background:var(--accent-amber);cursor:pointer;width:100%;box-shadow:0 4px 12px var(--accent-amber-glow);transition:transform var(--transition-fast), filter var(--transition-fast);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;display:inline-flex}.error-boundary-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.error-boundary-button:active{transform:translateY(0)}
