:root{--bg:#070606;--panel:#141010;--panel2:#1d1514;--text:#f3e6d0;--muted:#b49d7c;--accent:#b9382c;--accent2:#e09a4d;--border:rgba(224,154,77,.18);--shadow:rgba(0,0,0,.55)}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--text);font-family:Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 20% 0%,rgba(179,56,44,.25),transparent 34%),linear-gradient(180deg,#100b0b,#050404)}
.dp-app{min-height:100vh;display:grid;grid-template-columns:360px 1fr;gap:18px;padding:18px}
.dp-sidebar,.dp-main{border:1px solid var(--border);border-radius:22px;background:rgba(20,16,16,.88);box-shadow:0 20px 60px var(--shadow);backdrop-filter:blur(14px)}
.dp-sidebar{padding:18px;overflow:auto}.dp-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.dp-sigil{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#44110e);font-weight:900}.dp-brand h1{font-size:1.55rem;margin:0;color:var(--accent2)}.dp-brand p{margin:3px 0 0;color:var(--muted);font-size:.9rem}
.dp-card{background:linear-gradient(180deg,rgba(37,25,23,.92),rgba(18,13,13,.92));border:1px solid var(--border);border-radius:18px;padding:16px;margin-bottom:14px}.dp-card-title{color:var(--accent2);font-weight:800;margin-bottom:12px}
label{display:block;margin:12px 0 6px;color:var(--muted);font-size:.86rem}input,select,textarea{width:100%;color:var(--text);background:#090707;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:11px 12px;outline:none}textarea{resize:vertical;min-height:86px;line-height:1.35}.dp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dp-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
button,.dp-home{border:0;border-radius:12px;padding:11px 14px;font-weight:800;cursor:pointer;text-decoration:none}.dp-choice{background:#100b0b;color:var(--muted);border:1px solid rgba(255,255,255,.07)}.dp-choice.active{color:#fff;background:linear-gradient(135deg,var(--accent),#6d1d17)}.dp-primary{width:100%;margin-top:14px;color:#fff;background:linear-gradient(135deg,var(--accent),#6d1d17)}.dp-secondary{width:100%;margin-top:8px;background:#100b0b;color:var(--text);border:1px solid rgba(255,255,255,.08)}
.dp-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding:9px 0;color:var(--muted);font-size:.9rem}.dp-row strong{color:var(--text)}
.dp-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.dp-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:rgba(29,21,20,.76)}.dp-top h2{margin:0;color:var(--accent2)}.dp-top p{margin:4px 0 0;color:var(--muted)}.dp-home{color:var(--text);background:#100b0b;border:1px solid rgba(255,255,255,.08);white-space:nowrap}
.dp-messages{flex:1 1 auto;overflow:auto;padding:20px;scroll-behavior:smooth}.dp-message{display:flex;gap:12px;margin-bottom:16px}.dp-message.user{flex-direction:row-reverse}.avatar{flex:0 0 42px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#251917;border:1px solid var(--border);color:var(--accent2);font-weight:900}.user .avatar{color:#fff;background:linear-gradient(135deg,#42302a,#1a1110)}
.bubble{max-width:min(900px,84%);padding:14px 16px;border-radius:18px;line-height:1.5;background:#0d0b0b;border:1px solid rgba(255,255,255,.07)}.ai .bubble{background:linear-gradient(180deg,rgba(20,18,18,.98),rgba(10,9,9,.98));border-color:rgba(224,154,77,.14)}.user .bubble{background:linear-gradient(180deg,rgba(43,29,26,.98),rgba(20,13,12,.98));border-color:rgba(179,56,44,.28)}.role{color:var(--accent2);font-weight:800;font-size:.82rem;margin-bottom:6px}.bubble p{margin:0;white-space:pre-wrap}
.dp-composer{flex:0 0 auto;display:grid;grid-template-columns:1fr 130px;gap:10px;padding:14px;border-top:1px solid var(--border);background:rgba(12,9,9,.92)}.dp-composer textarea{min-height:58px;max-height:150px}.dp-composer button{color:white;background:linear-gradient(135deg,var(--accent),#6d1d17)}.dp-thinking{animation:pulse 1.2s infinite ease-in-out}@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:980px){.dp-app{grid-template-columns:1fr;padding:10px}.dp-sidebar{order:1}.dp-main{order:2;min-height:70vh}.dp-messages{max-height:65vh}}@media(max-width:560px){.dp-grid-2{grid-template-columns:1fr}.dp-top{align-items:flex-start;flex-direction:column}.dp-composer{grid-template-columns:1fr}.bubble{max-width:calc(100vw - 92px)}}
