*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0a0f;--card:#1a1a2e;--card2:#16213e;--accent:#d4a843;--accent2:#e6c068;--text:#e0e0e0;--text2:#999;--border:#2a2a3e;--danger:#e74c3c;--success:#2ecc71}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh}
#app{max-width:860px;margin:0 auto;padding:20px}
header{text-align:center;padding:30px 0 20px}
header h1{font-size:2rem;cursor:pointer;user-select:none}
.brand{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.tagline{color:var(--text2);font-size:.9rem;margin-top:4px}

/* Input Section */
.input-section{background:var(--card);border-radius:12px;padding:24px;margin-bottom:30px;border:1px solid var(--border)}
.input-section textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:14px;font-size:.95rem;resize:vertical;min-height:120px;font-family:inherit;transition:border-color .2s}
.input-section textarea:focus{outline:none;border-color:var(--accent)}
.input-section textarea::placeholder{color:var(--text2)}
.input-actions{display:flex;gap:10px;margin-top:12px;align-items:center;flex-wrap:wrap}
.btn{background:var(--accent);color:#0a0a0f;border:none;padding:10px 22px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:var(--accent2);transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-small{padding:6px 14px;font-size:.8rem}
.file-input{display:none}
.file-label{cursor:pointer}
.or-sep{color:var(--text2);font-size:.85rem}

/* Analysis List */
.section-title{font-size:1.1rem;color:var(--accent);margin-bottom:14px;font-weight:600}
.analysis-list{display:flex;flex-direction:column;gap:10px}
.analysis-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s;animation:fadeIn .4s ease}
.analysis-card:hover{border-color:var(--accent);transform:translateX(4px)}
.analysis-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.analysis-card h3{font-size:.95rem;color:var(--text);font-weight:500;flex:1}
.analysis-card .meta{font-size:.75rem;color:var(--text2);margin-top:4px}
.analysis-card .summary{font-size:.85rem;color:var(--text2);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pdf-btn{flex-shrink:0}

/* Detail Page */
.back-bar{display:flex;gap:10px;margin-bottom:20px;align-items:center}
.detail-header{background:var(--card);border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid var(--border)}
.detail-header h2{font-size:1.3rem;color:var(--text);margin-bottom:6px}
.detail-meta{font-size:.8rem;color:var(--text2);display:flex;gap:16px;flex-wrap:wrap}
.detail-summary{font-size:.95rem;color:var(--text);margin-top:12px;line-height:1.6}

/* Scores */
.scores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.score-card{background:var(--card);border-radius:10px;padding:16px;text-align:center;border:1px solid var(--border)}
.score-label{font-size:.8rem;color:var(--text2);margin-bottom:6px}
.score-value{font-size:1.6rem;font-weight:700;color:var(--accent)}
.score-bar{height:6px;background:var(--bg);border-radius:3px;margin-top:8px;overflow:hidden}
.score-fill{height:100%;border-radius:3px;transition:width .8s ease}
.score-fill.low{background:var(--success)}.score-fill.mid{background:var(--accent)}.score-fill.high{background:var(--danger)}

/* Mindmap */
.mindmap-container{background:var(--card);border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid var(--border);overflow-x:auto}

/* Accordion */
.accordion{margin-bottom:16px}
.accordion-item{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}
.accordion-header{padding:14px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:.95rem;transition:background .2s;user-select:none}
.accordion-header:hover{background:var(--card2)}
.accordion-header .arrow{transition:transform .2s;font-size:.7rem}
.accordion-item.open .arrow{transform:rotate(90deg)}
.accordion-body{padding:0 18px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.accordion-item.open .accordion-body{max-height:2000px;padding:0 18px 16px}
.accordion-body p,.accordion-body li{font-size:.88rem;color:var(--text2);line-height:1.6}
.accordion-body h4{font-size:.85rem;color:var(--accent);margin:10px 0 4px;font-weight:600}
.accordion-body ul{padding-left:18px}
.accordion-body .tag{display:inline-block;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:.75rem;margin:2px}

/* Verdict */
.verdict-box{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid var(--accent);border-radius:12px;padding:20px;margin-top:16px}
.verdict-box h3{color:var(--accent);margin-bottom:8px}
.verdict-box p{color:var(--text);font-size:.92rem;line-height:1.7}

/* Loading */
.loading{text-align:center;padding:40px;color:var(--text2)}
.spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
.error-msg{background:#2d1515;border:1px solid var(--danger);color:#ff6b6b;padding:12px 16px;border-radius:8px;font-size:.9rem}
.empty{text-align:center;padding:40px;color:var(--text2);font-size:.9rem}

@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:600px){
  #app{padding:12px}
  .scores-grid{grid-template-columns:1fr}
  .input-actions{flex-direction:column}
  .btn{width:100%;justify-content:center}
  header h1{font-size:1.5rem}
}
