:root[data-theme=dark]{--bg: #122229;--panel: #1B333D;--text: #EDE6D8;--muted: #7E97A0;--accent: #C9A227;--accent-text: #122229;--danger: #D97B4F;--success: #5FA88A;--border: rgba(126, 151, 160, .3)}:root[data-theme=light]{--bg: #F4F1EA;--panel: #FFFFFF;--text: #1B2A2F;--muted: #5C6B70;--accent: #A87F12;--accent-text: #FFFFFF;--danger: #B4502A;--success: #327A5B;--border: rgba(28, 42, 47, .2)}*{box-sizing:border-box}body{margin:0;font-family:Georgia,serif;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}.auth-page form{background:var(--panel);padding:32px;border-radius:8px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:13px;color:var(--muted)}.field-error{color:var(--danger);font-size:12px;margin:0}input,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-family:Georgia,serif;font-size:15px}.btn{border:none;border-radius:4px;padding:10px 16px;font-weight:600;cursor:pointer;font-family:Georgia,serif}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.navbar .brand{color:var(--accent);font-weight:700;text-decoration:none;font-size:18px}.nav-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.nav-links a{color:var(--text);text-decoration:none}.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:4px;padding:4px 10px;cursor:pointer;color:var(--text)}.page{max-width:800px;margin:0 auto;padding:24px 16px;display:flex;flex-direction:column;gap:14px}.result .before{text-decoration:line-through;color:var(--muted)}.result .after{color:var(--text)}.muted{color:var(--muted);font-size:13px}.toast-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:1000;max-width:calc(100vw - 40px)}.toast{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;padding:10px 14px;display:flex;align-items:center;gap:12px;justify-content:space-between;min-width:240px;box-shadow:0 4px 12px #0003}.toast-error{border-left-color:var(--danger)}.toast-success{border-left-color:var(--success)}.toast button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px}.skeleton{display:flex;flex-direction:column;gap:8px}.skeleton-line{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--border) 25%,var(--panel) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{display:flex;align-items:center;gap:16px}.history-score{font-size:22px;font-weight:700;color:var(--accent);min-width:44px;text-align:center}.history-role{font-weight:600}.history-summary{color:var(--muted);font-size:14px}.history-date{color:var(--muted);font-size:12px;margin-top:4px}.pagination{display:flex;gap:10px}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;gap:10px;padding:16px}.goal-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.goal-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 10px;border-radius:6px;border:1px solid var(--border)}.goal-achieved{border-left:3px solid var(--success)}.goal-active{border-left:3px solid var(--accent)}.goal-abandoned{border-left:3px solid var(--muted);opacity:.7}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;padding:0;margin-left:auto;font-size:13px}.btn-disabled-link{opacity:.5;pointer-events:none}code{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:13px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (max-width: 480px){.navbar,.history-item{flex-direction:column;align-items:flex-start}}.job-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.job-stat-pill{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--text)}.job-stat-pill.active{border-color:var(--accent);color:var(--accent)}.job-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}.job-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.job-item{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.job-title{font-weight:600}.job-company{color:var(--muted);font-size:14px}.job-actions{display:flex;align-items:center;gap:8px}.job-actions select{padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.profile-form{display:flex;flex-direction:column;gap:12px;max-width:480px}@media (max-width: 480px){.job-item{flex-direction:column;align-items:flex-start}}.chat-window{min-height:200px;display:flex;flex-direction:column}.chat-messages{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto}.chat-bubble{padding:10px 14px;border-radius:10px;max-width:80%}.chat-bubble p{margin:0}.chat-user{background:var(--accent);color:var(--accent-text);align-self:flex-end}.chat-assistant{background:var(--bg);border:1px solid var(--border);align-self:flex-start}.chat-assistant .link-btn{margin-left:0;margin-top:6px;display:block}.chat-input-row{display:flex;gap:8px;margin-top:12px}.chat-input-row input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:10px 12px;font-family:Georgia,serif;font-size:15px}
