.pomodoro-widget{display:block;padding:.75rem;border-radius:12px;background:#1b2130;border:1px solid #2a3142;color:inherit;text-decoration:none;transition:border-color .15s}.pomodoro-widget.compact{padding:.35rem .5rem;background:transparent;border:none}.pomodoro-widget:hover{border-color:#4f7cff}.pomodoro-widget.compact:hover{border-color:transparent;opacity:.9}.pomodoro-widget-body{display:flex;align-items:center;gap:.5rem}.pomodoro-widget.compact .pomodoro-widget-body{gap:.35rem}.pomodoro-widget-ring{width:88px;height:88px;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.pomodoro-widget.compact .pomodoro-widget-ring{width:40px;height:40px}.pomodoro-widget-inner{width:72px;height:72px;border-radius:50%;background:#12151c;display:flex;flex-direction:column;align-items:center;justify-content:center}.pomodoro-widget.compact .pomodoro-widget-inner{width:32px;height:32px}.pomodoro-widget-time{font-size:.95rem;font-weight:700;line-height:1.1}.pomodoro-widget.compact .pomodoro-widget-time{font-size:.5rem}.pomodoro-widget-label{font-size:.6rem;color:#8b95a5;text-transform:uppercase}.pomodoro-widget.compact .pomodoro-widget-label{display:none}.pomodoro-widget-cycle{font-size:.85rem;font-weight:600;color:#c5ccd6;white-space:nowrap;min-width:2.5rem}.pomodoro-widget.compact .pomodoro-widget-cycle{font-size:.75rem;color:#8b95a5}.pomodoro-widget-task{margin:.5rem 0 0;font-size:.8rem;color:#a8b0bd;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-page{max-width:800px;margin:0 auto;padding:1.5rem}.character-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.character-header h2{margin:0 0 .35rem}.character-header p{margin:0;color:#8b95a5;font-size:.9rem}.character-actions{display:flex;gap:.5rem;flex-shrink:0}.character-actions button{background:#2b3445;color:inherit;border:1px solid #3a4558;border-radius:8px;padding:.5rem .85rem}.character-form{display:flex;flex-direction:column;gap:1rem}.character-form label{display:flex;flex-direction:column;gap:.35rem;color:#a8b0bd;font-size:.9rem}.character-form input,.character-form textarea{border-radius:8px;border:1px solid #2f3748;background:#12151c;color:inherit;padding:.65rem .8rem;font-family:inherit}.character-footer{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.character-message{color:#8b95a5;font-size:.9rem}.character-fieldset{border:1px solid #2f3748;border-radius:10px;padding:1rem;margin:0;display:flex;flex-direction:column;gap:1rem}.character-fieldset legend{padding:0 .35rem;color:#c5cdd8}.character-checkbox{flex-direction:row!important;align-items:center;gap:.5rem!important}.character-checkbox input{width:auto}.chat-layout{display:grid;grid-template-columns:280px 1fr;height:100%;min-height:0;overflow:hidden}.chat-sidebar{border-right:1px solid #2a2f3a;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:#12151c;min-height:0;overflow:hidden}.primary-btn{background:#4f7cff;color:#fff;border:none;border-radius:8px;padding:.65rem 1rem}.session-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;min-height:0}.session-list li{display:flex;align-items:center;gap:.25rem;border-radius:8px}.session-list li.active{background:#1f2633}.session-list li button:first-child{flex:1;text-align:left;background:transparent;border:none;color:inherit;padding:.55rem .7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-btn{background:transparent;border:none;color:#7d8796;padding:.3rem .5rem}.chat-main{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:#0f1115}.chat-mobile-bar{display:none}.chat-empty{margin:auto;color:#7d8796}.messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1rem 1rem .5rem;display:flex;flex-direction:column;gap:1rem;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.messages-bottom-anchor{flex-shrink:0;height:1px}.message{max-width:80%;padding:.9rem 1rem;border-radius:12px}.message-user{align-self:flex-end;background:#2b4acb}.message-assistant{align-self:flex-start;background:#1b2130;border:1px solid #2a3142}.message-pending{opacity:.92}.message-pending-content{display:flex;align-items:center;gap:.65rem;color:#9aa5b8}.typing-indicator{display:inline-flex;align-items:center;gap:.28rem}.typing-indicator span{width:.45rem;height:.45rem;border-radius:50%;background:#6b7cff;animation:typing-bounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.typing-label{font-size:.92rem}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-.35rem);opacity:1}}.message-notice{align-self:center;max-width:90%;background:#1a2433;border:1px solid #2a3f5a;font-size:.92rem}.message-role{font-size:.75rem;color:#8b95a5;margin-bottom:.35rem;text-transform:uppercase}.message-content p{margin:0 0 .5rem}.message-content p:last-child{margin-bottom:0}.chat-input{display:flex;gap:.75rem;flex-shrink:0;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));border-top:1px solid #2a2f3a;background:#0f1115}.chat-input textarea{flex:1;min-width:0;resize:none;border-radius:10px;border:1px solid #2f3748;background:#12151c;color:inherit;padding:.75rem 1rem;font-size:16px}.chat-input button{align-self:flex-end;flex-shrink:0;background:#4f7cff;color:#fff;border:none;border-radius:8px;padding:.65rem 1rem}.chat-input button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.chat-layout{grid-template-columns:1fr}.chat-sidebar{display:none}.chat-mobile-bar{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.55rem .75rem;border-bottom:1px solid #2a2f3a;background:#12151c}.chat-session-select{flex:1;min-width:0;border-radius:8px;border:1px solid #2f3748;background:#0f1115;color:inherit;padding:.5rem .65rem;font-size:16px}.chat-mobile-new{flex-shrink:0;border:none;border-radius:8px;background:#4f7cff;color:#fff;padding:.5rem .75rem;font-size:.9rem}.messages{padding:.75rem .75rem .35rem}.message{max-width:92%}.chat-input{padding:.65rem .75rem;padding-bottom:max(.65rem,env(safe-area-inset-bottom));gap:.5rem}.chat-input button{padding:.65rem .85rem}}.fitness-page{max-width:900px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.fitness-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.fitness-header h2{margin:0 0 .25rem}.fitness-header p{margin:0;color:#8b95a8;font-size:.9rem}.fitness-header-actions{display:flex;gap:.5rem}.fitness-message{padding:.6rem .9rem;background:#1a2433;border:1px solid #2a3f5a;border-radius:8px}.fitness-section{background:#151922;border:1px solid #2a2f3a;border-radius:10px;padding:1rem 1.25rem}.fitness-section h3{margin:0 0 .75rem}.fitness-section h4{margin:.75rem 0 .35rem;font-size:.85rem;color:#8b95a8}.fitness-progress-grid{display:flex;flex-direction:column;gap:.6rem}.fitness-progress-header{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.2rem}.fitness-progress-track{height:8px;background:#0f1218;border-radius:4px;overflow:hidden}.fitness-progress-fill{height:100%;background:#3d7a5a;border-radius:4px}.fitness-profile-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.fitness-profile-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#8b95a8}.fitness-profile-form input,.fitness-profile-form select{padding:.45rem .6rem;border-radius:6px;border:1px solid #2a2f3a;background:#0f1218;color:#e8ecf1}.fitness-profile-form button{grid-column:1 / -1;justify-self:start}.fitness-computed{margin:.75rem 0 0;font-size:.9rem;color:#8b95a8}.fitness-log-list{list-style:none;margin:0;padding:0}.fitness-log-list li{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid #1e2430;font-size:.9rem}.fitness-log-list button{padding:0 .4rem;font-size:1rem;line-height:1}.fitness-table{width:100%;border-collapse:collapse;font-size:.9rem}.fitness-table th,.fitness-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #1e2430}.fitness-reminders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.fitness-reminders li{display:flex;gap:1rem;align-items:center}.fitness-empty{color:#8b95a8;font-style:italic}.fitness-raw{background:#0f1218;border:1px solid #2a2f3a;border-radius:10px;padding:1rem;overflow:auto;font-size:.82rem;max-height:70vh}.shopping-page{display:grid;grid-template-columns:240px 1fr;gap:1rem;height:100%;min-height:0;overflow:auto;padding:1rem}.shopping-sidebar,.shopping-main{background:#12151c;border:1px solid #2f3748;border-radius:12px;padding:1rem;overflow:auto}.shopping-sidebar h3,.shopping-main h2{margin:0 0 1rem}.shopping-list-nav{display:flex;flex-direction:column;gap:.35rem}.shopping-list-btn{text-align:left;background:#1a1f2b;border:1px solid #2f3748;color:inherit;border-radius:8px;padding:.6rem .75rem;cursor:pointer}.shopping-list-btn.active{border-color:#4a7cff;background:#1c2740}.shopping-list-btn small{display:block;color:#8b95a5;margin-top:.2rem}.shopping-inline-form{display:flex;gap:.5rem;margin-top:1rem}.shopping-inline-form input{flex:1;border-radius:8px;border:1px solid #2f3748;background:#0f1218;color:inherit;padding:.55rem .7rem}.shopping-inline-form button,.shopping-toolbar button{border-radius:8px;border:1px solid #3a4558;background:#2b3445;color:inherit;padding:.5rem .8rem;cursor:pointer}.shopping-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.shopping-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.shopping-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:8px;background:#1a1f2b;border:1px solid #2a3140}.shopping-item.checked{opacity:.55}.shopping-item.checked .shopping-item-text{text-decoration:line-through}.shopping-item-text{flex:1}.shopping-item-meta{color:#8b95a5;font-size:.85rem}.shopping-empty{color:#8b95a5}.shopping-message{margin-top:.75rem;color:#8b95a5}@media (max-width: 900px){.shopping-page{grid-template-columns:1fr;height:auto}}.memory-page{max-width:900px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.memory-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.memory-header h2{margin:0 0 .25rem}.memory-header p{margin:0;color:#8b95a8;font-size:.9rem}.memory-header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.memory-session-input{width:140px}.memory-message{padding:.6rem .9rem;background:#1a2a1f;border:1px solid #2d5a3d;border-radius:8px;font-size:.9rem}.memory-section{background:#151922;border:1px solid #2a2f3a;border-radius:10px;padding:1rem 1.25rem}.memory-section h3{margin:0 0 .75rem;font-size:1rem}.memory-profile-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.memory-profile-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#8b95a8}.memory-profile-form input{padding:.45rem .6rem;border-radius:6px;border:1px solid #2a2f3a;background:#0f1218;color:#e8ecf1}.memory-profile-form button{grid-column:1 / -1;justify-self:start}.memory-summary{margin:0;white-space:pre-wrap;color:#c5cdd8}.memory-add-fact{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.memory-add-fact input{flex:1;min-width:200px}.memory-facts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.memory-facts-list li{padding:.75rem;background:#0f1218;border:1px solid #2a2f3a;border-radius:8px}.memory-fact-meta{display:flex;gap:.6rem;font-size:.78rem;color:#8b95a8;margin-bottom:.35rem;flex-wrap:wrap}.memory-source-auto{color:#7eb8da}.memory-source-user,.memory-source-tool{color:#9ed49e}.memory-source-api{color:#d4b87a}.memory-fact-content{margin-bottom:.5rem;line-height:1.4}.memory-empty{color:#8b95a8;font-style:italic}.memory-raw{background:#0f1218;border:1px solid #2a2f3a;border-radius:10px;padding:1rem;overflow:auto;font-size:.82rem;max-height:70vh}.pomodoro-page{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;max-width:1100px;margin:0 auto}.timer-card,.history-card{background:#151922;border:1px solid #2a2f3a;border-radius:16px;padding:1.5rem}.timer-ring{width:220px;height:220px;border-radius:50%;margin:0 auto 1.5rem;display:grid;place-items:center}.timer-inner{width:180px;height:180px;border-radius:50%;background:#0f1115;display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-value{font-size:2.4rem;font-weight:700}.timer-status{color:#8b95a5;text-transform:uppercase;font-size:.8rem}.task-note{text-align:center;color:#c5ccd6}.cycle-badge{text-align:center;color:#8b95a5;font-size:.85rem;margin-bottom:.75rem}.timer-form,.timer-controls,.stop-form,.timer-form-actions{display:flex;flex-direction:column;gap:.75rem}.timer-form-actions button{background:#2b3445;color:inherit;border:1px solid #3a4558;border-radius:8px;padding:.55rem .85rem}.reset-cycle-btn{margin-top:1rem;background:transparent;border:1px solid #4a3540;color:#c58a8a;border-radius:8px;padding:.5rem .85rem;width:100%}.timer-form label,.stop-form label{display:flex;flex-direction:column;gap:.35rem;color:#a8b0bd}.timer-form input,.stop-form input{border-radius:8px;border:1px solid #2f3748;background:#0f1115;color:inherit;padding:.6rem .8rem}.timer-controls button,.primary-btn{background:#4f7cff;color:#fff;border:none;border-radius:8px;padding:.65rem 1rem}.error{color:#ff7b7b;margin-top:.75rem}.history-card h2{margin-top:0}.history-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.history-card li{padding-bottom:.9rem;border-bottom:1px solid #232936}.history-title{font-weight:600}.history-meta{color:#8b95a5;font-size:.85rem;margin-top:.2rem}.history-result{margin-top:.35rem;color:#c5ccd6}@media (max-width: 900px){.pomodoro-page{grid-template-columns:1fr}}.app{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #2a2f3a;background:#151922}.app-header h1{margin:0;font-size:1.1rem;font-weight:600}.app-header nav{display:flex;align-items:center;gap:.75rem}.app-header nav a{padding:.45rem .9rem;border-radius:8px;color:#a8b0bd}.app-header nav a.active{background:#2b3445;color:#fff}.app-main{flex:1;min-height:0;overflow:hidden}@media (max-width: 768px){.app-header{padding:.55rem .75rem;gap:.5rem;flex-shrink:0}.app-header h1{display:none}.app-header nav{flex:1;overflow-x:auto;flex-wrap:nowrap;gap:.35rem;padding-bottom:.1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-header nav::-webkit-scrollbar{display:none}.app-header nav a{padding:.4rem .65rem;font-size:.85rem;white-space:nowrap;flex-shrink:0}}:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#e8eaed;background-color:#0f1115}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;height:var(--app-height, 100dvh);overflow:hidden}#root{height:100%;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
