:root{--ground:#eff2f3;--surface:#fff;--ink:#17232b;--muted:#5c6b75;--line:#dce2e5;--accent:#007aff;--accent-ink:#fff;--accent-soft:#007aff14;--loop:#c2571b;--loop-soft:#c2571b1f;--wave-base:#c3cdd2;--wave-played:#007aff;--wave-cursor:#17232b;--danger:#b3402e;--shadow:0 1px 2px #17232b0f, 0 8px 24px #17232b12}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e161b;--surface:#16222a;--ink:#e3eaed;--muted:#8fa1ab;--line:#24333c;--accent:#0a84ff;--accent-ink:#fff;--accent-soft:#0a84ff1a;--loop:#e08a4e;--loop-soft:#e08a4e24;--wave-base:#33454f;--wave-played:#0a84ff;--wave-cursor:#e3eaed;--danger:#e07a66;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}}:root[data-theme=dark]{--ground:#0e161b;--surface:#16222a;--ink:#e3eaed;--muted:#8fa1ab;--line:#24333c;--accent:#0a84ff;--accent-ink:#fff;--accent-soft:#0a84ff1a;--loop:#e08a4e;--loop-soft:#e08a4e24;--wave-base:#33454f;--wave-played:#0a84ff;--wave-cursor:#e3eaed;--danger:#e07a66;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}*{box-sizing:border-box}body{background:radial-gradient(600px 420px at 85% -10%, var(--accent-soft), transparent 60%), radial-gradient(520px 380px at -10% 35%, var(--loop-soft), transparent 60%), var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Instrument Sans,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.6}.mono{font-variant-numeric:tabular-nums;font-family:Spline Sans Mono,SF Mono,Menlo,Consolas,monospace}.app{flex-direction:column;gap:20px;max-width:680px;margin:0 auto;padding:40px 20px 56px;display:flex}.app.app-edge{gap:0;max-width:none;padding:0}header.masthead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.brand{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.brand .dot{color:var(--accent)}.link-btn{color:var(--muted);font-size:12px;text-decoration:underline}.link-btn:hover,.link-btn:focus-visible{color:var(--accent)}.btn-theme{appearance:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;transition:border-color .15s,background-color .15s,color .15s;display:flex}.masthead-toggles{align-items:center;gap:8px;margin-left:auto;display:flex}.masthead-toggles .btn-theme{margin-left:0}.btn-theme svg{width:16px;height:16px}.btn-theme:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btn-theme:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dropzone{background:var(--surface);text-align:center;cursor:pointer;border-radius:14px;padding:56px 24px;transition:background-color .15s;position:relative}.dropzone-border{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dropzone-border rect{fill:none;stroke:var(--line);stroke-width:3px;stroke-dasharray:9 6;transition:stroke .15s}.dropzone:hover .dropzone-border rect,.dropzone:focus-visible .dropzone-border rect{stroke:var(--accent)}.dropzone.dragover{background:var(--accent-soft)}.dropzone.dragover .dropzone-border rect{stroke:var(--accent)}.dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dz-glyph{width:48px;height:48px;color:var(--accent);margin:0 auto 16px}.dz-title{margin:0 0 6px;font-size:16px;font-weight:600}.dz-sub{color:var(--muted);margin:0;font-size:13px}#file-input{display:none}.ios-home{flex-direction:column;gap:20px;display:flex}.ios-home-add{width:100%}.recent-files-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recent-file{appearance:none;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;padding:12px 14px;font-size:13px;transition:border-color .15s;overflow:hidden}.recent-file:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:18px;padding:20px;display:none}.player.active{display:flex}.filebar{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.filebar-title{align-items:center;gap:8px;min-width:0;display:flex}.filebar-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn-back{appearance:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:border-color .15s,background-color .15s,color .15s;display:flex}.btn-back svg{width:15px;height:15px}.btn-back:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btn-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filename{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.btn-ghost{appearance:none;border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:5px 12px;font-size:12px;text-decoration:none;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--ink);border-color:var(--muted)}.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wave-wrap{position:relative}#wave{cursor:crosshair;touch-action:none;border-radius:8px;width:100%;height:110px;display:block}.decode-note{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;font-size:12px;display:none;position:absolute;inset:0}.decode-note.show{display:flex}.loop-hint{color:var(--muted);margin:6px 0 0;font-size:12px}.loop-hint .mono{color:var(--loop)}.timeline{justify-content:space-between;align-items:baseline;display:flex}.time-now{letter-spacing:.01em;font-size:26px;font-weight:500}.time-total{color:var(--muted);font-size:13px}.transport{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.transport-center{grid-column:2;align-items:center;gap:20px;display:flex}.btn-repeat{appearance:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;grid-column:3;justify-content:center;justify-self:end;align-items:center;width:40px;height:40px;transition:border-color .15s,background-color .15s,color .15s;display:flex}.btn-repeat svg{width:18px;height:18px}.btn-repeat:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-repeat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-repeat.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btn-skip{appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:52px;height:52px;font-family:Spline Sans Mono,monospace;font-size:11px;transition:border-color .15s,background-color .15s;display:flex}.btn-skip:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-skip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-skip svg{width:16px;height:16px}.btn-play{appearance:none;background:var(--accent);color:var(--accent-ink);cursor:pointer;width:72px;height:72px;box-shadow:var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,filter .15s;display:flex}.btn-play:hover{filter:brightness(1.06)}.btn-play:active{transform:scale(.96)}.btn-play:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.btn-play svg{width:28px;height:28px}.section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.speed-head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.speed-value{color:var(--accent);font-size:20px;font-weight:500}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:none;border-radius:50%;width:20px;height:20px;margin-top:-8px}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:20px;height:20px}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.presets{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.preset{appearance:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;flex:1 1 0;min-width:56px;padding:5px 0;font-family:Spline Sans Mono,monospace;font-size:13px;transition:color .15s,border-color .15s,background-color .15s}.preset:hover{border-color:var(--accent);color:var(--ink)}.preset.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-loop{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:13px;text-decoration:none;transition:border-color .15s,background-color .15s}.btn-loop:hover{border-color:var(--loop)}.btn-loop:focus-visible{outline:2px solid var(--loop);outline-offset:2px}.btn-loop:disabled{cursor:default;opacity:.5}.record-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.record-status{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.record-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite record-pulse}@keyframes record-pulse{0%,to{opacity:1}50%{opacity:.3}}.loading-dots{align-items:center;gap:4px;display:inline-flex}.loading-dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite loading-bounce}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes loading-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.record-audio{flex:200px;min-width:160px;height:32px}.transcript-text{flex-wrap:wrap;align-items:flex-start;gap:2px;margin:12px 0 0;display:flex}.transcript-word{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;transition:background-color .1s;display:flex}.transcript-word-text{font-size:14px}.transcript-word-ipa{color:var(--muted);font-size:11px}.transcript-word:hover{background:var(--accent-soft)}.transcript-word.active{background:var(--accent);color:var(--accent-ink)}.transcript-word.active .transcript-word-ipa{color:var(--accent-ink);opacity:.85}.transcript-word:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.error{color:var(--danger);margin:0;font-size:13px;display:none}.error.show{display:block}footer.privacy{color:var(--muted);text-wrap:balance;justify-content:center;gap:16px;font-size:12px;display:flex}.lp{gap:48px;max-width:720px}.lp-hero{padding:32px 0 8px}.lp-hero-title{letter-spacing:-.03em;margin:0 0 16px;font-size:40px;font-weight:700;line-height:1.15}.lp-hero-sub{color:var(--muted);max-width:46em;margin:0 0 24px;font-size:16px;line-height:1.7}.lp-cta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.lp-cta-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:12px 24px;font-size:15px;font-weight:500}.lp-appstore-badge{appearance:none;color:#fff;cursor:default;background:#000;border:1px solid #ffffff40;border-radius:12px;align-items:center;gap:10px;padding:8px 18px;display:inline-flex}.lp-appstore-badge svg{flex:none;width:24px;height:24px}.lp-appstore-text{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.lp-appstore-note{font-size:10px}.lp-appstore-name{letter-spacing:-.01em;font-size:17px;font-weight:600}.lp-feature-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.lp-feature-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:16px}.lp-feature-title{margin:0 0 4px;font-size:14px;font-weight:600}.lp-feature-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (width<=480px){.lp-feature-grid{grid-template-columns:1fr}}.legal{text-align:left}.legal-title{letter-spacing:-.02em;margin:32px 0 4px;font-size:28px;font-weight:700}.legal-updated{color:var(--muted);margin:0 0 24px;font-size:13px}.legal-section{margin-top:28px}.legal-heading{margin:0 0 8px;font-size:17px;font-weight:600}.legal-text{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.8}.legal-list{margin:0;padding-left:20px}.lp-faq{flex-direction:column;gap:8px;display:flex}.lp-faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.lp-faq-q{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;list-style:none;display:flex}.lp-faq-q::-webkit-details-marker{display:none}.lp-faq-q:after{content:"+";color:var(--muted);flex:none;font-size:18px;font-weight:400}.lp-faq-item[open] .lp-faq-q:after{content:"−"}.lp-faq-item{interpolate-size:allow-keywords}.lp-faq-item::details-content{block-size:0;transition:block-size .25s ease, content-visibility .25s allow-discrete;overflow-y:clip}.lp-faq-item[open]::details-content{block-size:auto}.lp-faq-a{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.6}.player,.recent-file,.lp-feature-card,.lp-faq-item{background:linear-gradient(180deg, #ffffff1a, #ffffff05 35%, #fff0 70%), color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.3);backdrop-filter:blur(24px)saturate(1.3);border-color:color-mix(in srgb, #fff 18%, var(--line))}.recent-file:hover,.recent-file:focus-visible{border-color:var(--accent)}.lp-feature-group+.lp-feature-group{margin-top:36px}.lp-feature-headline{letter-spacing:-.02em;margin:0 0 14px;font-size:21px;font-weight:700}.lp-feature-grid{position:relative}.lp-feature-grid:before{content:"";z-index:-1;background:radial-gradient(300px 220px at 18% 15%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), radial-gradient(280px 220px at 85% 85%, color-mix(in srgb, var(--loop) 18%, transparent), transparent 70%);filter:blur(8px);position:absolute;inset:-24px -16px}.lp-phone{background:#14181c;border:1px solid #ffffff38;border-radius:52px;width:280px;margin:40px auto 0;padding:10px;position:relative;box-shadow:inset 0 1px 1px #ffffff40,0 24px 60px #0000004d}.lp-phone:before{content:"";z-index:-1;background:radial-gradient(60% 55% at 50% 42%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 72%);filter:blur(10px);position:absolute;inset:-48px -64px}.lp-phone:after{content:"";background:#000;border-radius:999px;width:76px;height:22px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.lp-phone-shot{border-radius:42px;width:100%;height:auto;display:block}.lp-phone-shot-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .lp-phone-shot-light{display:none}:root:not([data-theme=light]) .lp-phone-shot-dark{display:block}}:root[data-theme=dark] .lp-phone-shot-light{display:none}:root[data-theme=dark] .lp-phone-shot-dark{display:block}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
