:root{--ink:#ecebe8;--dim:#9b9890;--faint:#7d7a73;--line:#ecebe829;--glass:#08080880;--halo:0 0 6px #000000e6, 0 0 2px #000000e6;--glass-line:#ecebe814;--accent:#8fd3ff;--edge:40px;--track:.18em;color:var(--ink);background:#000;font:11px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica Neue,sans-serif}.app.light{--ink:#141414;--dim:#55524d;--faint:#6b6862;--line:#14141433;--glass:#faf9f68c;--glass-line:#14141414;--halo:0 0 6px #ffffffe6;color:var(--ink)}*{box-sizing:border-box}html,body,#root,.app{background:#000;height:100%;margin:0;overflow:hidden}.stage{place-items:center;display:grid;position:absolute;inset:0;container-type:size}.viewport{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.viewport:active{cursor:grabbing}button,select,input{font:inherit;color:inherit}button{cursor:pointer;text-transform:uppercase;letter-spacing:var(--track);color:var(--dim);background:0 0;border:none;padding:0}button:hover{color:var(--ink)}button:focus-visible,label:focus-within{outline:1px solid var(--accent);outline-offset:3px}select{border:none;border-bottom:1px solid var(--line);cursor:pointer;text-transform:uppercase;letter-spacing:.12em;background:0 0;border-radius:0;padding:1px 0}select option{color:#ecebe8;background:#111}kbd{font:inherit;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;margin-left:9px}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink);border:none;border-radius:50%;width:9px;height:9px;margin-top:-4px}input[type=range]::-moz-range-track{background:var(--line);height:1px}input[type=range]::-moz-range-thumb{background:var(--ink);border:none;border-radius:50%;width:9px;height:9px}.lbl{color:var(--dim);text-transform:uppercase;letter-spacing:var(--track);white-space:nowrap}.val{color:var(--dim);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row{grid-template-columns:86px 1fr 62px;align-items:center;gap:10px;margin:4px 0;display:grid}.row select{grid-column:2/4}.opts{flex-wrap:wrap;align-items:baseline;gap:4px 13px;display:flex}.opts .lbl{margin-right:4px}.opts button{border-bottom:1px solid #0000;padding:2px 0 3px}.opts button.on{color:var(--ink);border-bottom-color:var(--ink)}.meta{color:var(--dim);margin:6px 0 0;line-height:1.6}button.link{color:var(--ink);text-transform:none;letter-spacing:0;padding:0;text-decoration:underline}.ui{text-shadow:var(--halo);transition:opacity .35s;position:absolute}.app.bare .ui{opacity:0;pointer-events:none}.app.studio{--rail:212px;--panel:328px;--bar:56px;font-size:12px}.app.studio.no-panels{--panel:0px}.app.studio .stage{left:var(--rail);right:var(--panel);bottom:var(--bar)}.app.studio.bare .stage{bottom:0;left:0;right:0}.app.studio .stage.framed{background:#060606;padding:30px}.app.studio.light .stage.framed{background:#e2dfd9}.stage.framed .viewport{width:min(100cqw, calc(100cqh * var(--aspect)));height:min(100cqh, calc(100cqw / var(--aspect)));box-shadow:0 0 0 1px #80808059}.rail,.inspector,.bar{--ink:#ecebe8;--dim:#a3a098;--faint:#7d7a73;--line:#ecebe824;--glass-line:#ecebe817;color:var(--ink);text-shadow:none;background:#0a0a0a}.rail{width:var(--rail);border-right:1px solid var(--line);flex-direction:column;display:flex;top:0;bottom:0;left:0}.rail-head{padding:26px 22px 10px}.rail-head h1{letter-spacing:.62em;margin:0 0 6px;font-size:15px;font-weight:400}.rail-head p{color:var(--dim);text-transform:uppercase;letter-spacing:var(--track);margin:0 0 14px;font-size:10.5px}.rail-head .back{font-size:10.5px}.rail-body{scrollbar-width:thin;scrollbar-color:#2a2a2a transparent;flex:1;padding:0 22px 16px;overflow-y:auto}.rail-foot{color:var(--faint);letter-spacing:.08em;padding:10px 22px 14px;font-size:10px}.rail h2,.lib h2{font:inherit;color:var(--faint);text-transform:uppercase;letter-spacing:.26em;margin:22px 0 8px;font-size:10px}.lib-list{flex-direction:column;align-items:stretch;display:flex}.lib-list>button,.lib-list .add,.look-own .look{text-align:left;text-transform:none;letter-spacing:.03em;width:100%;color:var(--dim);cursor:pointer;align-items:baseline;gap:8px;padding:3px 0;font-size:12.5px;display:flex}.lib-list>button:hover,.lib-list .add:hover,.look-own .look:hover,.lib-list>button.on{color:var(--ink)}.lib-list>button.on:before{content:"";background:var(--ink);border-radius:50%;flex:none;align-self:center;width:4px;height:4px;margin-right:2px}.lib-list kbd,.lib-list .tag{margin-left:auto}.lib-list .tag+kbd{margin-left:8px}.tag{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:9.5px}.lib-list .add{color:var(--faint)}.lib-list .add input,label.file input{opacity:0;width:1px;height:1px;position:absolute}.lib-list .sub{margin:4px 0 6px}.lib-list .sub .row{grid-template-columns:40px 1fr 46px}.look-own{align-items:baseline;gap:8px;display:flex}.look-own .x{color:var(--faint);letter-spacing:0;font-size:14px;line-height:1}.look-own .x:hover{color:var(--ink)}.look-name{align-items:baseline;gap:8px;padding:4px 0;display:flex}.look-name input{border:none;border-bottom:1px solid var(--line);min-width:0;color:var(--ink);background:0 0;outline:none;flex:1;padding:2px 0}.look-name input:focus{border-bottom-color:var(--ink)}.look-name button:disabled{opacity:.35;cursor:default}.live-sub{margin:0 0 4px}.present{top:24px;left:var(--rail);right:var(--panel);text-align:center;pointer-events:none;padding:0 32px}.preset-name{letter-spacing:.5em;text-indent:.5em;font-size:12px}.idea{color:var(--dim);letter-spacing:.03em;max-width:520px;margin:8px auto 0;font-style:italic}.status{color:var(--dim);letter-spacing:.04em;margin-top:8px}.inspector{top:0;right:0;bottom:var(--bar);width:var(--panel);border-left:1px solid var(--line);flex-direction:column;display:flex}.tabs{border-bottom:1px solid var(--line);padding:20px 18px 0;display:flex}.tabs button{letter-spacing:.13em;white-space:nowrap;border-bottom:1px solid #0000;flex:1;margin-bottom:-1px;padding:8px 0 10px;font-size:10.5px}.tabs button.on{color:var(--ink);border-bottom-color:var(--ink)}.panel{scrollbar-width:thin;scrollbar-color:#2a2a2a transparent;flex:1;padding:4px 18px 22px;overflow-y:auto}.panel .row{grid-template-columns:88px 1fr 60px}.panel .opts{margin:5px 0}.panel .opts>.lbl{width:88px;margin-right:6px}.panel .opts button{letter-spacing:.1em;font-size:10.5px}.panel .meta{font-size:11.5px}.panel .meta.live{color:var(--faint);font-variant-numeric:tabular-nums}button.link.act{text-underline-offset:3px;font-size:12.5px}label.link{color:var(--ink);cursor:pointer;text-decoration:underline}.lib{padding-bottom:8px}.section{border-top:1px solid var(--glass-line);padding:12px 0 8px}.section:first-of-type{border-top:none}.section summary{cursor:pointer;color:var(--ink);text-transform:uppercase;letter-spacing:.24em;margin-bottom:8px;font-size:10.5px;list-style:none}.section summary::-webkit-details-marker{display:none}.section summary:before{content:"+";width:14px;color:var(--faint);display:inline-block}.section[open] summary:before{content:"–"}.swatch{cursor:pointer;border-radius:50%;align-self:center;width:15px;height:15px;padding:0;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f}.swatch.on{outline:1px solid var(--ink);outline-offset:3px}.palettes{align-items:center;gap:8px 11px}.swatch.custom{box-shadow:inset 0 0 0 1px #ffffff1f, 0 0 0 1px var(--faint)}.swatch.custom input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.bar{left:var(--rail);height:var(--bar);border-top:1px solid var(--line);align-items:center;gap:22px;padding:0 20px;display:flex;bottom:0;right:0}.bar .play{min-width:66px;color:var(--ink);align-items:baseline;display:flex}.bar .glyph{letter-spacing:0;width:20px;font-size:8px}.bar .opts{flex-wrap:nowrap}.bar-time{flex:1;min-width:60px}.clock{font-variant-numeric:tabular-nums;letter-spacing:.1em;min-width:104px;color:var(--ink);white-space:nowrap}.clock span{color:var(--dim)}.bar-end{align-items:center;gap:16px;display:flex}.bar-end button{white-space:nowrap;font-size:10.5px}.bar-end button.on{color:var(--ink)}.bar-end button:disabled{opacity:.3;cursor:default}.bar-end .icon{color:var(--ink);place-items:center;display:grid}.only-narrow{display:none}.reveal{right:var(--edge);color:var(--faint);opacity:.6;position:absolute;bottom:22px}.reveal:hover{opacity:1}@media (width<=900px){.app.studio{--rail:0px;--panel:0px;--sheet:44vh;--bar:50px}.app.studio.no-panels{--sheet:0px}.rail{display:none}.app.studio .stage{bottom:calc(var(--bar) + var(--sheet))}.app.studio .stage.framed{padding:14px}.inspector{width:auto;height:var(--sheet);border-left:none;border-top:1px solid var(--line);top:auto;left:0}.tabs{padding:4px 12px 0;overflow-x:auto}.tabs button{padding:8px 9px 9px}.panel{padding:2px 14px 16px}.present{padding:0 14px;top:12px}.present .idea{display:none}.bar{gap:12px;padding:0 12px}.bar .speeds,.bar .clock span,.bar-end .wide{display:none}.clock{min-width:0}.only-narrow{display:initial}}.fatal{z-index:10;text-align:center;background:#000;place-content:center;justify-items:center;gap:4px;padding:24px;font-size:12px;line-height:1.6;display:grid;position:fixed;inset:0}.fatal p{max-width:520px;margin:0}.fatal img{max-width:100%;max-height:62vh;margin-bottom:16px}.fatal-name{letter-spacing:var(--track);text-transform:uppercase;font-size:11px;margin-bottom:20px!important}.fatal-why{color:var(--dim);font-size:11px}.import{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-line);border-radius:10px;width:min(440px,100% - 32px);padding:10px 14px;font-size:11px;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.import-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.import-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import .bar{background:var(--line);height:1px;margin:9px 0 6px;overflow:hidden}.import .bar div{background:var(--ink);height:100%;transition:width .15s linear}.import-stage{color:var(--dim);font-variant-numeric:tabular-nums}.alert{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--accent);border-radius:10px;align-items:flex-start;gap:12px;max-width:min(560px,100% - 32px);padding:9px 12px;font-size:11px;display:flex;position:absolute;top:90px;left:50%;transform:translate(-50%)}.alert.error{border-color:#ff5a4a}.alert button{letter-spacing:0;font-size:15px;line-height:1}.dropzone{border:1px dashed var(--ink);pointer-events:none;text-transform:uppercase;letter-spacing:.3em;background:#0000008c;place-content:center;font-size:11px;display:grid;position:absolute;inset:0}body.shot .ui,body.shot .reveal,body.shot .import,body.shot .alert,body.shot .v-loading{display:none}body.shot .app.studio .stage{bottom:0;left:0;right:0}.app.viewer{font-size:13px}.app.light,.app.light .viewport{background:#f5f2ed}.app.quiet .ui{opacity:0;pointer-events:none}.app .ui{transition:opacity 1.2s}.v-masthead{top:32px;left:var(--edge);pointer-events:none;max-width:340px}.v-masthead h1{letter-spacing:.62em;margin:0 0 12px;font-size:15px;font-weight:400}.v-masthead p{margin:0;line-height:1.55}.v-line{color:var(--ink)}.v-by{color:var(--dim)}.v-corner{top:30px;right:var(--edge);align-items:center;gap:22px;display:flex}.v-corner button{text-transform:none;letter-spacing:.04em;color:var(--dim)}.v-corner button.on,.v-corner button:hover{color:var(--ink)}.v-corner .icon{color:var(--ink);place-items:center;display:grid}.v-bottom{left:var(--edge);right:var(--edge);flex-direction:column;align-items:center;gap:14px;display:flex;bottom:30px}.v-sentence{min-height:1.5em;color:var(--dim);letter-spacing:.01em;text-align:center;max-width:560px;margin:0;font-style:italic}.v-time{width:min(720px,100%)}.v-lenses{flex-wrap:wrap;justify-content:center;gap:6px 30px;display:flex}.v-lenses button{text-transform:none;letter-spacing:.06em;color:var(--dim);border-bottom:1px solid #0000;padding:4px 0 5px;font-size:13px}.v-lenses button.on{color:var(--ink);border-bottom-color:var(--ink)}.v-lenses button.sit{margin-left:10px}.v-lenses button:disabled{opacity:.35;cursor:default}.v-sit{flex-direction:column;align-items:center;gap:8px;display:flex}.v-sit .v-sentence{color:var(--ink);font-style:normal}.v-sit-actions{flex-wrap:wrap;justify-content:center;gap:22px;margin:0;display:flex}.v-sit-actions button{text-transform:none;letter-spacing:.04em;color:var(--dim);border-bottom:1px solid var(--line);padding-bottom:2px}.v-sit-actions button:first-child{color:var(--ink);border-bottom-color:var(--ink)}.v-hint{white-space:nowrap;color:var(--dim);letter-spacing:.06em;pointer-events:none;opacity:0;margin:0;transition:opacity 1.5s;bottom:150px;left:50%;transform:translate(-50%)}.v-hint.show{opacity:1}.app.quiet .v-hint{opacity:0}@media (width<=760px){.v-masthead{top:18px}.v-masthead .v-by{display:none}.v-corner{top:18px}.v-bottom{gap:12px;bottom:18px}.v-lenses{gap:6px 20px}.v-lenses button{padding:8px 0}}.about{z-index:20;-webkit-backdrop-filter:blur(12px);color:#ecebe8;background:#000000e0;font:15px/1.65 ui-serif,Georgia,Times New Roman,serif;position:fixed;inset:0;overflow-y:auto}.about[hidden]{display:none}.about-inner{max-width:620px;margin:0 auto;padding:72px 24px 96px}.about h2{letter-spacing:.62em;margin:0 0 28px;font:400 15px/1 ui-sans-serif,system-ui,sans-serif}.about h3{letter-spacing:.18em;text-transform:uppercase;color:#9b9890;margin:36px 0 10px;font:400 12px/1.4 ui-sans-serif,system-ui,sans-serif}.about p,.about li{color:#d8d6d1}.about dl{margin:0}.about dt{color:#ecebe8;margin-top:14px}.about dd{color:#b5b2ab;margin:2px 0 0}.about a{color:inherit}.about button{letter-spacing:.18em;color:#9b9890;font:400 12px/1 ui-sans-serif,system-ui,sans-serif}.about button:hover{color:#ecebe8}.about .about-close{top:30px;right:var(--edge);position:fixed}.about .about-studio{text-transform:uppercase;text-underline-offset:4px;text-decoration:underline}.about small{color:#9b9890}.camera-on{z-index:5;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-shadow:var(--halo);pointer-events:none;font-size:11px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.camera-on span{color:#ff4a3d}.live-sub{flex-direction:column;gap:4px;max-width:240px;display:flex}.live-sub .meta{text-transform:none;letter-spacing:.02em;margin:0}.live-sub .warn{color:#ffb08a}.live-sub .opts button:disabled{opacity:.5;cursor:default}.v-loading{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.v-loading span{background:#ecebe8;border-radius:50%;width:5px;height:5px;animation:2.6s ease-in-out infinite v-breathe;box-shadow:0 0 14px 2px #ffd6aa80}@keyframes v-breathe{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.app .ui,.v-hint{transition:none}.v-loading span{opacity:.8;animation:none}}
