:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#7542c8;--text:#111;--page:#fff;--surface:#fff;--border:#d0d0d0;--nav-muted:#555;--muted:#555;--subtle:#555;--primary:var(--brand);--primary-text:#fff;--brand-title:var(--brand);--button-border:#999;--focus:var(--brand);--link:var(--brand);--frame-border:#aaa;--recording-track:color-mix(in srgb, var(--brand) 65%, #000);--danger-bg:#111;--input-border:#999;--notice:#f2f2f2;--error-bg:#eee;--error-text:#111;--warning-bg:#f2f2f2;--warning-text:#111;--card-muted:#555;--gif-border:#d0d0d0;--mobile-border:#d0d0d0;color:var(--text);background:var(--page);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#c4a4ff;--text:#fff;--page:#000;--surface:#000;--border:#666;--nav-muted:#bbb;--muted:#bbb;--subtle:#bbb;--primary-text:#000;--button-border:#888;--frame-border:#888;--recording-track:color-mix(in srgb, var(--brand) 65%, #fff);--danger-bg:#fff;--input-border:#888;--notice:#191919;--error-bg:#222;--error-text:#fff;--warning-bg:#191919;--warning-text:#fff;--card-muted:#bbb;--gif-border:#666;--mobile-border:#666}}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:.7rem;font-size:clamp(2.25rem,6vw,4rem);line-height:1.05}h2{letter-spacing:-.025em;font-size:1.25rem}.app-shell{min-height:100vh;padding-bottom:70px;position:relative}.site-header{width:min(100% - 48px,520px);margin:42px auto 0}.site-header-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.site-logo{color:var(--brand);letter-spacing:-.06em;white-space:nowrap;font-size:1.35rem;font-weight:850;text-decoration:none}.site-action{color:var(--brand);text-underline-offset:3px;white-space:nowrap;font-size:.9rem;font-weight:700;text-decoration:underline}.mobile-nav a{text-underline-offset:3px;color:var(--nav-muted);text-decoration:underline}.mobile-nav a.active{color:var(--text);font-weight:750}.page{max-width:1100px;margin:0 auto;padding:48px 24px 90px}.narrow-page{max-width:650px}.signin-page{max-width:570px}.signin-page h1{margin-bottom:22px;font-size:clamp(1.9rem,5vw,2.5rem)}.intro{color:var(--muted);max-width:550px;font-size:1.05rem;line-height:1.55}.subtle{color:var(--subtle);font-size:.9rem;line-height:1.5}.button{text-align:center;white-space:normal;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:12px 19px;font-weight:750;line-height:1.2;text-decoration:none;display:inline-flex}.button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--button-border)}.button.destructive{background:var(--danger-bg);color:var(--page);border-color:var(--danger-bg)}.button.compact{min-height:42px;padding:9px 15px;font-size:.87rem}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.utility-link{color:var(--link);text-underline-offset:3px;font-size:.92rem;font-weight:650;text-decoration:underline}.back-link{text-underline-offset:3px;color:var(--muted);margin-bottom:34px;font-size:.9rem;text-decoration:underline;display:inline-block}.notice{background:var(--notice);border-radius:8px;padding:14px 16px;font-size:.88rem;line-height:1.45}.notice.error{background:var(--error-bg);color:var(--error-text)}.notice.warning{background:var(--warning-bg);color:var(--warning-text)}.action-pair{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.account-section{text-align:left;max-width:520px;margin:40px auto 0}.account-section h2{margin-bottom:18px}.account-content{gap:12px;display:grid}.account-content p{margin:0}.account-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery-empty{margin:32px auto 0;padding:24px 16px}.gallery-empty p{color:var(--card-muted)}.gallery-page{text-align:center;max-width:720px}.content-heading{text-align:left;width:min(100%,520px);margin:0 auto 24px}.content-heading h1{letter-spacing:-.025em;margin:0;font-size:1.25rem}.gallery-page,.gif-detail-page{padding-top:36px}.recorder-page{text-align:center;max-width:720px}.recorder-page h1{color:var(--brand-title);padding:0 .03em .08em;line-height:1.16;display:inline-block}.recorder-page .intro{margin-left:auto;margin-right:auto}.recorder-note{color:var(--muted);margin:24px auto 0;font-size:.9rem}.recorder-note a{color:var(--link);font-weight:700}.capture-frame{aspect-ratio:4/3;background:#111;border-radius:10px;width:min(100%,520px);margin:30px auto 0;position:relative;overflow:hidden;box-shadow:0 14px 40px #0002}.capture-frame[data-outline=true]{box-shadow:0 14px 40px #0002, 0 0 0 1px var(--frame-border)}.capture-frame video,.capture-frame img{object-fit:cover;width:100%;height:100%}.capture-frame video{opacity:0;transition:opacity .24s;transform:scaleX(-1)}.capture-frame[data-camera-ready=true] video{opacity:1}.camera-overlay{color:#fff;background:#0009;place-items:center;font-size:7rem;font-weight:800;display:grid;position:absolute;inset:0}.camera-overlay.small{padding:24px;font-size:1.4rem;line-height:1.35}.countdown-border{border-radius:inherit;pointer-events:none;border:2px solid #fff;position:absolute;inset:0}.recorder-actions{gap:12px;max-width:520px;margin:20px auto 0;display:grid}.recorder-actions>.button{width:100%}.record-button[data-timing=true]{background:var(--recording-track);opacity:1;position:relative;overflow:hidden}.record-progress{background:var(--brand);transition:width 70ms linear;position:absolute;inset:0 auto 0 0}.record-button-label{position:relative}.record-button:hover:not([data-disabled]){box-shadow:0 5px 17px #0003}@media (prefers-reduced-motion:reduce){.record-progress,.capture-frame video{transition:none}}@media (forced-colors:active){.recorder-page h1{color:canvastext}.record-progress{background:highlight}}.recorder-actions .action-pair>*{flex:1}.gif-preview{aspect-ratio:4/3;object-fit:contain;background:#111;border-radius:10px;width:100%;display:block}.gif-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:520px;margin:24px auto 0;display:grid}.gif-card{background:var(--surface);border:1px solid var(--gif-border);border-radius:8px;text-decoration:none;display:block;overflow:hidden}.gif-card img{aspect-ratio:4/3;object-fit:cover;background:#111;width:100%;display:block}.detail-actions{gap:8px;max-width:520px;margin:24px auto 0;display:flex}.detail-actions .primary{flex:1}.gif-detail-page{text-align:center;max-width:720px}.detail-back{text-align:left;max-width:520px;margin:0 auto 18px;display:block}.detail-preview{max-width:520px;margin:0 auto}.modal-overlay{z-index:10;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface);width:min(100%,430px);color:var(--text);border-radius:10px;box-shadow:0 24px 80px #0004}.confirm-dialog{outline:none;padding:24px}.confirm-dialog h2{margin-bottom:12px;font-size:1.5rem}.confirm-dialog p{color:var(--muted);line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.loading-page{place-items:center;min-height:100vh;display:grid}.mobile-nav{display:none}@media (width<=700px){.app-shell{padding-bottom:68px}.site-header{width:calc(100% - 36px);margin-top:32px}.site-logo{font-size:1.15rem}.site-action{font-size:.85rem}.mobile-nav{background:var(--surface);border-top:1px solid var(--mobile-border);padding:12px 8px max(12px, env(safe-area-inset-bottom));z-index:5;justify-content:space-around;font-size:.8rem;display:flex;position:fixed;bottom:0;left:0;right:0}.page{padding:38px 18px 90px}.gallery-page,.gif-detail-page{padding-top:30px}.capture-frame{margin-top:22px}.gif-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
