@layer theme,foundation,components,utilities;@layer responsive{@media (width<=760px){html:has(.badge-dialog:modal){overflow:hidden}.site-badges{margin-top:16px;padding-inline:0}.badge-panel{--badge-artwork-overlap:0px;width:100%;margin-inline:auto}.badge-composition{grid-template-columns:minmax(0,1fr);grid-template-areas:"art""actions";gap:8px}.badge-composition:has(.badge-browser[data-modal]){gap:0}.badge-decoration{grid-area:art;justify-content:center;align-items:flex-end;gap:12px;display:flex}.badge-artwork{width:auto;height:auto;max-width:min(100%, var(--badge-artwork-width));object-fit:contain;max-height:64px;margin:0}.badge-decoration:has(.badge-companion) .badge-artwork{max-width:min(var(--badge-artwork-width), (100% - 12px) / 2)}.badge-companion{max-width:calc(50% - 6px);margin:0}.badge-companion img{object-fit:contain;max-height:64px}.badge-browser[data-modal] .badge-toggle{width:fit-content;min-height:44px;color:var(--link);font:inherit;cursor:pointer;outline-offset:-1px;background:0 0;border:0;outline:1px solid #0000;justify-content:center;align-items:center;margin-inline:auto;padding-inline:8px;display:flex}.badge-toggle-text{white-space:nowrap;zoom:min(var(--mobile-scale), var(--fit-scale))}.badge-toggle:is(:focus-visible,:active){outline-color:var(--link)}.badge-actions{justify-content:center;gap:0 4px}.badge-browser[data-modal]>.badge-actions{display:none}.badge-item,.badge-action{height:44px}.badge-action{outline-offset:-1px;place-items:center;display:grid}.badge-reveal{display:none}.badge-action:is(:focus-visible,:active){outline-color:var(--link)}@media (hover:hover){.badge-toggle:hover,.badge-dialog-close:hover{background:var(--link-hover-bg)}.badge-action:hover{outline-color:var(--link)}}.home-page{max-width:calc(100vw - 16px);transform:translateY(clamp(-6vh,50% - 50vh + 8px,0px))}.ascii-hero:after{display:none}}}@layer components.textmode;@layer components.features{.artwork-rotation,.badge-decoration{display:contents}.site-badges{box-sizing:border-box;width:100%;min-width:0;font-family:var(--text-font);font-size:var(--home-size);text-align:left;margin-top:24px;padding-inline:20px;line-height:1;container:site-badges/inline-size}.badge-panel{--badge-artwork-side-gap:16px;--badge-artwork-bottom-gap:var(--badge-gap);width:min(var(--badge-panel-width), calc(100% - 16px));max-width:472px;margin-left:16px}.badge-panel[data-overlap]{--badge-artwork-side-gap:calc(-1 * var(--badge-artwork-overlap));--badge-artwork-bottom-gap:calc(-1 * var(--badge-artwork-overlap))}.badge-composition{isolation:isolate;grid-template-columns:minmax(0,1fr);grid-template-areas:"art""actions""companion";display:grid}.badge-artwork{z-index:1;width:var(--badge-artwork-width);max-width:100%;height:auto;margin-bottom:calc(-1 * var(--badge-artwork-overlap));pointer-events:none;user-select:none;grid-area:art;place-self:end center;display:block;position:relative}.badge-companion{width:var(--badge-companion-width);pointer-events:none;user-select:none;grid-area:companion;justify-self:end;max-width:100%;margin-top:8px}.badge-companion[data-placement=bottom-left]{justify-self:start}.badge-companion img{width:100%;height:auto;display:block}.badge-panel:is([data-placement=top-left],[data-placement=bottom-left],[data-placement=left]) .badge-artwork{justify-self:start}.badge-panel:is([data-placement=top-right],[data-placement=bottom-right],[data-placement=right]) .badge-artwork{justify-self:end}.badge-panel:is([data-placement^=bottom],[data-placement=left],[data-placement=right]) .badge-composition{grid-template-areas:"actions""art""companion"}.badge-panel:is([data-placement^=bottom],[data-placement=left],[data-placement=right]) .badge-artwork{margin-top:var(--badge-artwork-bottom-gap);margin-bottom:0}@container site-badges (width>=400px){.badge-panel:is([data-placement=left],[data-placement=right]){width:min(var(--badge-horizontal-width), calc(100% - 16px))}.badge-panel[data-placement=left] .badge-composition{grid-template-areas:"art actions"".companion";grid-template-columns:max(0px, calc(var(--badge-artwork-width) + var(--badge-artwork-side-gap))) minmax(0, 1fr)}.badge-panel[data-placement=right] .badge-composition{grid-template-areas:"actions art""companion.";grid-template-columns:minmax(0, 1fr) max(0px, calc(var(--badge-artwork-width) + var(--badge-artwork-side-gap)))}.badge-panel:is([data-placement=left],[data-placement=right]) .badge-artwork{align-self:end;max-width:none;margin:0}.badge-panel:is([data-placement=left],[data-placement=right]) .badge-actions{justify-content:start}}.badge-actions{grid-template-columns:repeat(auto-fit, var(--badge-width));justify-content:center;gap:var(--badge-gap);margin:0;padding:0;list-style:none;display:grid}.badge-browser{grid-area:actions;align-self:end;min-width:0}.badge-toggle{display:none}.badge-dialog{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--link) 65%, transparent);background:var(--home-bg,var(--bg));width:min(296px,100vw - 24px);max-height:min(70dvh,440px);color:var(--fg);font:inherit;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}.badge-dialog[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.badge-dialog::backdrop{background:color-mix(in srgb, var(--home-bg,var(--bg)) 80%, transparent)}.badge-dialog-header{justify-content:space-between;align-items:center;padding-left:10px;display:flex}.badge-dialog-header h2{font:inherit;margin:0}.badge-dialog-close{width:44px;height:44px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.badge-dialog-close:focus-visible{outline:1px solid var(--link);outline-offset:-4px}.badge-dialog-body{overscroll-behavior:contain;scrollbar-width:thin;padding:0 4px 8px;overflow:auto}.badge-count{color:color-mix(in srgb, var(--fg) 60%, transparent)}.badge-item,.badge-action,.badge-item img{width:var(--badge-width);height:var(--badge-height);display:block}.badge-action{background:var(--home-bg,var(--bg));color:inherit;font:inherit;cursor:pointer;appearance:none;outline-offset:2px;border:0;border-radius:0;outline:1px solid #0000;padding:0;position:relative}.badge-panel[data-overlap] .badge-action{background:0 0}.badge-panel:not([data-overlap]) .badge-action:is(:focus-visible,:active){outline-color:var(--link)}.badge-reveal{z-index:2;background:var(--home-bg,var(--bg));opacity:0;pointer-events:none;outline-offset:2px;outline:1px solid #0000;transition:opacity .18s ease-out,outline-color .18s ease-out;display:none;position:absolute;inset:0}.badge-panel[data-overlap] .badge-reveal{display:block}.badge-action:focus-visible .badge-reveal,.badge-action:active .badge-reveal{opacity:1;outline-color:var(--link)}@media (hover:hover){.badge-panel:not([data-overlap]) .badge-action:hover{outline-color:var(--link)}.badge-action:hover .badge-reveal{opacity:1;outline-color:var(--link)}}@media (hover:none){.badge-reveal{opacity:1}}@media (prefers-reduced-motion:reduce){.badge-reveal{transition:none}}.badge-item img{image-rendering:pixelated}.badge-item{position:relative}.badge-copy-status{z-index:3;pointer-events:none;white-space:nowrap;position:absolute;bottom:calc(100% + 4px);left:50%;translate:-50%}.badge-copy-status:not(:empty){border:1px solid var(--link);background:var(--home-bg,var(--bg));color:var(--link);padding:4px 6px}.badge-dialog .badge-copy-status:not(:empty){place-items:center;padding:0;display:grid;inset:6px 0;translate:none}.badge-copy-dialog{box-sizing:border-box;border:1px solid var(--link);background:var(--home-bg,var(--bg));width:min(320px,100% - 32px);max-height:calc(100% - 32px);color:var(--fg);font:inherit;text-align:left;margin:auto;padding:16px;line-height:1.5;overflow:auto}.badge-copy-dialog label,.badge-copy-dialog textarea{display:block}.badge-copy-dialog textarea{box-sizing:border-box;width:100%;color:inherit;font:inherit;resize:vertical;background:0 0;border:1px solid;border-radius:0;margin-block:8px 12px;padding:6px}.badge-copy-dialog-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.badge-copy-dialog button{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:4px 8px}.badge-copy-dialog :is(textarea,button):focus-visible{outline:1px solid var(--link);outline-offset:2px}.home-page{max-width:100vw}.ascii-hero:before,.ascii-hero:after{pointer-events:none;content:"";opacity:0;position:absolute}.ascii-hero:before{top:var(--ascii-scan-top,0);left:var(--ascii-scan-left,0);width:var(--ascii-scan-width,0);height:var(--ascii-scan-height,0);mix-blend-mode:screen;background:currentColor}.ascii-hero:after{top:var(--ascii-bloom-y,50%);left:var(--ascii-bloom-x,50%);width:calc(var(--text-cell) * 7);height:calc(var(--text-size) * 2);filter:blur(8px);background:currentColor;transform:translate(-50%,-50%)}.ascii-hero.is-glitching:before{opacity:var(--ascii-scan-opacity,.6)}.ascii-hero.is-glitching:after{opacity:var(--ascii-bloom-opacity,.03)}.ascii-pre{z-index:1;color:var(--fg);padding-left:0;position:relative}.ascii-glitch{z-index:2;color:var(--link);opacity:0;text-shadow:var(--ascii-glitch-shadow-a,2px) 0 var(--fg), var(--ascii-glitch-shadow-b,-2px) 0 var(--link-hover);transform:translate(var(--ascii-glitch-shift-x,0), var(--ascii-glitch-shift-y,0));clip-path:inset(var(--ascii-glitch-clip-top,0) var(--ascii-glitch-clip-right,0) var(--ascii-glitch-clip-bottom,0) var(--ascii-glitch-clip-left,0));position:absolute;inset:0}.ascii-hero.is-glitching .ascii-glitch{opacity:var(--ascii-glitch-opacity,.72)}}
