.wrap{max-width:480px;margin:0 auto;padding:32px 20px 48px;min-height:100dvh;display:flex;flex-direction:column}.wrap>section{flex:1}.hero{text-align:center;padding:16px 0 28px}.hero-logo{margin:0 auto 20px;height:48px;width:auto}.hero-logo-text{font-size:22px;letter-spacing:.12em;margin-bottom:20px;color:var(--theme-deep)}.hero-copy{color:var(--text-sub);font-size:13px;margin-bottom:24px}.hero-title{font-size:26px;font-weight:700;letter-spacing:.06em;color:var(--theme-deep);margin-bottom:16px}.hero-lead{font-size:14px}.hero-lead strong{color:var(--theme)}.btn{display:block;width:100%;text-align:center;padding:16px;min-height:52px;border-radius:999px;border:none;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:.04em;cursor:pointer;text-decoration:none;margin-top:14px}.btn-primary{background:var(--theme);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--theme) 35%,transparent)}.btn-primary:disabled{background:#cfc5c8;box-shadow:none;cursor:not-allowed}.btn-ghost{background:none;color:var(--text-sub);font-weight:500;font-size:14px}.btn-line{background:#06c755;color:#fff}.notes{margin-top:28px;padding:0 4px;list-style:none;color:var(--text-sub);font-size:12px}.notes li{padding-left:1.2em;text-indent:-1.2em;margin-bottom:6px}.notes li:before{content:"※ "}.step-title{font-size:20px;font-weight:700;color:var(--theme-deep);text-align:center;margin-bottom:20px}.tips{background:var(--theme-soft);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;font-size:13px}.tips-head{font-weight:700;color:var(--theme-deep);margin-bottom:6px}.tips ul{list-style:none}.tips li:before{content:"✓ ";color:var(--theme);font-weight:700}.file-drop{display:block;border:2px dashed color-mix(in srgb,var(--theme) 45%,#ffffff);border-radius:var(--radius);background:var(--card);min-height:180px;display:grid;place-items:center;cursor:pointer;overflow:hidden}.file-drop input{display:none}.file-drop-inner{display:grid;place-items:center;gap:8px;color:var(--text-sub);font-size:14px;padding:32px 16px}.file-drop-icon{font-size:34px}.preview{width:100%;max-height:340px;object-fit:contain;background:#f2edeb}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13px;color:var(--text-sub)}.consent input{width:20px;height:20px;margin-top:3px;accent-color:var(--theme);flex-shrink:0}.error-msg{background:#fdf0f0;border:1px solid #f0c9c9;color:#a04545;border-radius:12px;padding:12px 14px;font-size:13px;margin-bottom:14px}.loading{text-align:center;padding:96px 0}.spinner{width:52px;height:52px;margin:0 auto 24px;border-radius:50%;border:4px solid var(--theme-tint);border-top-color:var(--theme);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-title{font-size:17px;font-weight:700;color:var(--theme-deep)}.loading-sub{font-size:13px;color:var(--text-sub);margin-top:6px}.result-eyebrow{text-align:center;font-size:12px;letter-spacing:.2em;color:var(--theme);margin-bottom:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:14px}.card-label{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--theme);margin-bottom:6px}.card-value{font-size:20px;font-weight:700;color:var(--theme-deep);margin-bottom:8px}.card-sub{font-size:12px;color:var(--text-sub);margin:10px 0 8px}.card-text{font-size:14px}.card-summary{background:var(--theme-soft);border-color:transparent}.point-list{list-style:none;font-size:14px}.point-list li{padding-left:1.3em;text-indent:-1.3em;margin-top:6px}.point-list li:before{content:"◎ ";color:var(--theme)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px}.chip-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:#ddd}.chip-tag{background:var(--theme-tint);border-color:transparent;color:var(--theme-deep);font-weight:500}.screenshot-hint{text-align:center;font-size:12px;color:var(--text-sub);margin:18px 0 6px}.cta{margin-top:18px;padding:22px 20px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center}.cta-lead{font-size:14px}.cta-lead strong{color:var(--theme)}.footer{margin-top:40px;text-align:center;font-size:11px;color:var(--text-sub)}.footer a{color:inherit}
