*{box-sizing:border-box}
:root{--bg:#f8f5fa;--card:#fff;--text:#403846;--muted:#756c7d;--accent:#8d78a8;--accent-dark:#705c88;--soft:#eee8f3;--border:#e6dfe9;--shadow:0 12px 36px rgba(70,55,80,.08)}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fcfafc 0%,var(--bg) 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app{width:min(650px,calc(100% - 24px));margin:auto;padding:30px 0 48px}
.hero{text-align:center;padding:8px 0 28px}.sparkle{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--accent-dark);font-size:22px}
h1{margin:0;font:500 42px Georgia,serif;letter-spacing:-1px}.hero p{margin:7px 0 0;color:var(--muted);font-size:16px}
.intro{background:var(--card);border-radius:24px;padding:27px;box-shadow:var(--shadow)}
.step{position:relative}.step-count{font-size:12px;color:#a296aa;font-weight:700;letter-spacing:.08em;margin-bottom:12px}
.soft{color:var(--accent-dark);font-size:14px;font-weight:600;margin-bottom:9px}
h2{margin:0 0 8px;font:500 25px Georgia,serif}.step p{margin:0 0 20px;color:var(--muted);line-height:1.55}
.back{border:0;background:transparent;color:var(--accent-dark);font:600 13px inherit;padding:4px 0 10px;cursor:pointer}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choices button{min-height:52px;border:1px solid var(--border);border-radius:15px;background:#fcfbfd;color:var(--text);font:600 14px inherit;text-align:left;padding:12px;cursor:pointer}
.choices button:hover,.choices button.selected{border-color:var(--accent);background:var(--soft);color:var(--accent-dark)}
.hidden{display:none}.input-wrap{position:relative}
.step textarea{display:block;width:100%;min-height:190px;resize:vertical;border:1px solid var(--border);border-radius:17px;padding:18px 60px 18px 18px;background:#fcfbfd;color:var(--text);font:16px/1.6 inherit;outline:none}
textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(141,120,168,.12)}
.mic{position:absolute;right:10px;bottom:10px;width:46px;height:46px;border:0;border-radius:50%;background:var(--soft);color:var(--accent-dark);font-size:20px;cursor:pointer}
.mic.listening{background:var(--accent);color:#fff;animation:pulse 1.2s infinite}@keyframes pulse{50%{transform:scale(1.06)}}
.main-btn,.reset{width:100%;padding:15px 18px;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer}.main-btn{margin-top:14px;border:0;background:var(--accent);color:#fff}.main-btn:hover{background:var(--accent-dark)}
.status{min-height:17px;margin-top:8px;color:var(--muted);font-size:13px}
.flow{padding-top:25px}.flow-label{text-align:center;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:12px}
.context{text-align:center;margin-bottom:14px}.context span{display:inline-block;background:var(--soft);color:var(--accent-dark);border-radius:20px;padding:6px 10px;margin:3px;font-size:11px;font-weight:600}
.result-card{display:flex;gap:15px;align-items:flex-start;background:#fff;border-radius:20px;padding:20px;margin-bottom:12px;box-shadow:var(--shadow);border:1px solid rgba(230,223,233,.7)}
.icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:var(--soft);display:grid;place-items:center;font-size:20px}
h3{margin:1px 0 7px;font:600 18px Georgia,serif}.result-card p{margin:0;color:var(--muted);line-height:1.6}
.ai-note{text-align:center;color:#9b91a2;font-size:11px;margin:17px 0}.closing{text-align:center;color:var(--accent-dark);font:italic 16px/1.55 Georgia,serif;margin:22px 12px 18px}
.reset{background:transparent;color:var(--accent-dark);border:1px solid #d9d0df}
@media(max-width:520px){.app{width:calc(100% - 20px);padding-top:20px}h1{font-size:37px}.intro{padding:21px;border-radius:20px}.choices{grid-template-columns:1fr}.choices button{min-height:48px}}

.export-area{margin:24px 8px 16px;padding:15px 0 4px;border-top:1px solid var(--border);text-align:center}.export-label{font-size:11px;color:#9b91a2;letter-spacing:.04em;margin-bottom:9px}.export-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.export-btn{border:1px solid var(--border);background:transparent;color:#81758a;border-radius:12px;padding:9px 12px;font:500 12px inherit;cursor:pointer}.export-btn:hover{background:var(--soft);color:var(--accent-dark);border-color:#d7cde0}
@media print{body{background:#fff}.app{width:100%;padding:0}.hero{padding-bottom:18px}.intro,.back,.export-area,.reset,.ai-note{display:none!important}.flow{display:block!important;padding-top:0}.result-card{box-shadow:none;break-inside:avoid}.closing{margin-bottom:0}.context span{border:1px solid #ddd;background:#fff}}

.result-screen{min-height:calc(100vh - 24px);padding:28px 18px 34px;background:linear-gradient(180deg,#fbf9fc 0%,#f5f0f7 100%);border-radius:28px;box-sizing:border-box}
.result-head{text-align:center;margin:2px auto 20px;max-width:520px}.result-head .eyebrow{font-size:12px;letter-spacing:.08em;color:#9b8ca3;margin-bottom:7px}.result-head h2{margin:0;color:#3f3545;font:600 25px Georgia,serif}.result-head p{margin:7px 0 0;color:#8b7f91;font-size:13px;line-height:1.5}
.result-card{background:rgba(255,255,255,.82);border:1px solid #e3dbe7;border-radius:20px;padding:17px;margin:10px 0;box-shadow:0 5px 18px rgba(75,55,85,.05)}
.result-title{font:600 15px Georgia,serif;color:#5a4b62;margin-bottom:8px}.result-text{font-size:14px;line-height:1.6;color:#655b68}
.ai-note{text-align:center;font-size:10px;color:#aaa0ad;margin:15px 0}
.result-screen .memo-card{margin:16px 0 12px;background:rgba(255,255,255,.72)}.result-screen .memo-preview{margin:0 0 15px}
.result-screen .export-area{margin:14px 0 12px}.result-screen .reset{display:block;margin:8px auto}
.closing{text-align:center;color:#9b909f;font:italic 13px/1.55 Georgia,serif;margin:22px 0 0}
@media (max-width:600px){.result-screen{border-radius:22px;padding:25px 14px 30px}}
@media print{.result-screen{background:white!important;min-height:auto}.memo-card,.memo-preview,.export-area,.reset{display:none!important}}

.input-methods span{padding:5px 9px;border-radius:9px;background:#f5f0f7;border:1px solid #e4dce8}
.memo-card{display:flex;gap:13px;align-items:flex-start;margin:16px 0 12px;padding:15px;border:1px solid #e3dbe7;border-radius:17px;background:rgba(255,255,255,.72)}
.memo-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#f3edf6;display:grid;place-items:center;font-size:18px}
.memo-copy{min-width:0}.memo-title{font:600 15px Georgia,serif;color:#514459;margin:1px 0 4px}.memo-text{font-size:12px;line-height:1.45;color:#8a808f}
.memo-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.memo-btn{border:1px solid #ded5e3;background:transparent;color:#81758a;border-radius:10px;padding:7px 9px;font:500 11px inherit;cursor:pointer}.memo-btn:hover{background:#f5f0f7}
.memo-preview{margin:0 0 15px;padding:15px;border-radius:17px;background:#fcfbfd;border:1px solid #e1d8e6}.memo-preview-label{font-size:12px;font-weight:700;color:#6a5873;margin-bottom:7px}.memo-preview p{margin:0;color:#514957;font:italic 15px/1.55 Georgia,serif}.memo-preview-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.memo-placeholder{font-size:10px;color:#aaa0ad;margin-top:10px}
@media print{.memo-card,.memo-preview{display:none!important}}

.brain-dump-helper{font-size:13px;line-height:1.5;color:#81758a;margin:0 0 8px}
