:root{--bg:#0A0E0F;--panel:#141A1C;--line:#232D30;--ink:#E7EDEE;--ink-2:#93A3A8;--ink-3:#66767B;--pulse:#F0696F;--tremor:#41C0CC;--breath:#D9A441;--accent:var(--pulse);--f:"IBM Plex Sans KR",system-ui,-apple-system,sans-serif;--m:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f);overscroll-behavior:none;-webkit-font-smoothing:antialiased}#app{min-height:100dvh;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;padding:20px 18px calc(20px + env(safe-area-inset-bottom));gap:14px}.screen[hidden]{display:none}#intro{justify-content:center;align-items:center;text-align:center}.intro-in{max-width:380px;display:flex;flex-direction:column;gap:18px;align-items:center}h1{font-size:clamp(40px,12vw,58px);font-weight:700;letter-spacing:-.04em;margin:0;line-height:1}h2{font-size:22px;font-weight:600;letter-spacing:-.025em;margin:0}.tag{margin:0;font-size:19px;line-height:1.5;color:var(--ink-2);font-weight:400}.tag em{font-style:normal;font-weight:600;color:var(--ink)}.tag.small{font-size:15.5px}.fine{margin:0;font-size:12.5px;line-height:1.65;color:var(--ink-3)}button{font-family:inherit;font-size:16px;font-weight:600;border-radius:999px;border:1px solid transparent;padding:15px 30px;cursor:pointer;letter-spacing:-.01em;transition:transform .12s ease,opacity .12s ease}button:active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:var(--ink);color:#0a0e0f}.ghost{background:transparent;color:var(--ink-2);border-color:var(--line)}#live{padding-top:14px}.stage{position:relative;flex:1;min-height:0;border-radius:14px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}#gl{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56%;aspect-ratio:3/4;border:1.5px dashed rgba(255,255,255,.28);border-radius:50%;pointer-events:none;transition:opacity .3s ease}.guide[hidden]{opacity:0}.corner{position:absolute;top:10px;font-size:12px;font-weight:500;letter-spacing:.02em;padding:4px 9px;border-radius:999px;background:#00000073;backdrop-filter:blur(6px)}.corner.l{left:10px;color:#ffffffbf}.corner.r{right:10px;color:var(--accent)}.readout{position:absolute;left:0;right:0;bottom:14px;display:flex;align-items:baseline;justify-content:center;gap:7px;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.75)}.readout b{font-family:var(--m);font-size:54px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.readout span{font-size:14px;color:#ffffffb8;font-weight:500}.toast{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0a0e0fd1;backdrop-filter:blur(8px);padding:11px 18px;border-radius:999px;font-size:15px;font-weight:500;white-space:nowrap}.reclamp{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;background:#f0696f29;border:1px solid var(--pulse);padding:5px 12px;border-radius:999px;font-family:var(--m);font-size:12px;color:var(--pulse);font-variant-numeric:tabular-nums}.reclamp i{width:7px;height:7px;border-radius:50%;background:var(--pulse);animation:blink 1s steps(2,end) infinite}@keyframes blink{50%{opacity:.15}}@media (prefers-reduced-motion:reduce){.reclamp i{animation:none}}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--panel);padding:5px;border-radius:12px}.modes button{padding:11px 4px;border-radius:8px;font-size:14.5px;font-weight:500;background:transparent;color:var(--ink-2)}.modes button[aria-pressed=true]{background:var(--line);color:var(--ink)}.hint{margin:0;text-align:center;font-size:13px;color:var(--ink-3);min-height:1.4em}.controls{display:flex;flex-direction:column;gap:12px}.split{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink-3)}.split input{flex:1;accent-color:var(--accent);height:22px}#result{align-items:center;justify-content:center;text-align:center}#preview{width:min(100%,300px);aspect-ratio:9/16;border-radius:14px;background:#000;object-fit:cover}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.adslot:empty{display:none}.adslot{width:100%;max-width:336px;min-height:0}#fatal{justify-content:center;align-items:center;text-align:center}
