@font-face{font-family:"Manaspace";src:url("/assets/fonts/mana_space.ttf") format("truetype")}@font-face{font-family:"Dots";src:local("Arial"),local("Helvetica"),local("Roboto");unicode-range:U+002E,U+2026}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button,aside{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}strong,b{font-weight:bold}em,i{font-style:italic}*,*::before,*::after{box-sizing:border-box}:root{--bg-app: #17181C;--surface: #17181C;--surface-elevated: #2B2E36;--text: #F2F3F5;--text-secondary: #A3A8B4;--primary: #7CFF6B;--secondary: #55D6FF;--error: #E06666;--border: #393D47;--bg-stage: #050607}:root body{font-family:Dots,Manaspace,Arial,Helvetica,sans-serif;background:var(--bg-app);color:var(--text)}.game-board{--grid-line: #222;--cell-size: min( calc((var(--stage-height, 70vh) - 1px) / var(--rows)), calc((var(--stage-width, calc(100vw - 2rem)) - 1px) / var(--cols)) )}@supports(width: round(down, 1.5px, 1px)){.game-board{--cell-size: round(down, min( calc((var(--stage-height, 70vh) - 1px) / var(--rows)), calc((var(--stage-width, calc(100vw - 2rem)) - 1px) / var(--cols)) ), 1px)}}.game-board{display:grid;grid-template-columns:repeat(var(--cols), var(--cell-size));grid-template-rows:repeat(var(--rows), var(--cell-size));border-top:1px solid var(--grid-line);border-left:1px solid var(--grid-line);width:max-content}.game-board__cell{box-sizing:border-box;border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);background:#000}.game-canvas{display:block;aspect-ratio:var(--aspect);height:min(var(--stage-height, 70vh),var(--stage-width, calc(100vw - 2rem))/(var(--aspect)));max-width:var(--stage-width, calc(100vw - 2rem));background:#000;image-rendering:pixelated}.game-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;width:5rem;height:5rem;border:5px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;text-align:center;box-sizing:content-box;padding:0;background:var(--surface);cursor:pointer}.game-card:focus-visible{outline:3px solid var(--text-secondary)}.game-card:focus-visible .game-card__icon{fill:var(--primary)}.game-card:focus-visible .game-card__title{color:var(--primary);font-weight:bold}@media(hover: hover){.game-card:hover{outline:3px solid var(--text-secondary)}.game-card:hover .game-card__icon{fill:var(--primary)}.game-card:hover .game-card__title{color:var(--primary);font-weight:bold}}.game-card__icon{flex:none;height:2rem;max-width:4rem;fill:var(--text)}.game-card__title{box-sizing:border-box;width:100%;max-height:0;margin-top:0;padding-inline:.25rem;font:.9rem monospace;line-height:1.1;opacity:0;transform:translateY(2.5rem);transition:max-height .2s ease-out,margin-top .2s ease-out,transform .2s ease-out,opacity .2s ease-out}.game-card:focus-visible .game-card__title{max-height:2.5rem;margin-top:.4rem;opacity:1;transform:none}@media(hover: hover){.game-card:hover .game-card__title{max-height:2.5rem;margin-top:.4rem;opacity:1;transform:none}}@media(hover: none){.game-card .game-card__title{max-height:2.5rem;margin-top:.4rem;opacity:1;transform:none}}@media(prefers-reduced-motion: reduce){.game-card__title{transition:none}}.play-controls{display:flex;flex-direction:column;gap:.6rem}.play-toggle{display:none;width:40px;height:40px;border:2px solid var(--primary);border-radius:8px;background:var(--primary);color:var(--bg-app);font:bold 1.5rem monospace;line-height:1;touch-action:manipulation;cursor:pointer}@media(pointer: coarse){.play-toggle{display:block}}.touch .play-toggle{display:block}.score-table__title{font-size:1rem;font-weight:bold;margin-bottom:1rem}.score-table__list{display:grid;grid-template-columns:auto minmax(0, 1fr) auto auto;column-gap:.75em;row-gap:.15em;list-style:none}.score-table__list--no-level{grid-template-columns:auto minmax(0, 1fr) auto}.score-table__list>li,.score-table__row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline}.score-table__row--new{font-weight:bold;color:var(--primary)}.score-table__rank{color:var(--text-secondary)}.score-table__score{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.score-table__level,.score-table__date{white-space:nowrap;font-size:1rem}.score-table__level{color:var(--text-secondary)}.score-table__empty{font-style:italic}.ttt-board{--cell: min(24vw, 8rem);display:grid;grid-template-columns:repeat(3, var(--cell));grid-template-rows:repeat(3, var(--cell));gap:4px;background:var(--border);padding:4px;border-radius:6px;width:max-content}.ttt-board>*,.ttt-board__slot{display:contents}.ttt-board__cell{border:none;border-radius:2px;background:#000;color:var(--text);font-family:inherit;font-size:calc(var(--cell)*.6);font-weight:bold;line-height:1;cursor:pointer}.ttt-board__cell:disabled{cursor:default;color:var(--text)}.ttt-board__cell--cursor{outline:3px solid var(--secondary);outline-offset:-3px}.ttt-board__cell--win{color:var(--primary);text-shadow:0 0 calc(var(--cell)/8) var(--primary)}.touch-controls{display:none}@media(pointer: coarse){.touch-controls{display:block}}.touch .touch-controls{display:block}.touch-controls__stick,.touch-controls__cross-button,.touch-controls__action{position:fixed;z-index:10;opacity:.45;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border:2px solid #fff;background:rgba(40,40,40,.9);color:#fff;font:bold 1rem monospace}.touch-controls__stick{left:calc(1.5rem + env(safe-area-inset-left));bottom:calc(1.5rem + env(safe-area-inset-bottom));width:112px;height:112px;border-radius:50%}.touch-controls__stick--active{opacity:.8}.touch-controls__cross{position:fixed;z-index:10;left:calc(1.5rem + env(safe-area-inset-left));bottom:calc(1.5rem + env(safe-area-inset-bottom));width:144px;height:144px}.touch-controls__cross-button{position:absolute;width:48px;height:48px;border-radius:8px;font-size:1.25rem}.touch-controls__cross-button:active{opacity:.8}.touch-controls__cross-button--up{top:0;left:48px}.touch-controls__cross-button--down{bottom:0;left:48px}.touch-controls__cross-button--left{top:48px;left:0}.touch-controls__cross-button--right{top:48px;right:0}.touch-controls__cross-button--action{font-size:.6rem;overflow:hidden}.touch-controls__knob{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;pointer-events:none}.touch-controls__action{right:calc(1.5rem + env(safe-area-inset-right));bottom:calc(2.5rem + env(safe-area-inset-bottom));width:72px;height:72px;border-radius:50%}.touch-controls__action--active{opacity:.8}@media(max-width: 768px){.touch-controls--centred .touch-controls__stick,.touch-controls--centred .touch-controls__cross{left:50%;translate:-50% 0}}.game-board__cell--tetris-I,.game-board__cell--tetris-I-flash{--block: rgb(80, 227, 230);--block-glow: rgba(80, 227, 230, 0.6)}.game-board__cell--tetris-J,.game-board__cell--tetris-J-flash{--block: rgb(36, 95, 223);--block-glow: rgba(36, 95, 223, 0.6)}.game-board__cell--tetris-L,.game-board__cell--tetris-L-flash{--block: rgb(223, 173, 36);--block-glow: rgba(223, 173, 36, 0.6)}.game-board__cell--tetris-O,.game-board__cell--tetris-O-flash{--block: rgb(223, 217, 36);--block-glow: rgba(223, 217, 36, 0.6)}.game-board__cell--tetris-T,.game-board__cell--tetris-T-flash{--block: rgb(132, 61, 198);--block-glow: rgba(132, 61, 198, 0.6)}.game-board__cell--tetris-S,.game-board__cell--tetris-S-flash{--block: rgb(78, 211, 56);--block-glow: rgba(78, 211, 56, 0.6)}.game-board__cell--tetris-Z,.game-board__cell--tetris-Z-flash{--block: rgb(227, 78, 78);--block-glow: rgba(227, 78, 78, 0.6)}.game-board__cell[class*="--tetris-"][class*=-flash]{animation:cell-flash .1s steps(1) infinite alternate}.game-board__cell--tetris-curtain{background:#969696;box-shadow:inset 0 0 0 2px #5a5a5a}.game-board__cell--snake,.game-board__cell[class*="--snake-head-"],.game-board__cell--food{position:relative;z-index:1}.game-board__cell--snake{background:linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 40%),#4ed338;box-shadow:inset max(1px,var(--cell-size)*.06) max(1px,var(--cell-size)*.06) rgba(255,255,255,.25),inset calc(-1*max(1px, var(--cell-size) * 0.06)) calc(-1*max(1px, var(--cell-size) * 0.06)) rgba(0,0,0,.25),0 0 calc(var(--cell-size)/6) rgba(78,211,56,.35)}.game-board__cell--snake-head-up::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 30% 35%, #0f2a0f 0 8%, transparent 10%),radial-gradient(circle at 70% 35%, #0f2a0f 0 8%, transparent 10%),linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 40%),#4ed338;border-radius:50% 50% 0 0}.game-board__cell--snake-head-up::after{box-shadow:0 0 calc(var(--cell-size)/6) rgba(78,211,56,.35)}.game-board__cell--snake-head-down::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 30% 65%, #0f2a0f 0 8%, transparent 10%),radial-gradient(circle at 70% 65%, #0f2a0f 0 8%, transparent 10%),linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 40%),#4ed338;border-radius:0 0 50% 50%}.game-board__cell--snake-head-down::after{box-shadow:0 0 calc(var(--cell-size)/6) rgba(78,211,56,.35)}.game-board__cell--snake-head-left::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 35% 30%, #0f2a0f 0 8%, transparent 10%),radial-gradient(circle at 35% 70%, #0f2a0f 0 8%, transparent 10%),linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 40%),#4ed338;border-radius:50% 0 0 50%}.game-board__cell--snake-head-left::after{box-shadow:0 0 calc(var(--cell-size)/6) rgba(78,211,56,.35)}.game-board__cell--snake-head-right::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 65% 30%, #0f2a0f 0 8%, transparent 10%),radial-gradient(circle at 65% 70%, #0f2a0f 0 8%, transparent 10%),linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent 40%),#4ed338;border-radius:0 50% 50% 0}.game-board__cell--snake-head-right::after{box-shadow:0 0 calc(var(--cell-size)/6) rgba(78,211,56,.35)}.game-board__cell--food::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.7) 0 10%, transparent 14%),#e34e4e;border-radius:50%}.game-board__cell--food::after{box-shadow:0 0 calc(var(--cell-size)/5) rgba(227,78,78,.45)}.game-board__cell--wall{background:#2121de}.game-board__cell--door{background:linear-gradient(transparent 40%, rgb(255, 184, 222) 40% 60%, transparent 60%),#000}.game-board__cell--pellet{background:radial-gradient(circle, rgb(255, 184, 151) 15%, #000 18%)}.game-board__cell--power{background:radial-gradient(circle, rgb(255, 184, 151) 40%, #000 45%)}.game-board__cell--pacman-right::after{content:"";display:block;width:100%;height:100%;background:#ff0;border-radius:50%;clip-path:polygon(0 0, 100% 0, 100% 30%, 50% 50%, 100% 70%, 100% 100%, 0 100%)}.game-board__cell--pacman-left::after{content:"";display:block;width:100%;height:100%;background:#ff0;border-radius:50%;clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 70%, 50% 50%, 0 30%)}.game-board__cell--pacman-up::after{content:"";display:block;width:100%;height:100%;background:#ff0;border-radius:50%;clip-path:polygon(0 0, 30% 0, 50% 50%, 70% 0, 100% 0, 100% 100%, 0 100%)}.game-board__cell--pacman-down::after{content:"";display:block;width:100%;height:100%;background:#ff0;border-radius:50%;clip-path:polygon(0 0, 100% 0, 100% 100%, 70% 100%, 50% 50%, 30% 100%, 0 100%)}.game-board__cell--ghost-blinky::after{content:"";display:block;width:100%;height:100%;background:red;border-radius:50% 50% 10% 10%}.game-board__cell--ghost-pinky::after{content:"";display:block;width:100%;height:100%;background:#ffb8ff;border-radius:50% 50% 10% 10%}.game-board__cell--ghost-inky::after{content:"";display:block;width:100%;height:100%;background:aqua;border-radius:50% 50% 10% 10%}.game-board__cell--ghost-clyde::after{content:"";display:block;width:100%;height:100%;background:#ffb852;border-radius:50% 50% 10% 10%}.game-board__cell--ghost-frightened::after{content:"";display:block;width:100%;height:100%;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='rgb(255,184,174)'><rect x='4' y='5' width='2' height='2'/><rect x='8' y='5' width='2' height='2'/><polyline points='2,11 3.5,9.5 5,11 7,9.5 9,11 10.5,9.5 12,11' fill='none' stroke='rgb(255,184,174)'/></svg>") center/100% 100% no-repeat,#2121ff;border-radius:50% 50% 10% 10%}.game-board__cell--ghost-frightened-ending::after{content:"";display:block;width:100%;height:100%;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='rgb(255,184,174)'><rect x='4' y='5' width='2' height='2'/><rect x='8' y='5' width='2' height='2'/><polyline points='2,11 3.5,9.5 5,11 7,9.5 9,11 10.5,9.5 12,11' fill='none' stroke='rgb(255,184,174)'/></svg>") center/100% 100% no-repeat,#2121ff;border-radius:50% 50% 10% 10%}.game-board__cell--ghost-frightened-ending::after{animation:ghost-flash .3s steps(1) infinite}.game-board__cell--ghost-eyes::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 30% 40%, #fff 15%, transparent 18%),radial-gradient(circle at 70% 40%, #fff 15%, transparent 18%),#000;border-radius:50% 50% 10% 10%}@keyframes ghost-flash{50%{background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='rgb(255,0,0)'><rect x='4' y='5' width='2' height='2'/><rect x='8' y='5' width='2' height='2'/><polyline points='2,11 3.5,9.5 5,11 7,9.5 9,11 10.5,9.5 12,11' fill='none' stroke='rgb(255,0,0)'/></svg>") center/100% 100% no-repeat,#fff}}.game-board__cell--tetris-I,.game-board__cell--tetris-I-flash,.game-board__cell--tetris-J,.game-board__cell--tetris-J-flash,.game-board__cell--tetris-L,.game-board__cell--tetris-L-flash,.game-board__cell--tetris-O,.game-board__cell--tetris-O-flash,.game-board__cell--tetris-T,.game-board__cell--tetris-T-flash,.game-board__cell--tetris-S,.game-board__cell--tetris-S-flash,.game-board__cell--tetris-Z,.game-board__cell--tetris-Z-flash{--bevel: max(1px, calc(var(--cell-size) * 0.1));position:relative;z-index:1;background:linear-gradient(135deg, rgba(255, 255, 255, 0.45), transparent 35%),linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)) center/36% 36% no-repeat,linear-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25)) center/52% 52% no-repeat,var(--block);box-shadow:inset var(--bevel) var(--bevel) rgba(255,255,255,.45),inset calc(-1*var(--bevel)) calc(-1*var(--bevel)) rgba(0,0,0,.35),0 0 calc(var(--cell-size)/3) var(--block-glow)}.game-board__cell[class*="--jewel-"]{position:relative;z-index:1}.game-board__cell[class*="--jewel-"]::before{content:"";position:absolute;inset:-25%;z-index:-1;background:radial-gradient(closest-side, var(--jewel-glow), transparent);pointer-events:none}.game-board__cell[class*="--jewel-"]::after{content:"";display:block;width:100%;height:100%;background:radial-gradient(circle at 40% 30%, rgba(255, 255, 255, 0.85) 0 5%, transparent 9%),conic-gradient(rgba(255, 255, 255, 0.2) 0 25%, rgba(0, 0, 0, 0.2) 0 50%, rgba(0, 0, 0, 0.4) 0 75%, rgba(255, 255, 255, 0.45) 0),var(--jewel);clip-path:polygon(50% 4%, 96% 50%, 50% 96%, 4% 50%)}.game-board__cell--jewel-red,.game-board__cell--jewel-red-flash,.game-board__cell--jewel-red-burst{--jewel: rgb(227, 78, 78);--jewel-glow: rgba(227, 78, 78, 0.4)}.game-board__cell--jewel-orange,.game-board__cell--jewel-orange-flash,.game-board__cell--jewel-orange-burst{--jewel: rgb(255, 140, 26);--jewel-glow: rgba(255, 140, 26, 0.4)}.game-board__cell--jewel-yellow,.game-board__cell--jewel-yellow-flash,.game-board__cell--jewel-yellow-burst{--jewel: rgb(240, 224, 60);--jewel-glow: rgba(240, 224, 60, 0.4)}.game-board__cell--jewel-green,.game-board__cell--jewel-green-flash,.game-board__cell--jewel-green-burst{--jewel: rgb(60, 210, 60);--jewel-glow: rgba(60, 210, 60, 0.4)}.game-board__cell--jewel-blue,.game-board__cell--jewel-blue-flash,.game-board__cell--jewel-blue-burst{--jewel: rgb(60, 100, 255);--jewel-glow: rgba(60, 100, 255, 0.4)}.game-board__cell--jewel-purple,.game-board__cell--jewel-purple-flash,.game-board__cell--jewel-purple-burst{--jewel: rgb(170, 80, 220);--jewel-glow: rgba(170, 80, 220, 0.4)}.game-board__cell--jewel-magic,.game-board__cell--jewel-magic-flash,.game-board__cell--jewel-magic-burst{--jewel: linear-gradient(135deg, rgb(227, 78, 78), rgb(240, 224, 60), rgb(60, 210, 60), rgb(60, 100, 255), rgb(170, 80, 220));--jewel-glow: rgba(255, 255, 255, 0.6)}.game-board__cell--jewel-magic::after,.game-board__cell--jewel-magic-flash::after,.game-board__cell--jewel-magic-burst::after{background-size:100% 100%,100% 100%,300% 300%;animation:jewel-magic 1s linear infinite alternate}.game-board__cell[class*=-flash]::after{animation:cell-flash .1s steps(1) infinite alternate}.game-board__cell[class*=-burst]::after{animation:jewel-burst .115s ease-out forwards}.game-board__cell[class*=-burst]::before{inset:0;background:radial-gradient(circle, #fff 0 15%, var(--jewel-glow) 30%, transparent 50%) 0 0/40% 40% no-repeat,radial-gradient(circle, #fff 0 15%, var(--jewel-glow) 30%, transparent 50%) 100% 0/40% 40% no-repeat,radial-gradient(circle, #fff 0 15%, var(--jewel-glow) 30%, transparent 50%) 0 100%/40% 40% no-repeat,radial-gradient(circle, #fff 0 15%, var(--jewel-glow) 30%, transparent 50%) 100% 100%/40% 40% no-repeat;animation:jewel-sparks .115s ease-out forwards}@keyframes cell-flash{50%{background:#fff}}@keyframes jewel-burst{30%{background:#fff}to{background:#fff;transform:scale(1.4);opacity:0}}@keyframes jewel-sparks{to{inset:-60%;opacity:0}}@keyframes jewel-magic{to{background-position:0 0,0 0,100% 100%}}@media(prefers-reduced-motion: reduce){.game-board__cell[class*=-flash],.game-board__cell[class*=-flash]::after,.game-board__cell--jewel-magic::after,.game-board__cell--ghost-frightened-ending::after{animation:none}.game-board__cell[class*=-flash]{outline:2px solid #fff;outline-offset:-2px}.game-board__cell[class*=-burst]::after{animation:none;background:#fff}.game-board__cell[class*=-burst]::before{animation:none;display:none}}@keyframes a11y-spinner-spin{to{transform:rotate(360deg)}}.a11y-spinner{display:inline-flex;justify-content:center;align-items:center}.a11y-spinner__ring{border-radius:var(--a11y-spinner-border-radius, 50%);animation:a11y-spinner-spin var(--a11y-spinner-duration, 1s) linear infinite;width:var(--a11y-spinner-size, 2rem);height:var(--a11y-spinner-size, 2rem);border:var(--a11y-spinner-thickness, 3px) solid transparent;border-top-color:var(--a11y-spinner-color, var(--a11y-color-primary, #2563eb))}.a11y-spinner--sm .a11y-spinner__ring{--a11y-spinner-size: var(--a11y-spinner-size-sm, 1rem);--a11y-spinner-thickness: var(--a11y-spinner-thickness-sm, 2px)}.a11y-spinner--lg .a11y-spinner__ring{--a11y-spinner-size: var(--a11y-spinner-size-lg, 3rem);--a11y-spinner-thickness: var(--a11y-spinner-thickness-lg, 4px)}.a11y-spinner--xl .a11y-spinner__ring{--a11y-spinner-size: var(--a11y-spinner-size-xl, 4rem);--a11y-spinner-thickness: var(--a11y-spinner-thickness-xl, 5px)}@keyframes a11y-skeleton-pulse{0%,100%{opacity:1}50%{opacity:var(--a11y-skeleton-pulse-min-opacity, 0.45)}}.a11y-skeleton{display:block;background-color:var(--a11y-skeleton-color-surface, var(--a11y-color-surface-muted, #f3f4f6));border-radius:var(--a11y-skeleton-border-radius, 4px);animation:a11y-skeleton-pulse var(--a11y-skeleton-pulse-duration, 1.5s) ease-in-out infinite}.a11y-skeleton.a11y-skeleton--rect{width:var(--a11y-skeleton-width, 100%);height:var(--a11y-skeleton-height, var(--a11y-skeleton-default-height, 1em))}.a11y-skeleton.a11y-skeleton--circle{width:var(--a11y-skeleton-width, var(--a11y-skeleton-circle-default-size, 2.5rem));height:var(--a11y-skeleton-height, var(--a11y-skeleton-width, var(--a11y-skeleton-circle-default-size, 2.5rem)));border-radius:50%}.a11y-skeleton.a11y-skeleton--text{width:var(--a11y-skeleton-width, 100%);height:var(--a11y-skeleton-height, var(--a11y-skeleton-default-height, 1em));border-radius:var(--a11y-skeleton-text-border-radius, 2px)}.a11y-skeleton.a11y-skeleton--multiline{background:none;animation:none;border-radius:0;width:auto;height:auto;display:flex;flex-direction:column;gap:var(--a11y-skeleton-multiline-gap, 0.5rem)}.a11y-skeleton__line{display:block;height:var(--a11y-skeleton-height, var(--a11y-skeleton-default-height, 1em));background-color:var(--a11y-skeleton-color-surface, var(--a11y-color-surface-muted, #f3f4f6));border-radius:var(--a11y-skeleton-line-border-radius, 2px);animation:a11y-skeleton-pulse var(--a11y-skeleton-pulse-duration, 1.5s) ease-in-out infinite}.a11y-skeleton__line:nth-child(2){animation-delay:calc(var(--a11y-skeleton-stagger-delay, 0.1s)*1)}.a11y-skeleton__line:nth-child(3){animation-delay:calc(var(--a11y-skeleton-stagger-delay, 0.1s)*2)}.a11y-skeleton__line:nth-child(4){animation-delay:calc(var(--a11y-skeleton-stagger-delay, 0.1s)*3)}.a11y-skeleton__line:nth-child(n+5){animation-delay:calc(var(--a11y-skeleton-stagger-delay, 0.1s)*4)}.a11y-skeleton__line:last-child{width:var(--a11y-skeleton-last-line-width, 70%)}@media(prefers-reduced-motion: reduce){.a11y-skeleton,.a11y-skeleton__line{animation:none}}.a11y-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;width:var(--a11y-avatar-size, 2.5rem);height:var(--a11y-avatar-size, 2.5rem);background-color:var(--a11y-avatar-color-surface, var(--a11y-color-surface-muted, #f3f4f6));color:var(--a11y-avatar-color-text-muted, var(--a11y-color-text-muted, #6b7280));font-family:var(--a11y-avatar-font-family, Arial, sans-serif);font-size:calc(var(--a11y-avatar-size, 2.5rem)*var(--a11y-avatar-font-size-ratio, 0.38));font-weight:var(--a11y-avatar-font-weight, 600);user-select:none}.a11y-avatar.a11y-avatar--circle{border-radius:var(--a11y-avatar-border-radius-circle, 9999px)}.a11y-avatar.a11y-avatar--square{border-radius:var(--a11y-avatar-border-radius-square, 4px)}.a11y-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.a11y-avatar__initials{font-size:inherit;font-weight:inherit;text-transform:uppercase;letter-spacing:var(--a11y-avatar-initials-letter-spacing, 0.05em);line-height:1}.a11y-progress{display:flex;flex-direction:column;gap:var(--a11y-progress-gap, 0.25rem);width:100%;cursor:default}.a11y-progress__label{font-size:var(--a11y-progress-label-font-size, 0.875rem);font-weight:var(--a11y-progress-label-font-weight, 500);color:var(--a11y-progress-color-text-muted, var(--a11y-color-text-muted, #6b7280))}.a11y-progress__label:empty{display:none}.a11y-progress__bar{appearance:none;-webkit-appearance:none;display:block;width:100%;height:var(--a11y-progress-bar-height, 0.5rem);border:none;border-radius:var(--a11y-progress-bar-border-radius, 9999px);background-color:var(--a11y-progress-color-surface, var(--a11y-color-surface-muted, #f3f4f6));overflow:hidden}.a11y-progress__bar::-webkit-progress-bar{background-color:var(--a11y-progress-color-surface, var(--a11y-color-surface-muted, #f3f4f6));border-radius:inherit}.a11y-progress__bar::-webkit-progress-value{background-color:var(--a11y-progress-color-primary, var(--a11y-color-primary, #2563eb));border-radius:inherit;transition:width var(--a11y-progress-bar-transition-duration, 0.3s) ease}.a11y-progress__bar::-moz-progress-bar{background-color:var(--a11y-progress-color-primary, var(--a11y-color-primary, #2563eb));border-radius:inherit}.a11y-progress__bar:not([value]){background:linear-gradient(90deg, var(--a11y-progress-color-surface, var(--a11y-color-surface-muted, #f3f4f6)) 25%, var(--a11y-progress-color-primary, var(--a11y-color-primary, #2563eb)) 50%, var(--a11y-progress-color-surface, var(--a11y-color-surface-muted, #f3f4f6)) 75%);background-size:200% 100%;animation:a11y-progress-indeterminate var(--a11y-progress-indeterminate-duration, 1.5s) linear infinite}@keyframes a11y-progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.a11y-picture{display:block;margin:0}.a11y-picture picture{display:block;line-height:0}.a11y-picture img{display:block;max-width:100%;height:auto}.a11y-picture figcaption{margin-top:var(--a11y-picture-caption-margin-top, 0.25rem);font-size:var(--a11y-picture-caption-font-size, 0.875rem);color:var(--a11y-picture-color-text-muted, var(--a11y-color-text-muted, #6b7280));line-height:var(--a11y-picture-caption-line-height, 1.4)}.a11y-picture figcaption:empty{display:none}.a11y-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;text-decoration:none;outline:none}a11y-checkbox{display:contents}.a11y-checkbox{display:inline-flex;align-items:center;gap:var(--a11y-checkbox-gap, 0.5rem);cursor:pointer}.a11y-checkbox:has(.a11y-checkbox__input:disabled){cursor:not-allowed;opacity:var(--a11y-checkbox-disabled-opacity, 0.6)}.a11y-checkbox__input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:var(--a11y-checkbox-input-size, 1.125rem);height:var(--a11y-checkbox-input-size, 1.125rem);border:var(--a11y-checkbox-input-border-width, 2px) solid var(--a11y-checkbox-color-border-strong, var(--a11y-color-border-strong, #9ca3af));border-radius:var(--a11y-checkbox-border-radius, 2px);background-color:var(--a11y-checkbox-color-background, var(--a11y-color-surface, #ffffff));background-position:center;background-repeat:no-repeat;background-size:var(--a11y-checkbox-checkmark-background-size, 75%);cursor:inherit;transition:background-color var(--a11y-checkbox-transition-duration, 0.2s) ease,border-color var(--a11y-checkbox-transition-duration, 0.2s) ease}.a11y-checkbox__input:checked{background-color:var(--a11y-checkbox-color-primary, var(--a11y-color-primary, #2563eb));border-color:var(--a11y-checkbox-color-primary, var(--a11y-color-primary, #2563eb));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.5 3.5 6.5-7' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.a11y-checkbox__input:indeterminate{background-color:var(--a11y-checkbox-color-primary, var(--a11y-color-primary, #2563eb));border-color:var(--a11y-checkbox-color-primary, var(--a11y-color-primary, #2563eb));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 4'%3E%3Cpath d='M2 2h12' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.a11y-checkbox__input:focus-visible{outline:var(--a11y-checkbox-focus-outline-width, 2px) solid var(--a11y-checkbox-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-checkbox-focus-outline-offset, 2px)}.a11y-checkbox__input:disabled{background-color:var(--a11y-checkbox-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));border-color:var(--a11y-checkbox-color-border, var(--a11y-color-border, #d1d5db));cursor:not-allowed}.a11y-checkbox__input:disabled:checked,.a11y-checkbox__input:disabled:indeterminate{background-color:var(--a11y-checkbox-color-border-strong, var(--a11y-color-border-strong, #9ca3af))}.a11y-checkbox__label{font-size:var(--a11y-checkbox-label-font-size, 1rem);color:var(--a11y-checkbox-color-text, var(--a11y-color-text-default, #111827));line-height:var(--a11y-checkbox-label-line-height, 1.4)}.a11y-checkbox__label:empty{display:none}a11y-checkbox-group{display:contents}.a11y-checkbox-group{display:flex;flex-direction:column;gap:var(--a11y-checkbox-group-options-gap, 0.5rem);border:none;padding:0;margin:0;min-width:0}.a11y-checkbox-group:disabled{opacity:var(--a11y-checkbox-group-disabled-opacity, 0.6);cursor:not-allowed}.a11y-checkbox-group:disabled .a11y-checkbox{opacity:1}.a11y-checkbox-group__legend{font-size:var(--a11y-checkbox-group-legend-font-size, 0.875rem);font-weight:600;color:var(--a11y-checkbox-group-color-text-muted, var(--a11y-color-text-muted, #6b7280));padding:0;margin-bottom:var(--a11y-checkbox-group-legend-margin-bottom, 0.5rem)}.a11y-checkbox-group__legend:empty{display:none}.a11y-checkbox-group__select-all{padding-bottom:var(--a11y-checkbox-group-select-all-padding-bottom, 0.5rem);border-bottom:var(--a11y-checkbox-group-select-all-border, 1px solid #e5e7eb)}a11y-switch{display:contents}.a11y-switch{display:inline-flex;align-items:center;gap:var(--a11y-switch-gap, 0.5rem);cursor:pointer}.a11y-switch:has(.a11y-switch__input:disabled){cursor:not-allowed;opacity:var(--a11y-switch-disabled-opacity, 0.6)}.a11y-switch__input{appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:var(--a11y-switch-track-width, 2.75rem);height:var(--a11y-switch-track-height, 1.5rem);border-radius:var(--a11y-switch-border-radius, 9999px);background-color:var(--a11y-switch-color-border-strong, var(--a11y-color-border-strong, #9ca3af));cursor:inherit;transition:background-color var(--a11y-switch-transition-duration, 0.2s) ease;--a11y-switch-thumb-offset: calc((var(--a11y-switch-track-height, 1.5rem) - var(--a11y-switch-thumb-size, 1.125rem)) / 2)}.a11y-switch__input::before{content:"";position:absolute;top:var(--a11y-switch-thumb-offset);left:var(--a11y-switch-thumb-offset);width:var(--a11y-switch-thumb-size, 1.125rem);height:var(--a11y-switch-thumb-size, 1.125rem);border-radius:50%;background-color:var(--a11y-switch-color-background, var(--a11y-color-surface, #ffffff));box-shadow:0 var(--a11y-switch-thumb-shadow-offset-y, 1px) var(--a11y-switch-thumb-shadow-blur, 3px) var(--a11y-switch-thumb-shadow-color, rgba(0 0 0/25%));transition:transform var(--a11y-switch-transition-duration, 0.2s) ease}.a11y-switch__input:checked{background-color:var(--a11y-switch-color-primary, var(--a11y-color-primary, #2563eb))}.a11y-switch__input:checked::before{transform:translateX(calc(var(--a11y-switch-track-width, 2.75rem) - var(--a11y-switch-thumb-size, 1.125rem) - var(--a11y-switch-thumb-offset) * 2))}.a11y-switch__input:focus-visible{outline:var(--a11y-switch-focus-outline-width, 2px) solid var(--a11y-switch-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-switch-focus-outline-offset, 2px)}.a11y-switch__input:disabled{background-color:var(--a11y-switch-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));cursor:not-allowed}.a11y-switch__input:disabled::before{background-color:var(--a11y-switch-color-disabled-text, var(--a11y-color-text-disabled, #9ca3af));box-shadow:none}.a11y-switch__label{font-size:var(--a11y-switch-label-font-size, 1rem);color:var(--a11y-switch-color-text, var(--a11y-color-text-default, #111827));line-height:var(--a11y-switch-label-line-height, 1.4)}.a11y-switch__label:empty{display:none}a11y-tabs{display:block}.a11y-tabs__list{display:flex;gap:var(--a11y-tabs-gap, 0.25rem);border-bottom:var(--a11y-tabs-border-width, 1px) solid var(--a11y-tabs-color-border, var(--a11y-color-border, #d1d5db))}.a11y-tabs__list[aria-orientation=vertical]{flex-direction:column;border-bottom:none;border-inline-end:var(--a11y-tabs-border-width, 1px) solid var(--a11y-tabs-color-border, var(--a11y-color-border, #d1d5db))}.a11y-tabs__tab{appearance:none;margin:0;padding:var(--a11y-tabs-tab-padding, 0.5rem 1rem);border:none;border-bottom:var(--a11y-tabs-indicator-width, 2px) solid transparent;border-radius:var(--a11y-tabs-tab-border-radius, 0);background:var(--a11y-tabs-tab-background, transparent);color:var(--a11y-tabs-color-text, var(--a11y-color-text-muted, #4b5563));font:inherit;font-size:var(--a11y-tabs-tab-font-size, 1rem);font-weight:var(--a11y-tabs-tab-font-weight, 500);line-height:var(--a11y-tabs-tab-line-height, 1.4);cursor:pointer;transition:color var(--a11y-tabs-transition-duration, 0.2s) ease,border-color var(--a11y-tabs-transition-duration, 0.2s) ease}.a11y-tabs__list[aria-orientation=vertical] .a11y-tabs__tab{border-bottom:none;border-inline-end:var(--a11y-tabs-indicator-width, 2px) solid transparent;text-align:start}.a11y-tabs__tab:hover{color:var(--a11y-tabs-color-text-hover, var(--a11y-color-text-default, #111827))}.a11y-tabs__tab[aria-selected=true]{color:var(--a11y-tabs-color-selected, var(--a11y-color-primary, #2563eb));border-color:var(--a11y-tabs-color-selected, var(--a11y-color-primary, #2563eb))}.a11y-tabs__tab:focus-visible,.a11y-tabs__panel:focus-visible{outline:var(--a11y-tabs-focus-outline-width, 2px) solid var(--a11y-tabs-color-focus, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-tabs-focus-outline-offset, 2px)}.a11y-tabs__tab:disabled,.a11y-tabs__tab[aria-disabled=true]{color:var(--a11y-tabs-color-disabled, var(--a11y-color-text-disabled, #9ca3af));cursor:not-allowed}.a11y-tabs__panel[hidden]{display:none}a11y-select{display:contents}.a11y-select{display:flex;flex-direction:column;gap:var(--a11y-select-gap, 0.25rem);width:100%;cursor:pointer}.a11y-select:has(.a11y-select__control:disabled){cursor:not-allowed}.a11y-select__label{font-size:var(--a11y-select-label-font-size, 0.875rem);font-weight:var(--a11y-select-label-font-weight, 600);color:var(--a11y-select-color-text-muted, var(--a11y-color-text-muted, #6b7280))}.a11y-select__label:empty{display:none}.a11y-select__control{width:100%;padding:var(--a11y-select-control-padding-y, 0.5rem) var(--a11y-select-control-padding-x, 1rem);background-color:var(--a11y-select-color-surface, var(--a11y-color-surface-muted, #f3f4f6));color:var(--a11y-select-color-text, var(--a11y-color-text-default, #111827));border:var(--a11y-select-control-border-width, 1px) solid var(--a11y-select-color-border, var(--a11y-color-border, #d1d5db));border-radius:var(--a11y-select-control-border-radius, var(--a11y-radius, 4px));font-family:var(--a11y-select-control-font-family, var(--a11y-font-family, inherit));font-size:var(--a11y-select-control-font-size, 1rem);line-height:var(--a11y-select-control-line-height, 1.4);cursor:inherit;transition:border-color var(--a11y-select-control-transition-duration, 0.2s) ease,box-shadow var(--a11y-select-control-transition-duration, 0.2s) ease}.a11y-select__control:hover:not(:disabled){border-color:var(--a11y-select-color-border-strong, var(--a11y-color-border-strong, #9ca3af))}.a11y-select__control:focus-visible{outline:var(--a11y-select-focus-outline-width, 2px) solid var(--a11y-select-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-select-focus-outline-offset, 2px);border-color:var(--a11y-select-color-primary, var(--a11y-color-primary, #2563eb))}.a11y-select__control:disabled{background-color:var(--a11y-select-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));color:var(--a11y-select-color-disabled-text, var(--a11y-color-text-disabled, #9ca3af));border-color:var(--a11y-select-color-border, var(--a11y-color-border, #d1d5db));cursor:not-allowed}.a11y-select__control option{background-color:var(--a11y-select-color-surface, var(--a11y-color-surface-muted, #f3f4f6));color:var(--a11y-select-color-text, var(--a11y-color-text-default, #111827))}a11y-radio-group{display:contents}.a11y-radio-group{display:flex;flex-direction:column;gap:var(--a11y-radio-group-options-gap, 0.5rem);border:none;padding:0;margin:0;min-width:0}.a11y-radio-group:disabled{opacity:var(--a11y-radio-group-disabled-opacity, 0.6);cursor:not-allowed}.a11y-radio-group__legend{font-size:var(--a11y-radio-group-legend-font-size, 0.875rem);font-weight:600;color:var(--a11y-radio-group-color-text-muted, var(--a11y-color-text-muted, #6b7280));padding:0;margin-bottom:var(--a11y-radio-group-legend-margin-bottom, 0.5rem)}.a11y-radio-group__legend:empty{display:none}.a11y-radio-group__option{display:inline-flex;align-items:center;gap:var(--a11y-radio-group-option-gap, 0.5rem);cursor:pointer}.a11y-radio-group__option:has(.a11y-radio__input:disabled){cursor:not-allowed;opacity:var(--a11y-radio-group-disabled-opacity, 0.6)}.a11y-radio-group:disabled .a11y-radio-group__option{opacity:1}.a11y-radio__input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:var(--a11y-radio-group-input-size, 1.125rem);height:var(--a11y-radio-group-input-size, 1.125rem);border:var(--a11y-radio-group-input-border-width, 2px) solid var(--a11y-radio-group-color-border-strong, var(--a11y-color-border-strong, #9ca3af));border-radius:50%;background-color:var(--a11y-radio-group-color-background, var(--a11y-color-surface, #ffffff));cursor:inherit;transition:background-color var(--a11y-radio-group-input-transition-duration, 0.2s) ease,border-color var(--a11y-radio-group-input-transition-duration, 0.2s) ease,box-shadow var(--a11y-radio-group-input-transition-duration, 0.2s) ease}.a11y-radio__input:checked{border-color:var(--a11y-radio-group-color-primary, var(--a11y-color-primary, #2563eb));box-shadow:inset 0 0 0 var(--a11y-radio-group-checked-inner-ring, 0.2rem) var(--a11y-radio-group-color-background, var(--a11y-color-surface, #ffffff)),inset 0 0 0 var(--a11y-radio-group-checked-outer-ring, 0.5rem) var(--a11y-radio-group-color-primary, var(--a11y-color-primary, #2563eb))}.a11y-radio__input:focus-visible{outline:var(--a11y-radio-group-focus-outline-width, 2px) solid var(--a11y-radio-group-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-radio-group-focus-outline-offset, 2px)}.a11y-radio__input:disabled{background-color:var(--a11y-radio-group-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));border-color:var(--a11y-radio-group-color-border, var(--a11y-color-border, #d1d5db));cursor:not-allowed}.a11y-radio__input:disabled:checked{box-shadow:inset 0 0 0 var(--a11y-radio-group-checked-inner-ring, 0.2rem) var(--a11y-radio-group-color-background, var(--a11y-color-surface, #ffffff)),inset 0 0 0 var(--a11y-radio-group-checked-outer-ring, 0.5rem) var(--a11y-radio-group-color-border-strong, var(--a11y-color-border-strong, #9ca3af))}.a11y-radio__label{font-size:var(--a11y-radio-group-label-font-size, 1rem);color:var(--a11y-radio-group-color-text, var(--a11y-color-text-default, #111827));line-height:var(--a11y-radio-group-label-line-height, 1.4)}.a11y-radio__label:empty{display:none}a11y-anchor{display:contents}a11y-card-link{display:block;cursor:pointer}a11y-card-link:has(a[href]:focus-visible){outline:var(--a11y-card-link-focus-outline-width, 2px) solid var(--a11y-card-link-focus-outline-color, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-card-link-focus-outline-offset, 2px)}a11y-hint,a11y-error,a11y-counter{display:block;font-size:var(--a11y-field-part-font-size, 0.875rem);line-height:var(--a11y-field-part-line-height, 1.4)}a11y-hint{color:var(--a11y-field-color-text-muted, var(--a11y-color-text-muted, #6b7280))}a11y-error{color:var(--a11y-field-color-error, var(--a11y-color-danger, #b91c1c));font-weight:var(--a11y-field-error-font-weight, 600)}a11y-error[hidden],a11y-counter[hidden]{display:none}a11y-counter{color:var(--a11y-field-color-text-muted, var(--a11y-color-text-muted, #6b7280));text-align:end;font-variant-numeric:tabular-nums}.a11y-counter__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}a11y-label{display:contents}.a11y-label{display:block;font-size:var(--a11y-label-font-size, 0.875rem);font-weight:var(--a11y-label-font-weight, 600);color:var(--a11y-label-color-text, var(--a11y-color-text-default, #111827));line-height:var(--a11y-label-line-height, 1.4)}a11y-input:has(:required) .a11y-label::after,a11y-textarea:has(:required) .a11y-label::after,a11y-file-input:has(:required) .a11y-label::after,a11y-label[required] .a11y-label::after{content:var(--a11y-label-required-marker, "*");content:var(--a11y-label-required-marker, "*")/"";margin-inline-start:var(--a11y-label-required-gap, 0.25em);color:var(--a11y-label-color-required, var(--a11y-color-danger, #b91c1c))}a11y-input{display:flex;flex-direction:column;gap:var(--a11y-input-gap, 0.25rem)}a11y-input>input{width:100%;box-sizing:border-box;padding:var(--a11y-input-control-padding-y, 0.5rem) var(--a11y-input-control-padding-x, 0.75rem);background-color:var(--a11y-input-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-input-color-text, var(--a11y-color-text-default, #111827));border:var(--a11y-input-control-border-width, 1px) solid var(--a11y-input-color-border, var(--a11y-color-border, #d1d5db));border-radius:var(--a11y-input-control-border-radius, var(--a11y-radius, 4px));font-family:var(--a11y-input-control-font-family, var(--a11y-font-family, inherit));font-size:var(--a11y-input-control-font-size, 1rem);line-height:var(--a11y-input-control-line-height, 1.4);transition:border-color var(--a11y-input-transition-duration, 0.2s) ease,box-shadow var(--a11y-input-transition-duration, 0.2s) ease}a11y-input>input:hover:not(:disabled){border-color:var(--a11y-input-color-border-strong, var(--a11y-color-border-strong, #9ca3af))}a11y-input>input:focus-visible{outline:var(--a11y-input-focus-outline-width, 2px) solid var(--a11y-input-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-input-focus-outline-offset, 2px);border-color:var(--a11y-input-color-primary, var(--a11y-color-primary, #2563eb))}a11y-input>input[aria-invalid=true]{border-color:var(--a11y-input-color-error, var(--a11y-color-danger, #b91c1c))}a11y-input>input[aria-invalid=true]:focus-visible{outline-color:var(--a11y-input-color-error, var(--a11y-color-danger, #b91c1c))}a11y-input>input:disabled{background-color:var(--a11y-input-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));color:var(--a11y-input-color-disabled-text, var(--a11y-color-text-disabled, #9ca3af));cursor:not-allowed}a11y-textarea{display:flex;flex-direction:column;gap:var(--a11y-textarea-gap, 0.25rem)}a11y-textarea>textarea{width:100%;box-sizing:border-box;padding:var(--a11y-textarea-control-padding-y, 0.5rem) var(--a11y-textarea-control-padding-x, 0.75rem);background-color:var(--a11y-textarea-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-textarea-color-text, var(--a11y-color-text-default, #111827));border:var(--a11y-textarea-control-border-width, 1px) solid var(--a11y-textarea-color-border, var(--a11y-color-border, #d1d5db));border-radius:var(--a11y-textarea-control-border-radius, var(--a11y-radius, 4px));font-family:var(--a11y-textarea-control-font-family, var(--a11y-font-family, inherit));font-size:var(--a11y-textarea-control-font-size, 1rem);line-height:var(--a11y-textarea-control-line-height, 1.4);transition:border-color var(--a11y-textarea-transition-duration, 0.2s) ease,box-shadow var(--a11y-textarea-transition-duration, 0.2s) ease}a11y-textarea>textarea{min-height:var(--a11y-textarea-min-height, 6rem);resize:var(--a11y-textarea-resize, vertical)}a11y-textarea>textarea:hover:not(:disabled){border-color:var(--a11y-textarea-color-border-strong, var(--a11y-color-border-strong, #9ca3af))}a11y-textarea>textarea:focus-visible{outline:var(--a11y-textarea-focus-outline-width, 2px) solid var(--a11y-textarea-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-textarea-focus-outline-offset, 2px);border-color:var(--a11y-textarea-color-primary, var(--a11y-color-primary, #2563eb))}a11y-textarea>textarea[aria-invalid=true]{border-color:var(--a11y-textarea-color-error, var(--a11y-color-danger, #b91c1c))}a11y-textarea>textarea[aria-invalid=true]:focus-visible{outline-color:var(--a11y-textarea-color-error, var(--a11y-color-danger, #b91c1c))}a11y-textarea>textarea:disabled{background-color:var(--a11y-textarea-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));color:var(--a11y-textarea-color-disabled-text, var(--a11y-color-text-disabled, #9ca3af));cursor:not-allowed}a11y-file-input{position:relative;display:flex;flex-direction:column;gap:var(--a11y-file-input-gap, 0.25rem)}a11y-file-input>input[type=file]{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.a11y-file-input__dropzone{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--a11y-file-input-dropzone-gap, 0.5rem);padding:var(--a11y-file-input-dropzone-padding, 1.5rem 1rem);background-color:var(--a11y-file-input-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-file-input-color-text-muted, var(--a11y-color-text-muted, #6b7280));border:var(--a11y-file-input-dropzone-border-width, 2px) dashed var(--a11y-file-input-color-border, var(--a11y-color-border, #d1d5db));border-radius:var(--a11y-file-input-dropzone-border-radius, 8px);text-align:center;transition:border-color var(--a11y-file-input-transition-duration, 0.2s) ease,background-color var(--a11y-file-input-transition-duration, 0.2s) ease}.a11y-file-input__dropzone[data-dragover]{border-color:var(--a11y-file-input-color-primary, var(--a11y-color-primary, #2563eb));background-color:var(--a11y-file-input-color-dragover-bg, var(--a11y-color-surface-muted, #eff6ff))}.a11y-file-input__button{display:inline-flex;align-items:center;min-height:2.5rem;box-sizing:border-box;padding:var(--a11y-file-input-button-padding-y, 0.5rem) var(--a11y-file-input-button-padding-x, 1rem);background-color:var(--a11y-file-input-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-file-input-color-primary, var(--a11y-color-primary, #2563eb));border:1px solid var(--a11y-file-input-color-primary, var(--a11y-color-primary, #2563eb));border-radius:var(--a11y-file-input-button-border-radius, var(--a11y-radius, 4px));font-weight:var(--a11y-file-input-button-font-weight, 600);cursor:pointer}.a11y-file-input__button:hover{background-color:var(--a11y-file-input-color-dragover-bg, var(--a11y-color-surface-muted, #eff6ff))}a11y-file-input>input[type=file]:focus-visible+.a11y-file-input__dropzone .a11y-file-input__button{outline:var(--a11y-file-input-focus-outline-width, 2px) solid var(--a11y-file-input-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-file-input-focus-outline-offset, 2px)}a11y-file-input>input[aria-invalid=true]+.a11y-file-input__dropzone{border-color:var(--a11y-file-input-color-error, var(--a11y-color-danger, #b91c1c))}a11y-file-input>input:disabled+.a11y-file-input__dropzone{background-color:var(--a11y-file-input-color-disabled-bg, var(--a11y-color-surface-disabled, #e5e7eb));color:var(--a11y-file-input-color-disabled-text, var(--a11y-color-text-disabled, #9ca3af));cursor:not-allowed}a11y-file-input>input:disabled+.a11y-file-input__dropzone .a11y-file-input__button{color:inherit;border-color:currentColor;background-color:transparent;pointer-events:none}.a11y-file-input__rejected,.a11y-file-input__list{list-style:none;margin:0;padding:0}.a11y-file-input__rejected[hidden],.a11y-file-input__list[hidden]{display:none}.a11y-file-input__rejected{color:var(--a11y-file-input-color-error, var(--a11y-color-danger, #b91c1c));font-size:var(--a11y-field-part-font-size, 0.875rem);line-height:var(--a11y-field-part-line-height, 1.4)}.a11y-file-input__list{display:flex;flex-direction:column;gap:var(--a11y-file-input-list-gap, 0.5rem);margin-top:var(--a11y-file-input-list-margin-top, 0.25rem)}.a11y-file-input__item{display:flex;align-items:center;gap:var(--a11y-file-input-item-gap, 0.75rem);padding:var(--a11y-file-input-item-padding, 0.5rem 0.75rem);border:1px solid var(--a11y-file-input-color-border, var(--a11y-color-border, #d1d5db));border-radius:var(--a11y-file-input-item-border-radius, var(--a11y-radius, 4px));color:var(--a11y-file-input-color-text, var(--a11y-color-text-default, #111827))}.a11y-file-input__preview{flex:none;width:var(--a11y-file-input-preview-size, 2.5rem);height:var(--a11y-file-input-preview-size, 2.5rem);object-fit:cover;border-radius:var(--a11y-file-input-preview-border-radius, 4px)}.a11y-file-input__name{flex:1;min-width:0;overflow-wrap:anywhere}.a11y-file-input__size{flex:none;color:var(--a11y-file-input-color-text-muted, var(--a11y-color-text-muted, #6b7280));font-size:var(--a11y-field-part-font-size, 0.875rem);font-variant-numeric:tabular-nums}.a11y-file-input__remove{flex:none;min-width:2rem;min-height:2rem;padding:.25rem .5rem;background:none;color:var(--a11y-file-input-color-error, var(--a11y-color-danger, #b91c1c));border:1px solid transparent;border-radius:4px;font:inherit;cursor:pointer}.a11y-file-input__remove:hover:not(:disabled){border-color:currentColor}.a11y-file-input__remove:focus-visible{outline:var(--a11y-file-input-focus-outline-width, 2px) solid var(--a11y-file-input-color-primary, var(--a11y-color-focus, var(--a11y-color-primary, #2563eb)));outline-offset:var(--a11y-file-input-focus-outline-offset, 2px)}.a11y-file-input__remove:disabled{color:var(--a11y-file-input-color-disabled-text, var(--a11y-color-text-disabled, #9ca3af));cursor:not-allowed}.a11y-file-input__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}@media(prefers-reduced-motion: reduce){.a11y-file-input__dropzone{transition:none}}@media(forced-colors: active){.a11y-file-input__dropzone[data-dragover]{border-style:solid}}:root{--a11y-color-success: #2e7d32;--a11y-color-error: #c62828;--a11y-color-info: #1565c0;--a11y-color-warning: #f9a825;--a11y-color-text: white;--a11y-color-text-on-success: var(--a11y-color-text);--a11y-color-text-on-error: var(--a11y-color-text);--a11y-color-text-on-info: var(--a11y-color-text);--a11y-color-text-on-warning: #111827;--a11y-z-base: 0;--a11y-z-sticky-header: 100;--a11y-z-sticky-footer: 110;--a11y-z-floating-button: 120;--a11y-z-sidebar: 200;--a11y-z-mobile-nav: 210;--a11y-z-dropdown: 300;--a11y-z-popover: 310;--a11y-z-tooltip: 320;--a11y-z-context-menu: 330;--a11y-z-snackbar: 400;--a11y-z-toast: 410;--a11y-z-notification-banner: 420;--a11y-z-modal-backdrop: 500;--a11y-z-modal: 510;--a11y-z-drawer-backdrop: 520;--a11y-z-drawer: 530;--a11y-z-fullscreen-overlay: 540;--a11y-z-blocking-loader: 600;--a11y-z-emergency-dialog: 610;--a11y-z-debug-panel: 700;--a11y-z-inspector: 710}html.a11y-no-scroll{overflow:hidden}html.a11y-no-scroll--gutter{scrollbar-gutter:stable}.a11y-passive-overlay-region{position:fixed;pointer-events:none;inset:0;z-index:var(--a11y-z-snackbar, 400)}.a11y-passive-overlay-region>*{pointer-events:auto}@keyframes a11y-modal-show{from{opacity:0}to{opacity:1}}@keyframes a11y-modal-hide{from{opacity:1}to{opacity:0}}.a11y-modal-overlay{z-index:var(--a11y-z-modal, 510);position:fixed;inset:0;backdrop-filter:blur(5px);background-color:var(--a11y-modal-color-overlay, rgba(0, 0, 0, 0.5));display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--a11y-modal-overlay-padding, clamp(1rem, 10vmin, 6rem));opacity:0}.a11y-modal-overlay--fullscreen{padding:0}.a11y-modal-overlay.a11y-is-open{animation:a11y-modal-show var(--a11y-modal-transition-duration, 0.3s) ease forwards}.a11y-modal-wrapper{overflow-y:auto;position:relative;overscroll-behavior:none;background:var(--a11y-modal-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-modal-color-text, var(--a11y-color-text-default, #111827));box-shadow:0 var(--a11y-modal-shadow-offset-y, 2px) var(--a11y-modal-shadow-blur, 2px) color-mix(in srgb, var(--a11y-modal-color-text, var(--a11y-color-text-default, #111827)), transparent var(--a11y-modal-shadow-fade, 80%));border-radius:var(--a11y-modal-border-radius, 1rem);box-sizing:border-box;width:var(--a11y-modal-width, min(32rem, 100%));max-width:var(--a11y-modal-max-width, 100%);height:var(--a11y-modal-height, auto);max-height:var(--a11y-modal-max-height, 100%);transform:scale(var(--a11y-modal-initial-scale, 0.95));opacity:0;transition:opacity var(--a11y-modal-transition-duration, 0.3s) ease,transform var(--a11y-modal-transition-duration, 0.3s) ease}.a11y-modal-wrapper.a11y-is-open{transform:scale(1);opacity:1}.a11y-modal-wrapper--fullscreen{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;box-shadow:none}a11y-modal{display:none}.a11y-modal-content{display:block;position:relative;box-sizing:border-box;height:100%;padding:var(--a11y-modal-content-padding, 1.5rem);overflow-y:auto;overscroll-behavior:contain}.a11y-modal-close-button{position:absolute;z-index:2;top:.5rem;right:.75rem;background:none;border:none;font-size:var(--a11y-modal-close-button-size, 1.5rem);cursor:pointer;padding:0 1rem;color:var(--a11y-modal-color-text, var(--a11y-color-text-default, #111827))}.a11y-modal-close-button:focus:not(:focus-visible){outline:none}.a11y-modal-close-button:focus-visible{outline:2px solid var(--a11y-modal-color-secondary, var(--a11y-color-text-muted, #6b7280))}.a11y-modal-buttons{display:flex;justify-content:flex-end;gap:var(--a11y-modal-footer-gap, 1rem);margin-top:var(--a11y-modal-footer-margin-top, 1.5rem)}@layer a11y-elements{:where(.a11y-modal-buttons button){background-color:inherit;transition:background-color ease-in-out var(--a11y-modal-transition-duration, 0.3s);padding:var(--a11y-modal-footer-button-padding, 0.5rem 1rem);font-size:1rem;cursor:pointer}:where(.a11y-modal-buttons button:hover){background-color:var(--a11y-modal-color-secondary-hover, var(--a11y-color-text-muted, #4b5563));color:var(--a11y-modal-color-background, var(--a11y-color-surface, #ffffff))}:where(.a11y-modal-buttons .a11y-confirm__confirm--danger){color:var(--a11y-color-danger, #b91c1c)}:where(.a11y-modal-buttons .a11y-confirm__confirm--danger:hover){background-color:var(--a11y-color-danger, #b91c1c);color:var(--a11y-modal-color-background, var(--a11y-color-surface, #ffffff))}}@media(prefers-reduced-motion: reduce){.a11y-modal-wrapper,.a11y-modal-wrapper.a11y-is-open{transform:none}}.a11y-drawer-backdrop{z-index:var(--a11y-z-drawer-backdrop, 520);position:fixed;inset:0;backdrop-filter:blur(5px);background-color:var(--a11y-drawer-color-overlay, rgba(0, 0, 0, 0.5));opacity:0}.a11y-drawer-backdrop.a11y-is-open{animation:a11y-modal-show var(--a11y-drawer-transition-duration, 0.3s) ease forwards}.a11y-drawer-wrapper{position:fixed;z-index:var(--a11y-z-drawer, 530);background:var(--a11y-drawer-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-drawer-color-text, var(--a11y-color-text-default, #111827));box-shadow:0 var(--a11y-drawer-shadow-offset-y, 2px) var(--a11y-drawer-shadow-blur, 10px) color-mix(in srgb, var(--a11y-drawer-color-text, var(--a11y-color-text-default, #111827)), transparent var(--a11y-drawer-shadow-fade, 80%));overflow-y:auto;transition:transform var(--a11y-drawer-transition-duration, 0.3s) ease}.a11y-drawer-wrapper--left,.a11y-drawer-wrapper--right{top:0;bottom:0;width:var(--a11y-drawer-width, min(400px, 90vw))}.a11y-drawer-wrapper--top,.a11y-drawer-wrapper--bottom{left:0;right:0;height:var(--a11y-drawer-height, min(480px, 90vh))}.a11y-drawer-wrapper--left{left:0;transform:translateX(-100%)}.a11y-drawer-wrapper--right{right:0;transform:translateX(100%)}.a11y-drawer-wrapper--top{top:0;transform:translateY(-100%)}.a11y-drawer-wrapper--bottom{bottom:0;transform:translateY(100%)}.a11y-drawer-wrapper.a11y-is-open{transform:translate(0, 0)}a11y-drawer{display:none}.a11y-drawer-content{display:block;position:relative;height:100%;overflow-y:auto;padding:var(--a11y-drawer-content-padding, 1.5rem)}@media(prefers-reduced-motion: reduce){.a11y-drawer-wrapper{transform:none;opacity:0;transition:opacity var(--a11y-drawer-transition-duration, 0.3s) ease}.a11y-drawer-wrapper.a11y-is-open{transform:none;opacity:1}}a11y-emergency-dialog{display:none}.a11y-emergency-dialog-overlay{z-index:var(--a11y-z-emergency-dialog, 610)}.a11y-emergency-dialog-wrapper{border-top:var(--a11y-emergency-dialog-accent-width, 4px) solid var(--a11y-color-error, #c62828)}.a11y-anchored-overlay-wrapper{position:fixed;top:0;left:0;opacity:0;transform:scale(var(--a11y-anchored-overlay-initial-scale, 0.97));transition:opacity var(--a11y-anchored-overlay-transition-duration, 0.15s) ease,transform var(--a11y-anchored-overlay-transition-duration, 0.15s) ease}.a11y-anchored-overlay-wrapper.a11y-is-open{opacity:1;transform:scale(1)}@media(prefers-reduced-motion: reduce){.a11y-anchored-overlay-wrapper,.a11y-anchored-overlay-wrapper.a11y-is-open{transform:none}}[role=menuitem]{padding:var(--a11y-menu-item-padding, 0.5rem 1rem);cursor:pointer;color:var(--a11y-menu-item-color-text, var(--a11y-color-text-default, #111827));outline:none}[role=menuitem]:hover,[role=menuitem]:focus-visible{background-color:var(--a11y-menu-item-color-secondary-hover, var(--a11y-color-text-muted, #4b5563));color:var(--a11y-menu-item-color-background, var(--a11y-color-surface, #ffffff))}[role=menuitem][aria-disabled=true]{cursor:not-allowed;opacity:var(--a11y-menu-item-disabled-opacity, 0.5)}[role=menuitem][aria-disabled=true]:hover{background-color:transparent;color:var(--a11y-menu-item-color-text, var(--a11y-color-text-default, #111827))}.a11y-popover-wrapper{z-index:var(--a11y-z-popover, 310);background:var(--a11y-popover-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-popover-color-text, var(--a11y-color-text-default, #111827));border-radius:var(--a11y-popover-border-radius, 0.5rem);box-shadow:0 var(--a11y-popover-shadow-offset-y, 2px) var(--a11y-popover-shadow-blur, 10px) color-mix(in srgb, var(--a11y-popover-color-text, var(--a11y-color-text-default, #111827)), transparent var(--a11y-popover-shadow-fade, 85%));max-width:var(--a11y-popover-max-width, 320px)}a11y-popover{display:none}.a11y-popover-content{display:block;padding:var(--a11y-popover-content-padding, 1rem)}.a11y-tooltip-wrapper{z-index:var(--a11y-z-tooltip, 320);background:var(--a11y-tooltip-color-text, var(--a11y-color-text-default, #111827));color:var(--a11y-tooltip-color-background, var(--a11y-color-surface, #ffffff));border-radius:var(--a11y-tooltip-border-radius, 0.35rem);font-size:var(--a11y-tooltip-font-size, 0.85rem);max-width:var(--a11y-tooltip-max-width, 240px)}a11y-tooltip{display:none}.a11y-tooltip-content{display:block;padding:var(--a11y-tooltip-content-padding, 0.35rem 0.6rem)}.a11y-dropdown-wrapper{z-index:var(--a11y-z-dropdown, 300);background:var(--a11y-dropdown-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-dropdown-color-text, var(--a11y-color-text-default, #111827));border-radius:var(--a11y-dropdown-border-radius, 0.5rem);box-shadow:0 var(--a11y-dropdown-shadow-offset-y, 2px) var(--a11y-dropdown-shadow-blur, 10px) color-mix(in srgb, var(--a11y-dropdown-color-text, var(--a11y-color-text-default, #111827)), transparent var(--a11y-dropdown-shadow-fade, 85%));min-width:var(--a11y-dropdown-min-width, 160px)}a11y-dropdown{display:none}.a11y-dropdown-content{display:block;padding:var(--a11y-dropdown-content-padding, 0.25rem 0)}.a11y-context-menu-wrapper{z-index:var(--a11y-z-context-menu, 330);background:var(--a11y-context-menu-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-context-menu-color-text, var(--a11y-color-text-default, #111827));border-radius:var(--a11y-context-menu-border-radius, 0.5rem);box-shadow:0 var(--a11y-context-menu-shadow-offset-y, 2px) var(--a11y-context-menu-shadow-blur, 10px) color-mix(in srgb, var(--a11y-context-menu-color-text, var(--a11y-color-text-default, #111827)), transparent var(--a11y-context-menu-shadow-fade, 85%));min-width:var(--a11y-context-menu-min-width, 160px)}a11y-context-menu{display:none}.a11y-context-menu-content{display:block;padding:var(--a11y-context-menu-content-padding, 0.25rem 0)}.a11y-floating-stack{position:fixed;z-index:var(--a11y-z-floating-button, 120);display:flex;flex-direction:column;gap:var(--a11y-floating-gap, 0.75rem);pointer-events:none}.a11y-floating-stack>*{pointer-events:auto}.a11y-floating-stack[data-position^=top]{top:calc(var(--a11y-floating-offset-y, var(--a11y-floating-offset, 1rem)) + env(safe-area-inset-top, 0px))}.a11y-floating-stack[data-position^=bottom]{bottom:calc(var(--a11y-floating-offset-y, var(--a11y-floating-offset, 1rem)) + env(safe-area-inset-bottom, 0px));flex-direction:column-reverse}.a11y-floating-stack[data-position$=left]{left:calc(var(--a11y-floating-offset-x, var(--a11y-floating-offset, 1rem)) + env(safe-area-inset-left, 0px));align-items:flex-start}.a11y-floating-stack[data-position$=right]{right:calc(var(--a11y-floating-offset-x, var(--a11y-floating-offset, 1rem)) + env(safe-area-inset-right, 0px));align-items:flex-end}.a11y-floating-stack[data-position=top],.a11y-floating-stack[data-position=bottom]{left:50%;transform:translateX(-50%);align-items:center}a11y-floating{position:relative;display:flex;align-items:flex-start;gap:var(--a11y-floating-content-gap, 0.5rem);max-width:var(--a11y-floating-max-width, calc(100vw - 2rem));transition:opacity var(--a11y-floating-transition-duration, 0.2s) ease,transform var(--a11y-floating-transition-duration, 0.2s) ease}a11y-floating[hidden]{display:none}a11y-floating.a11y-is-dismissing{opacity:0;transform:scale(0.95)}a11y-floating.a11y-floating--scrolled-away{opacity:0;pointer-events:none}.a11y-floating-stack[data-position^=bottom]>a11y-floating.a11y-floating--scrolled-away{transform:translateY(calc(100% + var(--a11y-floating-offset-y, var(--a11y-floating-offset, 1rem))))}.a11y-floating-stack[data-position^=top]>a11y-floating.a11y-floating--scrolled-away{transform:translateY(calc(-100% - var(--a11y-floating-offset-y, var(--a11y-floating-offset, 1rem))))}.a11y-floating-launcher{min-width:var(--a11y-floating-launcher-size, 3rem);min-height:var(--a11y-floating-launcher-size, 3rem);padding:var(--a11y-floating-launcher-padding, 0 1rem);border:none;border-radius:var(--a11y-floating-launcher-border-radius, 999px);background:var(--a11y-floating-launcher-color-background, var(--a11y-color-text-default, #111827));color:var(--a11y-floating-launcher-color-text, var(--a11y-color-surface, #ffffff));font:inherit;cursor:pointer;box-shadow:0 2px 10px rgb(0 0 0/20%)}.a11y-floating-panel{position:absolute;width:var(--a11y-floating-panel-width, min(320px, 100vw - 2rem));max-height:var(--a11y-floating-panel-max-height, min(480px, 70vh));overflow-y:auto;box-sizing:border-box;padding:var(--a11y-floating-panel-padding, 1rem);background:var(--a11y-floating-panel-color-background, var(--a11y-color-surface, #ffffff));color:var(--a11y-floating-panel-color-text, var(--a11y-color-text-default, #111827));border-radius:var(--a11y-floating-panel-border-radius, 0.5rem);box-shadow:0 var(--a11y-floating-panel-shadow-offset-y, 2px) var(--a11y-floating-panel-shadow-blur, 10px) color-mix(in srgb, var(--a11y-floating-panel-color-text, var(--a11y-color-text-default, #111827)), transparent var(--a11y-floating-panel-shadow-fade, 80%));opacity:0;transform:scale(var(--a11y-floating-panel-initial-scale, 0.97));transition:opacity var(--a11y-floating-transition-duration, 0.2s) ease,transform var(--a11y-floating-transition-duration, 0.2s) ease}.a11y-floating-panel.a11y-is-open{opacity:1;transform:scale(1)}.a11y-floating-panel[hidden]{display:none}.a11y-floating-stack[data-position^=bottom] .a11y-floating-panel{bottom:calc(100% + var(--a11y-floating-panel-offset, 0.5rem))}.a11y-floating-stack[data-position^=top] .a11y-floating-panel{top:calc(100% + var(--a11y-floating-panel-offset, 0.5rem))}.a11y-floating-stack[data-position$=right] .a11y-floating-panel{right:0;transform-origin:right}.a11y-floating-stack[data-position$=left] .a11y-floating-panel{left:0;transform-origin:left}.a11y-floating-stack[data-position=top] .a11y-floating-panel,.a11y-floating-stack[data-position=bottom] .a11y-floating-panel{left:calc(50% - var(--a11y-floating-panel-width, min(320px, 100vw - 2rem))/2)}.a11y-floating-stack[data-position^=bottom] .a11y-floating-panel{transform-origin:bottom}.a11y-floating-stack[data-position^=top] .a11y-floating-panel{transform-origin:top}.a11y-floating-stack[data-position=bottom-right] .a11y-floating-panel{transform-origin:bottom right}.a11y-floating-stack[data-position=bottom-left] .a11y-floating-panel{transform-origin:bottom left}.a11y-floating-stack[data-position=top-right] .a11y-floating-panel{transform-origin:top right}.a11y-floating-stack[data-position=top-left] .a11y-floating-panel{transform-origin:top left}.a11y-floating-panel-close{float:right;margin:-0.5rem -0.5rem 0 .5rem}.a11y-floating-panel-close,.a11y-floating-dismiss{min-width:1.5rem;min-height:1.5rem;padding:0;border:none;background:transparent;color:inherit;font-size:var(--a11y-floating-close-font-size, 1.25rem);line-height:1;cursor:pointer}@media(prefers-reduced-motion: reduce){a11y-floating,a11y-floating.a11y-is-dismissing,.a11y-floating-stack>a11y-floating.a11y-floating--scrolled-away,.a11y-floating-panel,.a11y-floating-panel.a11y-is-open{transform:none}}.a11y-blocking-loader-overlay{position:fixed;inset:0;z-index:var(--a11y-z-blocking-loader, 600);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--a11y-blocking-loader-gap, 1rem);background-color:var(--a11y-blocking-loader-color-overlay, rgba(0, 0, 0, 0.5));backdrop-filter:blur(5px);color:var(--a11y-blocking-loader-color-text, var(--a11y-color-text-default, #111827))}.a11y-blocking-loader-overlay__message{font-size:var(--a11y-blocking-loader-message-font-size, 1rem);font-weight:var(--a11y-blocking-loader-message-font-weight, 600)}.a11y-snackbar-region__bottom,.a11y-snackbar-region__top{position:fixed;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:stretch;gap:var(--a11y-snackbar-stack-gap, 0.5rem);width:var(--a11y-snackbar-container-width, 350px);max-width:90vw;pointer-events:none;z-index:var(--a11y-z-snackbar, 400)}.a11y-snackbar-region__bottom .a11y-snackbar,.a11y-snackbar-region__top .a11y-snackbar{pointer-events:auto}.a11y-snackbar-region__bottom{bottom:var(--a11y-snackbar-offset, 1rem);flex-direction:column-reverse}.a11y-snackbar-region__top{top:var(--a11y-snackbar-offset, 1rem)}.a11y-snackbar{display:flex;justify-content:center;align-items:center;background:var(--a11y-color-info, #1565c0);color:var(--a11y-color-text-on-info, var(--a11y-color-text, white));padding:var(--a11y-snackbar-padding, 0.75rem 1.5rem);border-radius:var(--a11y-snackbar-border-radius, 0.5rem);box-shadow:0 var(--a11y-snackbar-shadow-offset-y, 2px) var(--a11y-snackbar-shadow-blur, 6px) var(--a11y-snackbar-shadow-color, rgba(0, 0, 0, 0.3));gap:var(--a11y-snackbar-gap, 1rem);width:100%;animation:a11y-snackbar-fade-in var(--a11y-snackbar-animation-duration, 0.3s) ease}.a11y-snackbar--success{background:var(--a11y-color-success, #2e7d32);color:var(--a11y-color-text-on-success, var(--a11y-color-text, white))}.a11y-snackbar--error{background:var(--a11y-color-error, #c62828);color:var(--a11y-color-text-on-error, var(--a11y-color-text, white))}.a11y-snackbar--info{background:var(--a11y-color-info, #1565c0);color:var(--a11y-color-text-on-info, var(--a11y-color-text, white))}.a11y-snackbar--warning{background:var(--a11y-color-warning, #f9a825);color:var(--a11y-color-text-on-warning, #111827)}.a11y-snackbar button{background:transparent;border:none;color:inherit;font-weight:bold;cursor:pointer}@keyframes a11y-snackbar-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion: reduce){.a11y-snackbar{animation:none}}.a11y-notification-banner-region__top,.a11y-notification-banner-region__bottom{position:fixed;left:0;right:0;display:flex;flex-direction:column;pointer-events:none}.a11y-notification-banner-region__top .a11y-notification-banner,.a11y-notification-banner-region__bottom .a11y-notification-banner{pointer-events:auto}.a11y-notification-banner-region__top{top:0}.a11y-notification-banner-region__bottom{bottom:0;flex-direction:column-reverse}.a11y-notification-banner{z-index:var(--a11y-z-notification-banner, 420);display:flex;align-items:center;justify-content:space-between;gap:var(--a11y-notification-banner-gap, 1rem);width:100%;padding:var(--a11y-notification-banner-padding, 0.75rem 1.5rem);color:var(--a11y-color-text-on-info, var(--a11y-color-text, white));animation:a11y-notification-banner-fade-in var(--a11y-notification-banner-animation-duration, 0.3s) ease}.a11y-notification-banner--info{background:var(--a11y-color-info, #1565c0);color:var(--a11y-color-text-on-info, var(--a11y-color-text, white))}.a11y-notification-banner--success{background:var(--a11y-color-success, #2e7d32);color:var(--a11y-color-text-on-success, var(--a11y-color-text, white))}.a11y-notification-banner--error{background:var(--a11y-color-error, #c62828);color:var(--a11y-color-text-on-error, var(--a11y-color-text, white))}.a11y-notification-banner--warning{background:var(--a11y-color-warning, #f9a825);color:var(--a11y-color-text-on-warning, #111827)}.a11y-notification-banner__actions{display:flex;align-items:center;gap:var(--a11y-notification-banner-actions-gap, 0.75rem)}.a11y-notification-banner__action,.a11y-notification-banner__close{background:transparent;border:none;color:inherit;font-weight:bold;cursor:pointer}.a11y-notification-banner__close{font-size:var(--a11y-notification-banner-close-font-size, 1.25rem);line-height:1}@keyframes a11y-notification-banner-fade-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion: reduce){.a11y-notification-banner{animation:none}}.game{--panel-width: clamp(18rem, 24vw, 28rem);--gap: 1rem;--header-height: 3.5rem;--stage-padding: 0.5rem;--stage-width: calc(100vw - var(--panel-width) - 3 * var(--gap) - 2 * var(--stage-padding));--stage-height: calc(100dvh - var(--header-height) - 2 * var(--gap) - 2 * var(--stage-padding));min-height:100dvh;padding:0 var(--gap) var(--gap);background:var(--bg-app);color:var(--text)}@media(max-width: 768px){.game{--stage-width: calc(100vw - 2 * var(--gap) - 2 * var(--stage-padding));--stage-height: 65dvh}}@media(max-width: 768px){.game--hud-drawer{--gap: 0.5rem;--header-height: 3rem;--controls-height: 0px;height:100dvh;min-height:0;overflow:hidden}.game--hud-drawer .game__stage{flex:none;flex-direction:column;gap:var(--gap);height:calc(100dvh - var(--header-height) - var(--gap) - var(--controls-height))}}@media(max-width: 768px)and (pointer: coarse){.game--hud-drawer{--controls-height: calc(144px + 2rem + env(safe-area-inset-bottom))}}@media(max-width: 768px){.touch .game--hud-drawer{--controls-height: calc(144px + 2rem + env(safe-area-inset-bottom))}}.game__header{display:flex;align-items:center;gap:1.5rem;height:var(--header-height)}@media(max-width: 768px){.game--hud-drawer .game__header{gap:.75rem}}.game__toolbar{flex:none;display:flex;align-items:center;gap:.5rem;margin-left:auto}.game__hud-toggle{display:none;width:40px;height:40px;border:2px solid var(--secondary);border-radius:8px;background:rgba(0,0,0,0);color:var(--secondary);font:bold 1.5rem monospace;line-height:1;cursor:pointer}.game__hud-toggle:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}@media(hover: hover){.game__hud-toggle:hover{outline:2px solid var(--secondary);outline-offset:2px}}@media(max-width: 768px){.game__hud-toggle{display:block}}.game__back{flex:none;color:var(--text-secondary);white-space:nowrap;font-weight:bold}.game__back:focus-visible{color:var(--text);text-decoration:none}@media(hover: hover){.game__back:hover{color:var(--text);text-decoration:none}}.game__title{font-size:1.75rem;font-weight:bold}@media(max-width: 768px){.game__title{flex:1 1 0;min-width:0;overflow:hidden;font-size:1.25rem;white-space:nowrap;text-overflow:ellipsis}}.game__layout{display:flex;gap:var(--gap);align-items:flex-start}@media(max-width: 768px){.game__layout{flex-direction:column;align-items:stretch}}.game__stage{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--stage-padding);border-radius:10px;background:radial-gradient(ellipse at center, transparent 55%, rgba(0, 0, 0, 0.55)),repeating-linear-gradient(to bottom, transparent 0 2px, rgba(255, 255, 255, 0.03) 2px 3px),radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1.5px) 0 0/12px 12px,var(--bg-stage);box-shadow:inset 0 0 0 1px var(--border),inset 0 0 2rem rgba(0,0,0,.8);min-height:calc(var(--stage-height) + 2*var(--stage-padding))}@media(max-width: 768px){.game__stage{min-height:0}}.game__screen{display:contents}@media(max-width: 768px){.game__screen{display:flex;flex:1;align-items:center;justify-content:center;align-self:stretch;min-height:0;container-type:size;--stage-width: 100cqw;--stage-height: 100cqh}}.game__panel{display:flex;flex-direction:column;gap:var(--gap);flex:0 0 var(--panel-width);font-size:clamp(1rem,.55rem + .6vw,1.4rem)}@media(max-width: 768px){.game__panel{flex-basis:auto;font-size:1rem}}.game__section{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-elevated)}.game__section-title,.game__section .score-table__title{font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.15rem;color:var(--secondary)}.game__next{align-items:center}@media(max-width: 768px){.game__next{flex:none;flex-direction:row;align-self:flex-start;gap:.75rem;padding:.4rem .6rem}}.game__preview .game-board{--cell-size: clamp(1.5rem, 2.2vw, 2.25rem)}@media(max-width: 768px){.game__preview .game-board{--cell-size: 1rem}}.a11y-drawer-backdrop:has(#game-hud){--a11y-drawer-color-background: var(--bg-app);--a11y-drawer-color-text: var(--text);--a11y-drawer-color-overlay: rgba(0, 0, 0, 0.6);--a11y-drawer-width: min(22rem, 90vw);--gap: 0.75rem;--a11y-drawer-content-padding: 3rem 1rem 1rem;--a11y-modal-color-secondary: var(--secondary);--a11y-modal-color-text: var(--text)}.a11y-drawer-backdrop:has(#game-hud) .game__toggle{display:none}.a11y-drawer-backdrop:has(#game-hud) .a11y-modal-close-button{font-family:monospace}.game__status{min-height:2.6rem}.game__status--over{color:var(--error);font-weight:bold}.game__actions{display:flex;gap:.5rem}.game__button{flex:1;padding:.75rem .6rem;border:2px solid var(--primary);border-radius:8px;background:rgba(0,0,0,0);color:var(--primary);font-weight:bold;cursor:pointer}.game__button:not(:disabled):focus-visible{filter:brightness(1.1);outline:2px solid currentColor;outline-offset:2px}@media(hover: hover){.game__button:not(:disabled):hover{filter:brightness(1.1);outline:2px solid currentColor;outline-offset:2px}}.game__button:disabled{opacity:.5;cursor:not-allowed}.game__toggle{border-color:var(--primary);background:var(--primary);color:var(--bg-app)}.game__toggle:focus-visible{outline-color:var(--primary)}@media(hover: hover){.game__toggle:hover{outline-color:var(--primary)}}.game__keys{color:var(--text)}.game__stats{display:grid;gap:.3rem;list-style:none}.game__stat{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.game__stat-label{color:var(--text-secondary)}.game__stat-value{font-size:1.4rem;font-weight:bold}.game__option-list{display:flex;flex-direction:column;gap:.6rem}.game__options{border:3px solid var(--secondary)}.game__options legend{padding-inline:.4rem;margin-left:-0.4rem}.game__options:disabled{opacity:.5}.game__option{display:flex;justify-content:space-between;align-items:center;gap:1rem}.game__option select{appearance:none;min-width:8rem;padding:.45rem 2.25rem .45rem .75rem;border:2px solid var(--secondary);border-radius:8px;background:linear-gradient(45deg, transparent 50%, var(--secondary) 50%) right 1.15rem center/0.4rem .4rem no-repeat,linear-gradient(135deg, var(--secondary) 50%, transparent 50%) right .75rem center/0.4rem .4rem no-repeat,var(--bg-stage);color:var(--text);font:inherit;font-weight:bold;line-height:1.1;cursor:pointer}.game__option select:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}@media(hover: hover){.game__option select:hover{outline:2px solid var(--secondary);outline-offset:2px}}.game__option select:disabled{cursor:not-allowed}.game__option option{background:var(--surface-elevated);color:var(--text)}.home{box-sizing:border-box;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:1rem}.home h1{font-size:2.5rem;text-transform:uppercase}.home__title{font-size:2.5rem}.home__games{display:grid;grid-template-columns:repeat(3, auto);gap:.5rem;list-style:none;padding:0;margin:0}.home__games>li:last-child:nth-child(3n+1){grid-column:2}.not-found{display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;min-height:80vh;padding-top:clamp(1rem,5vw,2rem)}.not-found__title{font-size:clamp(2rem,8vw,3rem);font-weight:bold}.not-found__home{padding-block:clamp(.75rem,2vw,1rem);border:none;background:inherit;color:var(--text);font:inherit;font-size:clamp(1.25rem,5vw,2rem);font-style:italic;text-decoration:underline;cursor:pointer}.not-found__dopefish{position:fixed;right:1rem;bottom:1rem;padding:0;border:none;background:none;cursor:pointer;animation:dopefish-swim 6s ease-in-out infinite alternate}.not-found__dopefish img{display:block}@keyframes dopefish-swim{from{transform:translate(0, 0) rotate(-3deg)}to{transform:translate(-1.5rem, -0.5rem) rotate(3deg)}}@media(prefers-reduced-motion: reduce){.not-found__dopefish{animation:none}}.secret .game__stage{min-height:min(var(--stage-height) + 2*var(--stage-padding),34rem)}