:root{--bg:#f5ede3;--bg-deep:#eadccf;--panel-bg:#fffcf8d1;--panel-shadow:0 28px 60px #6f543b1f;--border:#78583f29;--text:#645649;--text-muted:#8d7968;--text-strong:#4d3c30;--text-heading:#23160f;--accent-strong:#9f492d;--sans:"Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--heading:"Iropke Batang", "Times New Roman", serif;font:16px/1.55 var(--sans);color:var(--text);background:radial-gradient(circle at top, #ffffff8c, transparent 30%), linear-gradient(180deg, var(--bg), var(--bg-deep));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 0 0,#fff0e0d9,#0000 28%),linear-gradient(#f8f2eb 0%,#ebdfd1 100%);min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff29 1px,#0000 1px),linear-gradient(90deg,#ffffff29 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000005c,#0000 78%);mask-image:linear-gradient(#0000005c,#0000 78%)}#root{width:min(1240px,100% - 32px);min-height:100vh;margin:0 auto;padding:28px 0 40px}button,input,textarea{font:inherit}h1,h2{color:var(--text-heading);font-family:var(--heading);margin:0;font-weight:700;line-height:1.08}h1{letter-spacing:-.04em;font-size:clamp(2.8rem,5vw,4.9rem)}h2{letter-spacing:-.03em;font-size:clamp(1.5rem,2.8vw,2.2rem)}p{margin:0}a{color:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #d5643959}@media (width<=980px){#root{width:min(100%,100% - 16px);padding-top:16px;padding-bottom:24px}}.app-shell{gap:24px;padding:28px;display:grid}.top-strip,.main-grid,.bottom-grid{gap:24px;display:grid}.top-copy,.main-grid,.bottom-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.panel,.status-card{border:1px solid var(--border);background:var(--panel-bg);box-shadow:var(--panel-shadow);border-radius:28px;position:relative;overflow:hidden}.hero-badges{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.top-copy{align-items:start}.top-copy h1{max-width:13ch;margin-top:8px;margin-bottom:14px}.hero-description{max-width:62ch;color:var(--text-strong);font-size:18px}.environment-pill{letter-spacing:.18em;text-transform:uppercase;color:var(--text-heading);background:#ffffff9e;border:1px solid #68432f1f;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.environment-pill--preview{color:#215952;background:#2f7d731f}.environment-pill--production{color:#8f412b;background:#d5643924}.eyebrow,.section-kicker,.message-role,.summary-label,.draft-meta span,.follow-up-card span,.composer-label{letter-spacing:.24em;text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:8px;margin-bottom:14px;font-size:12px;font-weight:700;display:inline-flex}.compact-status,.panel{padding:24px}.status-head{align-items:flex-start;gap:14px;display:flex}.status-head strong{color:var(--text-heading);margin-bottom:6px;font-size:22px;display:block}.status-head p{color:var(--text-strong)}.status-dot{border-radius:50%;flex:0 0 14px;width:14px;height:14px;margin-top:7px;box-shadow:0 0 0 8px #ffffff7a}.status-dot--idle{background:#8c7b72}.status-dot--writing{background:#df5f38}.status-dot--summarizing{background:#2f7d73}.status-grid{gap:14px;display:grid}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.status-grid div,.summary-card,.emotion-chip,.draft-card,.composer-card,.follow-up-card,.draft-meta,.prompt-chip{background:#ffffffc2;border:1px solid #6f59491f;border-radius:22px}.status-grid div,.summary-card,.follow-up-card,.draft-meta{padding:16px 18px}.status-grid span{color:var(--text-muted);margin-bottom:8px;font-size:13px;display:block}.status-grid strong,.draft-meta strong{color:var(--text-heading);font-size:18px}.compose-panel{background:radial-gradient(circle at 0 0,#ffbd893d,#0000 28%),linear-gradient(#fff9f3f5,#f8f0e8f5)}.result-panel{background:radial-gradient(circle at 100% 0,#4d7cff1f,#0000 28%),linear-gradient(#fffbf7f5,#f5ede4f5)}.panel-heading{margin-bottom:20px}.panel h2{margin-bottom:0}.prompt-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.prompt-chip{color:var(--text-strong);font:inherit;cursor:pointer;padding:12px 14px}.composer-card{padding:20px}.composer-card--large{min-height:100%}.composer-input{resize:vertical;width:100%;color:var(--text-heading);background:#ffffffe6;border:1px solid #6f594924;border-radius:18px;padding:16px 18px}.composer-input--large{min-height:220px}.composer-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.composer-actions--wide>*{flex:180px}.primary-button,.ghost-button{min-height:50px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:0 18px;transition:transform .18s,box-shadow .18s,background .18s,opacity .18s}.primary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.75}.primary-button{color:#fffaf4;background:linear-gradient(135deg,#d56439,#8f412b);box-shadow:0 16px 30px #8f412b3d}.ghost-button{color:var(--text-strong);background:#ffffff94;border:1px solid #68432f1f}.primary-button:hover,.ghost-button:hover,.prompt-chip:hover{transform:translateY(-1px)}.summary-card--lead p,.draft-card p,.follow-up-card p,.emotion-chip p,.message-bubble p{color:var(--text-strong)}.draft-card--hero{margin-top:16px;padding:22px;line-height:1.85}.draft-meta,.follow-up-card{margin-top:16px}.message-list,.emotion-list{gap:14px;display:grid}.message-bubble{border-radius:22px;max-width:92%;padding:18px}.message-bubble--assistant{background:#f4efe7;border:1px solid #7e6a5c24;justify-self:start}.message-bubble--user{background:linear-gradient(135deg,#d56439,#a84d32);justify-self:end}.message-bubble--user .message-role,.message-bubble--user p{color:#fff7f1}.emotion-chip{justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 18px;display:flex}.emotion-chip span{color:var(--text-heading)}.emotion-chip strong{color:var(--text-heading);white-space:nowrap;font-size:18px}.emotion-chip p{margin-top:8px;font-size:14px}.error-text{color:#9f2f24;margin-top:14px;font-weight:600}@media (width<=980px){.app-shell{padding:20px}.top-copy,.main-grid,.bottom-grid,.compact-grid{grid-template-columns:1fr}.top-copy h1,.message-bubble{max-width:none}.compose-panel,.result-panel,.conversation-panel,.insight-panel,.status-card{border-radius:24px;padding:22px}.emotion-chip{flex-direction:column}}
