:root{--color-primary:#e8785e;--color-primary-dark:#d06a50;--color-primary-light:#fff0ec;--color-primary-ring:#e8785e66;--color-background:#f5f4f1;--color-surface:#fff;--color-surface-alt:#edecea;--color-text:#1a1918;--color-text-secondary:#6d6c6a;--color-text-tertiary:#9c9b99;--color-border:#e5e4e1;--color-error:#dc2626;--color-success:#10b981;--shadow-card:0 3px 14px #1a191812;--shadow-float:0 8px 32px #0000001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);background:var(--color-background);-webkit-text-size-adjust:100%;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}::selection{background:#e8785e40}body{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(circle at 15% 10%, #e8785e1a, transparent 45%), radial-gradient(circle at 90% 30%, #10b9810f, transparent 40%), radial-gradient(circle at 50% 95%, #fb923c14, transparent 45%), var(--color-background);margin:0}button,textarea,input{font:inherit;color:inherit}a{color:var(--color-primary)}.page{max-width:390px;margin:0 auto;padding:0 20px 40px}.page-wide{max-width:768px}.header{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f5f4f1e6;justify-content:space-between;align-items:center;height:56px;margin:0 -20px;padding:0 20px;display:flex;position:sticky;top:0}.brand{color:var(--color-text);cursor:pointer;background:0 0;border:0;padding:0;font-size:19px;font-weight:700;text-decoration:none}.stack{flex-direction:column;gap:12px;display:flex}.card{background:var(--color-surface);border-radius:16px;padding:12px 16px}.upload-card{text-align:center;border:2px dashed #0000;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.upload-card.dragging{border-color:var(--color-primary)}.icon-circle{background:var(--color-primary-light);width:56px;height:56px;color:var(--color-primary);border-radius:9999px;place-items:center;display:grid}.title{margin:0;font-size:17px;font-weight:700;line-height:1.5}.heading{letter-spacing:-.5px;text-align:center;margin:16px 0 8px;font-size:24px;font-weight:700;line-height:1.33}.accent{color:var(--color-primary);font-weight:800}.muted{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.625}.hint{color:var(--color-text-tertiary);margin:0;font-size:12px}.button{background:var(--color-primary);color:#fff;min-height:48px;box-shadow:var(--shadow-card);cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:filter .2s,transform .2s;display:inline-flex}.button:active{transform:scale(.98)}.button:disabled{opacity:.6;cursor:default}.button-gradient{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark))}.button-outline{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);box-shadow:none}.button-small{min-height:36px;padding:8px 16px;font-size:12px}.button:focus-visible,.candidate:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.message{white-space:pre-line;margin:0;font-size:14px;line-height:1.625}.error{color:var(--color-error)}.steps{justify-content:center;gap:8px;display:flex}.step{background:var(--color-surface-alt);color:var(--color-text-tertiary);border-radius:9999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:500;transition:background .5s,color .5s;display:inline-flex}.step.active{background:var(--color-primary);color:#fff}.step.active:before{content:"";background:#fff;border-radius:9999px;width:6px;height:6px;animation:2s infinite pulse}.candidate{text-align:left;background:var(--color-surface);cursor:pointer;border:0;border-radius:16px;width:100%;padding:12px 16px;transition:box-shadow .2s;animation:.3s ease-out rise;display:block}.candidate.copied{box-shadow:0 0 0 2px #e8785e4d}.candidate-text{white-space:pre-line;margin:0;font-size:14px;line-height:1.7}.candidate-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.chip{background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:pointer;border:0;border-radius:9999px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:500;display:inline-flex}.chip.done{background:var(--color-primary-light);color:var(--color-primary)}.editor{border:1px solid var(--color-border);resize:vertical;background:#fff;border-radius:12px;width:100%;min-height:120px;padding:12px;font-size:16px;line-height:1.7}.editor:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 1px #e8785e4d}.skeleton{background:linear-gradient(90deg,#e5e4e140 25%,#fffc 50%,#e5e4e140 75%) 0 0/200% 100%;border-radius:16px;height:72px;animation:1.5s infinite shimmer}.toast{z-index:50;background:var(--color-success);color:#fff;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;animation:.2s ease-out fade;position:fixed;top:72px;right:16px;box-shadow:0 10px 15px #0000001a}.overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);width:100%;max-width:350px;box-shadow:var(--shadow-float);text-align:center;border-radius:24px;flex-direction:column;gap:16px;padding:32px 24px;animation:.2s ease-out zoom;display:flex}.check{text-align:left;align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--color-primary)}.notice{color:#b45309;text-align:center;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin:0;padding:12px 16px;font-size:13px}.footer{color:var(--color-text-tertiary);flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:48px;font-size:11px;display:flex}.footer a{color:inherit;text-decoration:none}.center{text-align:center}.plan{border:1px solid var(--color-border);flex-direction:column;gap:6px;padding:20px;display:flex}.plan-pro{border:2px solid var(--color-primary)}.plan-name{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.badge{background:var(--color-primary);color:#fff;border-radius:9999px;padding:2px 10px;font-size:11px;font-weight:600}.price{margin:0;font-size:28px;font-weight:800}.price-unit{color:var(--color-text-secondary);margin-left:4px;font-size:13px;font-weight:500}.plan-point{margin:0;font-size:14px}.plan-point:before{content:"✓ ";color:var(--color-primary);font-weight:700}.notice-page{text-align:center;align-items:center;padding-top:48px}.back{margin:8px 0 24px;font-size:14px;text-decoration:none;display:inline-block}.prose{color:var(--color-text-secondary);font-size:14px;line-height:1.7}.prose h1{color:var(--color-text);margin:0;font-size:24px;line-height:1.33}.prose h2{color:var(--color-text);margin:32px 0 12px;font-size:17px}.prose h3{color:var(--color-text);margin:20px 0 8px;font-size:15px}.prose ol,.prose ul{padding-left:24px}.prose li+li{margin-top:6px}.prose .updated{color:var(--color-text-tertiary);margin-top:4px;font-size:13px}.prose .answer{white-space:pre-line}.callout{border:1px solid var(--color-border);background:var(--color-primary-light);border-radius:16px;margin-top:24px;padding:4px 16px}.prose table{border-collapse:collapse;background:var(--color-surface);width:100%;margin-top:24px}.prose th,.prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:12px}.prose th{background:var(--color-surface-alt);width:34%;color:var(--color-text);font-weight:600}@keyframes pulse{50%{opacity:.7}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes fade{0%{opacity:0}}@keyframes zoom{0%{opacity:0;transform:scale(.95)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
