@font-face{font-family:Hylia Serif;src:url(/assets/HyliaSerifBeta-Regular-CZ8aQLyA.otf)format("opentype");font-display:swap}:root{--background:#0b1015;--surface:#0e151b;--surface-raised:#151e25;--surface-hover:#1a252d;--input:#111920;--border:#26343e;--border-active:#435762;--text:#edf2f3;--text-muted:#a5b2b5;--text-subtle:#74858a;--accent:#66cfc3;--accent-light:#a9e7df;--accent-soft:#66cfc31f;--focus:#66cfc340;--radius-sm:9px;--radius-md:14px;--radius-lg:22px;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}h1,h2,p{margin-top:0}h1{letter-spacing:-.025em;font-size:1.45rem;line-height:1.1}h2{letter-spacing:-.01em;font-size:1rem;line-height:1.2}p{line-height:1.55}::selection{color:#001116;background:#7aeaff}.app-shell{grid-template-columns:minmax(340px,420px) minmax(0,1fr);min-height:100dvh;display:grid}.editor-panel{background:var(--surface);border-right:1px solid var(--border);scrollbar-color:var(--border-active) transparent;height:100dvh;overflow-y:auto}.app-brand{display:block}.app-header h1{margin:3px 0 0}.app-intro{max-width:38ch;color:var(--text-muted);margin:14px 0 0;font-size:.82rem;line-height:1.5}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.65rem;font-weight:750}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.account-menu{border-bottom:1px solid var(--border);background:#09131d;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:12px 22px;display:grid}.account-avatar{color:#031116;background:var(--accent-light);border-radius:50%;place-items:center;width:36px;height:36px;font-size:.78rem;font-weight:850;display:grid}.account-identity{gap:2px;min-width:0;display:grid}.account-identity strong,.account-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-identity strong{color:var(--text);font-size:.76rem}.account-identity small{color:var(--text-subtle);font-size:.64rem}.account-menu button{min-height:44px;color:var(--text-muted);font:inherit;border:1px solid var(--border-active);cursor:pointer;background:0 0;border-radius:3px;padding:0 11px;font-size:.68rem;font-weight:700;transition:color .18s,background-color .18s,border-color .18s}.account-menu button:hover:not(:disabled){color:#fff;background:var(--surface-hover);border-color:var(--accent)}.account-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.account-menu button:disabled{cursor:wait;opacity:.45}.account-actions{gap:7px;display:flex}.auth-shell,.session-loading{background:radial-gradient(circle at 50% 12%, #20c5e81f, transparent 34rem), linear-gradient(135deg, #070b11, var(--background));place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{border:1px solid var(--border-active);border-top:3px solid var(--accent);background:#080c12f5;border-radius:5px;width:min(440px,100%);padding:32px;box-shadow:0 30px 90px #00000073}.auth-brand,.session-loading-mark{color:#031116;letter-spacing:-.04em;background:var(--accent-light);place-items:center;width:48px;height:48px;margin-bottom:20px;font-size:.9rem;font-weight:900;display:grid;box-shadow:6px 6px #20c5e829}.auth-card h1{margin:7px 0 0;font-size:clamp(1.65rem,6vw,2.15rem)}.auth-intro{max-width:42ch;color:var(--text-muted);margin:14px 0 24px;font-size:.88rem}.auth-tabs{background:var(--input);border:1px solid var(--border);border-radius:4px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-tabs button{min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;font-size:.76rem;font-weight:750;transition:color .18s,background-color .18s}.auth-tabs button[aria-selected=true]{color:var(--text);background:var(--surface-raised);box-shadow:inset 0 -2px 0 var(--accent)}.auth-tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.auth-form{gap:16px;margin-top:22px;display:grid}.auth-form label{color:var(--text-muted);gap:7px;font-size:.72rem;font-weight:700;display:grid}.auth-form input{width:100%;min-height:48px;color:var(--text);font:inherit;background:var(--input);border:1px solid var(--border-active);border-radius:3px;outline:none;padding:0 13px;font-size:1rem;transition:border-color .18s,box-shadow .18s}.auth-form input::placeholder{color:var(--text-subtle)}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.auth-error{color:#ffc0bb;background:#ba302729;border-left:3px solid #e66c63;margin:-4px 0 0;padding:10px 12px;font-size:.76rem}.auth-submit{color:#031116;min-height:48px;font:inherit;background:var(--accent-light);border:1px solid var(--accent-light);cursor:pointer;border-radius:3px;margin-top:2px;font-size:.82rem;font-weight:850;transition:background-color .18s,opacity .18s}.auth-submit:hover:not(:disabled){background:#d5f9ff}.auth-submit:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.auth-submit:disabled{cursor:wait;opacity:.55}.session-loading{color:var(--text-muted);align-content:center}.session-loading-mark{margin:0 auto 16px}.session-loading p{margin:0;font-size:.82rem}.session-error{color:#ffc0bb;background:#231015;border:1px solid #713b3b;margin:0;padding:12px 14px;font-size:.76rem;position:fixed;bottom:16px;right:16px}@media (width<=520px){.auth-shell{padding:12px}.auth-card{padding:24px 20px}.account-menu{grid-template-columns:36px minmax(0,1fr)}.account-menu button{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.auth-tabs button,.auth-form input,.auth-submit,.account-menu button{transition:none}}.project-switcher{border-bottom:1px solid var(--border);background:#0b111a;gap:12px;padding:18px 22px;display:grid}.project-switcher-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.project-switcher-heading h2{margin:4px 0 0;font-size:1rem}.project-create-button,.project-secondary-actions button,.project-dialog-actions button{min-height:44px;color:var(--text);font:inherit;border:1px solid var(--border-active);cursor:pointer;background:0 0;border-radius:3px;padding:0 13px;font-size:.74rem;font-weight:700;transition:color .16s,background-color .16s,border-color .16s,opacity .16s}.project-create-button{color:#031116;background:var(--accent-light);border-color:var(--accent-light);min-width:102px}.project-create-button:hover:not(:disabled){background:#d5f9ff}.project-select-label{display:block;position:relative}.project-select-label:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:14px;transform:translateY(-70%)rotate(45deg)}.project-select-label select{box-sizing:border-box;width:100%;min-height:46px;color:var(--text);font:inherit;text-overflow:ellipsis;background:var(--input);border:1px solid #38516b;border-left:3px solid var(--accent);cursor:pointer;appearance:none;border-radius:3px;padding:0 42px 0 13px;font-size:.86rem;font-weight:700;overflow:hidden}.project-select-label select:hover:not(:disabled){border-color:var(--accent)}.project-select-label select:focus-visible,.project-create-button:focus-visible,.project-secondary-actions button:focus-visible,.project-dialog-actions button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.project-select-label select:disabled,.project-create-button:disabled,.project-secondary-actions button:disabled{cursor:wait;opacity:.45}.project-secondary-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.project-secondary-actions button:hover:not(:disabled){color:#fff;background:var(--surface-hover);border-color:#5f748e}.project-secondary-actions .project-delete-button{color:#ffaaa3;border-color:#ff706559}.project-secondary-actions .project-delete-button:hover:not(:disabled){color:#fff;background:#ba30272e;border-color:#e66c63}.project-dialog-backdrop{z-index:1100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02050acc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-dialog{width:min(420px,100%);color:var(--text);border:1px solid #38516b;border-top:3px solid var(--accent);background:#0b111a;border-radius:4px;box-shadow:0 28px 90px #00000094}.project-dialog header{border-bottom:1px solid var(--border);padding:22px 24px 18px}.project-dialog h2{margin:5px 0 0;font-size:1.12rem}.project-dialog h2:focus{outline:none}.project-dialog-intro{color:var(--text-muted);margin:8px 0 0;font-size:.76rem;line-height:1.45}.project-dialog form{padding:0 24px 22px}.project-name-control{padding-top:18px}.project-dialog-error{color:#ffaaa3;margin:7px 0 0;font-size:.72rem}.project-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.project-dialog-actions button:last-child{color:#031116;background:var(--accent-light);border-color:var(--accent-light);min-width:110px}.project-dialog-actions button:hover{border-color:var(--accent)}.project-dialog-actions button:last-child:hover{background:#d5f9ff}.project-template-panel{border-bottom:1px solid var(--border);min-height:74px;box-shadow:inset 2px 0 0 var(--accent);background:#09131d;justify-content:space-between;align-items:center;gap:16px;padding:15px 22px;display:flex}.project-template-panel h2{margin:4px 0 0;font-size:.9rem}.project-template-panel p:last-child{color:var(--text-subtle);margin:5px 0 0;font-size:.67rem}.project-template-panel button{min-height:44px;color:var(--accent-light);font:inherit;background:var(--accent-soft);cursor:pointer;border:1px solid #28556a;border-radius:3px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.72rem;font-weight:750;display:inline-flex}.project-template-panel button svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:17px;height:17px}.project-template-panel button svg circle{fill:currentColor;stroke:none}.project-template-panel button:hover:not(:disabled){color:#fff;border-color:var(--accent)}.project-template-panel button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.project-template-panel button:disabled{cursor:wait;opacity:.45}.project-template-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.project-dialog-wizard{grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,100%);max-height:min(860px,100dvh - 32px);display:grid;overflow:hidden}.project-dialog .wizard-header{padding:20px 24px 16px}.wizard-progress{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:18px;display:grid}.wizard-progress span{color:var(--text-subtle);text-align:center;justify-items:center;gap:5px;font-size:.62rem;display:grid;position:relative}.wizard-progress span:before{content:"";background:var(--border-active);height:1px;position:absolute;top:12px;left:-50%;right:50%}.wizard-progress span:first-child:before{display:none}.wizard-progress i{z-index:1;width:24px;height:24px;color:var(--text-muted);border:1px solid var(--border-active);background:#111b28;border-radius:50%;place-items:center;font-style:normal;font-weight:800;display:grid;position:relative}.wizard-progress .is-current,.wizard-progress .is-complete{color:var(--text)}.wizard-progress .is-current i{color:#021017;background:var(--accent-light);border-color:var(--accent-light);box-shadow:0 0 0 3px var(--accent-soft)}.wizard-progress .is-complete i{color:var(--accent-light);border-color:var(--accent)}.wizard-progress .is-complete:before,.wizard-progress .is-current:before{background:var(--accent)}.wizard-body{scrollbar-color:var(--border-active) transparent;min-height:430px;padding:20px 24px 24px;overflow-y:auto}.wizard-workspace{grid-template-columns:minmax(350px,.9fr) minmax(440px,1.1fr);align-items:start;gap:20px;display:grid}.wizard-controls{min-width:0}.wizard-preview-panel{border:1px solid var(--border-active);background:#080d14;border-radius:4px;min-width:0;padding:14px;position:sticky;top:0;box-shadow:0 12px 32px #0000003d}.wizard-preview-heading{justify-content:space-between;align-items:center;gap:14px;min-height:50px;margin-bottom:12px;display:flex}.wizard-preview-heading>div{min-width:0}.wizard-preview-heading .eyebrow{margin-bottom:3px}.wizard-preview-heading h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;font-weight:750;overflow:hidden}.wizard-preview-heading small{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.62rem;display:block;overflow:hidden}.wizard-preview-heading button{min-height:44px;color:var(--accent-light);font:inherit;background:var(--accent-soft);cursor:pointer;border:1px solid #28556a;border-radius:3px;flex:none;align-items:center;gap:7px;padding:0 11px;font-size:.67rem;font-weight:750;display:inline-flex}.wizard-preview-heading button:hover{color:#fff;border-color:var(--accent)}.wizard-preview-heading button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wizard-preview-heading button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.wizard-preview-frame{background:#03060a;border:1px solid #26384b;padding:7px}.wizard-preview-canvas{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden}.wizard-preview-canvas .top8-canvas{width:100%}.wizard-preview-note{color:var(--text-subtle);margin:9px 0 0;font-size:.61rem}.wizard-question{color:var(--text);margin:0 0 13px;font-size:.82rem;font-weight:750}.wizard-form-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.wizard-field{padding:0}.wizard-field-wide{grid-column:1/-1}.wizard-field>small{color:var(--text-subtle);margin-left:5px;font-size:.62rem;font-weight:500}.wizard-fieldset{border:0;min-width:0;margin:18px 0 0;padding:0}.wizard-fieldset legend{color:var(--text-muted);margin-bottom:9px;font-size:.69rem;font-weight:700}.wizard-chip-list{flex-wrap:wrap;gap:7px;display:flex}.wizard-chip-list button,.palette-preset-grid button{min-height:44px;color:var(--text-muted);font:inherit;background:var(--input);border:1px solid var(--border-active);cursor:pointer;border-radius:999px;padding:0 12px;font-size:.69rem;font-weight:700}.wizard-chip-list button:hover,.wizard-chip-list button.is-selected{color:#fff;background:var(--accent-soft);border-color:var(--accent)}.wizard-choice-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.wizard-family-grid{grid-template-columns:repeat(4,1fr)}.wizard-choice{min-height:68px;color:var(--text);text-align:left;background:var(--input);border:1px solid var(--border-active);cursor:pointer;border-radius:4px;grid-template-columns:auto minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 11px;transition:background-color .18s,border-color .18s;display:grid}.wizard-choice:hover{background:var(--surface-hover);border-color:#64809c}.wizard-choice.is-selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px #38d3ff26}.wizard-choice>span:nth-child(2){gap:3px;min-width:0;display:grid}.wizard-choice strong{font-size:.72rem;line-height:1.25}.wizard-choice small{color:var(--text-muted);font-size:.62rem;line-height:1.35}.wizard-choice>svg{fill:none;width:18px;height:18px;stroke:var(--accent-light);stroke-width:2px;opacity:0}.wizard-choice.is-selected>svg{opacity:1}.wizard-choice-swatch{border:1px solid #ffffff38;width:24px;height:34px;box-shadow:inset 0 0 0 4px #00000024}.wizard-slider-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.wizard-slider{border:1px solid var(--border);background:#ffffff06;gap:9px;margin-top:20px;padding:13px;display:grid}.wizard-slider-grid .wizard-slider{margin-top:0}.wizard-slider>span,.palette-slider>span{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.68rem;display:flex}.wizard-slider strong{color:var(--text)}.wizard-slider output,.palette-slider output{color:var(--accent-light);font-variant-numeric:tabular-nums}.wizard-slider input,.palette-slider input{width:100%;accent-color:var(--accent)}.wizard-slider>small{color:var(--text-subtle);justify-content:space-between;font-size:.58rem;display:flex}.wizard-color-modes{grid-template-columns:repeat(3,1fr)}.wizard-color-fields{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.wizard-color-fields label{min-height:48px;color:var(--text-muted);background:var(--input);border:1px solid var(--border);align-items:center;gap:9px;padding:6px 10px;font-size:.66rem;font-weight:700;display:flex}.wizard-color-fields input,.palette-source-row input{cursor:pointer;background:0 0;border:0;width:32px;height:32px;padding:0}.wizard-palette-preview{border:1px solid var(--border-active);border-radius:3px;height:34px;margin-top:16px;display:flex;overflow:hidden}.wizard-palette-preview span{flex:1}.wizard-summary{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.wizard-summary>div{background:var(--input);border:1px solid var(--border);border-left:3px solid var(--accent);align-content:center;gap:5px;min-height:92px;padding:15px;display:grid}.wizard-summary span{color:var(--text-subtle);letter-spacing:.09em;text-transform:uppercase;font-size:.61rem;font-weight:750}.wizard-summary strong{font-size:.86rem}.wizard-summary small{color:var(--text-muted);font-size:.66rem}.wizard-summary .wizard-palette-preview{height:22px;margin-top:3px}.wizard-actions{border-top:1px solid var(--border);background:#080d14;margin:0;padding:14px 24px}.wizard-actions button:nth-child(2){margin-right:auto}.wizard-actions .wizard-generate-button{min-width:180px}.palette-editor-backdrop{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02050ab3;justify-content:flex-end;display:flex;position:fixed;inset:0}.palette-editor{width:min(440px,100%);height:100dvh;color:var(--text);background:#0b111a;border-left:1px solid #38516b;grid-template-rows:auto minmax(0,1fr) auto;display:grid;box-shadow:-24px 0 80px #00000073}.palette-editor>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;min-height:74px;padding:16px 18px;display:flex}.palette-editor-title-row{align-items:center;gap:11px;display:flex}.palette-editor-icon{width:40px;height:40px;color:var(--accent-light);background:var(--accent-soft);border:1px solid #28556a;place-items:center;display:grid}.palette-editor-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:23px}.palette-editor h2{margin:4px 0 0;font-size:1rem}.palette-editor h2:focus{outline:none}.palette-close{width:44px;height:44px;color:var(--text-muted);border:1px solid var(--border-active);cursor:pointer;background:0 0;border-radius:3px;font:400 1.5rem/1 sans-serif}.palette-close:hover{color:#fff;border-color:var(--accent)}.palette-editor-scroll{scrollbar-color:var(--border-active) transparent;overflow-y:auto}.palette-editor-scroll section{border-bottom:1px solid var(--border);padding:18px}.palette-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.palette-section-heading h3{margin:0;font-size:.78rem}.palette-section-heading small{color:var(--text-subtle);font-size:.61rem}.palette-section-heading button{min-height:44px;color:var(--accent-light);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:.62rem}.palette-token-list{gap:6px;display:grid}.palette-token{background:var(--input);border:1px solid var(--border);grid-template-columns:1fr 44px;align-items:center;min-height:44px;display:grid}.palette-token label{min-width:0;color:var(--text-muted);cursor:pointer;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:5px 8px;font-size:.68rem;display:grid}.palette-token input{cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0}.palette-token code{color:var(--text-subtle);font-size:.6rem}.palette-token>button{width:44px;height:44px;color:var(--text-subtle);border:0;border-left:1px solid var(--border);cursor:pointer;background:0 0;place-items:center;display:grid}.palette-token>button.is-locked{color:var(--accent-light);background:var(--accent-soft)}.palette-token svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:18px}.palette-warning{color:#ffd39d;background:#a0550c21;border-left:2px solid #e59b45;margin:10px 0 0;padding:9px 10px;font-size:.65rem;line-height:1.4}.palette-source-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.palette-source-row label{min-height:44px;color:var(--text-muted);background:var(--input);border:1px solid var(--border-active);justify-content:space-between;align-items:center;gap:8px;padding:5px 8px 5px 11px;font-size:.66rem;display:flex}.palette-source-row select{min-width:0;color:var(--text);font:inherit;background:var(--input);border:1px solid var(--border-active);padding:0 8px;font-size:.67rem}.palette-wide-action{width:100%;min-height:44px;color:var(--accent-light);font:inherit;background:var(--accent-soft);cursor:pointer;border:1px solid #28556a;margin-top:8px;font-size:.68rem;font-weight:750}.palette-slider{gap:6px;margin-top:11px;display:grid}.palette-preset-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.palette-preset-grid button{border-radius:3px}.palette-editor>footer{border-top:1px solid var(--border);background:#080d14;grid-template-columns:1fr 1fr 1fr;gap:7px;padding:13px 18px;display:grid}.palette-editor>footer button{min-height:44px;color:var(--text);font:inherit;border:1px solid var(--border-active);cursor:pointer;background:0 0;padding:0 8px;font-size:.65rem;font-weight:750}.palette-editor>footer .palette-done{color:#031116;background:var(--accent-light);border-color:var(--accent-light)}.wizard-choice:focus-visible,.wizard-chip-list button:focus-visible,.palette-editor button:focus-visible,.palette-editor input:focus-visible,.palette-editor select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.template-editor{border-bottom:1px solid var(--border);padding:22px}.section-heading,.players-heading{margin-bottom:16px}.section-heading h2,.players-heading h2{margin:4px 0 0}.template-fields{gap:14px;display:grid}.template-fields .text-control{padding-top:0}.tournament-logo-control{border-top:1px solid var(--border);padding-top:14px}.startgg-importer{border-bottom:1px solid var(--border);background:#0a1018;padding:20px 22px}.startgg-form{gap:12px;display:grid}.startgg-privacy-note{color:var(--text-subtle);margin:-2px 0 0;font-size:.68rem;line-height:1.45}.startgg-privacy-note a{color:var(--accent-light);text-underline-offset:2px}.startgg-privacy-note a:hover{color:#fff}.startgg-load-button{color:#031116;min-height:40px;font:inherit;background:var(--accent-light);border:1px solid var(--accent-light);cursor:pointer;border-radius:3px;padding:0 13px;font-size:.78rem;font-weight:750}.startgg-load-button:hover:not(:disabled){background:#d5f9ff}.startgg-load-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.startgg-load-button:disabled{cursor:wait;opacity:.5}.startgg-error{color:#ff9d94;margin:0;font-size:.72rem;line-height:1.45}.startgg-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02050ac7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.startgg-dialog{width:min(560px,100%);max-height:min(760px,100dvh - 48px);color:var(--text);border:1px solid #38516b;border-top:3px solid var(--accent);background:#0b111a;border-radius:4px;overflow-y:auto;box-shadow:0 28px 90px #00000094}.startgg-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:20px;padding:22px 24px 18px;display:flex}.startgg-dialog-header h2{margin:5px 0 0;font-size:1.18rem}.startgg-event-facts{color:var(--text-muted);text-align:right;flex:none;gap:4px;font-size:.7rem;display:grid}.startgg-preview-list{margin:0;padding:8px 24px;list-style:none}.startgg-preview-list li{border-bottom:1px solid var(--border);grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:58px;display:grid}.startgg-preview-list li:last-child{border-bottom:0}.startgg-preview-list li>div{gap:3px;min-width:0;display:grid}.startgg-placement{color:var(--accent-light);font-variant-numeric:tabular-nums;font-size:1rem}.startgg-gamertag{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:700;overflow:hidden}.startgg-characters{color:var(--text-muted);flex-wrap:wrap;gap:4px 10px;font-size:.7rem;display:flex}.startgg-characters span+span:before{content:"/";color:var(--text-subtle);margin-right:10px}.startgg-characters .is-unmapped{color:#d8a878}.startgg-characters.is-empty{color:var(--text-subtle);font-style:italic}.startgg-character-note{color:#d8b98d;background:#d8a87812;border-top:1px solid #d8a8782e;margin:0;padding:12px 24px;font-size:.7rem}.startgg-dialog>.startgg-error{padding:10px 24px 0}.startgg-dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:18px 24px 22px;display:flex}.startgg-dialog-actions button{min-height:40px;color:var(--text);font:inherit;border:1px solid var(--border-active);cursor:pointer;background:0 0;border-radius:3px;padding:0 15px;font-size:.76rem;font-weight:700}.startgg-dialog-actions button:last-child{color:#031116;background:var(--accent-light);border-color:var(--accent-light);min-width:156px}.startgg-dialog-actions button:hover:not(:disabled){border-color:var(--accent)}.startgg-dialog-actions button:last-child:hover:not(:disabled){background:#d5f9ff}.startgg-dialog-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.startgg-dialog-actions button:disabled{cursor:wait;opacity:.5}.save-panel{border-bottom:1px solid var(--border);background:#0b111a;gap:12px;padding:18px 22px;display:grid}.save-panel h2{margin:4px 0 0}.save-actions{grid-template-columns:1fr;gap:8px;display:grid}.save-panel button{color:#031116;min-height:40px;font:inherit;background:var(--accent-light);cursor:pointer;border:1px solid #0000;border-radius:3px;padding:0 12px;font-size:.78rem;font-weight:750}.save-panel button:hover:not(:disabled){background:#d5f9ff}.save-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.save-panel button:disabled{cursor:wait;opacity:.5}.save-panel>p{min-height:1.2em;color:var(--text-subtle);margin:0;font-size:.7rem}.players-heading{margin:0;padding:22px 22px 14px}.players-heading-with-action{gap:12px;display:grid}.auto-place-all-button,.auto-place-button{min-height:40px;color:var(--accent-light);font:inherit;background:var(--accent-soft);cursor:pointer;border:1px solid #28556a;border-radius:3px;width:100%;padding:0 13px;font-size:.74rem;font-weight:750}.auto-place-all-button:hover:not(:disabled),.auto-place-button:hover:not(:disabled){color:#fff;border-color:var(--accent);background:#20c5e82e}.auto-place-all-button:focus-visible,.auto-place-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auto-place-all-button:disabled,.auto-place-button:disabled{cursor:wait;opacity:.42}.editor-list{border-top:1px solid var(--border)}.player-editor{border-bottom:1px solid var(--border);background:0 0}.player-editor summary{cursor:pointer;grid-template-columns:34px 1fr 18px;align-items:center;gap:11px;min-height:58px;padding:0 20px;list-style:none;transition:background-color .16s;display:grid}.player-editor summary::-webkit-details-marker{display:none}.player-editor summary:hover{background:var(--surface-hover)}.player-editor summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.player-editor summary>span:nth-child(2){gap:2px;min-width:0;display:grid}.player-editor summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:650;overflow:hidden}.player-editor summary small{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.07em;font-size:.65rem}.player-editor summary svg{width:18px;color:var(--text-subtle);transition:transform .16s}.player-editor[open] summary svg{color:var(--accent);transform:rotate(180deg)}.editor-placement{width:34px;height:34px;color:var(--accent-light);background:#0a131e;border:1px solid #284158;border-radius:2px;place-items:center;font-size:.85rem;font-weight:800;display:grid}.editor-fields{border-top:1px solid var(--border);gap:18px;padding:2px 20px 22px 22px;display:grid}.text-control,.range-control{color:var(--text-muted);gap:7px;font-size:.72rem;font-weight:650;display:grid}.text-control{padding-top:16px}.text-control input,.text-control select{box-sizing:border-box;width:100%;height:40px;color:var(--text);font:inherit;background:var(--input);border:1px solid var(--border);border-radius:3px;padding:0 11px;font-size:.88rem;font-weight:500}.text-control input:hover,.text-control select:hover{border-color:var(--border-active)}.text-control input:focus,.text-control select:focus{outline:2px solid var(--focus);border-color:var(--accent)}.text-control select:disabled{cursor:not-allowed;opacity:.42}.selects-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.compact-control{padding-top:0}.logo-control{color:var(--text-muted);gap:7px;font-size:.72rem;font-weight:650;display:grid}.logo-input-row{align-items:center;gap:7px;display:flex}.file-button,.remove-logo-button{box-sizing:border-box;min-height:38px;color:var(--text);font:inherit;background:var(--input);border:1px solid var(--border);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0 11px;font-size:.75rem;font-weight:650;display:inline-flex}.file-button:hover,.remove-logo-button:hover{border-color:var(--border-active);background:var(--surface-hover)}.file-button:focus-within,.remove-logo-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.remove-logo-button{color:var(--text-muted);background:0 0}.visually-hidden-file{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.logo-control small{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:500;overflow:hidden}.ranges-grid{gap:13px;display:grid}.range-control>span{justify-content:space-between;gap:16px;display:flex}.range-control output{color:var(--accent-light);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.range-control input{width:100%;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.range-control input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.toggle-control{min-height:38px;color:var(--text-muted);cursor:pointer;align-items:center;gap:9px;font-size:.76rem;font-weight:600;display:flex}.toggle-control input{width:17px;height:17px;accent-color:var(--accent);margin:0}.toggle-control input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.control-group{background:#0b111a;border:0;border-left:2px solid #26394d;border-radius:0;gap:15px;min-width:0;margin:0;padding:16px;display:grid}.control-group legend{color:var(--text);letter-spacing:.09em;text-transform:uppercase;padding:0 7px 0 0;font-size:.68rem;font-weight:750}.layer-select-button{width:100%;min-height:38px;color:var(--text-muted);font:inherit;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;padding:0 11px;font-size:.72rem;font-weight:700}.layer-select-button:hover:not(:disabled){color:var(--text);border-color:var(--border-active);background:var(--surface-hover)}.layer-select-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.layer-select-button.is-active{color:var(--accent-light);background:var(--accent-soft);border-color:var(--accent)}.layer-select-button:disabled{cursor:not-allowed;opacity:.4}.rank-options{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;display:grid}.rank-layer-control{padding-top:0}.color-control{color:var(--text-muted);gap:7px;font-size:.72rem;font-weight:650;display:grid}.color-input-wrap{background:var(--input);border:1px solid var(--border);border-radius:3px;align-items:center;gap:8px;height:40px;padding:4px 7px;display:flex}.color-input-wrap input{cursor:pointer;background:0 0;border:0;width:31px;height:30px;padding:0}.color-input-wrap output{color:var(--text);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;overflow:hidden}.preview-panel{background-color:var(--background);background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:24px 24px;flex-direction:column;justify-content:center;min-width:0;min-height:100dvh;padding:32px clamp(24px,4vw,64px);display:flex}.preview-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:24px;width:min(100%,820px);margin:0 auto 14px;padding-bottom:12px;display:flex}.preview-heading h2{margin:4px 0 0;font-size:1rem;font-weight:650}.preview-actions{align-items:end;gap:12px;display:flex}.canvas-size{color:var(--text-subtle);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.export-controls{flex-wrap:wrap;align-items:end;gap:7px;display:flex}.export-controls label{color:var(--text-muted);gap:4px;font-size:.65rem;font-weight:650;display:grid}.export-controls select,.export-controls button{box-sizing:border-box;min-height:40px;color:var(--text);font:inherit;border:1px solid var(--border);border-radius:3px;font-size:.75rem;font-weight:700}.export-controls select{background:var(--input);min-width:64px;padding:0 9px}.export-controls button{color:#031116;background:var(--accent-light);border-color:var(--accent-light);cursor:pointer;min-width:132px;padding:0 14px;transition:background-color .16s,opacity .16s}.export-controls button:hover:not(:disabled){background:#d5f9ff}.export-controls .export-psd-button{color:var(--accent-light);background:var(--accent-soft);border-color:#28556a}.export-controls .export-psd-button:hover:not(:disabled){color:#fff;border-color:var(--accent);background:#17394a}.export-controls select:focus-visible,.export-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.export-controls select:disabled,.export-controls button:disabled{cursor:wait;opacity:.5}.canvas-frame{box-sizing:border-box;background:#05080d;border:1px solid #2c3a4c;border-radius:2px;width:min(100%,718px);margin:0 auto;padding:8px;box-shadow:0 18px 45px #00000047}.preview-note{width:min(100%,820px);color:var(--text-subtle);margin:12px auto 0;font-size:.72rem}.export-status{color:#ff9d94;width:min(100%,820px);min-height:1.2em;margin:5px auto 0;font-size:.72rem}.top8-canvas{isolation:isolate;background:#0a0b0b;width:100%;position:relative;overflow:hidden}.template-layer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.template-decoration{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;filter:drop-shadow(0 0 4px #7cebff52);position:absolute}.tournament-logo{object-fit:contain;object-position:left bottom;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 3px #000000b8);position:absolute}.template-text{color:#fff;letter-spacing:.01em;text-shadow:0 1px 1px #00000059;white-space:normal;font-family:Hylia Serif,serif;font-weight:400;display:block;position:absolute;overflow:hidden}.template-text-eventName{font-weight:600}.slot-texture{z-index:1;object-fit:cover;filter:saturate(.84)contrast(1.05)brightness(.9);pointer-events:none;-webkit-user-select:none;user-select:none;background-color:#c6944f;display:block;position:absolute}.player-slot{position:absolute;overflow:hidden}.player-render{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:50%;filter:saturate(.92)contrast(1.04);width:92%;max-width:none;position:absolute;top:48%;left:50%}.player-render.is-dragging{cursor:grabbing}.player-render-secondary{z-index:2}.player-render-primary{z-index:3}.slot-shade{z-index:4;pointer-events:none;background:linear-gradient(#4b270714,#07090cad 100%);position:absolute;inset:0}.team-logo{z-index:5;object-fit:contain;filter:drop-shadow(0 1px 2px #000c);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.player-name{z-index:6;color:#fff8df;letter-spacing:.015em;text-shadow:0 1px 2px #000000f2;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;pointer-events:none;align-items:center;font-family:Hylia Serif,serif;font-weight:700;line-height:1;display:flex;position:absolute;overflow:hidden}.player-name.is-empty{color:#fff8dfad;letter-spacing:0;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:650}.placement-number-clip{pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:absolute;overflow:hidden}.placement-number{cursor:grab;touch-action:none;pointer-events:auto;paint-order:stroke;-webkit-text-stroke:1px #ead8a7;text-shadow:0 2px 2px #000000b3;place-items:center;font-family:Hylia Serif,serif;font-weight:400;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.placement-number.is-dragging{cursor:grabbing}.auto-placement-debug{z-index:50;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auto-placement-debug-safe,.auto-placement-debug-bounds{box-sizing:border-box;display:block;position:absolute}.auto-placement-debug-safe{background:#49e0ff14;border:1px dashed #49e0ff}.auto-placement-debug-bounds{border:1px solid #ff4fd8}.auto-placement-debug-secondary{border-color:#ffe44f}.auto-placement-debug-center{background:#ff4fd8;border:1px solid #080c12;border-radius:50%;width:5px;height:5px;display:block;position:absolute;transform:translate(-50%,-50%)}.auto-placement-debug-center-secondary{background:#ffe44f}.auto-placement-debug output{color:#fff;background:#000000d1;padding:2px 3px;font:5px/1 ui-monospace,monospace;position:absolute;bottom:3px;left:3px}.top8-canvas-comic{background:#020711}.top8-canvas-comic .slot-texture{filter:saturate(1.08)contrast(1.08);background-color:#0b62b9}.top8-canvas-comic .slot-texture-gold{filter:saturate(1.16)contrast(1.1)brightness(1.08)drop-shadow(0 0 4px #42e8ff6b)}.top8-canvas-comic .slot-texture-silver{filter:saturate(.9)contrast(1.08)brightness(1.04)drop-shadow(0 0 3px #dffcff66)}.top8-canvas-comic .slot-texture-bronze{filter:saturate(1.12)contrast(1.09)drop-shadow(0 0 3px #1e7a376b)}.top8-canvas-comic .template-text{color:#f7feff;text-transform:uppercase;text-shadow:3px 3px #020817,-1px -1px #16cce8;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.top8-canvas-comic .template-text-eventName{letter-spacing:.025em;white-space:nowrap;justify-content:center;align-items:center;font-style:italic;font-weight:900;display:flex;overflow:visible;transform:skew(-5deg)}.top8-canvas-comic .template-text-date,.top8-canvas-comic .template-text-participantCount{box-sizing:border-box;color:#080808;letter-spacing:.02em;text-shadow:none;white-space:nowrap;background:#fff;align-items:center;padding-left:5px;font-family:Arial,Helvetica,sans-serif;font-style:italic;font-weight:900;display:flex;transform:skew(-5deg)}.top8-canvas-comic .template-text-participantCount{background:#55cf78}.top8-canvas-comic .player-render{filter:saturate(1.08)contrast(1.06)drop-shadow(0 2px 1px #00000047)}.top8-canvas-comic .slot-shade{background:linear-gradient(#0000 48%,#05050580 100%)}.top8-canvas-comic .player-name{box-sizing:border-box;color:#020817;letter-spacing:.025em;text-shadow:none;text-transform:uppercase;transform-origin:50%;clip-path:polygon(2% 10%,100% 0,96% 100%,0 88%);padding:1px 7px 0;font-family:Impact,Arial Black,sans-serif;font-style:italic;font-weight:800;line-height:1;box-shadow:inset 0 -2px #0b62b98c}.top8-canvas-comic .player-name.is-empty{color:#020817b3;letter-spacing:.02em;font-family:Impact,Arial Black,sans-serif;font-weight:700}.top8-canvas-comic .placement-number{color:#f7feff;paint-order:stroke fill;-webkit-text-stroke:2px #020817;text-shadow:2px 2px #0b62b9,4px 4px #000000d1;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-style:italic;font-weight:900}.top8-canvas-comic .team-logo{filter:drop-shadow(2px 2px #000000e6)}.top8-canvas-comic .tournament-logo{object-position:center;filter:drop-shadow(0 0 3px #35e4ffb8)}.top8-canvas-generated .slot-texture{background:0 0}.top8-canvas-generated .player-name{box-sizing:border-box;text-shadow:none;text-transform:uppercase;clip-path:polygon(3% 8%,100% 0,96% 100%,0 90%);justify-content:center;padding:1px 6px 0;line-height:1;box-shadow:0 2px #0000008c}.top8-canvas-generated .player-name.is-empty{opacity:.72;font-family:inherit}.top8-canvas-generated .placement-number{paint-order:stroke fill}.top8-canvas-generated .tournament-logo{object-position:center;filter:drop-shadow(0 2px 4px #000000b8)}.top8-canvas-generated .team-logo{filter:drop-shadow(0 2px 2px #000000c7)}@media (width<=960px){.app-shell{grid-template-columns:1fr}.preview-panel{grid-row:1;min-height:auto;padding:24px 18px 28px}.editor-panel{border-top:1px solid var(--border);border-right:0;height:auto;overflow:visible}.project-dialog-wizard{width:min(760px,100%)}.wizard-workspace{grid-template-columns:1fr}.wizard-preview-panel{position:static}.wizard-family-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.preview-heading{flex-direction:column;align-items:stretch;gap:12px}.preview-actions{justify-content:space-between;align-items:stretch}.export-controls{align-items:end}.export-controls label{flex:1}.export-controls select{width:100%}.selects-grid,.rank-options{grid-template-columns:1fr}.startgg-dialog-backdrop{padding:10px}.startgg-dialog{max-height:calc(100dvh - 20px)}.startgg-dialog-header{flex-direction:column;gap:10px}.startgg-event-facts{text-align:left;gap:12px;display:flex}.project-dialog-backdrop{padding:8px}.project-dialog-wizard{max-height:calc(100dvh - 16px)}.project-dialog .wizard-header,.wizard-body,.wizard-actions{padding-left:16px;padding-right:16px}.wizard-body{min-height:0}.wizard-preview-heading{flex-direction:column;align-items:stretch}.wizard-preview-heading button{justify-content:center}.wizard-progress small{display:none}.wizard-form-grid,.wizard-choice-grid,.wizard-family-grid,.wizard-slider-grid,.wizard-summary{grid-template-columns:1fr}.wizard-family-grid{grid-template-columns:repeat(2,1fr)}.wizard-actions{grid-template-columns:1fr 1fr;display:grid}.wizard-actions button:nth-child(2){margin-right:0}.wizard-actions .wizard-generate-button{grid-column:1/-1;min-width:0}.project-template-panel{flex-direction:column;align-items:flex-start}.project-template-actions{width:100%}.project-template-actions button{flex:1}.palette-source-row,.palette-editor>footer{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.eyebrow{color:var(--text-subtle);letter-spacing:.045em;text-transform:none;font-size:.7rem;font-weight:700}.app-brand .eyebrow,.auth-card>.eyebrow{color:var(--accent)}.discord-handle{color:var(--accent-light);white-space:nowrap;font-weight:750}.beta-welcome-backdrop{z-index:1200;background:#04080bcc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.beta-welcome-dialog{width:min(100%,470px);color:var(--text-muted);border-radius:var(--radius-lg);background:#121a21;border:1px solid #ffffff14;padding:30px;box-shadow:0 32px 90px #0000006b}.beta-welcome-badge{min-height:25px;color:var(--accent-light);background:var(--accent-soft);border-radius:999px;align-items:center;padding:0 10px;font-size:.68rem;font-weight:750;display:inline-flex}.beta-welcome-dialog h2{color:var(--text);letter-spacing:-.035em;margin:16px 0 13px;font-size:1.45rem}.beta-welcome-dialog p{margin:0;font-size:.86rem;line-height:1.6}.beta-welcome-dialog p+p{margin-top:9px}.beta-welcome-dialog strong{color:var(--text)}.beta-welcome-dialog button{color:#0b1717;width:100%;min-height:46px;font:inherit;background:var(--accent-light);cursor:pointer;border:0;border-radius:11px;margin-top:23px;font-size:.82rem;font-weight:800;transition:background-color .18s}.beta-welcome-dialog button:hover{background:#c5f1ec}.beta-welcome-dialog button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.admin-backdrop{z-index:1150;background:#04080bd1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-panel{width:min(1100px,100%);max-height:min(820px,100dvh - 48px);color:var(--text);border-radius:var(--radius-lg);background:#111920;border:1px solid #ffffff14;overflow:auto;box-shadow:0 34px 100px #0000007a}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 30px 22px;display:flex}.admin-header h2{letter-spacing:-.035em;margin:6px 0 7px;font-size:1.55rem}.admin-header p:last-child{color:var(--text-muted);margin:0;font-size:.84rem}.admin-close{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:#ffffff09;border:0;border-radius:12px;flex:none;font:400 1.5rem/1 sans-serif}.admin-close:hover{color:var(--text);background:var(--surface-hover)}.admin-close:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 30px 22px;display:grid}.admin-stats>div{background:var(--surface-raised);border-radius:var(--radius-md);gap:3px;padding:15px 17px;display:grid}.admin-stats strong{font-variant-numeric:tabular-nums;font-size:1.3rem}.admin-stats span{color:var(--text-muted);font-size:.7rem}.admin-search{color:var(--text-muted);gap:7px;padding:0 30px 18px;font-size:.7rem;font-weight:700;display:grid}.admin-search input{width:min(420px,100%);min-height:45px;color:var(--text);font:inherit;background:#0b1217;border:1px solid #0000;border-radius:11px;outline:none;padding:0 13px;font-size:.88rem;box-shadow:inset 0 0 0 1px #fff1}.admin-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.admin-error{color:#ffc0bb;background:#ba302729;border-radius:10px;margin:0 30px 18px;padding:11px 13px;font-size:.76rem}.admin-loading,.admin-empty{color:var(--text-muted);text-align:center;margin:0;padding:30px;font-size:.82rem}.admin-table-wrap{padding:0 30px 30px;overflow-x:auto}.admin-user-table{border-collapse:collapse;width:100%;font-size:.75rem}.admin-user-table th{color:var(--text-subtle);text-align:left;border-bottom:1px solid #ffffff13;padding:10px 12px;font-size:.65rem;font-weight:700}.admin-user-table td{color:var(--text-muted);vertical-align:middle;border-bottom:1px solid #ffffff0e;padding:14px 12px}.admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-table td:first-child{min-width:190px}.admin-user-table td:first-child strong,.admin-user-table td:first-child small{display:block}.admin-user-table td:first-child strong{color:var(--text);font-size:.78rem}.admin-user-table td:first-child small{color:var(--text-subtle);margin-top:3px}.admin-status{border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:.65rem;font-weight:750;display:inline-flex}.admin-status.is-active{color:#a9e7df;background:#66cfc31c}.admin-status.is-disabled{color:#ffc0bb;background:#e66c631f}.admin-user-action{text-align:right}.admin-user-action button{color:#ffc0bb;min-height:38px;font:inherit;cursor:pointer;background:#e66c631a;border:0;border-radius:9px;padding:0 11px;font-weight:700}.admin-user-action button:hover:not(:disabled){background:#e66c632e}.admin-user-action button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.admin-user-action button:disabled{cursor:wait;opacity:.5}.admin-protected{color:var(--text-subtle);font-size:.68rem}.app-shell{background:var(--background);grid-template-columns:minmax(350px,405px) minmax(0,1fr);gap:0}.editor-panel{background:#0b1116;border-right:0;box-shadow:12px 0 35px #0000002e}.app-header{border-bottom:0;padding:30px 26px 22px}.app-header h1{letter-spacing:-.035em;margin-top:6px;font-size:1.6rem}.app-intro{color:var(--text-muted);margin-top:11px;font-size:.84rem}.account-menu{background:var(--surface-raised);border-radius:var(--radius-md);border:0;min-height:64px;margin:0 16px 14px;padding:10px 12px}.account-avatar{color:#0b1717;background:var(--accent-light);box-shadow:none}.account-menu button{border-radius:var(--radius-sm);background:#ffffff09;border-color:#0000}.project-switcher,.project-template-panel,.save-panel{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:none;border:0;margin:0 16px 12px;padding:17px}.project-template-panel{min-height:76px}.project-create-button,.project-secondary-actions button,.project-dialog-actions button,.project-template-panel button,.startgg-load-button,.startgg-dialog-actions button,.save-panel button,.auto-place-all-button,.auto-place-button,.layer-select-button,.export-controls select,.export-controls button,.palette-editor button{border-radius:var(--radius-sm)}.project-create-button,.save-panel button,.startgg-load-button,.export-controls button:not(.export-psd-button){color:#0a1717;background:var(--accent-light);border-color:#0000}.project-select-label select,.text-control input,.text-control select,.file-button,.remove-logo-button,.color-input-wrap{border-radius:var(--radius-sm);background:var(--input);border-color:#0000;box-shadow:inset 0 0 0 1px #ffffff09}.project-select-label select{border-left:0;min-height:48px}.project-secondary-actions{gap:7px}.project-secondary-actions button{background:#ffffff09;border-color:#0000;min-height:40px}.project-secondary-actions .project-delete-button{border-color:#0000}.template-editor,.startgg-importer{background:0 0;border-bottom:0;margin:0;padding:22px 26px 25px}.tournament-logo-control{border-color:#ffffff0e;margin-top:4px;padding-top:18px}.startgg-importer{padding-top:18px}.startgg-form{gap:11px}.save-panel>p{color:var(--text-muted)}.players-heading{padding:24px 24px 12px}.players-heading-with-action{gap:14px}.auto-place-all-button,.auto-place-button{min-height:44px;color:var(--accent-light);background:var(--accent-soft);border-color:#0000}.editor-list{border-top:0;gap:8px;padding:0 14px 24px;display:grid}.player-editor{border-radius:var(--radius-md);background:#111920;border:0;overflow:hidden}.player-editor[open]{background:var(--surface-raised);box-shadow:none}.player-editor summary{border-radius:inherit;min-height:64px;padding:0 16px}.editor-placement{background:#66cfc31a;border:0;border-radius:50%}.editor-fields{border-top-color:#ffffff0e;gap:17px;padding:4px 16px 18px}.control-group{border-radius:var(--radius-md);background:#050a0e52;border-left:0;padding:16px}.control-group legend{color:var(--text-muted);letter-spacing:.035em;text-transform:none}.layer-select-button{background:#ffffff09;border-color:#0000}.layer-select-button.is-active{border-color:#66cfc373}.preview-panel{background:#0d1318;justify-content:center;padding:36px clamp(28px,5vw,72px)}.preview-heading{border-bottom:0;width:min(100%,860px);margin-bottom:18px;padding-bottom:0}.preview-heading h2{font-size:1.08rem}.canvas-size{color:var(--text-subtle)}.export-controls select,.export-controls button{border-color:#0000;min-height:42px}.export-controls select{background:var(--surface-raised)}.export-controls .export-psd-button{background:var(--surface-raised);border-color:#0000}.canvas-frame{background:#070a0d;border:0;border-radius:18px;width:min(100%,734px);padding:11px;box-shadow:0 24px 65px #00000057}.canvas-frame .top8-canvas{border-radius:9px}.preview-note,.export-status{width:min(100%,860px)}.auth-shell,.session-loading{background:#0c1217}.auth-card{background:#111920;border:1px solid #ffffff13;border-radius:26px;width:100%;min-width:0;max-width:470px;padding:40px;box-shadow:0 28px 75px #00000052}.auth-brand,.session-loading-mark{color:#0b1717;background:var(--accent-light);width:50px;height:50px;box-shadow:none;border-radius:15px}.auth-card h1{letter-spacing:-.045em}.auth-intro{margin-bottom:26px}.auth-tabs{background:#0b1217;border:0;border-radius:14px;gap:5px;padding:5px}.auth-tabs button{border-radius:10px}.auth-tabs button[aria-selected=true]{background:var(--surface-raised);box-shadow:none}.auth-form{gap:18px}.auth-form input{background:#0c1319;border-color:#0000;border-radius:11px;box-shadow:inset 0 0 0 1px #fff1}.auth-submit{border:0;border-radius:11px}.project-dialog-backdrop,.startgg-dialog-backdrop{background:#04080bc2}.project-dialog-backdrop-required{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0c1217}.project-dialog,.startgg-dialog{border-radius:var(--radius-lg);background:#121a21;border:1px solid #ffffff14;overflow:hidden;box-shadow:0 32px 90px #00000061}.project-dialog-backdrop-required .project-dialog:not(.project-dialog-wizard){width:min(500px,100%)}.project-dialog header,.startgg-dialog-header{border-bottom-color:#ffffff0e}.wizard-choice,.wizard-slider,.wizard-color-fields label,.wizard-summary>div{background:var(--input);border-radius:var(--radius-md);border-color:#0000}.palette-editor-icon{border:0;border-radius:12px}.wizard-preview-panel{border-radius:var(--radius-md);border-color:#ffffff12}.wizard-preview-frame{border:0;border-radius:10px;overflow:hidden}.wizard-palette-preview{border:0;border-radius:999px}.startgg-preview-list li{border-bottom-color:#ffffff0e}.startgg-dialog-actions{border-top-color:#ffffff0e}.palette-editor{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.palette-token,.palette-source-row label,.palette-source-row select{border-radius:var(--radius-sm);border-color:#0000}@media (width<=960px){.app-shell{grid-template-columns:1fr}.editor-panel{box-shadow:none}.preview-panel{padding:26px 18px 30px}}@media (width<=600px){.auth-shell{grid-template-columns:minmax(0,1fr);overflow-x:hidden}.auth-card{border-radius:20px;padding:28px 22px}.auth-tabs button{white-space:normal;min-width:0;padding:0 8px}.app-header{padding-left:20px;padding-right:20px}.project-switcher,.project-template-panel,.save-panel,.account-menu{margin-left:10px;margin-right:10px}.editor-list{padding-left:10px;padding-right:10px}.beta-welcome-backdrop{padding:12px}.beta-welcome-dialog{border-radius:18px;padding:24px 20px}.project-dialog{border-radius:18px}.admin-backdrop{padding:0}.admin-panel{border:0;border-radius:0;width:100%;min-height:100dvh;max-height:100dvh}.admin-header{padding:22px 18px 18px}.admin-stats{padding:0 18px 18px}.admin-search{padding:0 18px 16px}.admin-error{margin-left:18px;margin-right:18px}.admin-table-wrap{padding:0 18px 24px;overflow:visible}.admin-user-table thead{display:none}.admin-user-table,.admin-user-table tbody,.admin-user-table tr,.admin-user-table td{width:100%;display:block}.admin-user-table tr{background:var(--surface-raised);border-radius:var(--radius-md);margin-bottom:10px;padding:13px}.admin-user-table td{text-align:right;border:0;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:6px 0;display:grid}.admin-user-table td:before{content:attr(data-label);color:var(--text-subtle);text-align:left;font-size:.65rem;font-weight:700}.admin-user-table td:first-child{min-width:0}.admin-user-action{margin-top:5px}.admin-user-action:before{content:""}.admin-user-action button{min-height:44px}}
