.film{--f-term-bg:#121311;--f-term-ink:#e9e9e4;--f-term-dim:#8f8f88;margin:0 0 22px}.film-frame{aspect-ratio:16/9;border:1px solid var(--syn-line);background:var(--syn-surface);width:100%;box-shadow:var(--syn-shadow), 0 26px 60px -34px #00000052;isolation:isolate;border-radius:16px;position:relative;overflow:hidden}.film-view{position:absolute;inset:0}.film-stage{transform-origin:0 0;background:linear-gradient(180deg, var(--syn-surface) 0%, var(--syn-bg) 100%);width:1280px;height:720px;color:var(--syn-ink);font:19px/1.45 var(--syn-sans);-webkit-font-smoothing:antialiased;text-align:left;position:absolute;top:0;left:0;overflow:hidden}.film-frame:not([data-ready]) .film-stage{opacity:0}.film-aurora{pointer-events:none;position:absolute;inset:0;overflow:hidden}.film-aurora i{filter:blur(10px);will-change:transform;border-radius:50%;display:block;position:absolute}.film-aurora .a1{background:radial-gradient(closest-side, color-mix(in srgb, var(--syn-accent) 20%, transparent), transparent);width:760px;height:520px;top:-200px;right:-180px}.film-aurora .a2{background:radial-gradient(closest-side, color-mix(in srgb, var(--syn-accent) 13%, transparent), transparent);width:640px;height:460px;bottom:-220px;left:-200px}.film-aurora .a3{background:radial-gradient(closest-side, color-mix(in srgb, var(--syn-ok) 7%, transparent), transparent);width:520px;height:380px;top:260px;left:420px}.film-aurora b{background-image:radial-gradient(color-mix(in srgb, var(--syn-ink) 11%, transparent) 1px, transparent 1.3px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 70% 25%,#000 0%,#0000 72%);mask-image:radial-gradient(at 70% 25%,#000 0%,#0000 72%)}.film-scene{position:absolute;inset:0}.film-cap{z-index:40;background:color-mix(in srgb, var(--syn-surface) 94%, transparent);border:1px solid var(--syn-line);white-space:nowrap;border-radius:999px;align-items:center;gap:14px;max-width:1080px;padding:6px 22px 6px 6px;display:flex;position:absolute;top:22px;left:28px;box-shadow:0 14px 30px -18px #00000059}.film-cap .num{background:var(--syn-inverse);min-width:52px;height:36px;color:var(--syn-inverse-ink);font:400 16px/1 var(--syn-pixel);border-radius:999px;place-items:center;padding:0 10px;display:grid}.film-cap .tt{letter-spacing:-.01em;font-size:21px;font-weight:700}.film-cap .sub{color:var(--syn-muted);font-size:17px}.film-tag{z-index:40;border:1px dashed var(--syn-line-2);background:var(--syn-surface);color:var(--syn-muted);font:600 12.5px/1 var(--syn-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:5px 11px;position:absolute;top:30px;right:26px}.film-spot{z-index:30;pointer-events:none;opacity:0;border:2px solid var(--syn-accent);box-shadow:0 0 0 4000px color-mix(in srgb, var(--syn-bg) 52%, transparent), 0 0 0 6px var(--syn-accent-soft);border-radius:14px;position:absolute;top:0;left:0}.film-cursor{z-index:50;pointer-events:none;opacity:0;transform-origin:5px 4px;filter:drop-shadow(0 3px 5px #00000047);width:32px;height:32px;position:absolute;top:-4px;left:-5px}.film-cursor svg{display:block}.film-cursor path{fill:var(--syn-ink);stroke:var(--syn-surface);stroke-width:1.4px;stroke-linejoin:round}.film-ripple{z-index:49;border:2.5px solid var(--syn-accent);pointer-events:none;opacity:0;border-radius:50%;width:40px;height:40px;position:absolute;top:-20px;left:-20px}.film-ctrl{z-index:5;background:color-mix(in srgb, var(--syn-inverse) 82%, transparent);color:var(--syn-inverse-ink);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .16s var(--syn-ease), transform .16s var(--syn-ease);border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:14px;right:12px;transform:translateY(4px)}.film-frame:hover .film-ctrl,.film-frame:focus-within .film-ctrl,.film[data-paused] .film-ctrl{opacity:1;transform:none}@media (hover:none){.film-ctrl{opacity:1;transform:none}}.film-ctrl button{min-width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0 7px;display:grid}.film-ctrl button:hover{background:color-mix(in srgb, var(--syn-inverse-ink) 14%, transparent)}.film-ctrl svg{width:15px;height:15px}.film-ctrl .fchip{font:400 11px/1 var(--syn-pixel);opacity:.66}.film-ctrl .fchip[aria-current]{opacity:1;background:color-mix(in srgb, var(--syn-inverse-ink) 18%, transparent)}.film-ctrl .fsep{background:color-mix(in srgb, var(--syn-inverse-ink) 25%, transparent);width:1px;height:18px;margin:0 3px}@media (max-width:620px){.film-ctrl .fchip,.film-ctrl .fsep{display:none}}.film-progress{z-index:4;background:color-mix(in srgb, var(--syn-ink) 6%, transparent);height:3px;position:absolute;bottom:0;left:0;right:0}.film-progress i{background:var(--syn-accent);transform-origin:0 0;height:100%;display:block}.film-strip{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;display:grid}.film-stills .film-frame{border-radius:12px}.f-abs{position:absolute}.f-card{background:var(--syn-surface);border:1px solid var(--syn-line);border-radius:18px;padding:24px 28px;box-shadow:0 1px 2px #0000000a,0 18px 40px -24px #00000047}.f-k{font:600 14.5px/1.3 var(--syn-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--syn-muted)}.f-pixel{font-family:var(--syn-pixel);font-weight:400}.f-mono{font-family:var(--syn-mono)}.f-muted{color:var(--syn-muted)}.f-ok{color:var(--syn-ok)}.f-warn{color:var(--syn-warn)}.f-crit{color:var(--syn-crit)}.f-acc{color:var(--syn-accent-ink)}.f-row{align-items:center;gap:12px;display:flex}.f-col{flex-direction:column;gap:12px;display:flex}.f-big{font:400 54px/1.1 var(--syn-pixel);letter-spacing:-.01em}.f-chip{border:1px solid var(--syn-line-2);background:var(--syn-panel-2);color:var(--syn-ink-2);font:600 15.5px/1.3 var(--syn-mono);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 13px;display:inline-flex}.f-chip.acc{background:var(--syn-accent-soft);border-color:color-mix(in srgb, var(--syn-accent) 35%, transparent);color:var(--syn-accent-ink)}.f-chip.ok{background:color-mix(in srgb, var(--syn-ok) 12%, transparent);border-color:color-mix(in srgb, var(--syn-ok) 40%, transparent);color:var(--syn-ok)}.f-chip.warn{background:color-mix(in srgb, var(--syn-warn) 12%, transparent);border-color:color-mix(in srgb, var(--syn-warn) 40%, transparent);color:var(--syn-warn)}.f-chip.crit{background:color-mix(in srgb, var(--syn-crit) 11%, transparent);border-color:color-mix(in srgb, var(--syn-crit) 40%, transparent);color:var(--syn-crit)}.f-btn{background:var(--syn-inverse);height:52px;color:var(--syn-inverse-ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:19px;font-weight:600;display:inline-flex}.f-input{border:1.5px solid var(--syn-line-2);background:var(--syn-surface);height:64px;font:24px/1 var(--syn-mono);border-radius:12px;align-items:center;padding:0 22px;display:flex}.f-term{background:var(--f-term-bg);color:var(--f-term-ink);font:21px/1.65 var(--syn-mono);border:1px solid #ffffff14;border-radius:16px;padding:20px 28px 24px;box-shadow:0 24px 50px -28px #0009}.f-term .bar{gap:7px;margin-bottom:12px;display:flex}.f-term .bar i{background:#ffffff2e;border-radius:50%;width:11px;height:11px}.f-term .dim{color:var(--f-term-dim)}.f-term .c{color:#8fb8ff}.f-term .ok{color:#45e39e}.f-term .warn{color:#f0b43c}.f-term .crit{color:#ff8a7e}.f-term .f-caret{background:#8fb8ff}.f-field{border-bottom:1px solid var(--syn-line);border-radius:10px;grid-template-columns:190px 1fr auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.f-field>span:first-child{color:var(--syn-muted);font-size:17px}.f-field b{font-weight:600}.f-typed{white-space:pre}.f-ghost{visibility:hidden}.f-caret{vertical-align:-.18em;background:var(--syn-accent);width:2px;height:1.1em;margin:0 1px;display:inline-block}.f-caret.off{opacity:0}.f-check{color:var(--syn-muted);align-items:center;gap:13px;font-size:21px;display:flex}.f-check .ci{border:2px solid var(--syn-line-2);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.f-check .ci svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:18px;height:18px}.f-check .cl{flex-direction:column;display:flex}.f-check small{font:15.5px/1.35 var(--syn-mono);color:var(--syn-muted)}.f-check.act .ci{border-color:var(--syn-accent);box-shadow:0 0 0 4px var(--syn-accent-soft)}.f-check.act,.f-check.ok,.f-check.warn,.f-check.crit{color:var(--syn-ink)}.f-check.ok .ci{background:var(--syn-ok);border-color:var(--syn-ok)}.f-check.warn .ci{background:var(--syn-warn);border-color:var(--syn-warn)}.f-check.crit .ci{background:var(--syn-crit);border-color:var(--syn-crit)}.f-check.ok .ci svg,.f-check.warn .ci svg,.f-check.crit .ci svg{opacity:1}:root[data-theme=dark] .f-check .ci{color:#0b0b0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .f-check .ci{color:#0b0b0a}}.f-bar{background:color-mix(in srgb, var(--syn-ink) 9%, transparent);border-radius:999px;width:100%;position:relative;overflow:hidden}.f-bar i{border-radius:inherit;transform-origin:0 0;position:absolute;inset:0}.f-ring{flex:none;position:relative}.f-ring svg{display:block;transform:rotate(-90deg)}.f-ring .pc{text-align:center;font:400 24px/1.05 var(--syn-pixel);font-variant-numeric:tabular-nums;place-content:center;display:grid;position:absolute;inset:0}.f-ring .pc small{font:600 11.5px/1.2 var(--syn-mono);color:var(--syn-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;display:block}.f-num{font-variant-numeric:tabular-nums}.f-swap{display:grid}.f-swap>*{grid-area:1/1}span.f-swap{display:inline-grid}.f-glow{border-radius:10px}.f-spin{border:2.5px solid var(--syn-accent-soft);border-top-color:var(--syn-accent);vertical-align:middle;border-radius:50%;display:inline-block}.mark.f-mark{width:88px;height:100px}.mark.f-mark.sm{width:44px;height:50px}.f-slab{border:1px solid var(--syn-line-2);background:var(--syn-surface);border-radius:16px;align-items:center;gap:18px;padding:20px 26px;display:flex;box-shadow:0 18px 36px -26px #00000059}.f-slab.acc{border-color:color-mix(in srgb, var(--syn-accent) 45%, transparent);background:color-mix(in srgb, var(--syn-accent) 8%, var(--syn-surface))}.f-slab.ink{border-color:var(--syn-inverse);background:var(--syn-inverse);color:var(--syn-inverse-ink)}.f-slab.ink .f-muted{color:color-mix(in srgb, var(--syn-inverse-ink) 70%, transparent)}
