.char-counter{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.char-counter--warning{color:var(--color-warning)}.char-counter--over{color:var(--color-danger);font-weight:600}.prompt-form{gap:var(--space-3);flex-direction:column;display:flex}.prompt-form__label{font-size:.95rem;font-weight:600}.prompt-form__textarea{width:100%;min-height:9rem;padding:var(--space-3);font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical}.prompt-form__textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.prompt-form__textarea:disabled{opacity:.6}.prompt-form__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.prompt-form__submit{min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--color-accent-contrast);background:var(--color-accent);border-radius:var(--radius);cursor:pointer;border:none;font-weight:600}.prompt-form__submit:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.questions-form{gap:var(--space-3);flex-direction:column;display:flex}.questions-form__intro{color:var(--color-text-muted);font-size:.95rem}.questions-form__list{gap:var(--space-2);flex-direction:column;margin:0;padding-left:1.4rem;display:flex}.questions-form__question{line-height:1.4}.questions-form__label{font-size:.95rem;font-weight:600}.questions-form__textarea{width:100%;min-height:7rem;padding:var(--space-3);font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical}.questions-form__textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.questions-form__textarea:disabled{opacity:.6}.questions-form__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.questions-form__actions{gap:var(--space-2);display:flex}.questions-form__skip,.questions-form__submit{min-height:44px;padding:0 var(--space-4);font:inherit;border-radius:var(--radius);cursor:pointer;font-weight:600}.questions-form__skip{color:inherit;border:1px solid var(--color-border);background:0 0}.questions-form__submit{color:var(--color-accent-contrast);background:var(--color-accent);border:none}.questions-form__skip:disabled,.questions-form__submit:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.progress-steps{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.progress-steps__step{align-items:center;gap:var(--space-3);color:var(--color-text-muted);display:flex}.progress-steps__dot{border:2px solid var(--color-border);background:0 0;border-radius:50%;flex:none;width:.9rem;height:.9rem}.progress-steps__step--active{color:var(--color-text);font-weight:600}.progress-steps__step--active .progress-steps__dot{border-color:var(--color-accent);background:var(--color-accent);animation:1.2s ease-in-out infinite progress-pulse}.progress-steps__step--done{color:var(--color-text)}.progress-steps__step--done .progress-steps__dot{border-color:var(--color-success);background:var(--color-success)}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.progress-steps__step--active .progress-steps__dot{animation:none}}.copy-button{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.copy-button__btn{min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--color-accent-contrast);background:var(--color-accent);border-radius:var(--radius);cursor:pointer;border:none;font-weight:600}.copy-button__error{color:var(--color-danger);font-size:.85rem}.result-panel{gap:var(--space-3);flex-direction:column;display:flex}.result-panel__title{margin:0;font-size:1.1rem}.result-panel__text{width:100%;min-height:12rem;padding:var(--space-3);font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical}.result-panel__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.result-panel__reset{min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;font-weight:600}.error-banner{gap:var(--space-2);padding:var(--space-3);background:var(--color-danger-surface);border:1px solid var(--color-danger);border-radius:var(--radius);flex-direction:column;display:flex}.error-banner__message{color:var(--color-danger-text);margin:0}.error-banner__retry{min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--color-accent-contrast);background:var(--color-accent);border-radius:var(--radius);cursor:pointer;border:none;align-self:flex-start;font-weight:600}.history-item{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.history-item__summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);font:inherit;color:inherit;text-align:left;background:var(--color-surface);cursor:pointer;border:none;display:flex}.history-item__prompt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-item__date{color:var(--color-text-muted);flex-shrink:0;font-size:.8rem}.history-item__body{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.history-item__result{max-height:12rem;padding:var(--space-2);white-space:pre-wrap;word-break:break-word;background:var(--color-bg);border-radius:var(--radius);margin:0;font-size:.85rem;overflow:auto}.history-item__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.history-item__reuse,.history-item__delete{min-height:40px;padding:0 var(--space-3);font:inherit;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;font-size:.85rem}.history-panel{gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.history-panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.history-panel__toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.history-panel__clear{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline}.history-panel__note{color:var(--color-text-muted);font-size:.8rem}.history-panel__empty{color:var(--color-text-muted);font-size:.9rem}.history-panel__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.voice-recorder{gap:var(--space-2);flex-direction:column;display:flex}.voice-recorder__record{min-height:44px;padding:0 var(--space-4);font:inherit;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;font-weight:600}.voice-recorder__record:disabled{opacity:.6;cursor:not-allowed}.voice-recorder__live{align-items:center;gap:var(--space-3);display:flex}.voice-recorder__timer{font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:600}.voice-recorder__stop,.voice-recorder__cancel{min-height:40px;padding:0 var(--space-3);font:inherit;border-radius:var(--radius);cursor:pointer}.voice-recorder__stop{color:var(--color-accent-contrast);background:var(--color-accent);border:none}.voice-recorder__cancel{color:inherit;border:1px solid var(--color-border);background:0 0}.voice-recorder__note{color:var(--color-text-muted);font-size:.85rem}.app{width:100%;max-width:720px;padding:var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.app__header{gap:var(--space-1);flex-direction:column;display:flex}.app__title{margin:0;font-size:1.5rem}.app__subtitle{color:var(--color-text-muted);margin:0}.app__flow{gap:var(--space-4);flex-direction:column;display:flex}@media (width>=640px){.app{margin-block:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}}:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-text:#1a1d21;--color-text-muted:#5c6570;--color-border:#d7dbe0;--color-accent:#2f6df0;--color-accent-contrast:#fff;--color-success:#1f9d55;--color-warning:#b7791f;--color-danger:#d1453b;--color-danger-text:#8f2a23;--color-danger-surface:#fdecea;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:2rem;--radius:8px;--radius-lg:14px;--shadow:0 8px 30px #00000014}@media (prefers-color-scheme:dark){:root{--color-bg:#14171a;--color-surface:#1d2126;--color-text:#e8eaed;--color-text-muted:#9aa4af;--color-border:#333a42;--color-accent:#5a8bff;--color-accent-contrast:#0b0e11;--color-success:#35c07a;--color-warning:#e0b341;--color-danger:#f0685e;--color-danger-text:#ffb4ad;--color-danger-surface:#3a1f1c}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--color-text);background:var(--color-bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}button{font-family:inherit}
