.utils-page{background:radial-gradient(ellipse 65% 45% at 72% 8%, color-mix(in oklch, var(--rune) 20%, transparent) 0%, transparent 62%), radial-gradient(ellipse 70% 55% at 18% 18%, color-mix(in oklch, var(--ember) 18%, transparent) 0%, transparent 66%), linear-gradient(180deg, var(--void-deep) 0%, var(--void) 48%, var(--void-deep) 100%);max-width:100%;min-height:100vh;color:var(--bone);overflow-x:hidden}.utils-topbar .mark{text-decoration:none}.utils-topbar .glyph{vertical-align:-2px;display:inline-flex}.utils-hero{padding-top:98px;padding-bottom:54px;overflow:hidden}.utils-lock{place-items:center;width:100%;min-height:calc(100svh - 88px);padding-top:52px;padding-bottom:72px;display:grid}.lock-panel{background:linear-gradient(180deg, color-mix(in oklch, var(--ash) 72%, transparent) 0%, color-mix(in oklch, var(--void) 90%, transparent) 100%);border:1px solid color-mix(in oklch, var(--ember) 30%, transparent);width:min(100%,560px);max-width:calc(100vw - 36px);box-shadow:0 26px 80px -54px var(--ember);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:38px;position:relative}.lock-panel .eyebrow{font-family:var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--ember);margin-bottom:18px;font-size:11px}.lock-panel h1{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:clamp(36px,6vw,62px);font-weight:600;line-height:1}.lock-panel p{color:var(--bone-dim);overflow-wrap:anywhere;margin:18px 0 0;font-size:18px;line-height:1.5}.lock-form{gap:12px;min-width:0;margin-top:30px;display:grid}.lock-form label{color:var(--bone);font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;font-size:11px}.lock-form input{width:100%;min-width:0;min-height:52px;color:var(--bone);background:color-mix(in oklch, var(--void-deep) 70%, transparent);border:1px solid color-mix(in oklch, var(--ember) 28%, transparent);font:18px var(--mono);border-radius:0;outline:none;padding:14px 16px}.lock-form input:focus{border-color:color-mix(in oklch, var(--ember) 70%, transparent);box-shadow:0 0 0 3px color-mix(in oklch, var(--ember) 16%, transparent)}.lock-error{color:#ff9284;color:lab(72.9864% 49.2528 31.7642);font-family:var(--mono);letter-spacing:.08em;font-size:12px}.lock-button{border-radius:0;width:100%;min-width:0;margin:10px 0 0}.utils-hero .section-head{margin-bottom:0}.utils-hero h1{font-family:var(--display);margin:0;font-size:clamp(48px,7vw,104px);font-weight:600;line-height:.96}.utils-hero h1 em{color:var(--ember);font-family:var(--body);font-style:italic;font-weight:500}.utils-hero-glow{aspect-ratio:1;background:radial-gradient(circle, color-mix(in oklch, var(--ember) 22%, transparent) 0%, transparent 68%);pointer-events:none;width:min(58vw,720px);position:absolute;inset:7% -20% auto auto}.app-downloads{padding-top:18px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1180px;margin:0 auto;display:grid}.app-tile{background:linear-gradient(180deg, color-mix(in oklch, var(--ash) 68%, transparent) 0%, color-mix(in oklch, var(--void) 86%, transparent) 100%);border:1px solid color-mix(in oklch, var(--ember) 28%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-rows:auto 1fr auto;min-height:540px;display:grid;position:relative;overflow:hidden}.app-tile:before{content:"";background:radial-gradient(ellipse at center top, color-mix(in oklch, var(--ember) 32%, transparent) 0%, transparent 66%);pointer-events:none;height:65%;position:absolute;inset:auto -28% -45%}.app-art{aspect-ratio:16/10;background:linear-gradient(180deg, color-mix(in oklch, var(--void-deep) 56%, transparent) 0%, color-mix(in oklch, var(--void) 66%, transparent) 100%);border-bottom:1px solid color-mix(in oklch, var(--ember) 18%, transparent);place-items:center;padding:24px;display:grid;position:relative}.app-art img{object-fit:contain;width:min(78%,340px);max-height:270px;filter:drop-shadow(0 24px 40px color-mix(in oklch, var(--void-deep) 80%, transparent));display:block}.recipe-svg{width:min(82%,360px);height:auto;max-height:270px;filter:drop-shadow(0 24px 40px color-mix(in oklch, var(--void-deep) 80%, transparent));display:block}.app-placeholder{aspect-ratio:1;width:min(52%,210px);color:var(--ember);border:1px solid color-mix(in oklch, var(--ember) 42%, transparent);background:color-mix(in oklch, var(--void-deep) 42%, transparent);box-shadow:inset 0 0 44px color-mix(in oklch, var(--ember) 10%, transparent);place-items:center;display:grid}.app-copy{padding:28px 28px 18px;position:relative}.app-kicker{color:var(--ember);font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;align-items:center;gap:9px;font-size:11px;display:flex}.app-copy h2{color:var(--bone);font-family:var(--display);margin:18px 0 12px;font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.04}.app-copy p{color:var(--bone-dim);margin:0;font-size:17px;line-height:1.52}.download-button{min-height:52px;color:var(--void-deep);background:var(--ember);border:1px solid color-mix(in oklch, var(--bone) 44%, transparent);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;margin:0 28px 28px;padding:14px 18px;font-size:12px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex;position:relative}.download-button:hover{box-shadow:0 18px 40px -20px var(--ember);transform:translateY(-2px)}.download-button.is-disabled{cursor:not-allowed;color:var(--bone-dim);background:color-mix(in oklch, var(--ash) 72%, transparent);border-color:color-mix(in oklch, var(--bone-dim) 22%, transparent);box-shadow:none}@media (max-width:900px){.utils-topbar{align-items:flex-start;gap:18px}.utils-topbar nav{flex-wrap:wrap;justify-content:flex-end;row-gap:10px}.utils-hero{padding-top:74px;padding-bottom:28px}.app-grid{grid-template-columns:1fr}.app-tile{min-height:0}}@media (max-width:560px){.utils-topbar{flex-direction:column}.utils-topbar nav{justify-content:flex-start;gap:10px}.utils-topbar a{padding-inline:10px}.utils-lock{place-items:start center;min-height:calc(100svh - 130px);padding:28px 18px 46px}.lock-panel{padding:28px 22px}.app-art{aspect-ratio:4/3;padding:18px}.app-art img,.recipe-svg{width:min(86%,300px);max-height:240px}.app-copy{padding:24px 22px 16px}.download-button{margin:0 22px 24px}}
