:root{color-scheme:light;--bg: #f3efe6;--paper: #fffcf7;--ink: #24312c;--ink-soft: #5c6b64;--line: #e4d9c8;--sage: #3f6f5b;--sage-deep: #2c5344;--sage-soft: #e7f2eb;--clay: #c46b4a;--shadow: 0 12px 32px rgba(36, 49, 44, .06);--radius: 22px;font-family:Zen Kaku Gothic New,Hiragino Sans,Noto Sans CJK JP,Noto Sans JP,Yu Gothic,sans-serif;font-size:19px;line-height:1.7;color:var(--ink);background:radial-gradient(1100px 520px at 8% -10%,#fff6e4 0%,transparent 58%),radial-gradient(900px 480px at 100% 0%,#e6f3ec 0%,transparent 52%),var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,textarea,input{font:inherit;color:inherit}h1{margin:0 0 12px;font-size:clamp(2rem,4vw,2.7rem);line-height:1.25;font-weight:700;letter-spacing:.01em}h2{font-weight:700}p{margin:0}.app{width:min(920px,calc(100% - 32px));margin:0 auto;padding:28px 0 128px}.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:36px}.wordmark{margin:0;font-size:.95rem;letter-spacing:.08em;color:var(--ink-soft)}.steps{display:flex;gap:10px;margin:0;padding:0;list-style:none;color:#8d978f;font-size:.92rem}.steps li.is-done{color:var(--sage)}.steps li.is-current{color:var(--ink);font-weight:700}.narrow,.wide{margin-inline:auto}.narrow{width:min(640px,100%)}.wide{width:min(860px,100%)}.lead{font-size:1.12rem;color:var(--ink-soft);margin-bottom:22px}.prompt{font-size:1.2rem;margin-bottom:8px}.eyebrow{margin:0 0 8px;color:var(--sage-deep);font-weight:500}.note{margin-top:14px;color:var(--ink-soft)}.align-end{text-align:right}.loading{font-size:1.2rem}.count{margin:0 0 14px;font-size:1.35rem;font-weight:700;color:var(--sage-deep)}.panels,.card-grid,.stack,.voice-list{display:grid;gap:14px}.stack{margin-top:8px}.panel,.choice,.voice,.confirm{background:var(--paper);border:1px solid transparent;border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:22px 22px 8px}.panel h2{margin:0 0 8px;font-size:1.2rem}.panel ul{margin:0 0 16px;padding-left:1.2em}.choice{position:relative;display:grid;gap:4px;width:100%;min-height:112px;padding:22px 22px 22px 64px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.choice:hover{transform:translateY(-2px)}.choice:active{transform:scale(.99)}.choice:disabled{opacity:.42;cursor:not-allowed;transform:none}.choice.is-selected{background:var(--sage-soft);border-color:var(--sage)}.choice-mark{position:absolute;left:18px;top:22px;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:#efe8dc;color:var(--sage-deep);font-weight:700}.choice.is-selected .choice-mark{background:var(--sage);color:#fff}.choice-title{font-size:1.45rem;font-weight:700;line-height:1.3}.choice-hint{color:var(--ink-soft)}.action-bar{position:fixed;z-index:2;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px max(20px,calc((100% - 920px)/2)) calc(14px + env(safe-area-inset-bottom));background:#f3efe6f5;border-top:1px solid var(--line)}.action-bar.is-split{flex-wrap:wrap}.action-bar.is-split .btn{flex:1 1 220px}.has-export{padding-bottom:72px}.btn{border:0;border-radius:999px;min-height:56px;padding:12px 22px;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--sage);color:#fff;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--sage-deep)}.btn-ghost,.btn-text{background:transparent;border:1px solid var(--line)}.btn-text{min-height:44px;padding:8px 14px;color:var(--sage-deep)}.recorder{display:grid;justify-items:center;gap:12px;margin:28px 0}.record-btn{width:132px;height:132px;border:0;border-radius:999px;background:var(--sage);color:#fff;font-size:1.6rem;font-weight:700;cursor:pointer}.record-btn.is-recording{background:var(--clay);animation:pulse 1.6s ease-out infinite}.timer{font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:700}.memo{display:grid;gap:8px;margin-top:8px}.memo span{font-weight:700}.memo textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:14px 16px;min-height:96px}.memo-count{font-weight:400!important;color:var(--ink-soft);font-size:.92rem}.player{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;width:100%}.play{min-width:96px;min-height:64px;border:0;border-radius:18px;background:var(--sage);color:#fff;font-weight:700;font-size:1.15rem;cursor:pointer}.play.is-playing{background:var(--sage-deep)}.player-body{display:grid;gap:4px}.player-time{color:var(--ink-soft);font-variant-numeric:tabular-nums}.player-audio{position:absolute;width:0;height:0}.scrub{width:100%;accent-color:var(--sage);height:28px}.voice{padding:18px 18px 14px;display:grid;gap:10px}.voice h2{margin:0;font-size:1.45rem}.memo-read{margin:0;color:var(--ink-soft);font-size:.98rem}.confirm{padding:18px;margin-top:16px}.confirm p{margin-bottom:4px}.error{background:#fff4ec;border-radius:16px;padding:12px 14px;color:#6d4330}.save-status{justify-self:stretch;width:100%;margin:8px 0 4px;font-size:1.85rem;font-weight:700;line-height:1.4;text-align:center;color:var(--ink)}.save-status.is-saved{color:var(--sage-deep)}.save-fail{justify-self:stretch;width:100%;margin:0;border-radius:16px;padding:18px;background:#fff4ec;color:#6d4330;font-size:1.55rem;font-weight:700;line-height:1.45;text-align:left}.confirm-dialog{width:min(560px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px 22px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.confirm-dialog::backdrop{background:#24312c73}.confirm-dialog p{margin:0 0 22px;font-size:1.65rem;font-weight:700;line-height:1.45}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.modal-actions .btn{flex:1 1 140px;font-size:1.2rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px}@keyframes pulse{0%{box-shadow:0 0 #c46b4a59}to{box-shadow:0 0 0 18px #c46b4a00}}@media(min-width:720px){.panels,.card-grid{grid-template-columns:1fr 1fr}.app{padding-top:40px}}@media(max-width:640px){.top{flex-direction:column;align-items:flex-start}.choice{min-height:96px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
