@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-d274604c.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-ee863198.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-2288795d.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-79bfdab9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-18be4527.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;--bg: #05070f;--surface: #0b0e17;--border: #1b2230;--border-strong: #2b3546;--border-accent: rgba(0, 214, 171, .2);--accent: #00d6ab;--accent-dim: #00a07e;--text: #dde3ed;--text-2: #94a3b8;--text-3: #6f7d91;--error: #f87171;--warn: #fbbf24;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r: 4px}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);line-height:1.6;min-height:100vh;overflow-x:clip}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--bg)}.terminal[data-v-73450d10]{display:flex;flex-direction:column;height:min(460px,76svh);overflow:hidden;cursor:text;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);transition:border-color .15s}.terminal[data-v-73450d10]:focus-within{border-color:var(--accent)}.term-bar[data-v-73450d10]{flex-shrink:0;padding:10px 16px;border-bottom:1px solid var(--border);font-size:.8125rem;color:var(--text-3)}.term-body[data-v-73450d10]{flex:1;overflow-y:auto;padding:14px 16px 12px;font-size:.875rem;line-height:1.65}.line[data-v-73450d10]{display:flex;align-items:flex-start;gap:8px;margin:2px 0;word-break:break-word}.prompt-sym[data-v-73450d10]{color:var(--accent);flex-shrink:0}.cmd-text[data-v-73450d10]{color:var(--text);font-weight:500}.output-text[data-v-73450d10]{padding-left:18px;white-space:pre-wrap}.text[data-v-73450d10],.info[data-v-73450d10]{color:var(--text-2)}.error[data-v-73450d10]{color:var(--error)}.success[data-v-73450d10],[data-v-73450d10] .cmd-ref{color:var(--accent)}[data-v-73450d10] .file-name{color:var(--text)}.input-row[data-v-73450d10]{display:flex;align-items:center;gap:8px;margin-top:6px}.input-wrap[data-v-73450d10]{position:relative;flex:1}.input-display[data-v-73450d10]{position:absolute;top:0;left:0;pointer-events:none;white-space:pre;color:var(--text)}.hidden-input[data-v-73450d10]{display:block;width:100%;background:transparent;border:none;outline:none;color:transparent;caret-color:transparent;font:inherit}.cursor[data-v-73450d10]{color:var(--accent);animation:blink-73450d10 1.1s step-end infinite}@keyframes blink-73450d10{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 760px){.term-body[data-v-73450d10]{font-size:1rem}}@media (prefers-reduced-motion: reduce){.cursor[data-v-73450d10]{animation:none}}.breach-wrap[data-v-26b8aff5]{height:460vh;position:relative;width:100vw;margin-left:calc(50% - 50vw)}.breach-stage[data-v-26b8aff5]{--p: 0;--pa: 0;--ax: 0;--pb: 0;--bi: 0;--bx: 0;--pc: 0;--ci: 0;--dim: 0;--hud: 1;--ws: 0;--g: 0;--gx: 0;position:sticky;top:0;height:100svh;overflow:hidden}.hexwall[data-v-26b8aff5]{position:absolute;top:-180px;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:0 2vw;pointer-events:none;opacity:calc(1 - var(--dim) * .85)}.hex-col[data-v-26b8aff5]{font-family:var(--font-mono);font-size:11px;line-height:1.45;white-space:pre;color:#7d8fa821;transform:translateY(calc(var(--p) * var(--spd) * (1 + 1.5 * var(--p))));will-change:transform;-webkit-user-select:none;user-select:none}.hex-col-accent[data-v-26b8aff5]{color:#00d6ab2b}@media (max-width: 760px){.hex-col[data-v-26b8aff5]:nth-child(2n){display:none}}.stage-fx[data-v-26b8aff5]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;transform:skew(calc(var(--g) * 1.2deg)) translate(calc(var(--gx) * 1px))}.vglitch .stage-fx[data-v-26b8aff5]{text-shadow:calc(var(--g) * -3px) 0 rgba(248,113,113,.55),calc(var(--g) * 3px) 0 rgba(56,189,248,.55)}.ch[data-v-26b8aff5]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.phase-row[data-v-26b8aff5]{position:absolute;top:9svh;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:12px;white-space:nowrap;opacity:var(--hud)}.hud-chip[data-v-26b8aff5]{font-family:var(--font-mono);font-size:.78rem;color:var(--accent-dim);letter-spacing:.1em;border:1px solid var(--border-accent);border-radius:var(--r);padding:3px 9px}.hud-label[data-v-26b8aff5]{font-family:var(--font-mono);font-size:clamp(.8rem,2vw,1rem);letter-spacing:.18em;color:var(--text-2);transition:color .2s}.ch-a[data-v-26b8aff5]{gap:clamp(24px,5vw,64px);opacity:calc(1 - var(--ax));transform:scale(calc(1 + var(--ax) * .1))}.radar[data-v-26b8aff5]{position:relative;width:min(320px,34vw);aspect-ratio:1;border-radius:50%;overflow:hidden;flex-shrink:0;background:rgba(0,214,171,.03)}.radar-ring[data-v-26b8aff5]{position:absolute;border-radius:50%;border:1px solid rgba(0,214,171,.22)}.rr1[data-v-26b8aff5]{top:0;right:0;bottom:0;left:0}.rr2[data-v-26b8aff5]{top:16%;right:16%;bottom:16%;left:16%;border-color:#00d6ab2b}.rr3[data-v-26b8aff5]{top:32%;right:32%;bottom:32%;left:32%;border-color:#00d6ab21}.rr4[data-v-26b8aff5]{top:48%;right:48%;bottom:48%;left:48%;border-color:#00d6ab1a}.radar-cross[data-v-26b8aff5]{position:absolute;background:rgba(0,214,171,.1)}.radar-cross-h[data-v-26b8aff5]{left:0;right:0;top:50%;height:1px}.radar-cross-v[data-v-26b8aff5]{top:0;bottom:0;left:50%;width:1px}.radar-sweep[data-v-26b8aff5]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(0,214,171,.38),rgba(0,214,171,.06) 60deg,transparent 85deg);transform:rotate(calc(var(--pa) * 720deg));will-change:transform}.radar-blip[data-v-26b8aff5]{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--accent);opacity:clamp(0,(var(--pa) - var(--t)) * 10,1);transform:scale(calc(.4 + clamp(0,(var(--pa) - var(--t)) * 10,1)*.6))}.dossier[data-v-26b8aff5]{font-family:var(--font-mono);font-size:clamp(.7rem,1.5vw,.82rem);letter-spacing:.05em;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:18px 22px;display:flex;flex-direction:column;gap:9px;min-width:min(310px,78vw)}.dossier-head[data-v-26b8aff5]{color:var(--text-3);font-size:.85em;letter-spacing:.14em;margin-bottom:3px}.dossier-line[data-v-26b8aff5]{--r1: clamp(0, (var(--pa) - var(--t)) * 6, 1);color:var(--text-2);opacity:var(--r1);transform:translate(calc((1 - var(--r1)) * -12px))}.dossier-key[data-v-26b8aff5]{color:var(--accent)}.ch-b[data-v-26b8aff5]{opacity:calc(var(--bi) * (1 - var(--bx)));transform:scale(calc(.94 + var(--bi) * .06))}.fw-word[data-v-26b8aff5]{position:absolute;font-family:var(--font-mono);font-weight:700;font-size:clamp(2.6rem,9vw,6.5rem);letter-spacing:.08em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(0,214,171,.5);text-shadow:none;--fx: clamp(0, (var(--pb) - .8) * 5, 1);opacity:calc(1 - var(--fx));transform:scale(calc(1 + var(--fx) * .15))}.fw-wall[data-v-26b8aff5]{position:relative;z-index:1;width:min(620px,86vw);aspect-ratio:12 / 5;display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.fw-cell[data-v-26b8aff5]{--dd: clamp(0, (var(--pb) - var(--d)) * 3, 1);border-radius:var(--r);background:rgba(125,143,168,.1);border:1px solid rgba(125,143,168,.2);opacity:calc(1 - var(--dd));transform:translateY(calc(var(--dd) * 38px)) rotate(calc(var(--dd) * (var(--d) - .3) * 90deg)) scale(calc(1 - var(--dd) * .55))}.ch-c[data-v-26b8aff5]{flex-direction:column;gap:18px;opacity:calc(var(--ci) * var(--hud));transform:scale(calc(.96 + .04 * var(--ci)))}.hud-counter[data-v-26b8aff5]{display:flex;align-items:baseline;font-family:var(--font-mono);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.hud-pct[data-v-26b8aff5]{font-size:clamp(5rem,17vw,11rem);color:transparent;-webkit-text-stroke:1.5px rgba(0,214,171,.55);text-shadow:none}.hud-pct-sign[data-v-26b8aff5]{font-size:clamp(1.6rem,5vw,3rem);color:var(--accent);margin-left:8px}.hud-bar[data-v-26b8aff5]{width:min(360px,60vw);height:2px;background:rgba(255,255,255,.07);overflow:hidden}.hud-bar-fill[data-v-26b8aff5]{height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;will-change:transform}.hud-addr[data-v-26b8aff5]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;color:var(--text-3);font-variant-numeric:tabular-nums}.logstream[data-v-26b8aff5]{position:absolute;left:max(24px,3vw);bottom:6svh;z-index:2;max-width:38vw;display:flex;flex-direction:column;gap:5px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;pointer-events:none;opacity:var(--hud)}.log-line[data-v-26b8aff5]{color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-line.log-new[data-v-26b8aff5]{color:var(--accent)}.log-line.log-new.log-warn[data-v-26b8aff5]{color:var(--warn)}@media (max-width: 760px){.logstream[data-v-26b8aff5]{display:none}}.granted .hud-label[data-v-26b8aff5]{color:var(--accent);animation:label-glitch-26b8aff5 .5s steps(2,jump-none) 1}.granted .hud-pct[data-v-26b8aff5]{-webkit-text-stroke-color:rgba(0,214,171,.9)}@keyframes label-glitch-26b8aff5{0%{transform:translate(0);text-shadow:-3px 0 #f87171,3px 0 #38bdf8}25%{transform:translate(2px,-1px);text-shadow:3px 0 #f87171,-3px 0 #38bdf8}50%{transform:translate(-2px,1px);text-shadow:-2px 0 #f87171,2px 0 #38bdf8}75%{transform:translate(1px);text-shadow:2px 0 #f87171,-2px 0 #38bdf8}to{transform:translate(0)}}.grant-flash[data-v-26b8aff5]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--accent);opacity:0;pointer-events:none}.granted .grant-flash[data-v-26b8aff5]{animation:flash-26b8aff5 .55s ease-out 1}@keyframes flash-26b8aff5{0%{opacity:.14}30%{opacity:.04}45%{opacity:.09}to{opacity:0}}.glitch-slices[data-v-26b8aff5]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.slice[data-v-26b8aff5]{position:absolute;left:-2%;right:-2%;background:var(--bg);border-top:1px solid rgba(248,113,113,.55);border-bottom:1px solid rgba(56,189,248,.55);opacity:0}.s1[data-v-26b8aff5]{top:17%;height:3.2vh}.s2[data-v-26b8aff5]{top:38%;height:1.6vh}.s3[data-v-26b8aff5]{top:57%;height:4.4vh}.s4[data-v-26b8aff5]{top:78%;height:2.2vh}.granted .slice[data-v-26b8aff5]{animation:slice-jit-26b8aff5 .45s steps(3,jump-none) 1 both}.granted .s2[data-v-26b8aff5]{animation-duration:.55s;animation-delay:.04s}.granted .s3[data-v-26b8aff5]{animation-duration:.4s;animation-delay:.08s}.granted .s4[data-v-26b8aff5]{animation-duration:.6s;animation-delay:.02s}@keyframes slice-jit-26b8aff5{0%{opacity:.9;transform:translate(-3%)}30%{opacity:.75;transform:translate(4%)}60%{opacity:.85;transform:translate(-2%)}to{opacity:0;transform:translate(0)}}.breach-ws[data-v-26b8aff5]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:24px;opacity:var(--ws);transform:scale(calc(.93 + .07 * var(--ws))) translateY(calc((1 - var(--ws)) * 26px));pointer-events:none;will-change:transform,opacity}.breach-stage.granted .breach-ws[data-v-26b8aff5]{pointer-events:auto}.breach-ws[data-v-26b8aff5]>*{width:100%;max-width:992px}.breach-ws-flow[data-v-26b8aff5]{padding:6vh 0 0;opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.breach-ws-flow.in[data-v-26b8aff5]{opacity:1;transform:none}@media (max-width: 760px){.breach-wrap[data-v-26b8aff5]{height:380vh}.ch-a[data-v-26b8aff5]{flex-direction:column;gap:26px}.radar[data-v-26b8aff5]{width:46vw}.fw-wall[data-v-26b8aff5]{grid-template-columns:repeat(8,1fr);aspect-ratio:8 / 5;width:88vw}.fw-cell[data-v-26b8aff5]:nth-child(n+41){display:none}.hud-pct[data-v-26b8aff5]{font-size:clamp(3.6rem,22vw,6rem)}.phase-row[data-v-26b8aff5]{top:7svh}}.reduced[data-v-26b8aff5]{height:auto}.reduced .breach-stage[data-v-26b8aff5]{position:static;height:auto;overflow:visible;padding:10vh 0}.reduced .hexwall[data-v-26b8aff5],.reduced .stage-fx[data-v-26b8aff5],.reduced .logstream[data-v-26b8aff5],.reduced .glitch-slices[data-v-26b8aff5],.reduced .grant-flash[data-v-26b8aff5]{display:none}.reduced .breach-ws[data-v-26b8aff5]{position:static;opacity:1;transform:none;pointer-events:auto;padding:0}.section-title[data-v-be39060a]{font-weight:700;font-size:clamp(1.5rem,3.4vw,2rem);letter-spacing:-.03em;line-height:1.15;margin-bottom:32px}.section-lede[data-v-be39060a]{color:var(--text-2);margin:-20px 0 24px}.projects[data-v-be39060a]{padding-bottom:clamp(72px,12vh,120px)}.shot[data-v-be39060a]{display:block;width:100%;height:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.proj-wide[data-v-be39060a]{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;margin-bottom:72px}.proj-pair[data-v-be39060a]{display:grid;grid-template-columns:5fr 4fr;gap:40px;align-items:start}.proj-stack[data-v-be39060a]{display:grid;gap:56px}.proj>.shot[data-v-be39060a]{margin-bottom:24px}.proj-wide>.shot[data-v-be39060a]{margin-bottom:0}.proj-flip[data-v-be39060a]{grid-template-columns:5fr 7fr}.proj-flip>.shot[data-v-be39060a]{order:2}.proj[data-v-be39060a] .proj-name{font-weight:700;font-size:1.375rem;letter-spacing:-.03em;line-height:1.2;margin-bottom:10px}.proj[data-v-be39060a] .proj-desc{max-width:52ch;color:var(--text-2);margin-bottom:14px}.proj[data-v-be39060a] .proj-meta{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:.8125rem;color:var(--text-2)}.proj[data-v-be39060a] .proj-tech{color:var(--text-3)}.proj[data-v-be39060a] .proj-links{display:flex;gap:24px;margin-top:6px;font-size:.875rem}.proj[data-v-be39060a] .proj-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:5px;transition:color .15s,text-decoration-color .15s}.proj[data-v-be39060a] .proj-links a:hover{color:var(--accent);text-decoration-color:var(--accent)}.writeups[data-v-be39060a]{padding-bottom:clamp(72px,14vh,136px)}.wu-list[data-v-be39060a]{list-style:none}.wu-list li+li[data-v-be39060a]{border-top:1px solid var(--border)}.wu-list a[data-v-be39060a]{display:grid;grid-template-columns:14ch 18ch 1fr;gap:4px 24px;align-items:baseline;padding:14px 0;min-height:44px}.wu-name[data-v-be39060a]{font-weight:600;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:5px;transition:color .15s,text-decoration-color .15s}.wu-event[data-v-be39060a]{color:var(--text-3);font-size:.875rem}.wu-what[data-v-be39060a]{color:var(--text-2)}.wu-list a:hover .wu-name[data-v-be39060a]{color:var(--accent);text-decoration-color:var(--accent)}@media (max-width: 760px){.proj-wide[data-v-be39060a],.proj-pair[data-v-be39060a]{grid-template-columns:1fr}.proj-flip>.shot[data-v-be39060a]{order:0}.proj-wide[data-v-be39060a]{gap:24px;margin-bottom:56px}.proj-pair[data-v-be39060a]{gap:56px}.wu-list a[data-v-be39060a]{grid-template-columns:1fr auto;padding:16px 0}.wu-what[data-v-be39060a]{grid-column:1 / -1}}.page[data-v-ac9fa374]{overflow-x:clip}.masthead[data-v-ac9fa374],.main[data-v-ac9fa374]{max-width:1040px;margin:0 auto;padding:0 24px}.masthead[data-v-ac9fa374]{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}.wordmark[data-v-ac9fa374]{font-weight:700;font-size:1.125rem;letter-spacing:-.02em;white-space:nowrap}.wordmark-accent[data-v-ac9fa374]{color:var(--accent)}.wordmark-accent[data-v-ac9fa374]:first-child{margin-right:.4em}.masthead-nav[data-v-ac9fa374]{display:flex;gap:clamp(14px,3vw,28px);font-size:.875rem}.masthead-nav a[data-v-ac9fa374]{display:inline-flex;align-items:center;min-height:44px;color:var(--text-2);transition:color .15s}.masthead-nav a[data-v-ac9fa374]:hover{color:var(--accent)}.hero[data-v-ac9fa374]{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(48px,12vh,120px) 0 clamp(48px,10vh,96px)}.avatar[data-v-ac9fa374]{display:block;width:96px;height:96px;border-radius:var(--r);margin-bottom:28px}.hero-name[data-v-ac9fa374]{font-weight:700;font-size:clamp(2.25rem,6.5vw,4.25rem);letter-spacing:-.04em;line-height:1.05;margin-bottom:18px}.hero-lede[data-v-ac9fa374]{max-width:52ch;font-size:clamp(1rem,1.6vw,1.125rem);color:var(--text-2)}.contact[data-v-ac9fa374]{padding:clamp(72px,14vh,136px) 0 clamp(56px,10vh,96px)}.contact-title[data-v-ac9fa374]{font-weight:700;font-size:clamp(1.5rem,3.4vw,2rem);letter-spacing:-.03em;line-height:1.15;margin-bottom:10px}.contact-lede[data-v-ac9fa374]{color:var(--text-2);margin-bottom:28px}.contact-list[data-v-ac9fa374]{list-style:none}.contact-list a[data-v-ac9fa374]{display:grid;grid-template-columns:10ch 1fr;align-items:center;gap:16px;min-height:44px}.contact-key[data-v-ac9fa374]{color:var(--text-3)}.contact-val[data-v-ac9fa374]{justify-self:start;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:5px;transition:color .15s,text-decoration-color .15s}.contact-list a:hover .contact-val[data-v-ac9fa374]{color:var(--accent);text-decoration-color:var(--accent)}.footer[data-v-ac9fa374]{border-top:1px solid var(--border);padding:24px 0 40px;font-size:.8125rem;color:var(--text-3)}.solved[data-v-ac9fa374]{margin:auto;width:min(420px,calc(100vw - 48px));padding:28px;background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:var(--r)}.solved[data-v-ac9fa374]::backdrop{background:rgba(5,7,15,.85)}.solved[open][data-v-ac9fa374]{animation:solved-in-ac9fa374 .18s ease-out}@keyframes solved-in-ac9fa374{0%{opacity:0;transform:translateY(8px)}}.solved-title[data-v-ac9fa374]{font-weight:700;font-size:1.5rem;letter-spacing:-.03em;line-height:1.15;color:var(--accent);margin-bottom:10px}.solved-text[data-v-ac9fa374]{color:var(--text-2);margin-bottom:24px}.solved-text a[data-v-ac9fa374]{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}.solved-close[data-v-ac9fa374]{min-height:44px;padding:0 20px;font:inherit;font-size:.875rem;font-weight:500;color:var(--bg);background:var(--accent);border:0;border-radius:var(--r);cursor:pointer;transition:background .15s}.solved-close[data-v-ac9fa374]:hover{background:var(--text)}.solved-close[data-v-ac9fa374]:active{transform:translateY(1px)}@media (prefers-reduced-motion: reduce){.solved[open][data-v-ac9fa374]{animation:none}}
