:root{--bg: #0f1115;--text: #e8e6e1;--card: #1a1d23;--accent: #e8a33d;--muted: #8d8a83;--danger: #e0604f;--border: #2a2e36;--radius: 14px;--transition: .2s ease}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:640px;margin:0 auto;padding:1rem 1rem 4rem}.app-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}.app-header h1{font-size:1.4rem;margin:0;color:var(--accent)}.app-header nav{display:flex;gap:.5rem}.app-header nav button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font:inherit;padding:.25rem .5rem;cursor:pointer}.app-header nav button.nav-active{color:var(--text);border-bottom-color:var(--accent)}button{transition:transform var(--transition),background var(--transition),color var(--transition),border-color var(--transition)}button:active{transform:scale(.97)}.budget-banner{background:var(--card);border:1px solid var(--accent);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.capture-box textarea{width:100%;min-height:5rem;resize:vertical;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font:inherit;transition:border-color var(--transition)}.capture-box textarea:focus{outline:none;border-color:var(--accent)}.capture-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.capture-hint{color:var(--muted);font-size:.8rem;flex:1}.capture-flash{color:var(--accent);font-weight:600}.capture-badge{background:var(--card);color:var(--muted);border-radius:var(--radius);padding:.15rem .6rem;font-size:.8rem}.capture-box button{background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius);padding:.5rem 1.1rem;font:inherit;font-weight:600;cursor:pointer}.pending-line{color:var(--muted);font-size:.9rem}.shortlist,.deadline-radar{margin-top:1.5rem}.shortlist h2,.deadline-radar h2,.log-view h2{font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.shortlist-card{display:flex;align-items:center;gap:1rem;background:var(--card);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem;transition:opacity var(--transition)}.shortlist-card.is-done{opacity:.55}.shortlist-card.is-done .shortlist-body h3{text-decoration:line-through;text-decoration-color:var(--accent)}.shortlist-rank{color:var(--accent);font-size:1.2rem;font-weight:700}.shortlist-body{flex:1}.shortlist-body h3{margin:0 0 .25rem;font-size:1rem}.shortlist-reason{margin:0;color:var(--muted);font-size:.85rem}.course-chip,.radar-course{display:inline-block;background:#242833;color:var(--text);border-radius:var(--radius);padding:.1rem .5rem;font-size:.75rem;margin-top:.35rem}.check-button{width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid var(--accent);background:none;color:var(--accent);font-size:1.2rem;cursor:pointer}.check-button:disabled{background:var(--accent);color:var(--bg);cursor:default}.shortlist-clear{color:var(--accent)}.radar-chips{display:flex;flex-wrap:wrap;gap:.5rem}.deadline-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .75rem;font-size:.85rem}.deadline-chip.urgency-red{border-color:var(--danger);color:var(--danger)}.deadline-chip.urgency-amber{border-color:var(--accent);color:var(--accent)}.radar-countdown{font-weight:600}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}button:active{transform:none}}.log-list{list-style:none;margin:0;padding:0}.log-row{display:flex;align-items:baseline;gap:.6rem;background:var(--card);border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:.5rem;transition:opacity var(--transition)}.log-glyph{flex:none}.log-sentence{flex:1}.log-time{color:var(--muted);font-size:.85rem;white-space:nowrap}.log-tag{color:var(--muted);font-size:.8rem;border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem}.log-revert{background:none;border:1px solid var(--border);border-radius:8px;color:var(--accent);cursor:pointer;padding:.2rem .6rem;transition:border-color var(--transition)}.log-revert:hover{border-color:var(--accent)}.log-empty{color:var(--muted)}
