:root{color-scheme:light dark;--bg: #f6f5f2;--bg-2: #efece6;--surface: #ffffff;--ink: #1a1a1c;--ink-2: #3b3b3f;--ink-3: #6b6b70;--mute: #9b9ba0;--line: rgba(26, 26, 28, .1);--line-2: rgba(26, 26, 28, .06);--line-3: rgba(26, 26, 28, .04);--accent: #1a1a1c;--accent-soft: rgba(26, 26, 28, .06);--ok: #1f8a5b;--warn: #b86b00;--err: #c13a3a;--radius: 24px;--radius-md: 18px;--radius-sm: 12px;--radius-xs: 8px;--shadow-1: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 1px 2px rgba(0, 0, 0, .04);--shadow-2: 0 30px 80px -30px rgba(0, 0, 0, .18), 0 8px 24px -8px rgba(0, 0, 0, .06);--font-jp: "Noto Sans JP", -apple-system, system-ui, sans-serif;--font-en: "Plus Jakarta Sans", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace}[data-theme=dark]{--bg: #0a0a0a;--bg-2: #141414;--surface: #171717;--ink: #f5f5f7;--ink-2: #d2d2d6;--ink-3: #a0a0a4;--mute: #76767c;--line: rgba(245, 245, 247, .12);--line-2: rgba(245, 245, 247, .07);--line-3: rgba(245, 245, 247, .04);--accent: #f5f5f7;--accent-soft: rgba(245, 245, 247, .08);--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 30px 80px -20px rgba(0, 0, 0, .6), 0 8px 24px -8px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-jp);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;line-height:1.5;min-height:100vh;overflow-x:hidden}::selection{background:var(--ink);color:var(--bg)}a{color:inherit}button{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer}input,select{font:inherit;color:inherit}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}#root{container-type:inline-size}.topbar{position:sticky;top:0;z-index:30;background:color-mix(in oklab,var(--bg) 75%,transparent);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:.5px solid var(--line-2)}.topbar-row{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;height:56px}@media (min-width: 768px){.topbar-row{padding:14px 40px}}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-en);font-weight:600;font-size:17px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.brand-mark{position:relative;width:22px;height:22px;border-radius:50%;background:conic-gradient(from 220deg,#d3d3d6,#1a1a1c 35%,#1a1a1c 65%,#d3d3d6);box-shadow:inset 0 0 0 .5px var(--line);overflow:hidden}[data-theme=dark] .brand-mark{background:conic-gradient(from 220deg,#3a3a3e,#f5f5f7 35%,#f5f5f7 65%,#3a3a3e)}.brand-mark:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--bg)}.topbar-right{display:inline-flex;align-items:center;gap:14px;min-width:0}.topbar-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--mute);display:none;white-space:nowrap}@media (min-width: 560px){.topbar-meta{display:inline-flex;gap:8px;align-items:center}}.topbar-meta .pip{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in oklab,var(--ok) 20%,transparent)}@container (max-width: 520px){.topbar-meta{display:none!important}}@container (max-width: 380px){.seg button{padding:5px 10px;font-size:12px}}.stage{width:100%;display:flex;align-items:flex-start;justify-content:center;padding:48px 20px 64px}@media (min-width: 768px){.stage{padding:80px 40px 96px;align-items:center;min-height:calc(100vh - 112px)}}.card{width:100%;max-width:680px;display:flex;flex-direction:column;gap:32px}.heading{display:flex;flex-direction:column;gap:14px;text-align:center;align-items:center}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:inline-flex;align-items:center;gap:8px}.eyebrow .pip{width:5px;height:5px;border-radius:50%;background:var(--ok)}.h1{font-family:var(--font-jp);font-weight:700;font-size:clamp(32px,5.6vw,56px);letter-spacing:-.03em;line-height:1.08;margin:0;text-wrap:balance}.h1 .accent{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lede{margin:0;color:var(--ink-3);font-size:clamp(14px,1.4vw,16px);line-height:1.65;max-width:520px;text-wrap:pretty}.seg{display:inline-flex;background:var(--accent-soft);border-radius:999px;padding:3px;gap:0;position:relative}.seg button{position:relative;z-index:1;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-3);transition:color .25s ease}.seg button.on{color:var(--ink)}.seg .pill{position:absolute;top:3px;bottom:3px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-1);transition:left .35s cubic-bezier(.4,1.2,.4,1),width .35s cubic-bezier(.4,1.2,.4,1);z-index:0}.seg-sm{font-size:11.5px}.seg-sm button{padding:5px 11px}.panel{background:var(--surface);border:.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:0;overflow:hidden;transition:background .3s ease}.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:64px 28px;text-align:center;border-radius:var(--radius);transition:background .25s ease;isolation:isolate}.drop.over{background:var(--accent-soft)}.drop-icon{width:84px;height:84px;border-radius:50%;background:var(--bg-2);border:.5px solid var(--line-2);display:grid;place-items:center;position:relative;transition:transform .35s cubic-bezier(.4,1.2,.4,1)}.drop.over .drop-icon{transform:scale(1.08)}.drop-icon svg{width:32px;height:32px;color:var(--ink)}.drop-title{font-family:var(--font-jp);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0}.drop-sub{margin:0;color:var(--ink-3);font-size:14px;max-width:380px}.drop-formats{font-family:var(--font-mono);font-size:11px;color:var(--mute);letter-spacing:.04em;margin:4px 0 0}.drop-warn{margin-top:18px;padding:14px 18px;background:var(--bg-2);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink-3);line-height:1.6;max-width:460px;text-align:left;display:flex;gap:12px}.drop-warn .ico{flex:none;width:18px;height:18px;color:var(--warn)}.drop-error{margin:0;color:var(--err);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;border-radius:999px;font-size:14.5px;font-weight:500;letter-spacing:-.005em;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;border:.5px solid transparent;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-secondary{background:transparent;border-color:var(--line);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--accent-soft)}.btn .arr{transition:transform .2s ease;font-family:var(--font-en)}.btn:hover .arr{transform:translate(3px)}.btn-sm{height:34px;padding:0 14px;font-size:13px}.params{padding:28px}@media (min-width: 600px){.params{padding:36px}}.file-chip{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-2);border-radius:var(--radius-md);margin-bottom:28px}.file-thumb{width:56px;height:56px;border-radius:12px;flex:none;background:#0a0a0a;position:relative;overflow:hidden;display:grid;place-items:center;color:#f5f5f7}.file-thumb svg{width:22px;height:22px;opacity:.85}.file-thumb .tape{position:absolute;left:0;right:0;height:6px;background:#000;background-image:radial-gradient(circle,#1f1f23 1.2px,transparent 1.3px);background-size:6px 6px}.file-thumb .tape.t{top:0}.file-thumb .tape.b{bottom:0}.file-meta{flex:1;min-width:0}.file-name{font-weight:600;font-size:14.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-stats{margin-top:3px;font-family:var(--font-mono);font-size:11.5px;color:var(--mute);letter-spacing:.02em}.file-close{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);transition:background .2s ease,color .2s ease}.file-close:hover{background:var(--accent-soft);color:var(--ink)}.params-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.params-title{font-family:var(--font-jp);font-weight:700;font-size:18px;letter-spacing:-.01em;margin:0}.field{padding:20px 0;border-bottom:.5px solid var(--line-2)}.field:last-child{border-bottom:0;padding-bottom:0}.field:first-of-type{padding-top:0}.field-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:12px}.field-label{font-size:13.5px;font-weight:500;color:var(--ink-2)}.field-orig{font-family:var(--font-mono);font-size:11px;color:var(--mute);letter-spacing:.04em}.field-val{font-family:var(--font-en);font-weight:600;font-size:24px;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}.field-val .u{font-size:13px;color:var(--mute);font-weight:500;margin-left:4px;font-family:var(--font-mono)}.num-wrap{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.num{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:10px;background:var(--bg-2);border:.5px solid transparent;transition:border-color .15s ease,background .15s ease}.num:focus-within{border-color:var(--ink);background:var(--surface)}.num input{font-family:var(--font-en);font-weight:600;font-size:24px;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;background:transparent;border:0;outline:none;width:auto;min-width:0;padding:0;margin:0;text-align:right;-moz-appearance:textfield}.num input::-webkit-outer-spin-button,.num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num .u{font-size:13px;color:var(--mute);font-weight:500;font-family:var(--font-mono)}.num-notice{margin:0;font-size:12px;line-height:1;color:var(--ink-2);background:var(--accent-soft);padding:6px 10px;border-radius:8px;font-family:var(--font-jp);font-weight:500;opacity:0;transform:translateY(-3px);transition:opacity .25s ease,transform .25s ease;pointer-events:none;display:inline-flex;align-items:center;gap:6px;min-height:0}.num-notice:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-2)}.num-notice.show{opacity:1;transform:none}.slider{--p: 0;position:relative;height:28px;display:flex;align-items:center;margin:12px 0 4px;touch-action:pan-y}.slider-track{position:relative;width:100%;height:4px;border-radius:999px;background:var(--bg-2);border:.5px solid var(--line-2);overflow:hidden}.slider-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p, 0) * 100%);background:var(--ink);border-radius:999px;transition:width .15s linear}.slider-thumb{position:absolute;left:calc(var(--p, 0) * 100%);top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:var(--surface);border:.5px solid var(--line);box-shadow:0 1px 3px #0000002e,0 4px 12px #00000014;transition:transform .15s ease,box-shadow .15s ease}.slider:hover .slider-thumb{transform:translate(-50%,-50%) scale(1.05)}.slider:active .slider-thumb{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 2px 6px #00000040,0 6px 18px #0000001f}.slider input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.slider:focus-within .slider-thumb{box-shadow:0 0 0 4px color-mix(in oklab,var(--ink) 18%,transparent),0 1px 3px #0000002e,0 4px 12px #00000014}.field-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-family:var(--font-mono);font-size:11px;color:var(--mute);letter-spacing:.04em}.adv-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.estimate{margin-top:14px;padding:14px 16px;background:var(--bg-2);border-radius:var(--radius-sm);display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--ink-3)}.estimate.warn{background:color-mix(in oklab,var(--warn) 8%,var(--bg-2));color:var(--ink-2)}.estimate-ico{width:32px;height:32px;border-radius:8px;flex:none;background:var(--surface);border:.5px solid var(--line-2);display:grid;place-items:center;color:var(--ink-2);font-family:var(--font-mono);font-size:11px;font-weight:600}.estimate-row{display:flex;justify-content:space-between;width:100%;align-items:center;gap:12px}.estimate-title{font-weight:500;color:var(--ink-2);font-size:13px}.estimate-formula{font-size:11.5px;color:var(--mute);margin-top:2px;font-family:var(--font-mono)}.estimate-val{font-family:var(--font-mono);font-weight:600;color:var(--ink)}.actions-row{display:flex;gap:10px;margin-top:28px}.actions-row .btn{flex:1}@media (max-width: 480px){.actions-row{flex-direction:column-reverse}}.conv{padding:48px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}@media (min-width: 600px){.conv{padding:64px 36px}}.conv-orbit{position:relative;width:140px;height:140px}.conv-orbit svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.conv-orbit .ring{fill:none;stroke:var(--line);stroke-width:1}.conv-orbit .prog{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .25s linear}.conv-orbit .pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:baseline;justify-content:center;gap:2px;font-family:var(--font-en);font-weight:600;font-size:30px;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.conv-orbit .pct .u{font-size:14px;color:var(--mute);font-family:var(--font-mono);font-weight:500}.conv-title{font-family:var(--font-jp);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0}.conv-sub{margin:0;color:var(--ink-3);font-size:13.5px}.conv-meta{display:flex;gap:14px;align-items:center;font-family:var(--font-mono);font-size:11px;color:var(--mute);letter-spacing:.04em;text-transform:uppercase}.conv-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--mute)}.filmstrip{margin-top:6px;display:flex;gap:6px;overflow:hidden;width:280px;mask:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}.filmstrip-track{display:flex;gap:6px;animation:strip 6s linear infinite}@keyframes strip{0%{transform:translate(0)}to{transform:translate(-50%)}}.frame{width:42px;height:54px;flex:none;border-radius:6px;background:#0a0a0a;border:.5px solid var(--line);position:relative;overflow:hidden}.frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 60% at 50% 50%,rgba(255,255,255,.18) 0%,transparent 70%),linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 60%)}.frame.color:before{background:radial-gradient(60% 60% at 50% 50%,oklch(.85 .12 var(--h, 40)),oklch(.45 .18 var(--h, 40)) 70%,oklch(.15 .12 var(--h, 40)))}.done{padding:48px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}@media (min-width: 600px){.done{padding:64px 36px}}.done-preview{width:240px;height:160px;border-radius:var(--radius-md);background:#0a0a0a;position:relative;overflow:hidden;border:.5px solid var(--line);box-shadow:0 14px 40px -10px #00000040}.done-preview img{width:100%;height:100%;object-fit:contain;display:block}.done-check{width:48px;height:48px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin-bottom:-6px;box-shadow:0 0 0 8px color-mix(in oklab,var(--ok) 14%,transparent)}.done-check svg{width:22px;height:22px}.done-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;font-family:var(--font-mono);font-size:11.5px;color:var(--mute);letter-spacing:.04em}.done-stats .pill{padding:6px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-2)}.done-actions{width:100%;max-width:380px}.err{padding:48px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.err-ico{width:48px;height:48px;border-radius:50%;background:color-mix(in oklab,var(--err) 14%,var(--bg-2));color:var(--err);display:grid;place-items:center}.err-msg{margin:6px 0 0;color:var(--err);font-size:13.5px}.dlg-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;animation:fade .25s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.dlg{width:100%;max-width:420px;background:var(--surface);border:.5px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);overflow:hidden;animation:pop .35s cubic-bezier(.4,1.4,.4,1) both}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.dlg-body{padding:28px 28px 0}.dlg-icon{width:40px;height:40px;border-radius:50%;background:color-mix(in oklab,var(--warn) 14%,var(--bg-2));color:var(--warn);display:grid;place-items:center;margin-bottom:14px}.dlg-title{font-family:var(--font-jp);font-weight:700;font-size:18px;letter-spacing:-.01em;margin:0 0 8px}.dlg-msg{margin:0;color:var(--ink-3);font-size:13.5px;line-height:1.65}.dlg-msg p{margin:0 0 8px}.dlg-msg p:last-child{margin-bottom:0}.dlg-msg strong{color:var(--ink);font-weight:600}.dlg-msg .mute{color:var(--mute);font-size:12.5px;margin-top:8px}.dlg-actions{display:flex;gap:8px;padding:22px 28px 24px;justify-content:flex-end}@media (max-width: 480px){.dlg-actions{flex-direction:column-reverse}.dlg-actions .btn{width:100%}}.foot{border-top:.5px solid var(--line-2);padding:22px 24px;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--mute)}.foot a{color:var(--ink-3);margin-left:8px;text-decoration:none}.foot a:hover{color:var(--ink)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fade-in{animation:fadein .45s cubic-bezier(.2,.7,.2,1) both}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.filmstrip-track{animation:none!important}}
