@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light;--font-body:"IBM Plex Sans", sans-serif;--font-display:"DM Serif Display", "Georgia", serif;--color-bg-0:#fff9ee;--color-bg-1:#f8f1de;--color-bg-2:#e8f4ff;--color-surface:#fffbf3d1;--color-surface-strong:#fffffff0;--color-surface-soft:#fff8eab8;--color-primary:#d14b3f;--color-primary-strong:#ae372c;--color-primary-soft:#d14b3f1f;--color-secondary:#1c78c0;--color-secondary-soft:#1c78c01f;--color-accent:#d6a63b;--color-accent-soft:#d6a63b24;--color-text:#2d2a26;--color-text-muted:#72685c;--color-border:#355b841f;--color-border-strong:#d14b3f3d;--color-grid:#1c78c00f;--color-primary-border:#d14b3f47;--color-secondary-border:#1c78c047;--color-primary-border-strong:#d14b3f78;--color-secondary-border-strong:#1c78c078;--color-primary-glow:#d14b3f1a;--color-secondary-glow:#1c78c01a;--color-primary-glow-hover:#d14b3f40;--color-secondary-glow-hover:#1c78c040;--color-primary-selected:#d14b3f54;--color-secondary-selected:#1c78c054;--color-scrim:#000c;--color-glass:#0a0c1e59;--color-glass-border:#ffffff21;--color-glass-divider:#ffffff14;--color-text-on-dark:#f0f4ff;--color-text-muted-on-dark:#c8d7f5a6;--shadow-panel:0 20px 50px #34486317, 0 6px 18px #3448630d;--shadow-neon-red:0 0 0 1px #d14b3f14, 0 16px 34px #d14b3f1f;--shadow-neon-cyan:0 0 0 1px #1c78c014, 0 16px 34px #1c78c01f;--shadow-neon-accent:0 0 0 1px var(--color-accent-soft), 0 16px 34px var(--color-accent-soft);--shadow-drop-neutral:drop-shadow(0 8px 32px #d14b3f38);--shadow-drop-primary:drop-shadow(0 8px 40px #d14b3f61);--shadow-drop-secondary:drop-shadow(0 8px 40px #1c78c061);--radius-hero:34px;--radius-card:24px;--radius-pill:999px;--transition-soft:.18s ease;--transition-slow:.26s ease;--grid-size:30px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading-shimmer{to{background-position:-200% 0}}@keyframes loading-dot-pulse{0%,to{opacity:.45}50%{opacity:1}}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;font-family:var(--font-body);color:var(--color-text);-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 10% 12%,#d6a63b29,transparent 20%),radial-gradient(circle at 88% 14%,#1c78c024,transparent 22%),radial-gradient(circle at 72% 78%,#d14b3f1a,transparent 20%),linear-gradient(180deg,var(--color-bg-2) 0%,var(--color-bg-1) 48%,var(--color-bg-0) 100%)}body:before,body:after{content:"";pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0}body:before{background-image:linear-gradient(var(--color-grid) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);opacity:.45;-webkit-mask-image:linear-gradient(#000000d9,#00000047);mask-image:linear-gradient(#000000d9,#00000047)}body:after{filter:blur(24px);background:radial-gradient(circle at 16% 0,#d6a63b1f,#0000 28%),radial-gradient(circle at 100% 18%,#1c78c014,#0000 22%)}a,img,button{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}button{font:inherit;color:inherit;background:0 0;border:0}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}code{font-family:var(--font-body)}.page{width:min(1180px,100% - 2rem);margin:0 auto;padding:clamp(1.2rem,3vw,2rem) 0 4rem;position:relative}.page-wide{width:min(1780px,100% - 2rem)}.page>*+*{margin-top:1.35rem}.card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:linear-gradient(180deg,#ffffffd1,#fff9f0eb),var(--color-surface);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform var(--transition-soft),border-color var(--transition-soft),box-shadow var(--transition-slow);position:relative;overflow:hidden}.card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fff6,#0000 40%);position:absolute;top:0;right:0;bottom:0;left:0}.card:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:0 24px 60px #3448631c,0 8px 22px #3448630f}.hero-card{border-radius:var(--radius-hero);box-shadow:var(--shadow-panel),var(--shadow-neon-cyan);grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1.2rem;padding:clamp(1.5rem,3vw,2.2rem);display:grid}.hero-copy,.hero-preview,.feature-card,.token-panel,.control-panel,.micro-card{z-index:1;position:relative}.eyebrow,.section-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--color-secondary);margin:0;font-size:.76rem;font-weight:700}.hero-chip,.preview-chip,.badge{border-radius:var(--radius-pill);color:var(--color-text-muted);background:#ffffffb8;border:1px solid #1c78c024;align-items:center;gap:.5rem;padding:.52rem .82rem;display:inline-flex;box-shadow:0 8px 20px #3448630d}.hero-chip{margin-top:1rem}h1,h2,h3,.token-value,.mini-card strong,.micro-card strong,.feature-icon{font-family:var(--font-display)}h1,h2,h3{color:var(--color-text);margin:0;line-height:1}h1{letter-spacing:.02em;text-wrap:balance;max-width:8ch;margin-top:1.15rem;font-size:clamp(3.1rem,10vw,6.2rem)}h2{letter-spacing:.01em;font-size:clamp(1.55rem,3vw,2.25rem)}h3{font-size:1.1rem}.hero-text,.section-copy,.feature-card p,.signal-panel p,.micro-card p{color:var(--color-text-muted)}.hero-text{max-width:58ch;margin:1.15rem 0 0;font-size:1.03rem;line-height:1.75}.hero-actions,.button-grid,.feature-tags,.micro-grid{gap:.85rem;display:grid}.hero-actions{grid-template-columns:repeat(3,max-content);align-items:center;margin-top:1.6rem}.button{border-radius:var(--radius-pill);letter-spacing:.02em;min-height:48px;color:var(--color-text-on-dark);-webkit-backdrop-filter:blur(14px)saturate(180%);backdrop-filter:blur(14px)saturate(180%);transition:transform var(--transition-soft),box-shadow var(--transition-soft),border-color var(--transition-soft),background-color var(--transition-soft);background:#ffffff1a;border:1px solid #ffffff38;justify-content:center;align-items:center;padding:0 1.2rem;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffff73,inset 0 -2px 6px #0003}.button:hover{border-color:#fff6;transform:translateY(-1px)}.button:disabled{cursor:default;opacity:.5}.button:disabled:hover{transform:none}.button-primary{color:#fff;background:linear-gradient(135deg,#ff3c5f8c,#d12b4557),#ffffff0a;border-color:#ff789180;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 6px #00000038}.button-secondary{color:#eafcff;background:linear-gradient(135deg,#3de7ff6b,#1c78c047),#ffffff0a;border-color:#3de7ff80;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 6px #00000038}.button-ghost{color:#ffe9c2;background:linear-gradient(135deg,#ffcd644d,#d6a63b2e),#ffffff0d;border-color:#ffd27873;box-shadow:inset 0 1px #ffffff6b,inset 0 -2px 6px #0003}.button-outline{color:var(--color-text-on-dark);background:#dce4fa1f;border-color:#ffffff47;box-shadow:inset 0 1px #fff6,inset 0 -2px 6px #0000002e}.hero-preview{background:linear-gradient(180deg,#1c78c00d,transparent 28%),linear-gradient(180deg,#fffffff0,#fff8eeeb),var(--color-surface-strong);box-shadow:var(--shadow-panel),var(--shadow-neon-cyan);gap:.95rem;padding:1.1rem;display:grid}.status-dot{background:var(--color-secondary);border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 6px #1c78c01f}.preview-grid,.feature-grid,.split-grid{gap:1rem;display:grid}.docs-ws-grid{grid-template-columns:minmax(0,1.9fr) minmax(300px,380px);align-items:start;gap:1rem;display:grid}.dev-tools-anchor{z-index:30;align-items:flex-end;display:flex;position:fixed;bottom:1rem;right:1rem}.dev-tools-anchor .button{min-width:48px;padding:0;font-size:1.2rem}.dev-tools-modal{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-soft),visibility var(--transition-soft);background:#000000c7;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.dev-tools-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.dev-tools-modal-panel{flex-direction:column;width:min(1840px,100%);height:calc(100vh - 2rem);padding:0;display:flex;overflow:hidden}.dev-tools-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.dev-tools-modal-body{flex:1;min-height:0;overflow:auto}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-card{background:#ffffffb8;border:1px solid #355b841a;border-radius:18px;padding:.95rem;box-shadow:inset 0 1px #fffc}.mini-card span,.micro-card span{letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);font-size:.76rem;font-weight:700;display:block}.mini-card strong{letter-spacing:.02em;margin-top:.5rem;font-size:1.1rem;display:block}.signal-panel{background:linear-gradient(#fffaefe6,#fff4dbbd);border:1px solid #d6a63b29;border-radius:18px;padding:1rem}.signal-head,.token-item{justify-content:space-between;align-items:center;gap:1rem;display:flex}.signal-head strong{color:var(--color-secondary)}.signal-bar{border-radius:var(--radius-pill);background:#355b8414;height:.8rem;margin-top:.8rem;overflow:hidden}.signal-bar span{border-radius:inherit;background:linear-gradient(90deg,var(--color-secondary),var(--color-accent));width:82%;height:100%;display:block;box-shadow:0 8px 18px #1c78c029}.signal-panel p{margin:.8rem 0 0;line-height:1.55}.section{padding-top:.25rem}.section-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-copy{max-width:52ch;margin:0;line-height:1.7}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.token-panel,.control-panel{padding:1.2rem}.feature-card{min-height:220px}.feature-icon{background:#ffffffc7;border:1px solid #355b841a;border-radius:16px;place-items:center;width:3rem;height:3rem;margin-bottom:1rem;font-size:.95rem;display:grid;box-shadow:0 10px 24px #3448630d}.feature-card p{margin:.75rem 0 0;line-height:1.6}.feature-tags{grid-template-columns:repeat(auto-fit,minmax(88px,max-content));margin-top:1rem}.badge{letter-spacing:.1em;text-transform:uppercase;padding:.38rem .65rem;font-size:.72rem;font-weight:700}.feature-card[data-tone=red] .feature-icon,.mini-card[data-tone=red] strong,.micro-card[data-tone=red] strong{color:var(--color-primary);box-shadow:0 12px 26px #d14b3f1f}.feature-card[data-tone=cyan] .feature-icon,.mini-card[data-tone=cyan] strong,.micro-card[data-tone=cyan] strong{color:var(--color-secondary);box-shadow:0 12px 26px #1c78c01f}.feature-card[data-tone=violet] .feature-icon,.mini-card[data-tone=violet] strong,.micro-card[data-tone=violet] strong{color:#b4882f;box-shadow:0 12px 26px #d6a63b1f}.split-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}.token-list{gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.token-item{background:#ffffffb8;border:1px solid #355b841a;border-radius:18px;padding:.9rem}.token-meta{align-items:center;gap:.8rem;display:flex}.token-meta strong{font-size:.96rem;display:block}.token-meta code{color:var(--color-text-muted);letter-spacing:.04em;margin-top:.2rem;font-size:.76rem;display:block}.token-swatch{background:var(--color-text);border-radius:50%;flex:none;width:1rem;height:1rem}.token-swatch[data-tone=base]{background:linear-gradient(180deg,var(--color-bg-2),var(--color-bg-0));box-shadow:0 0 0 1px #355b8414}.token-swatch[data-tone=red]{background:var(--color-primary);box-shadow:0 10px 20px #d14b3f2e}.token-swatch[data-tone=cyan]{background:var(--color-secondary);box-shadow:0 10px 20px #1c78c02e}.token-swatch[data-tone=violet]{background:var(--color-accent);box-shadow:0 10px 20px #d6a63b2e}.token-swatch[data-tone=text]{background:var(--color-text);box-shadow:0 0 0 1px #355b841f}.token-value{letter-spacing:.04em;color:var(--color-text-muted);font-size:.82rem}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.micro-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.micro-card{background:#ffffffb8;border:1px solid #355b841a;border-radius:18px;padding:1rem}.micro-card strong{letter-spacing:.02em;margin-top:.45rem;font-size:1rem;display:block}.micro-card p{margin:.65rem 0 0;line-height:1.58}.not-found-page{border-radius:var(--radius-hero);box-shadow:var(--shadow-panel),var(--shadow-neon-red);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1rem;padding:clamp(1.4rem,3vw,2rem);display:grid}.not-found-copy,.not-found-panel{z-index:1;position:relative}.not-found-code{font-family:var(--font-display);letter-spacing:.04em;color:var(--color-primary);margin-top:1rem;font-size:clamp(4rem,12vw,8rem);line-height:.9}.not-found-actions,.not-found-grid{gap:.9rem;display:grid}.not-found-actions{grid-template-columns:repeat(2,max-content);margin-top:1.5rem}.not-found-panel{background:linear-gradient(180deg,#d6a63b14,transparent 24%),linear-gradient(180deg,#ffffffeb,#fff8ece6),var(--color-surface-strong);box-shadow:var(--shadow-panel),0 16px 34px #d6a63b1f;padding:1.1rem}.not-found-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.error-page{border-radius:var(--radius-hero);box-shadow:var(--shadow-panel),var(--shadow-neon-red);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1rem;padding:clamp(1.4rem,3vw,2rem);display:grid}.error-copy,.error-panel{z-index:1;position:relative}.error-code{font-family:var(--font-display);letter-spacing:.04em;color:var(--color-primary);margin-top:1rem;font-size:clamp(3.8rem,11vw,7rem);line-height:.9}.error-actions,.error-stats{gap:.9rem;display:grid}.error-actions{grid-template-columns:repeat(2,max-content);margin-top:1.5rem}.error-panel{background:linear-gradient(180deg,#d14b3f0f,transparent 24%),linear-gradient(180deg,#fffffff0,#fff6f2e6),var(--color-surface-strong);box-shadow:var(--shadow-panel),var(--shadow-neon-red);padding:1.1rem}.error-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}input,textarea,select{color:var(--color-text);background:#ffffffd9;border:1px solid #355b8424;border-radius:16px;box-shadow:inset 0 1px #ffffffd9}input:focus,textarea:focus,select:focus{border-color:#1c78c052;outline:none;box-shadow:0 0 0 4px #1c78c01a,0 10px 24px #1c78c014}a{color:var(--color-secondary);transition:color var(--transition-soft),opacity var(--transition-soft);text-decoration:none}a:hover{color:#125d97}::selection{color:var(--color-text);background:#1c78c029}@media(max-width:1080px){.hero-card,.split-grid,.docs-ws-grid,.not-found-page,.error-page{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{grid-template-columns:repeat(2,max-content)}}@media(max-width:760px){.page{width:min(100% - 1rem,1180px)}.section-header,.feature-grid,.button-grid,.micro-grid,.preview-grid,.hero-actions,.not-found-actions,.not-found-grid,.error-actions,.error-stats{grid-template-columns:1fr}.button{width:100%}h1{max-width:none}}.game-page{background:var(--color-bg-0);flex-direction:column;min-height:100vh;display:flex}.game-countdown{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050816d1;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.game-countdown__value{font-family:var(--font-display,sans-serif);color:#fffaf4fa;text-shadow:0 0 40px var(--color-secondary-glow,#50c8ff99);font-size:clamp(6rem,26vw,16rem);font-weight:800;line-height:1;animation:1s ease-out game-countdown-pop}.game-countdown__label{letter-spacing:.35em;text-transform:uppercase;color:#fffaf4b3;font-size:clamp(.9rem,2.5vw,1.3rem)}@keyframes game-countdown-pop{0%{opacity:0;transform:scale(2.2)}25%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.game-countdown__value{animation:none}}.game-connecting{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;display:flex}.game-connecting__room,.game-connecting__player{flex-direction:column;align-items:center;gap:.25rem;margin:0;display:flex}.game-connecting__value{font-family:var(--font-display);color:var(--color-text);letter-spacing:.05em;font-size:1.1rem}.game-lobby{isolation:isolate;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative}.game-lobby:before{content:"";filter:brightness(.62)saturate(.9)blur(2px);z-index:-1;background-image:url(/img/choix-faction/affrontement.jpg);background-position:50%;background-size:cover;position:fixed;top:0;right:0;bottom:0;left:0}.game-lobby__shell{grid-template-columns:minmax(0,680px);justify-content:center;align-items:start;gap:clamp(1rem,2vw,1.4rem);width:min(680px,100%);display:grid}.game-lobby__shell--with-summary{grid-template-columns:minmax(360px,680px) minmax(420px,520px);justify-content:stretch;width:min(1240px,100%)}.game-lobby__shell--with-rules{grid-template-columns:minmax(360px,680px) minmax(280px,380px);justify-content:stretch;width:min(1100px,100%)}.game-lobby__card{border:1px solid var(--color-glass-border);border-radius:var(--radius-card);background:var(--color-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;gap:0;width:100%;max-width:680px;display:flex;overflow:hidden}.game-lobby__summary{place-self:center;width:100%}.game-lobby__summary .tetris-over__panel{border-radius:var(--radius-card);text-align:center;gap:.95rem;width:100%;max-width:none;padding:1.35rem}.game-lobby__summary .tetris-over__title{font-size:clamp(1.9rem,4vw,2.7rem)}.game-lobby__summary .tetris-over__winner strong{font-size:1.25rem}.game-lobby__summary .tetris-over__solo-card{box-shadow:none;text-align:center;background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0}.game-lobby__summary .tetris-over__podium{align-items:end;gap:.7rem;min-height:13.5rem}.game-lobby__summary .tetris-over__podium-avatar{width:clamp(3.4rem,7vw,4.6rem);height:clamp(3.4rem,7vw,4.6rem);margin-bottom:-.9rem}.game-lobby__summary .tetris-over__podium-slot--first .tetris-over__podium-avatar{width:clamp(4rem,8vw,5.4rem);height:clamp(4rem,8vw,5.4rem)}.game-lobby__summary .tetris-over__podium-meta{min-height:5.6rem;padding:1.35rem .45rem .65rem}.game-lobby__summary .tetris-over__podium-slot--first .tetris-over__podium-meta{min-height:7.6rem}.game-lobby__summary .tetris-over__podium-slot--second .tetris-over__podium-meta{min-height:6.4rem}.game-lobby__summary .tetris-over__podium-slot--third .tetris-over__podium-meta{min-height:5.2rem}.game-lobby__summary .tetris-over__podium-meta strong{font-size:.78rem}.game-lobby__summary .tetris-over__podium-meta>span:last-child{font-size:1rem}.game-lobby__summary .tetris-over__score{grid-template-columns:2rem 2.2rem minmax(0,1fr)}.game-lobby__summary .tetris-over__avatar{width:2.2rem;height:2.2rem}.game-lobby__summary .tetris-over__points{grid-column:3;justify-self:start}.game-lobby__header{border-bottom:1px solid var(--color-glass-divider);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.game-lobby__header-left{flex-direction:column;gap:.2rem;min-width:0;display:flex}.game-lobby__room-name{font-family:var(--font-display);color:var(--color-primary);text-shadow:var(--shadow-neon-red);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;max-width:260px;margin:0;font-size:1.25rem;overflow:hidden}.game-lobby__header-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.4rem;display:flex}.game-lobby__status-badge{letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-muted-on-dark);border:1px solid var(--color-glass-border);background:#ffffff12;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.game-lobby__status-badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:5px;height:5px}.game-lobby__status-badge--admin{color:var(--color-primary);background:#ff365f1a;border-color:#ff365f4d}.game-lobby__status-badge--admin:before{box-shadow:0 0 5px var(--color-primary);opacity:1}.game-lobby__status-badge--loading{color:var(--color-secondary);background:#3de7ff14;border-color:#3de7ff47}.game-lobby__status-badge--loading:before{box-shadow:0 0 5px var(--color-secondary);opacity:1;animation:1.2s ease-in-out infinite loading-dot-pulse}.game-lobby__player-count-badge{color:var(--color-text-muted-on-dark);align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.game-lobby__player-list{flex-direction:column;gap:.4rem;min-height:4rem;margin:0;padding:.75rem 1rem;list-style:none;display:flex}.game-lobby__player-item{border-radius:calc(var(--radius-card) - 2px);background:#ffffff08;border-left:3px solid #0000;align-items:center;gap:.85rem;padding:.65rem .9rem;transition:background .15s;display:flex}.game-lobby__player-item--pirate{border-left-color:var(--color-primary);background:#ff365f0d}.game-lobby__player-item--marine{border-left-color:var(--color-secondary);background:#3de7ff0d}.game-lobby__player-item--me{outline:1px solid #ffffff1a}.game-lobby__player-item--loading{pointer-events:none}.game-lobby__player-avatar{width:3.2rem;height:3.2rem;font-family:var(--font-display);color:var(--color-text-muted-on-dark);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6rem;display:flex;overflow:hidden}.game-lobby__player-item--pirate .game-lobby__player-avatar{border-color:#ff365f66}.game-lobby__player-item--marine .game-lobby__player-avatar{border-color:#3de7ff66}.game-lobby__player-avatar img{object-fit:cover;object-position:center top;width:100%;height:100%}.game-lobby__player-name{color:var(--color-text-on-dark);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.game-lobby__player-badges{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.3rem;display:flex}.game-lobby__player-tag{letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.12rem .4rem;font-size:.6rem;font-weight:700}.game-lobby__player-tag--me{color:var(--color-secondary);background:#3de7ff1f;border:1px solid #3de7ff40}.game-lobby__player-tag--host{color:var(--color-primary);background:#ff365f1f;border:1px solid #ff365f40}.game-lobby__player-tag--pirate{color:var(--color-primary);background:#ff365f1a;border:1px solid #ff365f33}.game-lobby__player-tag--marine{color:var(--color-secondary);background:#3de7ff1a;border:1px solid #3de7ff33}.game-lobby__kick-btn{color:#ff365f66;cursor:pointer;background:0 0;border:1px solid #ff365f33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.65rem;transition:background .15s,color .15s,border-color .15s;display:flex}.game-lobby__kick-btn:hover{color:var(--color-primary);background:#ff365f1f;border-color:#ff365f80}.game-lobby__player-empty{color:var(--color-text-muted-on-dark);align-items:center;gap:.6rem;padding:.5rem .25rem;font-size:.85rem;display:flex}.game-lobby__skeleton,.game-lobby__loading-line{background:linear-gradient(90deg,#ffffff0f 25%,#3de7ff29,#ffffff0f 75%) 0 0/200% 100%;animation:1.2s linear infinite loading-shimmer}.game-lobby__loading-lines{flex-direction:column;flex:1;gap:.45rem;min-width:0;display:flex}.game-lobby__loading-line{border-radius:999px;height:.62rem;display:block}.game-lobby__loading-line--name{width:min(12rem,70%)}.game-lobby__loading-line--meta{width:min(7rem,42%)}.game-lobby__settings{border-top:1px solid var(--color-glass-divider);flex-direction:column;gap:.75rem;padding:.9rem 1.5rem;display:flex}.game-lobby__settings--loading .game-lobby__mode-list,.game-lobby__settings--loading .game-lobby__privacy-btn{opacity:.62}.game-lobby__setting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.game-lobby__setting-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted-on-dark);flex-shrink:0;font-size:.75rem;font-weight:600}.game-lobby__setting-hint{color:var(--color-text-muted-on-dark);opacity:.8;flex-basis:100%;font-size:.72rem}.game-lobby__mode-list{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.game-lobby__mode-btn{border:1px solid var(--color-glass-border);color:var(--color-text-muted-on-dark);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .7rem;font-size:.76rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.game-lobby__mode-btn:not(:disabled):hover{color:var(--color-text-on-dark);border-color:#ffffff59}.game-lobby__mode-btn--active{color:var(--color-primary);background:#ff365f26;border-color:#ff365f66}.game-lobby__mode-btn:disabled{cursor:default;opacity:.6}.game-lobby__privacy-btn{border:1px solid var(--color-glass-border);color:var(--color-text-muted-on-dark);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .9rem;font-size:.78rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.game-lobby__privacy-btn:not(:disabled):hover{color:var(--color-text-on-dark);border-color:#ffffff59}.game-lobby__privacy-btn--private{color:var(--color-accent);background:#9069ff26;border-color:#9069ff66}.game-lobby__privacy-btn:disabled{cursor:default;opacity:.6}.game-lobby__footer{border-top:1px solid var(--color-glass-divider);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.game-lobby__waiting-hint{color:var(--color-text-muted-on-dark);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.game-lobby__footer-actions{gap:.6rem;margin-left:auto;display:flex}@media(max-width:980px){.game-lobby__shell,.game-lobby__shell--with-summary,.game-lobby__shell--with-rules{grid-template-columns:minmax(0,680px);justify-content:center;width:min(680px,100%)}}.tetris-stage{isolation:isolate;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1rem;display:flex;position:relative}.tetris-stage:before{content:"";filter:brightness(.45)saturate(.85)blur(3px);z-index:-1;background-image:url(/img/choix-faction/affrontement.jpg);background-position:50%;background-size:cover;position:fixed;top:0;right:0;bottom:0;left:0}.tetris-stage__inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);place-items:start center;gap:1.25rem;width:100%;max-width:1400px;display:grid}.tetris-stage__center{flex-direction:column;align-items:center;gap:.75rem;min-width:0;display:flex}.tetris-stage__board-wrap{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;padding:8px;box-shadow:0 24px 60px #00000073}.tetris-stage__board-wrap--shake-1,.tetris-stage__board-wrap--shake-2{animation:.36s cubic-bezier(.36,.07,.19,.97) both tetris-board-shake}@keyframes tetris-board-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px,1px)}40%,60%{transform:translate(5px,-1px)}}@media(prefers-reduced-motion:reduce){.tetris-stage__board-wrap--shake-1,.tetris-stage__board-wrap--shake-2{animation-duration:.01ms}}.tetris-stage__hint{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted-on-dark);margin:0;font-size:.75rem}.tetris-stage__side{flex-direction:column;gap:.85rem;width:100%;min-width:0;max-width:320px;display:flex}.tetris-stage__side--left{align-items:flex-end}.tetris-stage__side--right{align-items:flex-start}.tetris-stage--waiting{color:var(--color-text-on-dark)}.tetris-stage__waiting{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:.75rem;padding:1.1rem 1.5rem;display:flex}.tetris-hud{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;grid-template-columns:1fr auto 1fr;align-items:start;gap:.75rem;width:100%;padding:.65rem 1rem;display:grid}.tetris-hud__score{flex-direction:column;grid-column:2;align-items:center;gap:.1rem;min-width:7rem;display:flex}.tetris-hud__level{flex-direction:column;grid-column:3;justify-self:end;align-items:flex-end;gap:.1rem;display:flex}.tetris-hud__objective{flex-direction:column;grid-column:1;justify-self:start;align-items:flex-start;gap:.1rem;display:flex}.tetris-hud__timer{flex-direction:column;grid-column:3;justify-self:end;align-items:flex-end;gap:.1rem;display:flex}.tetris-hud__timer--urgent .tetris-hud__value{color:var(--color-primary);text-shadow:0 0 12px #ff365f8c}.tetris-hud__mode{grid-column:1;place-self:center start}.tetris-hud__jokers{flex-direction:column;grid-column:3;justify-self:end;align-items:flex-end;gap:.1rem;display:flex}.tetris-hud__jokers .tetris-hud__value{color:var(--color-accent);letter-spacing:.12em}.tetris-hud__spectator{flex-direction:column;grid-column:1;justify-self:start;align-items:flex-start;gap:.1rem;display:flex}.tetris-hud__spectator .tetris-hud__value{color:var(--color-secondary);text-shadow:0 0 14px #3de7ff73;font-size:1.7rem}.tetris-hud__label{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted-on-dark);font-size:.6rem}.tetris-hud__value{font-family:var(--font-display);color:var(--color-text-on-dark);letter-spacing:.05em;text-shadow:0 0 14px #3de7ff73;font-size:1.4rem}.tetris-hud__score .tetris-hud__value{color:var(--color-primary);text-shadow:var(--shadow-neon-red),0 0 18px #ff365f73;font-size:1.7rem}.tetris-board{background:#ffffff14;border-radius:6px;gap:2px;padding:2px;display:grid}.tetris-cell{border-radius:calc(var(--cs,20px) * .16);box-sizing:border-box;border:0;transition:opacity .32s linear}@media(prefers-reduced-motion:reduce){.tetris-cell{transition:none}}.tetris-cell--empty{background:#050816b8;box-shadow:inset 0 0 0 1px #ffffff0a}.tetris-cell--fading{position:relative}.tetris-cell--fading>.tetris-cell__piece{border-radius:inherit;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.tetris-cell[data-piece=I]{--c:var(--piece-i)}.tetris-cell[data-piece=J]{--c:var(--piece-j)}.tetris-cell[data-piece=L]{--c:var(--piece-l)}.tetris-cell[data-piece=O]{--c:var(--piece-o)}.tetris-cell[data-piece=S]{--c:var(--piece-s)}.tetris-cell[data-piece=T]{--c:var(--piece-t)}.tetris-cell[data-piece=Z]{--c:var(--piece-z)}.tetris-cell--filled{--c:var(--piece-i);--lgt:var(--c);position:relative}@supports (color:color-mix(in lab,red,red)){.tetris-cell--filled{--lgt:color-mix(in oklab, var(--c) 82%, white)}}.tetris-cell--filled{--drk:var(--c)}@supports (color:color-mix(in lab,red,red)){.tetris-cell--filled{--drk:color-mix(in oklab, var(--c) 74%, black)}}.tetris-cell--filled{background:radial-gradient(120% 100% at 28% 22%,#ffffff8c,#fff0 45%),linear-gradient(160deg,var(--lgt) 0%,var(--c) 55%,var(--drk) 100%);box-shadow:inset calc(var(--cs,20px) * .09) calc(var(--cs,20px) * .09) calc(var(--cs,20px) * .14) #ffffff6b,inset calc(var(--cs,20px) * -.09) calc(var(--cs,20px) * -.09) calc(var(--cs,20px) * .18) #0006,0 0 calc(var(--cs,20px) * .3) var(--c)}@supports (color:color-mix(in lab,red,red)){.tetris-cell--filled{box-shadow:inset calc(var(--cs,20px) * .09) calc(var(--cs,20px) * .09) calc(var(--cs,20px) * .14) #ffffff6b,inset calc(var(--cs,20px) * -.09) calc(var(--cs,20px) * -.09) calc(var(--cs,20px) * .18) #0006,0 0 calc(var(--cs,20px) * .3) color-mix(in oklab,var(--c) 55%,transparent)}}.tetris-cell--filled[data-piece=penalty]{--c:var(--piece-penalty);box-shadow:inset 0 0 calc(var(--cs,20px) * .3) #0009;background:linear-gradient(160deg,#4a4f63,#1d2030)}.tetris-cell--filled[data-piece=spectrum]{--c:var(--piece-spectrum);box-shadow:inset 0 0 calc(var(--cs,20px) * .25) #00000073;background:linear-gradient(160deg,#aeb8d3,#5b6582)}.tetris-cell--ghost{background:var(--c)}@supports (color:color-mix(in lab,red,red)){.tetris-cell--ghost{background:color-mix(in oklab,var(--c) 12%,transparent)}}.tetris-cell--ghost{box-shadow:inset 0 0 0 2px var(--c)}@supports (color:color-mix(in lab,red,red)){.tetris-cell--ghost{box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--c) 48%,transparent)}}.tetris-opponents{gap:.65rem;justify-content:inherit;grid-template-columns:repeat(2,max-content);width:100%;display:grid}.tetris-opponents--scroll{max-height:100%;padding-right:4px;overflow-y:auto}.tetris-opponents--scroll::-webkit-scrollbar{width:6px}.tetris-opponents--scroll::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.tetris-mini{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:fit-content;max-width:100%;color:var(--color-text-on-dark);text-align:left;border-radius:12px;flex-direction:column;gap:.35rem;padding:.5rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex}.tetris-mini--clickable{cursor:pointer}.tetris-mini--clickable:hover{border-color:#3de7ff73;transform:translateY(-2px);box-shadow:0 12px 28px #00000073,0 0 0 1px #3de7ff2e}.tetris-mini--active{box-shadow:0 0 0 1px #ff365f73,var(--shadow-neon-red);border-color:#ff365f8c}.tetris-mini__name{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted-on-dark);white-space:nowrap;text-overflow:ellipsis;text-align:center;align-self:center;font-size:.7rem;font-weight:600;overflow:hidden}.tetris-mini__grid{background:#00000080;border-radius:4px;gap:1px;padding:1px;display:grid}.tetris-next{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-direction:column;align-self:flex-start;gap:.5rem;width:fit-content;min-width:140px;padding:.7rem .85rem;display:flex}.tetris-next__label{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted-on-dark);text-align:center;font-size:.65rem}.tetris-next__frame{background:#0006;border:1px solid #ffffff0d;border-radius:10px;place-items:center;min-height:120px;padding:1.4rem 1.6rem;display:grid}.tetris-next__grid{gap:1px;display:grid}.tetris-next__empty{color:var(--color-text-muted-on-dark);font-size:1.4rem}@keyframes tetris-gameover-zoom{0%{opacity:0;transform:scale(.06)}6%{opacity:1}16%{transform:scale(1)}18%{transform:scale(1.04)}62%{opacity:1;transform:scale(1.9)}to{opacity:0;transform:scale(16)}}.tetris-gameover-overlay{z-index:30;background:var(--color-scrim);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.tetris-gameover-overlay__text{font-family:var(--font-display);letter-spacing:.14em;white-space:nowrap;color:var(--color-primary);text-shadow:var(--shadow-neon-red);transform-origin:50%;will-change:transform,opacity;margin:0;font-size:clamp(1.6rem,5vw,3.4rem);font-weight:700;animation:5s linear forwards tetris-gameover-zoom;transform:scale(.06)}@media(prefers-reduced-motion:reduce){.tetris-gameover-overlay__text{animation-duration:1.6s}}.tetris-over{isolation:isolate;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative}.tetris-over:before{content:"";filter:brightness(.4)saturate(.85)blur(3px);z-index:-1;background-image:url(/img/choix-faction/affrontement.jpg);background-position:50%;background-size:cover;position:fixed;top:0;right:0;bottom:0;left:0}.tetris-over__panel{border:1px solid var(--color-glass-border);border-radius:var(--radius-card);background:var(--color-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:960px;color:var(--color-text-on-dark);text-align:center;box-shadow:0 30px 80px #0000008c,var(--shadow-neon-red);flex-direction:column;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:flex}.tetris-over__header{justify-items:center;gap:.4rem;display:grid}.tetris-over__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted-on-dark);font-size:.72rem;font-weight:800}.tetris-over__title{font-family:var(--font-display);letter-spacing:.06em;color:var(--color-primary);text-shadow:var(--shadow-neon-red);margin:0;font-size:clamp(2.2rem,6vw,3.6rem)}.tetris-over__title--win{color:var(--color-secondary);text-shadow:0 0 26px #3de7ff8c}.tetris-over__winner{color:var(--color-text-muted-on-dark);flex-direction:column;gap:.2rem;margin:0;font-size:.95rem;display:flex}.tetris-over__winner strong{font-family:var(--font-display);color:var(--color-text-on-dark);letter-spacing:.05em;font-size:1.6rem}.tetris-over__solo-card{text-align:left;background:linear-gradient(135deg,#3de7ff24,#0000 52%),#ffffff0f;border:1px solid #3de7ff47;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1rem,3vw,1.5rem);width:min(560px,100%);margin:0 auto;padding:clamp(1rem,3vw,1.4rem);display:grid;box-shadow:0 22px 48px #00000040}.tetris-over__solo-stat{text-align:center;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:16px;align-content:center;gap:.45rem;min-height:8.5rem;padding:1rem;display:grid}.tetris-over__solo-stat--score{background:linear-gradient(135deg,#3de7ff1f,#0000 58%),#ffffff0e;border-color:#3de7ff3d}.tetris-over__solo-stat span{letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted-on-dark);font-size:.75rem;font-weight:800}.tetris-over__solo-stat strong{font-family:var(--font-display);color:var(--color-secondary);text-shadow:0 0 24px #3de7ff61;font-size:clamp(2.35rem,7vw,4rem);line-height:.95}.tetris-over__solo-stat:not(.tetris-over__solo-stat--score) strong{color:var(--color-accent);text-shadow:0 0 24px #d6a63b4d}.tetris-over__solo-avatar,.tetris-over__podium-avatar,.tetris-over__avatar{color:var(--color-text-muted-on-dark);font-family:var(--font-display);background:#ffffff14;border:1px solid #ffffff24;border-radius:50%;place-items:center;font-weight:700;display:grid;overflow:hidden}.tetris-over__solo-avatar{border-color:#3de7ff6b;width:clamp(6.5rem,18vw,9rem);height:clamp(6.5rem,18vw,9rem);font-size:1.4rem;box-shadow:0 0 32px #3de7ff38}.tetris-over__solo-avatar img,.tetris-over__podium-avatar img,.tetris-over__avatar img{object-fit:cover;object-position:center top;width:100%;height:100%}.tetris-over__solo-copy span{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted-on-dark);font-size:.75rem;font-weight:800;display:block}.tetris-over__solo-copy strong{font-family:var(--font-display);color:var(--color-secondary);text-shadow:0 0 24px #3de7ff6b;margin-top:.2rem;font-size:clamp(2.5rem,8vw,4.8rem);line-height:.95;display:block}.tetris-over__solo-copy p{color:var(--color-text-on-dark);margin:.45rem 0 0;font-weight:800}.tetris-over__podium{grid-template-columns:minmax(0,.95fr) minmax(0,1.08fr) minmax(0,.95fr);align-items:end;gap:clamp(.6rem,2vw,1rem);width:100%;margin-top:.25rem;display:grid}.tetris-over__podium-slot{min-width:0;color:var(--color-text-on-dark);flex-direction:column;align-items:center;padding-top:1.3rem;display:flex;position:relative}.tetris-over__podium-slot--first{order:2;transform:translateY(-1.45rem)}.tetris-over__podium-slot--second{order:1;transform:translateY(-.65rem)}.tetris-over__podium-slot--third{order:3;transform:translateY(0)}.tetris-over__podium-slot--me .tetris-over__podium-avatar{border-color:#3de7ff9e;box-shadow:0 0 28px #3de7ff3d}.tetris-over__podium-avatar{z-index:2;width:clamp(4.6rem,12vw,6.2rem);height:clamp(4.6rem,12vw,6.2rem);margin-bottom:-1.2rem;font-size:1rem;position:relative;box-shadow:0 18px 34px #00000059}.tetris-over__podium-slot--first .tetris-over__podium-avatar{border-color:#d6a63b9e;width:clamp(5.6rem,14vw,7.6rem);height:clamp(5.6rem,14vw,7.6rem);box-shadow:0 0 32px #d6a63b3d,0 18px 34px #00000059}.tetris-over__podium-meta{z-index:1;background:#ffffff0e;border:1px solid #ffffff1a;border-bottom:0;border-radius:16px 16px 0 0;justify-items:center;gap:.2rem;width:100%;min-height:6rem;padding:1.7rem .65rem .75rem;display:grid;position:relative}.tetris-over__podium-slot--first .tetris-over__podium-meta{background:#d6a63b21;border-color:#d6a63b42;min-height:7.25rem}.tetris-over__podium-slot--second .tetris-over__podium-meta{min-height:6.25rem}.tetris-over__podium-slot--third .tetris-over__podium-meta{min-height:5.5rem}.tetris-over__podium-rank{font-family:var(--font-display);color:var(--color-accent);font-size:1.25rem}.tetris-over__podium-meta strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.95rem;overflow:hidden}.tetris-over__podium-meta>span:last-child{font-family:var(--font-display);color:var(--color-primary);text-shadow:0 0 14px #ff365f59;font-size:1.25rem}.tetris-over__podium-base{background:linear-gradient(90deg,#d14b3f6b,#1c78c06b);border-radius:0 0 14px 14px;width:100%;height:.65rem;box-shadow:0 18px 28px #00000040}.tetris-over__scores{flex-direction:column;align-self:center;gap:.4rem;width:min(680px,100%);margin:0;padding:0;list-style:none;display:flex}.tetris-over__score{color:var(--color-text-on-dark);background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:2.2rem 2.45rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.55rem .8rem;display:grid}.tetris-over__score--top{background:#ff365f14;border-color:#ff365f73}.tetris-over__score--me{outline:1px solid #3de7ff66}.tetris-over__rank{font-family:var(--font-display);color:var(--color-text-muted-on-dark);font-size:1.05rem}.tetris-over__avatar{width:2.45rem;height:2.45rem;font-size:.65rem}.tetris-over__name{letter-spacing:.02em;text-align:left;font-weight:600}.tetris-over__points{font-family:var(--font-display);color:var(--color-primary);text-shadow:0 0 12px #ff365f59;font-size:1.05rem}.tetris-over__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.4rem;display:flex}.tetris-over__actions .button{min-width:150px}@media(max-width:600px){.game-lobby__room-name{max-width:160px;font-size:1rem}.tetris-over{padding:1rem .65rem}.tetris-over__panel{gap:1rem}.tetris-over__solo-card{text-align:center;grid-template-columns:1fr;justify-items:center}.tetris-over__podium{grid-template-columns:1fr;gap:.75rem}.tetris-over__podium-slot,.tetris-over__podium-slot--first,.tetris-over__podium-slot--second,.tetris-over__podium-slot--third{order:initial;transform:none}.tetris-over__podium-slot{background:#ffffff0e;border:1px solid #ffffff1a;border-radius:14px;grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.55rem .7rem;display:grid}.tetris-over__podium-avatar,.tetris-over__podium-slot--first .tetris-over__podium-avatar{width:4rem;height:4rem;margin:0}.tetris-over__podium-meta,.tetris-over__podium-slot--first .tetris-over__podium-meta,.tetris-over__podium-slot--second .tetris-over__podium-meta,.tetris-over__podium-slot--third .tetris-over__podium-meta{background:0 0;border:0;justify-items:start;min-height:0;padding:0}.tetris-over__podium-base{display:none}.tetris-over__score{grid-template-columns:2rem 2.25rem minmax(0,1fr)}.tetris-over__points{grid-column:3;justify-self:start}}:root{--piece-i:#22e6e6;--piece-j:#3b5bff;--piece-l:#ff9f1c;--piece-o:#ffd23f;--piece-s:#2ee86e;--piece-t:#b14bff;--piece-z:#ff3b6b;--piece-penalty:#2b3350;--piece-spectrum:#7d879f}[data-recipe=glass] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){border-radius:calc(var(--cs,20px) * .22);background:linear-gradient(135deg,#ffffff6b,#ffffff0f 30%,transparent 60%),var(--c)}@supports (color:color-mix(in lab,red,red)){[data-recipe=glass] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){background:linear-gradient(135deg,#ffffff6b,#ffffff0f 30%,transparent 60%),color-mix(in oklab,var(--c) 42%,transparent)}}[data-recipe=glass] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 1px 1px #fff9,inset 0 calc(var(--cs,20px) * -.14) calc(var(--cs,20px) * .28) #00000038,inset 0 0 0 1px #ffffff2e,0 0 calc(var(--cs,20px) * .5) var(--c)}@supports (color:color-mix(in lab,red,red)){[data-recipe=glass] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 1px 1px #fff9,inset 0 calc(var(--cs,20px) * -.14) calc(var(--cs,20px) * .28) #00000038,inset 0 0 0 1px #ffffff2e,0 0 calc(var(--cs,20px) * .5) color-mix(in oklab,var(--c) 45%,transparent)}}[data-recipe=minimal] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){border-radius:calc(var(--cs,20px) * .2);background:linear-gradient(180deg,var(--c),var(--c) 55%,var(--c))}@supports (color:color-mix(in lab,red,red)){[data-recipe=minimal] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){background:linear-gradient(180deg,color-mix(in oklab,var(--c) 88%,white),var(--c) 55%,color-mix(in oklab,var(--c) 90%,black))}}[data-recipe=minimal] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 1px #ffffff73,inset 0 calc(var(--cs,20px) * -.1) calc(var(--cs,20px) * .15) #0000002e,0 1px 2px #00000040}[data-recipe=synth] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){border-radius:calc(var(--cs,20px) * .12);background:linear-gradient(160deg,var(--c),var(--c) 55%,var(--c))}@supports (color:color-mix(in lab,red,red)){[data-recipe=synth] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){background:linear-gradient(160deg,color-mix(in oklab,var(--c) 55%,white),var(--c) 55%,color-mix(in oklab,var(--c) 70%,black))}}[data-recipe=synth] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 0 calc(var(--cs,20px) * .28) #ffffffd9,inset calc(var(--cs,20px) * .12) calc(var(--cs,20px) * .12) calc(var(--cs,20px) * .3) #ffffff4d,inset calc(var(--cs,20px) * -.14) calc(var(--cs,20px) * -.16) calc(var(--cs,20px) * .3) #0000008c,0 0 calc(var(--cs,20px) * .24) var(--c),0 0 calc(var(--cs,20px) * .6) var(--c)}@supports (color:color-mix(in lab,red,red)){[data-recipe=synth] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 0 calc(var(--cs,20px) * .28) #ffffffd9,inset calc(var(--cs,20px) * .12) calc(var(--cs,20px) * .12) calc(var(--cs,20px) * .3) #ffffff4d,inset calc(var(--cs,20px) * -.14) calc(var(--cs,20px) * -.16) calc(var(--cs,20px) * .3) #0000008c,0 0 calc(var(--cs,20px) * .24) var(--c),0 0 calc(var(--cs,20px) * .6) color-mix(in oklab,var(--c) 65%,transparent)}}[data-recipe=jewel] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){border-radius:calc(var(--cs,20px) * .16);background:radial-gradient(80% 70% at 50% 42%,var(--c) 0%,var(--c) 40%,var(--c) 100%),conic-gradient(from 210deg,#ffffff29,#0000002e,#ffffff29)}@supports (color:color-mix(in lab,red,red)){[data-recipe=jewel] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){background:radial-gradient(80% 70% at 50% 42%,color-mix(in oklab,var(--c) 70%,white) 0%,var(--c) 40%,color-mix(in oklab,var(--c) 55%,black) 100%),conic-gradient(from 210deg,#ffffff29,#0000002e,#ffffff29)}}[data-recipe=jewel] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 0 calc(var(--cs,20px) * .22) var(--c),inset calc(var(--cs,20px) * .1) calc(var(--cs,20px) * .1) calc(var(--cs,20px) * .2) #ffffff4d,inset calc(var(--cs,20px) * -.12) calc(var(--cs,20px) * -.12) calc(var(--cs,20px) * .24) #0009,0 0 calc(var(--cs,20px) * .34) var(--c)}@supports (color:color-mix(in lab,red,red)){[data-recipe=jewel] .tetris-cell--filled:not([data-piece=penalty]):not([data-piece=spectrum]){box-shadow:inset 0 0 calc(var(--cs,20px) * .22) color-mix(in oklab,var(--c) 60%,white),inset calc(var(--cs,20px) * .1) calc(var(--cs,20px) * .1) calc(var(--cs,20px) * .2) #ffffff4d,inset calc(var(--cs,20px) * -.12) calc(var(--cs,20px) * -.12) calc(var(--cs,20px) * .24) #0009,0 0 calc(var(--cs,20px) * .34) color-mix(in oklab,var(--c) 50%,transparent)}}.piece-preview{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;display:flex}.piece-preview__glyph{gap:2px;display:grid}.piece-preview__hole{background:0 0}.shop{z-index:1;max-width:1100px;min-height:100vh;color:var(--color-text-on-dark);margin:0 auto;padding:2rem 1.25rem 4rem;position:relative}.shop:before{content:"";z-index:-1;filter:saturate(.9)blur(2px);background:linear-gradient(#040610c7,#040610e0),url(/img/choix-faction/affrontement.jpg) 50%/cover;position:fixed;top:0;right:0;bottom:0;left:0}.shop h1,.shop h2,.shop h3{color:var(--color-text-on-dark)}.shop__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.shop__title-group{align-items:center;gap:1rem;display:flex}.shop__title{color:var(--color-text-on-dark);text-shadow:0 0 22px #3de7ff59;margin:.1rem 0 0;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.05}.shop__back{padding:.45rem .85rem}.shop__balance{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-direction:column;align-items:flex-end;padding:.6rem 1.1rem;display:flex}.shop__balance-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted-on-dark);font-size:.62rem}.shop__balance-value{font-family:var(--font-display);color:var(--color-accent);text-shadow:0 0 18px #d6a63b80;font-size:1.5rem}.shop__hint{color:var(--color-text-muted-on-dark);max-width:65ch;margin:0 0 1.25rem;font-size:.9rem}.shop__error{color:#fff;background:#ff365f1f;border:1px solid #ff365f80;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.7rem 1rem;display:flex}.shop__error-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1rem}.shop__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;display:grid}.shop-card{border:1px solid var(--color-glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090d1bc7;border-radius:18px;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.shop-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #00000080}.shop-card--equipped{box-shadow:0 0 0 1px #3de7ff59,var(--shadow-neon-cyan);border-color:#3de7ff8c}.shop-card__preview{border-bottom:1px solid var(--color-glass-divider);background:radial-gradient(120% 100% at 50% 0,#ffffff0d,#0000 70%),#0508148c;place-items:center;min-height:130px;padding:1.25rem;display:grid}.shop-card__body{flex-direction:column;flex:1;gap:.5rem;padding:1rem 1.1rem 1.15rem;display:flex}.shop-card__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.shop-card__name{color:var(--color-text-on-dark);margin:0;font-size:1.15rem}.shop-card__tag{letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:.28rem .55rem;font-size:.7rem}.shop-card__tag--owned{color:var(--color-secondary);background:#3de7ff1a;border:1px solid #3de7ff66}.shop-card__tag--price{color:var(--color-accent);font-family:var(--font-display);background:#d6a63b1a;border:1px solid #d6a63b66}.shop-card__desc{color:var(--color-text-muted-on-dark);flex:1;margin:0;font-size:.85rem;line-height:1.5}.shop-card__actions{margin-top:.4rem}.shop-card__btn{justify-content:center;width:100%}.shop-card__btn--equipped{color:var(--color-text-on-dark);box-shadow:none;cursor:default;background:#3de7ff24;border:1px solid #3de7ff73}.shop-card__btn:disabled{opacity:.5;cursor:not-allowed}.shop-screen{z-index:5;background:linear-gradient(#04061052,#04061080);flex-direction:column;gap:1.25rem;padding:5.75rem clamp(1rem,4vw,3rem) 2.5rem;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto}.shop-screen__head{width:100%;max-width:1000px;margin:0 auto}.shop-screen__title{color:var(--color-text-on-dark);text-shadow:0 0 20px #3de7ff4d;margin:.15rem 0 .35rem;font-size:clamp(1.5rem,3.5vw,2.1rem)}.shop-screen__hint{color:var(--color-text-on-dark);text-shadow:0 1px 4px #00000080;margin:0;font-size:.9rem}.shop-screen .shop__grid,.shop-screen .shop__error{width:100%;max-width:1000px;margin:0 auto}.keys-screen{z-index:5;background:linear-gradient(#04061052,#04061080);flex-direction:column;gap:1.25rem;padding:5.75rem clamp(1rem,4vw,3rem) 2.5rem;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto}.keys-screen__head,.keys-screen__list,.keys-screen__actions{width:100%;max-width:560px;margin:0 auto}.keys-screen__title{color:var(--color-text-on-dark);text-shadow:0 0 20px #3de7ff4d;margin:.15rem 0 .35rem;font-size:clamp(1.5rem,3.5vw,2.1rem)}.keys-screen__hint{color:var(--color-text-on-dark);text-shadow:0 1px 4px #00000080;margin:0;font-size:.9rem}.keys-screen__list{flex-direction:column;gap:.5rem;display:flex}.keys-row{border:1px solid var(--color-glass-border);background:#ffffff0a;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .85rem;display:flex}.keys-row__label{color:var(--color-text-on-dark);font-size:.9rem}.keys-row__key{border:1px solid var(--color-glass-border);min-width:5.5rem;color:var(--color-text-on-dark);font-family:var(--font-display);cursor:pointer;background:#ffffff12;border-radius:8px;flex-shrink:0;padding:.35rem .8rem;font-size:.9rem;transition:border-color .15s,background .15s,color .15s}.keys-row__key:hover{border-color:var(--color-secondary-border)}.keys-row__key--capturing{border-color:var(--color-primary);color:var(--color-primary);background:#ff365f29}.keys-screen__actions{justify-content:flex-end;display:flex}.glass-panel{color:var(--color-text-on-dark)}.cloud-transition{z-index:99999;pointer-events:auto;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.cloud-transition__bank{filter:blur(11px);will-change:transform;background-repeat:repeat-x,no-repeat;width:120%;height:75vh;position:absolute;left:-10%}.cloud-transition__bank--top{background-image:radial-gradient(78px 66px at 50% 0,#f4f8ff 60%,#0000 64%),linear-gradient(#d7e4fa,#f8fbff);background-position:0 100%,0 0;background-size:132px 66px,100% calc(100% - 34px);top:0;transform:translateY(-102%)}.cloud-transition__bank--bottom{background-image:radial-gradient(78px 66px at 50% 100%,#f4f8ff 60%,#0000 64%),linear-gradient(#f8fbff,#d7e4fa);background-position:0 0,0 100%;background-size:132px 66px,100% calc(100% - 34px);bottom:0;transform:translateY(102%)}.cloud-transition__veil{opacity:0;background:radial-gradient(circle,#f8fbffeb,#e2ecfcc7);position:absolute;top:0;right:0;bottom:0;left:0}.cloud-transition--cover .cloud-transition__bank--top{animation:.7s cubic-bezier(.4,0,.2,1) forwards cloudBankTopCover}.cloud-transition--cover .cloud-transition__bank--bottom{animation:.7s cubic-bezier(.4,0,.2,1) forwards cloudBankBottomCover}.cloud-transition--cover .cloud-transition__veil{animation:.7s ease-in forwards cloudVeilCover}.cloud-transition--reveal .cloud-transition__bank--top{animation:.8s cubic-bezier(.4,0,.2,1) forwards cloudBankTopReveal}.cloud-transition--reveal .cloud-transition__bank--bottom{animation:.8s cubic-bezier(.4,0,.2,1) forwards cloudBankBottomReveal}.cloud-transition--reveal .cloud-transition__veil{animation:.8s ease-out forwards cloudVeilReveal}@keyframes cloudBankTopCover{0%{transform:translateY(-102%)}to{transform:translateY(0)}}@keyframes cloudBankBottomCover{0%{transform:translateY(102%)}to{transform:translateY(0)}}@keyframes cloudBankTopReveal{0%{transform:translateY(0)}to{transform:translateY(-102%)}}@keyframes cloudBankBottomReveal{0%{transform:translateY(0)}to{transform:translateY(102%)}}@keyframes cloudVeilCover{0%{opacity:0}to{opacity:.92}}@keyframes cloudVeilReveal{0%{opacity:.92}to{opacity:0}}@media(prefers-reduced-motion:reduce){.cloud-transition--cover .cloud-transition__bank--top,.cloud-transition--cover .cloud-transition__bank--bottom,.cloud-transition--cover .cloud-transition__veil,.cloud-transition--reveal .cloud-transition__bank--top,.cloud-transition--reveal .cloud-transition__bank--bottom,.cloud-transition--reveal .cloud-transition__veil{animation-duration:.12s}}.glass-panel h1,.glass-panel h2,.glass-panel h3,.glass-panel h4{color:var(--color-text-on-dark)}[data-recipe] .tetris-mini--dead .tetris-cell--filled{--c:#6b7280;box-shadow:inset 0 0 calc(var(--cs,20px) * .28) #00000080;background:linear-gradient(160deg,#838b99,#363b47)}.tetris-mini--dead .tetris-mini__name{opacity:.55}.tetris-stage__leave{z-index:20;position:absolute;top:1rem;right:1rem}.stats-screen{z-index:5;background:linear-gradient(#04061057,#04061085);flex-direction:column;gap:1.75rem;padding:6rem clamp(1rem,4vw,3rem) 3rem;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto}.stats-screen__head,.stats-section{width:100%;max-width:1100px;margin:0 auto}.stats-screen__title{color:var(--color-text-on-dark);text-shadow:0 0 20px #3de7ff4d;margin:.15rem 0 .35rem;font-size:clamp(1.5rem,3.5vw,2.1rem)}.stats-screen__hint{color:var(--color-text-on-dark);text-shadow:0 1px 4px #00000080;margin:0;font-size:.9rem}.stats-error{width:100%;max-width:1100px;color:var(--color-text-on-dark);background:#ff365f1f;border:1px solid #ff365f59;border-radius:10px;margin:0 auto;padding:.65rem .9rem;font-size:.9rem}.stats-section__title{color:var(--color-text-on-dark);text-shadow:0 1px 4px #00000080;margin:0 0 .85rem;font-size:1.15rem}.stats-empty{color:var(--color-text-on-dark);opacity:.7;margin:0;font-size:.9rem}.stats-cards,.stats-faction__grid,.stats-mode__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.stats-card{border:1px solid var(--color-glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0d;border-radius:12px;flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex}.stats-card__value{color:var(--color-text-on-dark);font-size:1.35rem;font-weight:700;line-height:1.1}.stats-card__label{color:var(--color-text-on-dark);opacity:.8;font-size:.8rem}.stats-card__hint{color:var(--color-accent);font-size:.72rem}.stats-leader{border:1px solid var(--color-glass-border);background:#ffffff0d;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.stats-leader--pirate{background:#ff365f1f;border-color:#ff365f66}.stats-leader--marine{background:#3de7ff1f;border-color:#3de7ff66}.stats-leader__crown{font-size:1.6rem}.stats-leader__name{color:var(--color-text-on-dark);font-size:1.25rem;font-weight:700}.stats-leader__detail{color:var(--color-text-on-dark);opacity:.85;font-size:.9rem}.stats-factions{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.stats-faction{border:1px solid var(--color-glass-border);background:#ffffff0a;border-radius:14px;padding:1rem}.stats-faction--pirate{border-top:3px solid var(--color-primary)}.stats-faction--marine{border-top:3px solid var(--color-secondary)}.stats-faction__head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.stats-faction__name{color:var(--color-text-on-dark);font-size:1.05rem;font-weight:700}.stats-faction__badge{color:#0b0e1a;background:var(--color-accent);border-radius:999px;padding:.15rem .55rem;font-size:.7rem}.stats-boards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.stats-board{border:1px solid var(--color-glass-border);background:#ffffff0a;border-radius:14px;padding:1rem}.stats-board__title{color:var(--color-text-on-dark);margin:0 0 .65rem;font-size:.95rem}.stats-board__list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.stats-board__row{background:#ffffff08;border-radius:8px;grid-template-columns:1.75rem 1fr auto;align-items:center;gap:.5rem;padding:.35rem .5rem;display:grid}.stats-board__row:first-child{background:#d6a63b29}.stats-board__rank{color:var(--color-accent);text-align:center;font-weight:700}.stats-board__name{color:var(--color-text-on-dark);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;font-size:.88rem;display:flex;overflow:hidden}.stats-board__value{color:var(--color-text-on-dark);white-space:nowrap;font-size:.85rem;font-weight:600}.stats-tag{white-space:nowrap;border-radius:999px;padding:.05rem .4rem;font-size:.65rem}.stats-tag--pirate{color:var(--color-primary);background:#ff365f24}.stats-tag--marine{color:var(--color-secondary);background:#3de7ff24}.stats-modetabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.stats-modetab{border:1px solid var(--color-glass-border);color:var(--color-text-on-dark);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;transition:background .15s,border-color .15s}.stats-modetab:hover{background:#ffffff17}.stats-modetab--active{color:#eafcff;background:#3de7ff29;border-color:#3de7ff8c}.stats-modetable{border:1px solid var(--color-glass-border);background:#ffffff0a;border-radius:14px;flex-direction:column;gap:.3rem;padding:.75rem;display:flex;overflow-x:auto}.stats-modetable__row{color:var(--color-text-on-dark);border-radius:8px;grid-template-columns:2rem minmax(120px,1.6fr) repeat(4,minmax(56px,.8fr));align-items:center;gap:.5rem;min-width:460px;padding:.4rem .5rem;font-size:.85rem;display:grid}.stats-modetable__row:not(.stats-modetable__row--head):nth-child(2){background:#d6a63b29}.stats-modetable__row--head{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.72rem}.stats-modetable__name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;display:flex;overflow:hidden}.game-lobby__rules-card{border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:18px;flex-direction:column;align-self:start;gap:.6rem;padding:clamp(1.1rem,2vw,1.6rem);display:flex;box-shadow:0 18px 50px #00000059}.game-lobby__rules-title{color:var(--color-text-on-dark);text-shadow:0 0 18px #3de7ff4d;margin:.1rem 0 .4rem;font-size:clamp(1.2rem,2.5vw,1.6rem)}.game-lobby__rules-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.game-lobby__rules-item{color:var(--color-text-on-dark);padding-left:1.4rem;font-size:.9rem;line-height:1.4;position:relative}.game-lobby__rules-item:before{content:"▸";color:var(--color-accent);position:absolute;top:0;left:0}*{scrollbar-width:thin;scrollbar-color:var(--color-secondary) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#04061059;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(#3de7ffa6,#1c78c0bf) padding-box padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3de7ffd9,#1c78c0f2) padding-box padding-box}::-webkit-scrollbar-corner{background:0 0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}._scene_1hbzs_1{--px: 0;--py: 0;--amp-x: 36px;--amp-y: 22px;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#050816;contain:layout paint;isolation:isolate}._layer_1hbzs_14{position:absolute;pointer-events:none;will-change:transform}._sky_1hbzs_20{top:0;right:0;bottom:0;left:0;transform:translate3d(calc(var(--px, 0) * var(--depth, 0) * var(--amp-x, 36px)),calc(var(--py, 0) * var(--depth, 0) * var(--amp-y, 22px)),0) scale(1.08);transform-origin:center center}._skyImg_1hbzs_26{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}._fullscreenPng_1hbzs_36{top:0;right:0;bottom:0;left:0;transform:translate3d(calc(var(--px, 0) * var(--depth, 0) * var(--amp-x, 36px)),calc(var(--py, 0) * var(--depth, 0) * var(--amp-y, 22px)),0) scale(1.06);transform-origin:center center}._fullscreenPngImg_1hbzs_42{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}._shipGroup_1hbzs_52{left:50%;bottom:-12vh;width:clamp(1100px,60vw,1100px);transform:translate(-50%)}@keyframes _ship-approach_1hbzs_1{0%{transform:scale(.18);opacity:0}8%{opacity:1}to{transform:scale(1);opacity:1}}._shipApproachWrapper_1hbzs_72{position:relative;width:100%;transform-origin:50% 150%;animation:_ship-approach_1hbzs_1 10s ease-out forwards}@keyframes _ship-swell_1hbzs_1{0%{transform:translateY(0) rotate(0)}22%{transform:translateY(-18px) rotate(1.4deg)}47%{transform:translateY(-8px) rotate(-.8deg)}73%{transform:translateY(-22px) rotate(1.9deg)}to{transform:translateY(0) rotate(0)}}@keyframes _ship-chop_1hbzs_1{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-5px) rotate(-.4deg)}65%{transform:translateY(-2px) rotate(.35deg)}to{transform:translateY(0) rotate(0)}}._shipWaveWrapper_1hbzs_110{position:relative;width:100%;transform-origin:50% 85%;animation:_ship-swell_1hbzs_1 8.7s ease-in-out infinite}._shipChopWrapper_1hbzs_117{position:relative;width:100%;transform-origin:50% 80%;animation:_ship-chop_1hbzs_1 3.1s ease-in-out infinite}._shipHull_1hbzs_124{display:block;position:relative;width:100%;height:auto;z-index:2}._shipMast_1hbzs_132{position:absolute;bottom:80%;left:50%;transform:translate(-50%);width:78%;height:auto;z-index:1}._hqShip_1hbzs_142{left:50%;bottom:-8vh;width:clamp(1500px,60vw,1100px);transform:translate3d(calc(-50% + var(--px, 0) * var(--depth, 0) * var(--amp-x, 36px)),calc(var(--py, 0) * var(--depth, 0) * var(--amp-y, 22px)),0)}@keyframes _hq-arrive_1hbzs_1{0%{transform:translate(80vw);opacity:0}6%{opacity:1}to{transform:translate(0);opacity:1}}@keyframes _hq-swell_1hbzs_1{0%{transform:translateY(0) rotate(0)}22%{transform:translateY(-14px) rotate(.5deg)}47%{transform:translateY(-6px) rotate(-.3deg)}73%{transform:translateY(-18px) rotate(.7deg)}to{transform:translateY(0) rotate(0)}}@keyframes _hq-chop_1hbzs_1{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-4px) rotate(-.15deg)}65%{transform:translateY(-2px) rotate(.12deg)}to{transform:translateY(0) rotate(0)}}._hqArriveWrapper_1hbzs_193{width:100%;animation:_hq-arrive_1hbzs_1 9s ease-out forwards}._hqWaveWrapper_1hbzs_198{position:relative;width:100%;transform-origin:50% 85%;animation:_hq-swell_1hbzs_1 9.3s ease-in-out infinite}._hqChopWrapper_1hbzs_205{position:relative;width:100%;transform-origin:50% 80%;animation:_hq-chop_1hbzs_1 3.7s ease-in-out infinite}._hqImg_1hbzs_212{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}._fgLeft_1hbzs_220{left:-1vw;bottom:-1vw;width:clamp(1000px,50vw,1000px);transform:translate3d(calc(var(--px, 0) * var(--depth, 0) * var(--amp-x, 36px)),calc(var(--py, 0) * var(--depth, 0) * var(--amp-y, 22px)),0)}._fgRight_1hbzs_227{right:-1vw;bottom:-1vw;width:clamp(1000px,50vw,1000px);transform:translate3d(calc(var(--px, 0) * var(--depth, 0) * var(--amp-x, 36px)),calc(var(--py, 0) * var(--depth, 0) * var(--amp-y, 22px)),0)}._fgLeft_1hbzs_220._marineFg_1hbzs_234{left:-1vw;bottom:-15px;width:clamp(1000px,50vw,680px)}._fgRight_1hbzs_227._marineFg_1hbzs_234{right:-1vw;bottom:-15px;width:clamp(1000px,50vw,680px)}._fgImg_1hbzs_246{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}._scrim_1hbzs_254{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 65% 55% at 50% 50%,rgba(5,8,22,.38) 0%,rgba(5,8,22,.14) 48%,transparent 72%)}._content_1hbzs_261{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;display:flex;align-items:center;justify-content:center}._content_1hbzs_261>*{pointer-events:auto}@media(max-width:900px){._scene_1hbzs_1{--amp-x: 14px;--amp-y: 9px}}@media(hover:none),(pointer:coarse){._scene_1hbzs_1{--amp-x: 0px;--amp-y: 0px}}@media(prefers-reduced-motion:reduce){._scene_1hbzs_1{--amp-x: 0px;--amp-y: 0px}}._wrapper_kyiwj_1{position:absolute;top:0;right:0;bottom:0;left:0}._topRight_kyiwj_6{position:absolute;top:1.25rem;right:1.25rem;z-index:10}._topLeft_kyiwj_13{position:absolute;top:1.25rem;left:1.25rem;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}._balance_kyiwj_24{font-family:var(--font-display);font-size:1.2rem;line-height:1;color:var(--color-accent);text-shadow:0 0 14px rgba(214,166,59,.5);padding:.4rem .9rem;border-radius:var(--radius-pill);border:1px solid var(--color-glass-border);background:var(--color-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}._panel_kyiwj_37{position:absolute;bottom:12vh;left:max(3vw,2rem);width:min(340px,88vw);padding:1.1rem;border-radius:var(--radius-card);border:1px solid rgba(255,255,255,.22);background:linear-gradient(150deg,#ffffff2e,#ffffff0d 40%,#ffffff05),#0c10224d;-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff8c,inset 0 -2px 6px #00000040,inset 0 0 0 1px #ffffff0f}._panel_kyiwj_37 h1,._panel_kyiwj_37 h2,._panel_kyiwj_37 h3,._panel_kyiwj_37 h4{color:var(--color-text-on-dark)}._panelMarine_kyiwj_53{left:auto;right:max(3vw,2rem)}._actions_kyiwj_58{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}._mpScreen_kyiwj_65{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;overflow-y:auto;display:flex;flex-direction:column;padding:5.75rem clamp(1rem,4vw,3rem) 2.5rem;background:linear-gradient(#04061052,#04061080)}._mpInner_kyiwj_76{width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}._mpHead_kyiwj_85{margin-bottom:.25rem}._mpTitle_kyiwj_89{margin:.15rem 0 .35rem;color:var(--color-text-on-dark);font-size:clamp(1.5rem,3.5vw,2.1rem);text-shadow:0 0 20px rgba(61,231,255,.3)}._mpHint_kyiwj_96{margin:0;color:var(--color-text-on-dark);font-size:.9rem;text-shadow:0 1px 4px rgba(0,0,0,.5)}._mpRoomList_kyiwj_103{display:flex;flex-direction:column;gap:.5rem;max-height:62vh;overflow-y:auto}._mpRoomList_kyiwj_103::-webkit-scrollbar{width:4px}._mpRoomList_kyiwj_103::-webkit-scrollbar-track{background:transparent}._mpRoomList_kyiwj_103::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:4px}._roomItem_kyiwj_121{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--color-glass-border);border-radius:8px;background:#ffffff0a;transition:border-color .18s}._roomItem_kyiwj_121:hover{border-color:var(--color-secondary-border)}._roomName_kyiwj_135{flex:1;font-size:.88rem;font-weight:600;color:var(--color-text-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._roomMeta_kyiwj_145{flex-shrink:0;font-size:.78rem;color:var(--color-text-muted-on-dark);white-space:nowrap}._emptyRooms_kyiwj_152{padding:1.5rem 0;text-align:center;font-size:.85rem;font-style:italic;color:var(--color-text-muted-on-dark)}@media(max-width:640px){._panel_kyiwj_37,._panel_kyiwj_37._panelMarine_kyiwj_53{left:50%;right:auto;bottom:2rem;transform:translate(-50%);width:92vw}}
