@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";:root{--header-height:56px;--font-mono:"IBM Plex Mono", "SF Mono", "Fira Code", monospace;--paper:#f4e9da;--paper-strong:#fbf4ea;--paper-muted:#ece1d1;--header-surface:#ccc;--ink:#111;--muted:#111111ad;--accent:#0048ff;--brand-red:red;--brand-red-deep:#ac0000;--line:#1111111f;--line-strong:#0048ff3d;--shadow:#01123c14;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-mono);color:var(--ink);background:linear-gradient(180deg, #f8f0e5 0%, var(--paper) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent);text-underline-offset:.12em}.app-shell{min-height:100dvh;padding:calc(var(--safe-top) + var(--header-height)) var(--safe-right) var(--safe-bottom) var(--safe-left);flex-direction:column;display:flex}.site-header{z-index:100;height:calc(var(--header-height) + var(--safe-top));padding-top:var(--safe-top);padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#cccccceb;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.site-header .brand-logo{width:auto;height:32px;display:block}.site-header .meta{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:10px}.screen{flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;padding:24px 20px 32px;display:flex}.screen-enter{animation:.45s both screenEnter}.screen-center{text-align:center;justify-content:center;align-items:center}@keyframes screenEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:11px}.intro-screen{justify-content:center}.intro-typer{flex-direction:column;gap:6px;margin:4px 0 28px;line-height:1.2;display:flex}.intro-typer-lead{color:var(--ink);font-size:clamp(18px,5vw,24px);font-weight:500}.intro-role{color:var(--accent);min-height:1.2em;font-size:clamp(24px,7vw,34px);font-weight:600}.intro-cursor{vertical-align:text-bottom;background:var(--accent);width:2px;height:1em;margin-left:2px;animation:1s step-end infinite introCaret;display:inline-block}@keyframes introCaret{0%,to{opacity:1}50%{opacity:0}}.headline-accent{color:var(--accent)}@media (prefers-reduced-motion:reduce){.intro-cursor{animation:none}}.headline{margin:0 0 16px;font-size:clamp(28px,8vw,36px);font-weight:400;line-height:1.1}.body-copy{color:var(--muted);max-width:36ch;margin:0 0 28px;font-size:15px}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;border:none;justify-content:center;align-items:center;min-height:52px;padding:0 28px;font-size:14px;transition:opacity .15s;display:inline-flex}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-primary:not(:disabled):active{opacity:.85}.btn-secondary{border:1px solid var(--line-strong);min-height:48px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;padding:0 20px;font-size:13px;display:inline-flex}.btn-link{color:var(--accent);background:0 0;border:none;padding:8px 0;font-size:14px;text-decoration:underline}.text-input{border:1px solid var(--line);background:var(--paper-strong);width:100%;min-height:52px;color:var(--ink);padding:14px 16px;font-size:16px}.text-input:focus{outline:2px solid var(--accent);outline-offset:2px}.chip-row{flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}.chip{border:1px solid var(--line);background:var(--paper-strong);color:var(--ink);padding:10px 14px;font-size:13px;transition:border-color .15s,background .15s}.chip.selected{border-color:var(--accent);background:#0048ff14}.actions-row{flex-direction:column;gap:12px;margin-top:auto;padding-top:24px;display:flex}.progress-bar{background:var(--line);height:3px;margin-bottom:24px;overflow:hidden}.progress-bar-inner{background:var(--accent);height:100%;transition:width .4s}.capture-frame{aspect-ratio:3/4;border:1px solid var(--line);background:#000;width:100%;max-height:55dvh;transition:box-shadow .35s,transform .35s;position:relative;overflow:hidden}.capture-frame.capture-phase-locking{transform:scale(1.01);box-shadow:0 0 0 2px #0048ff59,0 16px 48px #0048ff2e}.capture-frame.capture-phase-processing{box-shadow:0 0 0 2px #0048ff4d,0 16px 48px #0048ff29}.capture-frame.capture-phase-success{box-shadow:0 0 0 2px #34c7598c,0 20px 60px #34c7594d}.capture-frame video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.capture-mesh{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.capture-overlay{pointer-events:none;z-index:2;position:absolute;inset:0}.capture-oval{border:2px solid #ffffffb3;border-radius:50%;width:58%;height:72%;transition:border-color .25s,box-shadow .25s,transform .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000059}.capture-oval--searching{animation:2.4s ease-in-out infinite ovalPulse}.capture-oval--detected{border-color:#fffffff2;box-shadow:0 0 0 9999px #00000052,0 0 24px #0048ff59}.capture-oval--centering{border-style:dashed;border-color:#ffffffe6;animation:1.2s linear infinite ovalDash}.capture-oval--locking{border-width:3px;border-color:#fff;animation:.55s ease-in-out infinite ovalLockPulse;box-shadow:0 0 0 9999px #00000047,0 0 32px #0048ff8c,inset 0 0 20px #0048ff26}.capture-oval--processing{border-color:#ffffffe6;animation:1.1s ease-in-out infinite ovalLockPulse;box-shadow:0 0 0 9999px #00000047,0 0 28px #0048ff66}.capture-oval--success{border-color:#34c759;transform:translate(-50%,-50%)scale(1.04);box-shadow:0 0 0 9999px #0003,0 0 48px #34c759b3}@keyframes ovalPulse{0%,to{border-color:#ffffff8c;transform:translate(-50%,-50%)scale(1)}50%{border-color:#ffffffd9;transform:translate(-50%,-50%)scale(1.02)}}@keyframes ovalDash{to{stroke-dashoffset:-24px;transform:translate(-50%,-50%)rotate(6deg)}}@keyframes ovalLockPulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.015)}}.capture-progress-ring{opacity:0;pointer-events:none;width:68%;height:84%;transition:opacity .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.capture-progress-ring.visible{opacity:1}.capture-progress-track{fill:none;stroke:#ffffff26;stroke-width:2.5px}.capture-progress-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 6px #0048ffcc);transition:stroke-dashoffset .12s linear}.capture-brackets{opacity:0;transition:opacity .3s,transform .35s;position:absolute;inset:14%;transform:scale(1.08)}.capture-brackets.visible{opacity:1;transform:scale(1)}.capture-bracket{opacity:0;border:2px solid #0048ffd9;width:28px;height:28px;animation:.4s forwards bracketIn;position:absolute}.capture-bracket-tl{border-bottom:none;border-right:none;animation-delay:0s;top:0;left:0}.capture-bracket-tr{border-bottom:none;border-left:none;animation-delay:50ms;top:0;right:0}.capture-bracket-bl{border-top:none;border-right:none;animation-delay:.1s;bottom:0;left:0}.capture-bracket-br{border-top:none;border-left:none;animation-delay:.15s;bottom:0;right:0}@keyframes bracketIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.capture-scan-line{pointer-events:none;background:linear-gradient(90deg,#0000,#0048ff33,#fffffff2,#0048ff33,#0000);height:2px;animation:1.8s ease-in-out infinite scanSweep;position:absolute;left:21%;right:21%;box-shadow:0 0 12px #0048ff99}@keyframes scanSweep{0%{opacity:0;top:18%}10%{opacity:1}90%{opacity:1}to{opacity:0;top:82%}}.capture-face-lock{opacity:0;gap:6px;transition:opacity .2s;display:flex;position:absolute;top:88%;left:50%;transform:translate(-50%)}.capture-face-lock.active{opacity:1}.capture-face-lock-dot{background:#ffffff59;border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite lockDot}.capture-face-lock-dot:nth-child(2){animation-delay:.15s}.capture-face-lock-dot:nth-child(3){animation-delay:.3s}@keyframes lockDot{0%,to{background:#ffffff59;transform:translateY(0)}50%{background:#fff;transform:translateY(-4px)}}.capture-success{opacity:0;pointer-events:none;width:72px;height:72px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.4)}.capture-success.active{animation:.45s cubic-bezier(.22,1,.36,1) forwards successPop}.capture-success-ring{background:#34c7591f;border:3px solid #34c759;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 24px #34c759b3}.capture-success-check{color:#fff;text-shadow:0 2px 8px #34c75999;justify-content:center;align-items:center;font-size:34px;font-weight:700;display:flex;position:absolute;inset:0}@keyframes successPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.capture-flash{opacity:0;background:linear-gradient(#fffffff2 0%,#0048ff40 100%);transition:opacity .12s;position:absolute;inset:0}.capture-flash.active{opacity:.9;animation:.42s both captureFlash}@keyframes captureFlash{0%{opacity:0}20%{opacity:.95}to{opacity:0}}.capture-status{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#ffffffe6;text-shadow:0 1px 4px #00000080;font-size:12px;transition:color .2s,transform .2s;position:absolute;bottom:16px;left:0;right:0}.capture-status--locking,.capture-status--processing{color:#fff;text-shadow:0 0 12px #0048ffcc;transform:translateY(-2px)}.capture-status--success{color:#fff;text-shadow:0 0 12px #34c759d9;transform:translateY(-2px)}.generating-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:32px auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-align:center;font-size:13px}.status-hint{color:var(--muted);text-align:center;margin-top:12px;font-size:14px}.result-player{aspect-ratio:9/16;border:1px solid var(--line);background:#000;width:100%;max-height:65dvh}.result-player video{object-fit:cover;width:100%;height:100%}.error-box{background:#ff00000f;border:1px solid #ff00004d;margin:16px 0;padding:16px;font-size:14px}.hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.app-shell-wrapped{height:100dvh;overflow:hidden}.wrapped{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;flex:1;width:100%;max-width:420px;min-height:0;margin:0 auto;padding:8px 16px 24px;display:flex}.wrapped--video{overflow:hidden}.wrapped-progress{gap:6px;margin-bottom:20px;display:flex}.wrapped-bar{background:#11111126;border-radius:2px;flex:1;height:3px;overflow:hidden}.wrapped-bar-fill{background:var(--accent);transform-origin:0;border-radius:2px;width:100%;height:100%;display:block;transform:scaleX(0)}.wrapped-bar-fill:not(.active){transition:transform .2s}.wrapped-bg-status{border:1px solid var(--line-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#0048ff0f;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;padding:8px 14px;font-size:11px;display:flex}.wrapped-bg-pulse{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.2s ease-in-out infinite bgPulse}.wrapped-bg-label{text-align:left;flex:1}.wrapped-bg-percent{color:var(--accent);font-weight:600}@keyframes bgPulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.wrapped-card{background:var(--accent);min-height:52dvh;box-shadow:0 8px 30px var(--shadow);border-radius:0;flex:1;justify-content:center;align-items:center;padding:36px 28px;display:flex;overflow:hidden}.wrapped-slide{width:100%;color:var(--paper);text-align:left}.wrapped-slide-enter{animation:.5s both wrappedEnter}@keyframes wrappedEnter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.wrapped-title{color:#fff;text-wrap:balance;margin:0 0 18px;font-size:clamp(28px,7.5vw,38px);font-weight:600;line-height:1.12}.wrapped-title--hero{font-size:clamp(34px,10vw,52px);line-height:1.05}.wrapped-sub{color:#ffffffd1;max-width:32ch;font-size:14px;line-height:1.6}.wrapped-body{color:#fff;text-wrap:pretty;margin:0;font-size:clamp(17px,4.8vw,21px);line-height:1.6}.wrapped-list{counter-reset:wrapped-item;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wrapped-list-item{color:#fff;text-wrap:balance;border-top:1px solid #ffffff38;align-items:baseline;gap:14px;padding:16px 0;font-size:clamp(18px,5.2vw,25px);font-weight:600;line-height:1.25;display:flex}.wrapped-list-item:before{counter-increment:wrapped-item;content:counter(wrapped-item, decimal-leading-zero);letter-spacing:.04em;color:#fff9;flex-shrink:0;font-size:12px;font-weight:500}.wrapped-list-item:last-child{border-bottom:1px solid #ffffff38}.wrapped-video-stage{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.wrapped-video-heading{color:var(--ink);text-wrap:balance;margin:0 0 12px;font-size:clamp(24px,6.5vw,32px);font-weight:600;line-height:1.12}.wrapped-video-wrap{background:#000;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.wrapped-sound-toggle{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#00000073;border:1px solid #ffffff73;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .15s,border-color .15s;display:flex;position:absolute;top:14px;right:14px}.wrapped-sound-toggle:hover{background:#0009;border-color:#ffffffb3}.wrapped-sound-toggle svg{width:22px;height:22px}.wrapped-video-loading{background:var(--accent);color:#fff;justify-content:center;align-items:center;display:flex}.wrapped-video-loading .generating-spinner{border-color:#fff #ffffff4d #ffffff4d}.wrapped-video{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.wrapped-video-error{color:var(--ink);background:#ff000014}.wrapped-loading{text-align:center;width:100%;padding:24px 0}.wrapped-loading-label{letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:13px}.wrapped-loading-bar{background:#ffffff40;height:3px;margin-top:20px;overflow:hidden}.wrapped-loading-fill{background:#fff;height:100%;transition:width .4s}.wrapped-error{background:#00000040;margin-top:12px;padding:16px;font-size:14px}.wrapped-actions{text-align:center;margin-top:20px;padding:0 20px}.wrapped-actions:empty{display:none}.wrapped-card--share{background:var(--brand-red)}.wrapped-share-image-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;min-height:0;display:flex}.wrapped-share-image{aspect-ratio:1;width:auto;max-width:min(88vw,380px);height:auto;max-height:56dvh;display:block;box-shadow:0 14px 44px #01123c38}.wrapped-share-image-stage .wrapped-share-actions{width:100%;margin-top:0}.wrapped-share-url{color:#fff;word-break:break-all;background:#ffffff1f;border:1px solid #ffffff47;margin:20px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.wrapped-share-actions{flex-direction:column;align-items:center;gap:12px;margin-top:28px;display:flex}.wrapped-share-actions .btn-wrapped{width:100%}.wrapped--video .wrapped-actions{padding-top:16px;padding-bottom:calc(16px + var(--safe-bottom));margin-top:auto}.btn-wrapped{background:var(--ink);width:100%;max-width:320px;min-height:52px;color:var(--paper);letter-spacing:.12em;text-transform:uppercase;border:none;font-size:14px}.btn-wrapped.secondary{color:#fff;background:0 0;border:1px solid #ffffff80}.wrapped-hint{color:var(--muted);margin:0;font-size:13px}
