:root{--ink:#1b0d0a;--body-c:#6c554b;--prose:#382a26;--caption:#816c64;--brand:#ee362a;--gold:#f95;--grad-primary:linear-gradient(135deg, #f9372b, #ff9c3e);--surface:#fff;--surface-soft:#faf2ec;--hairline:#e2d5cd;--panel-border:#e8dfda;--ease:cubic-bezier(.16, 1, .3, 1);--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--radius-chip:12px;--radius-card:18px;--shadow-card:0 1px 2px #281c140a, 0 10px 30px -18px #281c1440;--shadow-cta:0 10px 30px -10px #ec4f278c;--w-column:480px}@supports (color:lab(0% 0 0)){:root{--ink:lab(5.11518% 5.8487 3.60665);--body-c:lab(38.3119% 8.82958 9.66233);--prose:lab(18.6439% 6.0074 5.37375);--caption:lab(47.6263% 7.4808 8.19632);--brand:lab(53.7784% 68.6463 52.3792);--gold:lab(73.5904% 38.656 57.0084);--grad-primary:linear-gradient(135deg, lab(55.9974% 71.8026 55.1539), lab(73.6945% 38.4558 76.7614));--surface-soft:lab(95.9067% 2.26718 3.82937);--hairline:lab(86.0202% 3.60531 5.62848);--panel-border:lab(89.5266% 2.26924 3.83073);--shadow-cta:0 10px 30px -10px lab(56.4677% 60.0681 56.1728/.55)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface-soft);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.75}button{-webkit-tap-highlight-color:transparent;font-family:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:8px}.shell{max-width:var(--w-column);min-height:100dvh;margin:0 auto;padding:0 20px 48px}.brand{justify-content:center;padding:28px 0 18px;display:flex}.brand-logo{width:auto;height:44px;display:block}.steps{justify-content:center;align-items:center;gap:14px;margin:2px 0 30px;display:flex}.step-circle{background:var(--surface);border:1px solid var(--hairline);width:52px;height:52px;color:var(--caption);transition:background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.step-circle .s-label{letter-spacing:.12em;font-size:8.5px;font-weight:500;line-height:1.1}.step-circle .s-num{font-size:18px;font-weight:700;line-height:1.15}.step-circle.on{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-cta);border:none}.step-arrow{color:var(--hairline);-webkit-user-select:none;user-select:none;font-size:11px}.cover-eyebrow{letter-spacing:.08em;color:var(--caption);text-align:center;margin:10px 0 2px;font-size:12px;font-weight:500}.cover-title{font-family:var(--font-display);letter-spacing:.1em;text-align:center;margin:0 0 18px;font-size:26px;font-weight:600;line-height:1.5}.cover-card{background:var(--surface);border:1px solid var(--panel-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:22px 22px 24px}.cover-card p{color:var(--prose);margin:0 0 14px;font-size:13.5px}.cover-card p:last-child{margin-bottom:0}.cover-note{color:var(--caption);text-align:center;margin:16px 2px 0;font-size:12px}.question{margin:0 0 34px}.q-head{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.q-num{color:var(--brand);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:15px;font-weight:700}.q-text{font-size:15.5px;font-weight:700;line-height:1.55}.q-req{color:var(--brand);letter-spacing:.08em;white-space:nowrap;margin-left:2px;font-size:10.5px;font-weight:700}.q-hint{color:var(--caption);margin:0 0 12px 26px;font-size:11.5px}.chips{gap:8px;display:grid}.chip{text-align:left;width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-chip);cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:11px;padding:13px 15px;font-size:13.5px;line-height:1.5;display:flex}.chip:hover{border-color:var(--brand)}.chip:active{transform:scale(.99)}.chip .tick{border:1.5px solid var(--hairline);width:17px;height:17px;transition:background .18s var(--ease), border-color .18s var(--ease);border-radius:5px;flex-shrink:0;position:relative}.chip[aria-pressed=true]{background:var(--grad-primary);color:#fff;border-color:#0000}.chip[aria-pressed=true] .tick{background:0 0;border-color:#fff}.chip[aria-pressed=true] .tick:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1.5px;left:4.5px;transform:rotate(42deg)}.free-label{margin-bottom:4px;font-size:15px;font-weight:700}.free-desc{color:var(--caption);margin:0 0 12px;font-size:12px}.free-textarea,.review-textarea{border:1px solid var(--hairline);border-radius:var(--radius-chip);background:var(--surface);width:100%;font-family:var(--font-body);color:var(--ink);resize:vertical;padding:14px 15px;font-size:14px;line-height:1.8}.free-textarea:focus,.review-textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:#0000}.btn{letter-spacing:.04em;cursor:pointer;width:100%;transition:opacity .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease), filter .22s var(--ease);will-change:transform;border:none;border-radius:999px;justify-content:center;align-items:center;padding:16px 20px;font-size:15px;font-weight:700;display:flex}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-cta)}.btn-primary:hover{opacity:.94;filter:brightness(1.04)saturate(1.04);transform:translateY(-2px)}.btn:active{filter:brightness(.98);transform:translateY(0)scale(.985)}.btn-primary:disabled{color:#fff;box-shadow:none;cursor:not-allowed;filter:none;background:#ddd6d1;background:lab(86.0524% 1.88681 3.1896);transform:none}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--hairline)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}.btn-link{color:var(--brand);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:8px;font-size:13px;font-weight:500;text-decoration:underline}.submit-area{margin-top:6px}.submit-note{color:var(--caption);text-align:center;margin:12px 0 0;font-size:11.5px}.submit-warn{color:var(--brand);text-align:center;margin:0 0 10px;font-size:12.5px;font-weight:500}.review-stage{animation:rise .45s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.stage-title{font-family:var(--font-display);letter-spacing:.04em;text-align:center;margin:2px 0 6px;font-size:20px;font-weight:600}.stage-sub{color:var(--caption);text-align:center;margin:0 0 18px;font-size:12.5px}.letter{background:var(--surface);border:1px solid var(--panel-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px 18px 14px;position:relative}.letter:before{content:"";background:var(--grad-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:18px;bottom:18px;left:0}.review-textarea{resize:none;background:0 0;border:none;min-height:120px;padding:2px 4px 2px 10px;font-size:14.5px;line-height:2;overflow:hidden}.letter-meta{border-top:1px solid var(--panel-border);color:var(--caption);justify-content:space-between;align-items:center;margin-top:8px;padding:10px 4px 0 10px;font-size:11px;display:flex}.char-ok{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:700}.ai-note{color:var(--caption);margin:14px 2px 20px;font-size:11.5px}.stack{gap:10px;display:grid}.center-row{justify-content:center;gap:4px;margin-top:4px;display:flex}.generating{text-align:center;color:var(--prose);flex-direction:column;align-items:center;gap:18px;padding:70px 0 40px;font-size:14px;display:flex}.dots{gap:7px;display:flex}.dots i{background:var(--brand);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite pulse}.dots i:nth-child(2){background:#ff6900;background:lab(63.6365% 57.9142 80.178);animation-delay:.18s}.dots i:nth-child(3){background:var(--gold);animation-delay:.36s}@keyframes pulse{0%,to{opacity:.25;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.copied-badge{color:#ab5819;color:lab(47.0408% 31.9797 49.0757);background:#ff995524;background:lab(73.5904% 38.656 57.0084/.14);border-radius:999px;align-items:center;gap:8px;width:fit-content;margin:0 auto 16px;padding:7px 16px;font-size:12.5px;font-weight:700;display:flex}.guide{background:var(--surface);border:1px solid var(--panel-border);border-radius:var(--radius-card);margin:20px 0;padding:20px 20px 8px}.guide-title{margin:0 0 14px;font-size:13.5px;font-weight:700}.guide-step{align-items:baseline;gap:12px;padding-bottom:14px;display:flex}.guide-num{color:var(--brand);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:14px;font-weight:700}.guide-step p{color:var(--prose);margin:0;font-size:13px}.mock-flag{color:#8a5a22;background:#fff4e8;border:1px solid #eeceaa;border-radius:10px;margin-bottom:14px;padding:8px 12px;font-size:12px}.index-list{gap:10px;margin:20px 0;padding:0;list-style:none;display:grid}.index-list a{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-chip);color:var(--ink);transition:border-color .18s var(--ease);padding:14px 16px;font-size:14px;text-decoration:none;display:block}.index-list a:hover{border-color:var(--brand)}.index-list .muted{color:var(--caption);font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:560px){body{font-size:15.5px}.shell{padding-top:12px}}
