:root{--bg-deep:#0d1020;--bg-card:#171a2e;--bg-card-hover:#1e2240;--bg-input:#121527;--bg-sidebar:#0a0d1a;--text-primary:#f4f1ea;--text-secondary:#a9a7b8;--text-muted:#6b6880;--accent-gold:#d6a84f;--accent-gold-dim:#b8903f;--accent-gold-glow:#d6a84f26;--accent-indigo:#6c7cff;--accent-indigo-dim:#5260cc;--success:#4caf82;--warning:#e8a840;--error:#cf5c5c;--border:#252840;--border-focus:#6c7cff;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 2px 12px #00000040;--shadow-elevated:0 8px 32px #0006;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sidebar-width:280px;--sidebar-collapsed-width:0px;color:var(--text-primary);background-color:var(--bg-deep);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);min-height:100vh;color:var(--text-primary);overflow:hidden}#app{width:100%;height:100vh;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:10;flex-direction:column;transition:transform .3s,min-width .3s,width .3s;display:flex;position:relative;overflow:hidden auto}.sidebar.collapsed{border-right:none;width:0;min-width:0;transform:translate(-100%)}.sidebar-header{padding:var(--sp-6) var(--sp-5);border-bottom:1px solid var(--border)}.logo{align-items:center;gap:var(--sp-3);display:flex}.logo-icon{color:var(--accent-gold);font-size:28px;line-height:1}.logo-title{color:var(--text-primary);letter-spacing:-.3px;font-size:20px;font-weight:700;line-height:1.2}.logo-subtitle{color:var(--text-muted);font-size:11px;line-height:1.3}.sidebar-nav{padding:var(--sp-4) var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.nav-btn{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-btn:hover{background:var(--bg-card);color:var(--text-primary)}.nav-btn.active{background:var(--accent-gold-glow);color:var(--accent-gold)}.nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.badge{background:var(--accent-gold);color:var(--bg-deep);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.5}.sidebar-recent{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);margin-top:auto}.recent-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--sp-2);font-size:11px}.recent-list{gap:var(--sp-1);flex-direction:column;list-style:none;display:flex}.recent-list li{color:var(--text-secondary);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;font-size:13px;transition:all .15s;overflow:hidden}.recent-list li:hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-toggle{top:var(--sp-5);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:32px;height:32px;color:var(--text-muted);cursor:pointer;z-index:5;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;right:-36px}.sidebar-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sidebar.collapsed .sidebar-toggle{right:-36px}.mobile-menu-btn{top:var(--sp-3);left:var(--sp-3);z-index:20;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:40px;height:40px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;display:none;position:fixed}.main{background:var(--bg-deep);flex:1;position:relative;overflow-y:auto}.view{max-width:800px;padding:var(--sp-8) var(--sp-6);margin:0 auto;animation:.2s fadeIn;display:none}.view.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view-header{margin-bottom:var(--sp-8)}.view-header h2{color:var(--text-primary);margin-bottom:var(--sp-3);font-size:26px;font-weight:700;line-height:1.2}.view-description{color:var(--text-secondary);max-width:600px;font-size:15px;line-height:1.6}.form-group{margin-bottom:var(--sp-5)}.form-group label{color:var(--text-primary);margin-bottom:var(--sp-2);font-size:14px;font-weight:600;display:block}.required{color:var(--accent-gold)}.form-group textarea,.form-group input[type=password],.form-group input[type=text]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:var(--sp-3) var(--sp-4);resize:vertical;outline:none;min-height:80px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input[type=password],.form-group input[type=text]{min-height:unset;height:44px}.form-group textarea:focus,.form-group input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6c7cff26}.form-group textarea::placeholder,.form-group input::placeholder{color:var(--text-muted)}.field-hint{color:var(--text-muted);margin-top:var(--sp-2);font-size:12px}.api-key-row{gap:var(--sp-3);display:flex}.api-key-row input{flex:1}.btn-primary{background:var(--accent-gold);color:var(--bg-deep);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-6);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-2);border:none;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--accent-gold-dim);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-5);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-danger{color:var(--error);border:1px solid var(--error);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-5);cursor:pointer;background:0 0;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.btn-danger:hover{background:#cf5c5c1a}.btn-back{color:var(--text-secondary);cursor:pointer;padding:var(--sp-2) 0;margin-bottom:var(--sp-3);align-items:center;gap:var(--sp-2);background:0 0;border:none;font-family:inherit;font-size:14px;transition:color .15s;display:inline-flex}.btn-back:hover{color:var(--text-primary)}.score-buttons{gap:var(--sp-2);flex-wrap:wrap;display:flex}.score-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.score-btn:hover{border-color:var(--accent-gold);color:var(--text-primary)}.score-btn.selected{background:var(--accent-gold-glow);border-color:var(--accent-gold);color:var(--accent-gold)}.analysis-result{gap:var(--sp-5);flex-direction:column;display:flex}.result-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);transition:border-color .2s}.result-section:hover{border-color:var(--bg-card-hover)}.result-section h3{color:var(--accent-gold);margin-bottom:var(--sp-3);font-size:16px;font-weight:600;line-height:1.3}.result-section p,.result-section li{color:var(--text-secondary);font-size:14px;line-height:1.6}.result-section ul,.result-section ol{padding-left:var(--sp-5);gap:var(--sp-1);flex-direction:column;display:flex}.result-section strong{color:var(--text-primary);font-weight:600}.result-section em{color:var(--accent-indigo);font-style:italic}.path-card{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-3)}.path-card h4{color:var(--accent-indigo);margin-bottom:var(--sp-2);font-size:15px;font-weight:600}.path-label{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-gold);margin-bottom:var(--sp-1);font-size:12px;font-weight:700;display:inline-block}.result-actions{gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.save-decision-form{margin-top:var(--sp-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6)}.save-decision-form h3{color:var(--text-primary);margin-bottom:var(--sp-4);font-size:16px;font-weight:600}.save-decision-form textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:var(--sp-3) var(--sp-4);resize:vertical;min-height:80px;margin-bottom:var(--sp-4);outline:none;font-family:inherit;font-size:14px}.save-decision-form textarea:focus{border-color:var(--border-focus)}.decision-card,.feedback-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);cursor:pointer;margin-bottom:var(--sp-3);transition:all .2s}.decision-card:hover,.feedback-card:hover{border-color:var(--accent-gold-dim);box-shadow:var(--shadow-card);transform:translateY(-1px)}.card-title{color:var(--text-primary);margin-bottom:var(--sp-2);font-size:16px;font-weight:600}.card-meta{color:var(--text-muted);gap:var(--sp-1);flex-direction:column;font-size:13px;display:flex}.card-meta span{display:block}.card-status{margin-top:var(--sp-2);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-analyzed{color:var(--accent-indigo);background:#6c7cff26}.status-saved{background:var(--accent-gold-glow);color:var(--accent-gold)}.status-in-progress{color:var(--warning);background:#e8a84026}.status-completed{color:var(--success);background:#4caf8226}.checkin-badge{margin-right:var(--sp-2);border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.checkin-pending{color:var(--text-muted);background:#6b688033}.checkin-due{color:var(--warning);background:#e8a84026}.checkin-completed{color:var(--success);background:#4caf8226}.feedback-card{cursor:default}.feedback-card .card-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.feedback-card .btn-sm,.btn-sm{padding:var(--sp-2) var(--sp-3);font-size:13px}.detail-content{gap:var(--sp-5);flex-direction:column;display:flex}.detail-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6)}.detail-section h3{color:var(--accent-gold);margin-bottom:var(--sp-3);text-transform:uppercase;letter-spacing:.3px;font-size:14px;font-weight:600}.detail-section p{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.6}.detail-section .analysis-text{color:var(--text-secondary);font-size:14px;line-height:1.7}.detail-section .analysis-text strong{color:var(--text-primary)}.detail-section .analysis-text em{color:var(--accent-indigo)}.checkin-list{gap:var(--sp-3);flex-direction:column;display:flex}.checkin-item{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-4) var(--sp-5)}.checkin-item-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.checkin-item-label{color:var(--text-primary);font-size:14px;font-weight:600}.checkin-item p{color:var(--text-secondary);margin-bottom:var(--sp-1);white-space:pre-wrap;font-size:13px}.checkin-item .score-display{color:var(--accent-gold);font-size:13px;font-weight:600}.profile-content{gap:var(--sp-5);flex-direction:column;display:flex}.profile-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6)}.profile-section h3{color:var(--accent-gold);margin-bottom:var(--sp-3);font-size:15px;font-weight:600}.profile-section p{color:var(--text-secondary);font-size:14px;line-height:1.6}.profile-section ul{gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.profile-section li{color:var(--text-secondary);padding-left:var(--sp-4);font-size:14px;line-height:1.5;position:relative}.profile-section li:before{content:"—";color:var(--accent-gold);position:absolute;left:0}.settings-content{max-width:500px}.settings-danger{margin-top:var(--sp-10);padding-top:var(--sp-6);border-top:1px solid var(--border)}.settings-danger h3{color:var(--error);margin-bottom:var(--sp-4);font-size:16px;font-weight:600}.loading-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d1020d9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-content{text-align:center}.loading-icon{color:var(--accent-gold);margin-bottom:var(--sp-4);font-size:48px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}.loading-text{color:var(--text-secondary);font-size:16px;font-weight:500}.toast-container{bottom:var(--sp-6);right:var(--sp-6);gap:var(--sp-2);z-index:100;flex-direction:column;display:flex;position:fixed}.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-5);color:var(--text-primary);box-shadow:var(--shadow-elevated);max-width:400px;font-size:14px;animation:.2s slideIn}.toast-error{border-color:var(--error);color:var(--error)}.toast-success{border-color:var(--success);color:var(--success)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.empty-state{color:var(--text-muted);text-align:center;padding:var(--sp-10) var(--sp-4);font-size:15px;line-height:1.6}.confirm-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d1020bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);width:90%;max-width:400px;box-shadow:var(--shadow-elevated)}.confirm-dialog h3{color:var(--text-primary);margin-bottom:var(--sp-3);font-size:16px;font-weight:600}.confirm-dialog p{color:var(--text-secondary);margin-bottom:var(--sp-5);font-size:14px;line-height:1.5}.confirm-actions{gap:var(--sp-3);justify-content:flex-end;display:flex}.detail-section-actions{margin-top:var(--sp-4);gap:var(--sp-3);display:flex}.revise-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--sp-6) 0;background:#0d1020bf;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.revise-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);width:90%;max-width:600px;box-shadow:var(--shadow-elevated)}.revise-modal h3{color:var(--text-primary);margin-bottom:var(--sp-2);font-size:18px;font-weight:600}.revise-modal .revise-hint{color:var(--text-muted);margin-bottom:var(--sp-5);font-size:13px;line-height:1.5}.revise-modal .form-group{margin-bottom:var(--sp-4)}.revise-modal .form-group label{color:var(--text-secondary);margin-bottom:var(--sp-2);font-size:13px;font-weight:500;display:block}.revise-modal textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:var(--sp-3) var(--sp-4);resize:vertical;outline:none;min-height:60px;font-family:inherit;font-size:14px;transition:border-color .2s}.revise-modal textarea:focus{border-color:var(--border-focus)}.revise-actions{gap:var(--sp-3);margin-top:var(--sp-5);justify-content:flex-end;display:flex}::-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)}@media (width<=768px){.sidebar{z-index:100;height:100vh;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:none}.mobile-menu-btn{display:flex}.view{padding:var(--sp-10) var(--sp-4) var(--sp-8)}.score-buttons{flex-direction:column}.score-btn{text-align:left}.result-actions{flex-direction:column}.result-actions button{width:100%}.api-key-row{flex-direction:column}}@media (width>=769px){.mobile-menu-btn{display:none!important}}.sidebar-overlay{z-index:90;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}.card-delete{color:var(--text-muted);cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;font-size:16px;transition:color .15s}.card-delete:hover{color:var(--error)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.chat-container{flex-direction:column;height:calc(100vh - 180px);min-height:400px;display:flex}.chat-messages{gap:var(--sp-4);padding:var(--sp-4) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-message{max-width:85%;animation:.2s fadeIn}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.chat-bubble{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);word-wrap:break-word;font-size:14px;line-height:1.6}.chat-message.user .chat-bubble{background:var(--accent-gold-glow);border:1px solid var(--accent-gold-dim);color:var(--text-primary);border-bottom-right-radius:var(--radius-sm)}.chat-message.assistant .chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-bottom-left-radius:var(--radius-sm)}.chat-bubble strong{color:var(--text-primary);font-weight:600}.chat-bubble em{color:var(--accent-indigo)}.chat-sender{color:var(--text-muted);margin-bottom:var(--sp-1);font-size:11px;font-weight:600}.chat-message.user .chat-sender{text-align:right}.chat-input-row{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border);align-items:flex-end;display:flex}.chat-input-row textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--sp-3) var(--sp-4);resize:none;outline:none;flex:1;min-height:44px;max-height:120px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s}.chat-input-row textarea:focus{border-color:var(--border-focus)}.chat-input-row textarea::placeholder{color:var(--text-muted)}.chat-send-btn{height:44px;padding:var(--sp-2) var(--sp-5);flex-shrink:0}.chat-actions{gap:var(--sp-3);padding-top:var(--sp-4);justify-content:center;display:flex}.chat-data-badge{margin-right:var(--sp-2);margin-bottom:var(--sp-1);border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.chat-data-collected{color:var(--success);background:#4caf8226}.chat-data-missing{color:var(--text-muted);background:#6b688033}.chat-data-bar{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.chat-typing{padding:var(--sp-3) var(--sp-4);align-self:flex-start;gap:4px;display:flex}.chat-typing span{background:var(--accent-gold);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typingBounce}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@media (width<=768px){.chat-container{height:calc(100vh - 140px)}.chat-message{max-width:92%}.chat-input-row{flex-direction:column}.chat-send-btn{width:100%}}
