@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";:root,[data-theme=dark]{--bg-primary:#0d0d0f;--bg-secondary:#141416;--bg-card:#1a1a1e;--bg-hover:#222226;--bg-input:#1e1e22;--border:#2a2a2e;--border-light:#333338;--text-primary:#e8e8ea;--text-secondary:#9a9aa0;--text-muted:#666670;--accent:#d4a034;--accent-dim:#d4a03426;--accent-hover:#e0b045;--danger:#ef4444;--success:#22c55e;--info:#3b82f6;--warning:#f59e0b;--font-sans:"Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"DM Serif Display", serif;--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow:0 2px 8px #0000004d;--transition:.2s ease}[data-theme=light]{--bg-primary:#f9f6f1;--bg-secondary:#fff;--bg-card:#fff;--bg-hover:#f3efe8;--bg-input:#f3efe9;--border:#00000012;--border-light:#0000001f;--text-primary:#1a1816;--text-secondary:#5c574f;--text-muted:#94908a;--accent:#c4704a;--accent-dim:#c4704a1a;--accent-hover:#d4825c;--danger:#d94848;--success:#2d9b5e;--info:#3b7dd8;--warning:#d49a3a;--shadow:0 1px 4px #0000000f;--mandala-stroke:#c4704a73;--mandala-stroke-dim:#c4704a33;--radius:14px;--radius-sm:8px;--radius-lg:18px}[data-theme=light] .app-logo-img{filter:invert()hue-rotate(180deg)brightness(.85)contrast(1.2)}[data-theme=light] .btn-primary{color:#fff}[data-theme=light] .tab-btn.active{background:var(--accent);color:#fff}:root,[data-theme=dark]{--mandala-stroke:#d4a03459;--mandala-stroke-dim:#d4a03426}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-shell{width:100%;min-height:100vh;display:flex}.app-container{flex:1;min-width:0;max-width:1100px;min-height:100vh;margin:0 auto;padding:0 20px 40px;position:relative}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:10;flex-direction:column;flex-shrink:0;width:168px;height:100vh;max-height:100vh;transition:width .25s cubic-bezier(.22,1,.36,1);display:flex;position:sticky;top:0}.sidebar.is-collapsed{width:52px}.sidebar__brand{border-bottom:1px solid var(--border);box-sizing:border-box;align-items:center;gap:9px;height:54px;padding:16px 12px 14px;display:flex;overflow:hidden}.monk{width:24px;height:24px;color:var(--accent);filter:drop-shadow(0 0 5px var(--accent-dim));transform-origin:12px 21px;flex-shrink:0;animation:6s ease-in-out infinite monk-sway;overflow:visible}.monk__body{transform-origin:12px 19px;animation:3.2s ease-in-out infinite monk-breath}.monk__head{transform-origin:12px 9.8px;animation:8s ease-in-out infinite monk-bow}.monk__aura{transform-origin:12px 7.2px;opacity:.35;animation:4s ease-in-out infinite monk-aura}@keyframes monk-breath{0%,to{transform:scaleY(1)scaleX(1)}50%{transform:scaleY(1.12)scaleX(1.05)}}@keyframes monk-bow{0%,62%,to{transform:rotate(0)translateY(0)}72%{transform:rotate(-14deg)translateY(1.2px)}82%{transform:rotate(-14deg)translateY(1.2px)}92%{transform:rotate(3deg)translateY(-.3px)}}@keyframes monk-aura{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.7;transform:scale(1.28)}}@keyframes monk-sway{0%,to{transform:rotate(0)}33%{transform:rotate(2deg)}66%{transform:rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.monk__body,.monk__head,.monk__aura{animation:none!important}}.sidebar__brand-name{color:var(--text-primary);white-space:nowrap;letter-spacing:.3px;font-size:14px;font-weight:600}.sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex;overflow-y:auto}.sidebar__item{color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);text-align:left;white-space:nowrap;width:100%;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 11px;font-size:13px;font-weight:500;display:flex;position:relative}.sidebar__item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__item.is-active{background:var(--accent-dim);color:var(--accent)}.sidebar__item svg{opacity:.75;transition:opacity var(--transition);flex-shrink:0}.sidebar__item:hover svg,.sidebar__item.is-active svg{opacity:1}.sidebar__label{opacity:1;text-overflow:ellipsis;transition:opacity .15s;overflow:hidden}.sidebar.is-collapsed .sidebar__label{opacity:0;pointer-events:none;width:0}.sidebar__dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto;animation:2s ease-in-out infinite mandala-pulse}.sidebar.is-collapsed .sidebar__dot{margin:0;position:absolute;top:6px;right:6px}.sidebar__footer{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:8px;display:flex}.sidebar__toggle{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-sans);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin-top:4px;padding:7px 12px;display:flex}.sidebar__toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__toggle-label{opacity:.7}.bottom-bar{height:calc(58px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in srgb, var(--bg-card) 46%, transparent);-webkit-backdrop-filter:blur(22px)saturate(180%);border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);z-index:50;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000f}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-bar{background:var(--bg-card)}}.bottom-bar__item{min-width:0;color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);transition:color var(--transition);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px;display:inline-flex}.bottom-bar__item.is-active{color:var(--accent)}.bottom-bar__icon{justify-content:center;align-items:center;height:20px;display:inline-flex;position:relative}.bottom-bar__icon svg{opacity:.82}.bottom-bar__item.is-active .bottom-bar__icon svg{opacity:1}.bottom-bar__label{letter-spacing:.1px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;overflow:hidden}.bottom-bar__dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite mandala-pulse;position:absolute;top:-3px;right:-6px}.bottom-bar__sheet{background:color-mix(in srgb, var(--bg-card) 82%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);transform-origin:100% 100%;border-radius:10px;flex-direction:column;gap:1px;width:140px;padding:4px;animation:.18s cubic-bezier(.22,1,.36,1) bb-sheet;display:flex;position:absolute;bottom:calc(100% + 6px);right:8px;box-shadow:0 10px 30px #00000047,0 2px 8px #00000024}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-bar__sheet{background:var(--bg-card)}}.bottom-bar__sheet-item{color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);text-align:left;width:100%;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.bottom-bar__sheet-item:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-bar__sheet-item.is-active{background:var(--accent-dim);color:var(--accent)}.bottom-bar__sheet-item svg{opacity:.8;flex-shrink:0}@keyframes bb-sheet{0%{opacity:0;transform:scale(.92)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.bottom-bar__sheet,.bottom-bar__dot{animation:none}}@media (width<=768px){.sidebar{display:none}.app-container{padding:0 14px calc(80px + env(safe-area-inset-bottom,0px))}.bottom-bar{display:flex}}.app-container:before{content:"";aspect-ratio:1202/1692;transform-origin:0 0;opacity:.1;pointer-events:none;z-index:0;background:url(/bg-mandala.png) 0 0/contain no-repeat;width:max(70vw,70vh);height:auto;position:fixed;top:0;left:0}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:4px;padding:16px 0;display:flex}.app-header-left{align-items:center;gap:12px;display:flex}.app-logo-img{object-fit:cover;border-radius:8px;width:36px;height:36px}.app-date{color:var(--text-secondary);font-size:13px}.app-header-right{align-items:center;gap:12px;display:flex}.points-badge{background:var(--accent-dim);color:var(--accent);font-size:14px;font-weight:600;font-family:var(--font-display);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;display:flex}.points-badge span{font-size:16px}.tab-nav{border-bottom:1px solid var(--border);gap:2px;margin-bottom:20px;padding:10px 0;display:flex;overflow-x:auto}.tab-btn{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.tab-btn svg{opacity:.7;transition:opacity var(--transition), transform var(--transition);flex-shrink:0}.tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-btn:hover svg{opacity:1}.tab-btn.active{background:var(--accent-dim);color:var(--accent)}.tab-btn.active svg{opacity:1}.tab-keepalive-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.btn-icon{justify-content:center;align-items:center;padding:6px 8px;display:inline-flex}.btn-icon svg{opacity:.8;transition:opacity var(--transition)}.btn-icon:hover svg{opacity:1}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);padding:16px}.card:hover{border-color:var(--border-light)}.btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.btn-primary{background:var(--accent);color:#0d0d0f;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:#ef44444d}.btn-danger:hover{background:#ef44441a}.btn-sm{padding:4px 10px;font-size:12px}.btn-ghost{background:0 0;border:none;padding:4px 8px}.btn-ghost:hover{background:var(--bg-hover)}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition);outline:none;padding:8px 12px;font-size:16px}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:80px}select.input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239a9aa0' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:85vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #0006}.modal-title{color:var(--text-primary);margin-bottom:20px;font-size:18px;font-weight:600}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.badge{border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.stat-box-value{font-family:var(--font-display);color:var(--accent);font-size:28px;line-height:1.2}.stat-box-label{color:var(--text-secondary);margin-top:4px;font-size:12px}.progress-bar{background:var(--bg-primary);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{border-radius:3px;height:100%;transition:width .4s}.tag-chip{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:500;display:inline-flex}.tag-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.filter-bar{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.filter-btn{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:16px;padding:5px 12px;font-size:12px}.filter-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.section-title{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:16px;font-weight:600;display:flex}.penalty-banner{border-radius:var(--radius);color:var(--danger);background:#ef44441a;border:1px solid #ef44444d;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.checkbox{border:2px solid var(--border-light);cursor:pointer;width:18px;height:18px;transition:all var(--transition);color:#0000;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.checkbox.checked{background:var(--accent);border-color:var(--accent);color:#0d0d0f}.weight-badge{white-space:nowrap;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}@media (width<=768px){.grid-2{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.grid-6{grid-template-columns:repeat(3,1fr)!important}.app-container{padding:0 10px 30px}.app-header{flex-wrap:wrap;gap:8px;padding:10px 0}.app-header-left{gap:8px}.app-logo-img{width:28px;height:28px}.app-header-right{gap:8px;font-size:11px}.tab-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:7px 8px;font-size:11px}.modal-content{border-radius:var(--radius-lg);max-width:calc(100vw - 32px);max-height:80vh;margin:16px;padding:16px}.modal-overlay{padding:16px}.stat-box{padding:10px 8px}.stat-box-value{font-size:22px}.stat-box-label{font-size:10px}.card{padding:12px}.section-title{font-size:14px}.btn{padding:6px 12px;font-size:12px}.btn-sm{padding:4px 8px;font-size:11px}.time-layout{grid-template-columns:1fr!important}.time-block-row{grid-template-columns:auto 1fr auto;grid-template-areas:"time spacer actions""body body body";gap:6px 8px;align-items:center!important;display:grid!important}.time-block-row>:first-child{grid-area:time}.time-block-row>:nth-child(2){grid-area:body;min-width:0}.time-block-row>:nth-child(3){grid-area:actions}.time-block-row .btn-sm{padding:4px 8px;font-size:11px}}.schedule-layout{align-items:flex-start;gap:20px;display:flex}.schedule-list{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}@media (width<=768px){.schedule-layout{flex-direction:column;gap:16px}.schedule-layout>:last-child{align-self:center}}@media (width<=480px){.grid-3,.grid-4{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}.app-header-right{justify-content:space-between;width:100%}}@media (width>=769px) and (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.chat-fab{z-index:1200;color:#0d0d0f;cursor:pointer;width:56px;height:56px;box-shadow:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s;animation:3.5s ease-in-out infinite gemini-breathe;display:flex;position:fixed;bottom:24px;right:24px}.chat-fab:hover{filter:drop-shadow(0 0 14px #9b72cbb3);transform:scale(1.15)}@keyframes gemini-breathe{0%,to{filter:drop-shadow(0 0 8px #ffffff80)drop-shadow(0 0 16px #9b72cb4d);transform:scale(1)}50%{filter:drop-shadow(0 0 14px #ffffffb3)drop-shadow(0 0 28px #9b72cb73);transform:scale(1.08)}}.chat-dialog-window{z-index:1200;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:420px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 48px);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 8px 40px #0006}@media (width<=768px){.chat-fab{bottom:calc(70px + env(safe-area-inset-bottom,0px));width:48px;height:48px;right:14px}.chat-dialog-window{bottom:calc(70px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;height:calc(78vh - 70px - env(safe-area-inset-bottom,0px));max-height:calc(78vh - 70px - env(safe-area-inset-bottom,0px));border-radius:14px;left:12px;right:12px}}.mandala-container{padding:20px 0}.mandala-svg{filter:drop-shadow(0 0 2px #d4a0341a);animation:360s linear infinite mandala-rotate}.mandala-petal-active{animation:3s ease-in-out infinite mandala-pulse}.mandala-petal-dim{opacity:.35}@keyframes mandala-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mandala-pulse{0%,to{filter:url(#mandala-glow);opacity:1}50%{filter:url(#mandala-glow-strong);opacity:.75}}@keyframes energy-star-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.energy-star-pulse{animation:3s ease-in-out infinite energy-star-shimmer}@keyframes energy-star-shimmer{0%,to{opacity:.1}50%{opacity:.35}}@keyframes pulse-now{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #d4a03499}50%{opacity:.85;transform:scale(1.25);box-shadow:0 0 0 4px #d4a03400}}@keyframes task-flip-in{0%{opacity:0;transform:translateY(110%)rotateX(-70deg)}60%{opacity:1}to{opacity:1;transform:translateY(0)rotateX(0)}}
