:root{--color-bg: #fdfaf2;--color-sidebar: #f5f0e1;--color-primary: #8b4513;--color-accent: #c0392b;--color-text: #2c3e50;--color-border: #dcd0b8;--color-success: #27ae60;--font-serif: "Georgia", "Times New Roman", serif}body{margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-serif)}.app-container{display:flex;height:100vh}.sidebar{width:300px;background-color:var(--color-sidebar);border-right:2px solid var(--color-border);display:flex;flex-direction:column}.sidebar-header{padding:20px;border-bottom:1px solid var(--color-border);font-weight:700;font-size:1.2rem;color:var(--color-primary);display:flex;align-items:center;gap:10px}.history-list{flex:1;overflow-y:auto}.history-item{padding:15px 20px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .2s}.history-item:hover{background-color:#eee9d8}.history-item.active{background-color:#e8dfc4;border-left:4px solid var(--color-primary)}.item-q{font-weight:700}.item-meta{font-size:.8rem;opacity:.7}.sidebar-footer{padding:15px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.user-info{font-size:.85rem;color:var(--color-primary);font-weight:700;padding:5px;border-bottom:1px dashed var(--color-border);margin-bottom:5px}.btn-footer{padding:10px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem}.btn-footer:hover{background:#fdfaf2}.btn-logout{border-color:var(--color-accent);color:var(--color-accent)}.btn-logout:hover{background:#fff0f0}.main-content{flex:1;padding:40px;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.card{background:white;padding:30px;border-radius:4px;box-shadow:0 4px 15px #0000000d;border:1px solid var(--color-border);width:100%;max-width:900px;margin-bottom:30px;box-sizing:border-box}.login-container{height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg)}.login-card{max-width:400px}.form-grid-extended{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;align-items:end;margin-bottom:25px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:700;color:var(--color-primary);display:flex;align-items:center;gap:5px}input,select{padding:10px;border:1px solid var(--color-border);background:#fff;font-size:1rem;border-radius:4px}.date-info-card{background:#fdfaf2;border:1px solid var(--color-border);padding:10px;border-radius:6px;display:flex;flex-direction:column;gap:8px}.lunar-tag{font-size:1.1rem;font-weight:700;color:var(--color-accent);text-align:center;border-bottom:1px dashed var(--color-border);padding-bottom:5px}.gz-tags{display:flex;justify-content:space-around;gap:5px}.gz-tag{background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:4px;font-size:.85rem;font-weight:700}.lines-entry-header{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.btn-reset{background:none;border:1px solid var(--color-accent);color:var(--color-accent);padding:4px 8px;cursor:pointer;border-radius:4px;font-size:.8rem;display:flex;align-items:center;gap:4px}.interactive-lines-container{display:flex;flex-direction:column;gap:8px;margin-bottom:30px}.line-entry-row{display:flex;align-items:center;gap:20px;padding:10px 15px;border:1px solid #eee;border-radius:6px;transition:all .3s}.active-step{border-color:var(--color-primary);background-color:#fff9f0;box-shadow:0 0 12px #8b451326;transform:scale(1.01)}.completed-step{background-color:#fafafa;border-color:#e0e0e0}.line-info{display:flex;align-items:center;gap:15px;width:120px}.line-preview-symbol{width:40px;text-align:center;font-size:1.2rem;font-weight:700;color:var(--color-primary)}.button-group{display:flex;gap:8px;flex:1}.val-btn{flex:1;padding:8px;border:1px solid #ddd;background:white;cursor:pointer;border-radius:4px;font-size:.9rem}.val-btn.selected{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.check-icon{color:var(--color-success)}.detailed-table{width:100%;border-collapse:collapse;margin-top:10px}.detailed-table th,.detailed-table td{padding:12px 8px;border-bottom:1px solid #eee;text-align:center}.detailed-table th{background:#f5f0e1;color:var(--color-primary);font-size:.9rem}.void-row td{opacity:.4;filter:grayscale(1)}.branch-tag{display:inline-block;padding:2px 8px;background:#f0f0f0;border-radius:0 4px 4px 0;font-weight:700}.change-cell{display:flex;align-items:center;justify-content:center;gap:5px;background:#fff5f5;padding:4px;border-radius:4px;border:1px dashed var(--color-accent)}.ai-interpretation-card{background-color:#fff;border:1px solid var(--color-border);border-top:4px solid var(--color-primary);padding:30px;margin-top:30px;border-radius:4px;box-shadow:0 4px 20px #00000014}.btn-ai{background:linear-gradient(135deg,var(--color-primary) 0%,#a0522d 100%);color:#fff;padding:15px 40px;border:none;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:700;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 15px #8b45134d;transition:all .3s}.btn-ai:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #8b451366}.btn-ai:disabled{opacity:.7;cursor:wait}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.markdown-body{line-height:1.8;color:#333;font-size:1.05rem}.markdown-body h1,.markdown-body h2,.markdown-body h3{border-bottom:1px solid #eee;padding-bottom:8px;margin-top:24px}.markdown-body ul,.markdown-body ol{padding-left:20px}.markdown-body table{width:100%;border-collapse:collapse;margin:15px 0}.markdown-body th,.markdown-body td{border:1px solid #ddd;padding:8px;text-align:left}.rules-panel{background-color:#f9f9f9;font-size:.9rem;border-style:dashed}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.rule-item{display:flex;justify-content:space-between;background:white;padding:5px 10px;border-radius:4px;border:1px solid #eee}.btn-primary{background-color:var(--color-primary);color:#fff;padding:15px 30px;border:none;cursor:pointer;font-size:1.1rem;width:100%;border-radius:4px}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}
