body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:JetBrains Mono,Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#f8fafc;--surface:#fff;--surface-alt:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#eef2ff;--accent-subtle:#4f46e51f;--success:#10b981;--success-subtle:#10b9811a;--error:#ef4444;--error-hover:#dc2626;--error-subtle:#ef44441a;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--radius:8px;--radius-lg:12px;--nav-height:64px;--content-max:900px}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background-color:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6}.App{background-color:var(--bg);text-align:left;min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;background:0 0;border-radius:0;margin:0 0 .75rem;padding:0;font-weight:600;line-height:1.3}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem}h3{color:var(--text-secondary);font-size:1.125rem}p{color:var(--text-secondary);margin:0 0 1rem;line-height:1.75}nav{background-color:var(--surface);border-bottom:1px solid var(--border);height:var(--nav-height);z-index:100;box-shadow:var(--shadow-sm);border-radius:0;align-items:center;margin-bottom:0;padding:0 2rem;display:flex;position:sticky;top:0}nav ul{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}nav ul li,nav ul li:last-child{margin-right:0}nav ul li a{color:var(--text-secondary);border-radius:var(--radius);align-items:center;padding:.4rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s;display:inline-flex}nav ul li a:hover{color:var(--text-primary);background-color:var(--surface-alt);transform:none}nav ul li a.active{color:var(--accent);background-color:var(--accent-light);border-radius:var(--radius)}nav ul li button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;align-items:center;width:auto;margin:0;padding:.4rem .75rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}nav ul li button:hover{background:var(--surface-alt);color:var(--text-primary);border-color:var(--border-strong)}@media (width<=768px){nav{height:auto;min-height:var(--nav-height);flex-wrap:wrap;padding:.75rem 1rem}nav ul{flex-wrap:wrap;gap:.2rem}nav ul li a{text-align:left;width:auto;padding:.35rem .6rem;font-size:.8rem}}section{background-color:var(--surface);border-bottom:1px solid var(--border);scroll-margin-top:calc(var(--nav-height) + 1rem);border-radius:0;margin:0;padding:2.5rem 2rem}.site-header{background-color:var(--surface);border-bottom:1px solid var(--border);padding:3rem 2rem 2rem}.site-header h1{margin:0 0 .5rem}.site-tagline{max-width:var(--content-max);color:var(--text-secondary);margin:0;font-size:1.05rem}section:nth-child(2n){background-color:var(--bg)}.topic-index ul,.topic-more ul,.tool-index ul{max-width:var(--content-max);margin:0;padding:0;list-style:none}.topic-index li,.topic-more li,.tool-index li{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:.6rem 0;line-height:1.7}.topic-index li:last-child,.topic-more li:last-child,.tool-index li:last-child{border-bottom:none}.topic-index li a,.topic-more li a,.tool-index li a{font-weight:600}.topic-body{background-color:var(--surface);border-bottom:1px solid var(--border);padding:2.5rem 2rem}.topic-body>*,.topic-body p,.topic-body ul,.topic-body ol,.topic-body table{max-width:var(--content-max)}.topic-body h2{margin-top:2.5rem}.topic-body>:first-child{margin-top:0}.topic-more{background-color:var(--surface-alt)}section.tool-notes{background-color:var(--surface-alt);border-top:1px solid var(--border)}.tool-notes>*{max-width:var(--content-max)}.tool-notes h3{margin-top:2rem}.tool-notes ul{max-width:var(--content-max);color:var(--text-secondary);padding-left:1.25rem;line-height:1.75}.tool-notes li{margin-bottom:.5rem}.tool-notes-source{font-size:.9rem}.tool-notes-table{max-width:var(--content-max);margin:1.25rem 0;overflow-x:auto}.tool-notes table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:.875rem}.tool-notes caption{color:var(--text-secondary);text-align:left;margin-bottom:.5rem;font-size:.8125rem}.tool-notes th,.tool-notes td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem}.tool-notes thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-alt);font-size:.75rem;font-weight:600}.tool-notes tbody th{font-variant-numeric:tabular-nums;color:var(--accent)}.tool-notes tbody td{color:var(--text-secondary);font-variant-numeric:tabular-nums}.tool-notes tbody tr:last-child th,.tool-notes tbody tr:last-child td{border-bottom:none}button{border-radius:var(--radius);background-color:var(--accent);color:#fff;cursor:pointer;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.5;transition:background-color .15s,transform .1s}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);outline:none;padding:.55rem .85rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}input[type=text]{width:100%;margin-bottom:1rem}textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius);width:80%;height:100px;margin-bottom:1.25rem;padding:.75rem}footer{background-color:var(--text-primary);color:var(--text-muted);text-align:center;letter-spacing:.01em;width:100%;padding:.875rem 2rem;font-size:.8rem;position:fixed;bottom:0}pre{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0;padding:1.25rem;font-size:.85rem;line-height:1.65;overflow-x:auto}code{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:.15em .4em;font-family:JetBrains Mono,Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.85em}pre code{font-size:inherit;background:0 0;border:none;padding:0}mark{color:var(--text-primary);background-color:#fef3c7;border-radius:3px;padding:.1em .25em}.donation-section{text-align:center;border-top:1px solid var(--border);background-color:var(--surface);padding:2.5rem 2rem}.donation-buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.25rem;display:flex}.donation-logo{opacity:.8;width:100px;height:auto;transition:opacity .2s,transform .2s}.donation-logo:hover{opacity:1;transform:translateY(-2px)}.github-best-practices{background-color:var(--surface);padding:2.5rem 2rem}.github-best-practices pre{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;overflow-x:auto}.register-container{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:420px;box-shadow:var(--shadow-md);margin:3rem auto;padding:2rem}.register-title{text-align:center;color:var(--accent);background:0 0;margin-bottom:1.5rem;font-size:1.5rem}.register-error{color:var(--error);margin-bottom:.5rem;font-size:.875rem}.register-form{flex-direction:column;gap:.75rem;display:flex}.register-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);outline:none;padding:.55rem .85rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.register-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.register-button{background-color:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.65rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background-color .15s}.register-button:hover{background-color:var(--accent-hover)}.speed-reading-container{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-md);height:auto;margin:2rem auto;padding:2rem}.controls{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1.25rem 0;display:flex}.controls button,.controls input{border-radius:var(--radius);border:1px solid var(--border);box-shadow:none;padding:.5rem 1rem;font-family:inherit;font-size:.875rem}.controls input[type=number]{text-align:center;width:70px}.word-display{margin-top:1.5rem}.word-display h2{color:var(--text-primary);letter-spacing:-.03em;background:0 0;margin:1rem 0;font-size:3rem;font-weight:700}.fetch-url{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.fetch-url input[type=url]{border-radius:var(--radius);border:1px solid var(--border);min-width:200px;box-shadow:none;flex:1;padding:.55rem .85rem;font-family:inherit;font-size:.875rem}.fetch-url button{border-radius:var(--radius);box-shadow:none;padding:.55rem 1rem;font-size:.875rem}.loading-indicator{color:var(--accent);margin-top:.75rem;font-size:.875rem;font-weight:500}.omdb-random-film-container{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:600px;box-shadow:var(--shadow-md);margin:2rem auto;padding:2rem}.filters input{width:100%;margin:.5rem 0;padding:.55rem .85rem}.filters button{cursor:pointer;padding:.5rem 1.25rem}.film-result{margin-top:1.5rem}.film-result img{border-radius:var(--radius);max-width:100%;height:auto;box-shadow:var(--shadow-md);margin-top:.75rem}@media (width<=768px){section{padding:1.75rem 1.25rem}h1{font-size:1.6rem}h2{font-size:1.3rem}.speed-reading-container,.omdb-random-film-container{margin:1rem;padding:1.25rem}.register-container{margin:1.5rem 1rem;padding:1.5rem}footer{padding:.875rem 1rem}}.cookies-banner{background:var(--surface);width:100%;color:var(--text-secondary);border-top:1px solid var(--border);z-index:1000;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex;position:fixed;bottom:0;box-shadow:0 -4px 20px #00000012}.cookies-banner p{color:var(--text-secondary);margin:0;font-size:.875rem}.cookies-banner button{background-color:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;width:auto;padding:.5rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background-color .15s}.cookies-banner button:hover{background-color:var(--accent-hover)}@media (width<=768px){.cookies-banner{text-align:center;flex-direction:column;padding:1rem}.cookies-banner button{width:100%}}.bitrate-calculator{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-md);margin:2rem auto;padding:2rem}.calculator-section{margin-bottom:1.5rem}.calculator-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;margin-bottom:.75rem;padding:0;font-size:.875rem;font-weight:600}input,select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-primary);outline:none;margin:.4rem 0;padding:.55rem .85rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s;display:block}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}button{box-sizing:border-box;background-color:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;margin:.5rem 0;padding:.6rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background-color .15s,transform .1s;display:block}button:hover{background-color:var(--accent-hover)}button:active{transform:scale(.98)}.error{color:var(--error);margin-top:.25rem;font-size:.875rem}.result{color:var(--accent);background:var(--accent-light);border-radius:var(--radius);border:1px solid #4f46e533;margin-top:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.scorepad{--scorepad-danger:#b91c1c;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-md);margin:2rem auto 4rem;padding:2rem}.scorepad-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.scorepad-header-text{min-width:0}.scorepad-header .scorepad-focus-toggle{white-space:nowrap;width:auto;color:var(--text-secondary);background:var(--surface-alt);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex:none;margin:0;padding:.4rem .85rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.scorepad-header .scorepad-focus-toggle:hover,.scorepad-header .scorepad-focus-toggle[aria-pressed=true]{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.scorepad-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .35rem;font-size:.75rem;font-weight:600}.scorepad-header h1{margin-bottom:.35rem}.scorepad-sub{color:var(--text-secondary);margin:0;font-size:.875rem}.scorepad-games{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.scorepad-games .scorepad-chip{width:auto;color:var(--text-secondary);background:var(--surface-alt);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;margin:0;padding:.4rem .85rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.scorepad-games .scorepad-chip:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-alt)}.scorepad-games .scorepad-chip.is-active{color:var(--accent);background:var(--accent-light);border-color:var(--accent);font-weight:600}.scorepad-games .scorepad-chip.is-add{background:0 0;border-style:dashed}.scorepad-games .scorepad-chip.is-confirm{color:#fff;background:var(--accent);border-color:var(--accent);font-weight:600}.scorepad-games .scorepad-chip.is-confirm:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.scorepad-add-game{align-items:center;gap:.4rem;display:flex}.scorepad-add-game input[type=text]{width:150px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:999px;outline:none;margin:0;padding:.35rem .75rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s,box-shadow .15s;display:inline-block}.scorepad-add-game input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.scorepad-round-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;font-size:.8125rem;display:flex}.scorepad-game-name{color:var(--text-primary);font-weight:600}.scorepad-round-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:500}.scorepad-order{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);gap:.25rem;margin-bottom:1rem;padding:.25rem;display:flex}.scorepad-order button{width:auto;color:var(--text-secondary);border-radius:calc(var(--radius) - 3px);cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:.4rem .5rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s,box-shadow .15s}.scorepad-order button:hover{color:var(--text-primary);background:0 0}.scorepad-order button.is-active{color:var(--accent);background:var(--surface);box-shadow:var(--shadow-sm);font-weight:600}.scorepad-order-hint{color:var(--text-secondary);margin:-.5rem 0 1rem;font-size:.75rem;line-height:1.4}.scorepad-players{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.scorepad-empty{text-align:center;color:var(--text-secondary);background:var(--surface-alt);border:1px dashed var(--border-strong);border-radius:var(--radius);margin:0;padding:2rem 1rem;font-size:.875rem}.scorepad-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem 1rem 1rem 1.25rem;position:relative;overflow:hidden}.scorepad-players.is-reordering{-webkit-user-select:none;user-select:none}.scorepad-card.is-shifting{transition:transform .15s}.scorepad-card.is-dragging{z-index:10;box-shadow:var(--shadow-lg);will-change:transform}.scorepad-card .scorepad-drag{width:auto;color:var(--text-secondary);cursor:grab;touch-action:none;background:0 0;border:none;border-radius:4px;flex:none;margin:0 -.15rem 0 -.35rem;padding:.35rem .4rem;font-size:1rem;line-height:1;transition:color .15s,background-color .15s}.scorepad-card .scorepad-drag:hover{color:var(--text-primary);background:var(--surface-alt)}.scorepad-card.is-dragging .scorepad-drag{cursor:grabbing;color:var(--accent)}.scorepad-card:before{content:"";background:var(--card-accent,var(--accent));width:4px;position:absolute;top:0;bottom:0;left:0}.scorepad-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.scorepad-name-row{align-items:center;gap:.5rem;min-width:0;display:flex}.scorepad-rank{color:var(--text-secondary);background:var(--surface-alt);border-radius:4px;flex:none;padding:.1rem .4rem;font-size:.6875rem;font-weight:600}.scorepad-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scorepad-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-light);border-radius:4px;flex:none;padding:.1rem .45rem;font-size:.6875rem;font-weight:600}.scorepad-card .scorepad-remove{width:auto;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:none;margin:0;padding:.15rem .35rem;font-size:.875rem;line-height:1;transition:color .15s}.scorepad-card .scorepad-remove:hover{color:var(--error);background:0 0}.scorepad-total{letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums;margin:.35rem 0 .75rem;font-size:2.25rem;font-weight:700;line-height:1.1}.scorepad-input-row{border-top:1px solid var(--border);align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.scorepad-input-row label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);flex:none;font-size:.75rem;font-weight:500}.scorepad-stepper{align-items:center;gap:.4rem;margin-left:auto;display:flex}.scorepad-stepper button{width:32px;height:32px;color:var(--text-secondary);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;margin:0;padding:0;font-family:inherit;font-size:1rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.scorepad-stepper button:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.scorepad-stepper input[type=number]{font-variant-numeric:tabular-nums;text-align:center;width:72px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;margin:0;padding:.4rem .35rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s;display:inline-block}.scorepad-stepper input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.scorepad-quick{margin-top:.75rem}.scorepad-quick-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.4rem;font-size:.75rem;font-weight:500;display:block}.scorepad-quick-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.scorepad-quick .scorepad-quick-btn{width:auto;min-width:44px;color:var(--text-secondary);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex:44px;margin:0;padding:.4rem .5rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.scorepad-quick .scorepad-quick-btn:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.scorepad-quick .scorepad-quick-btn.is-wide{color:var(--accent);background:var(--accent-light);border-color:#4f46e54d;flex-basis:100%}.scorepad-quick .scorepad-quick-btn.is-wide:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.scorepad-add-player{gap:.5rem;margin-bottom:1rem;display:flex}.scorepad-add-player input[type=text]{width:auto;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;margin:0;padding:.55rem .85rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s;display:block}.scorepad-add-player input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.scorepad-add-player button{color:#fff;background:var(--accent);border-radius:var(--radius);cursor:pointer;border:none;flex:none;width:auto;margin:0;padding:.55rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background-color .15s}.scorepad-add-player button:hover{background:var(--accent-hover)}.scorepad-add-player .scorepad-add-player-done{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);padding:.55rem 1rem}.scorepad-add-player .scorepad-add-player-done:hover{color:var(--text-primary);background:var(--surface-alt);border-color:var(--border-strong)}.scorepad .scorepad-add-player-reveal{width:auto;color:var(--text-secondary);border:1px dashed var(--border-strong);cursor:pointer;background:0 0;border-radius:999px;margin:0 0 1rem;padding:.35rem .85rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-block}.scorepad .scorepad-add-player-reveal:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.scorepad-actions{flex-wrap:wrap;gap:.75rem;display:flex}.scorepad-actions button,.scorepad-overlay-actions button{border-radius:var(--radius);cursor:pointer;flex:8rem;width:auto;margin:0;padding:.7rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.scorepad-actions .scorepad-primary,.scorepad-overlay-actions .scorepad-primary{color:#fff;background:var(--accent);border:1px solid var(--accent)}.scorepad-actions .scorepad-primary:hover:not(:disabled),.scorepad-overlay-actions .scorepad-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.scorepad-actions .scorepad-primary:disabled{color:var(--text-muted);background:var(--surface-alt);border-color:var(--border);cursor:not-allowed}.scorepad-actions .scorepad-secondary,.scorepad-overlay-actions .scorepad-secondary{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border)}.scorepad-actions .scorepad-secondary:hover,.scorepad-overlay-actions .scorepad-secondary:hover{color:var(--text-primary);background:var(--surface-alt);border-color:var(--border-strong)}.scorepad-actions .scorepad-end{color:var(--scorepad-danger);background:var(--surface);border:1px solid #b91c1c4d}.scorepad-actions .scorepad-end:hover:not(:disabled){color:#fff;background:var(--scorepad-danger);border-color:var(--scorepad-danger)}.scorepad-actions .scorepad-end:disabled{color:var(--text-muted);background:var(--surface-alt);border-color:var(--border);cursor:not-allowed}.scorepad-overlay{z-index:200;background:#0f172acc;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.scorepad-fireworks{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scorepad-overlay-card{z-index:2;text-align:center;background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:100%;box-shadow:var(--shadow-lg);padding:2rem 1.75rem;position:relative;overflow-y:auto}.scorepad-trophy{margin:0;font-size:2.5rem;line-height:1.2}.scorepad-overlay-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.scorepad-winner{color:var(--text-primary);word-break:break-word;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.scorepad-winner-score{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0 0 1.25rem;font-size:.9375rem}.scorepad-standings{text-align:left;border-top:1px solid var(--border);margin:0 0 1.25rem;padding:1rem 0 0;list-style:none}.scorepad-standings li{color:var(--text-primary);justify-content:space-between;gap:.75rem;padding:.3rem 0;font-size:.875rem;display:flex}.scorepad-standings li span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.scorepad-overlay-actions{gap:.75rem;display:flex}.scorepad-save{margin:0 0 1rem;padding-top:.25rem}.scorepad-save-btn{width:100%;color:var(--accent);cursor:pointer;background:var(--accent-light);border:1px solid var(--accent-subtle);border-radius:var(--radius);padding:.7rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background-color .15s,color .15s}.scorepad-save-btn:hover:not(:disabled){color:#fff;background:var(--accent)}.scorepad-save-btn:disabled{color:var(--text-secondary);cursor:default;background:var(--surface-alt);border-color:var(--border)}.scorepad-save-status{min-height:1.2rem;color:var(--text-secondary);margin:.4rem 0 0;font-size:.8rem}.scorepad-record{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.scorepad-record h2{color:var(--text-primary);margin:0 0 .35rem;font-size:1.1rem}.scorepad-record-intro{color:var(--text-secondary);margin:0 0 1rem;font-size:.85rem}.scorepad-record-filter{align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.scorepad-record-filter label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.scorepad-record-filter select{color:var(--text-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.35rem .5rem;font-family:inherit;font-size:.85rem}.scorepad-record-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.scorepad-record-table{border-collapse:collapse;width:100%;font-size:.85rem}.scorepad-record-table th,.scorepad-record-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);padding:.55rem .75rem}.scorepad-record-table tbody tr:last-child th,.scorepad-record-table tbody tr:last-child td{border-bottom:0}.scorepad-record-table th:first-child,.scorepad-record-table td:first-child{text-align:left}.scorepad-record-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-alt);font-size:.72rem;font-weight:600}.scorepad-record-table tbody th{color:var(--text-primary);font-weight:600}.scorepad-record-table tbody td{color:var(--text-secondary);font-variant-numeric:tabular-nums}.scorepad-record-table tbody td:last-child{color:var(--accent);font-weight:600}body.scorepad-focus .scorepad-record{display:none}.scorepad-history{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.scorepad-history h2{color:var(--text-primary);margin:0 0 .35rem;font-size:1.1rem}.scorepad-history-intro{color:var(--text-secondary);margin:0 0 1rem;font-size:.85rem}.scorepad-history-empty{color:var(--text-muted);margin:0;font-size:.875rem}.scorepad-history-error{color:var(--error-hover);background:var(--error-subtle);border-radius:var(--radius);margin:0 0 1rem;padding:.6rem .75rem;font-size:.85rem}.scorepad-history-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=700px){.scorepad-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.scorepad-history-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.85rem 1rem}.scorepad-history-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.scorepad-history-game{color:var(--text-primary);font-size:.95rem;font-weight:600}.scorepad-history-meta{color:var(--text-muted);flex:auto;font-size:.75rem}.scorepad-history-delete{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;padding:.15rem .4rem;font-size:.8rem;line-height:1}.scorepad-history-delete:hover{color:var(--error);background:var(--error-subtle)}.scorepad-history-result{color:var(--accent);margin:.35rem 0 .5rem;font-size:.85rem}.scorepad-history-standings{border-top:1px solid var(--border);margin:0;padding:.5rem 0 0;list-style:none}.scorepad-history-standings li{color:var(--text-secondary);justify-content:space-between;gap:.75rem;padding:.15rem 0;font-size:.8rem;display:flex}.scorepad-history-standings li span:last-child{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.scorepad-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.scorepad-focus nav,body.scorepad-focus .donation-section{display:none}body.scorepad-focus .scorepad{max-width:none;min-height:100vh;box-shadow:none;border:0;border-radius:0;margin:0;padding:1rem}@supports (min-height:100dvh){body.scorepad-focus .scorepad{min-height:100dvh}}body.scorepad-focus .scorepad-header{align-items:center;margin-bottom:.75rem}body.scorepad-focus .scorepad-eyebrow,body.scorepad-focus .scorepad-sub,body.scorepad-focus .scorepad-order-hint{display:none}body.scorepad-focus .scorepad-header h2{margin-bottom:0;font-size:1.125rem}body.scorepad-focus .scorepad-games,body.scorepad-focus .scorepad-order,body.scorepad-focus .scorepad-round-bar{margin-bottom:.75rem}body.scorepad-focus .scorepad-games{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}body.scorepad-focus .scorepad-games::-webkit-scrollbar{display:none}body.scorepad-focus .scorepad-games .scorepad-chip{flex:none}body.scorepad-focus .scorepad-players{gap:.5rem;margin-bottom:.5rem}body.scorepad-focus .scorepad-card{padding:.75rem .75rem .75rem 1rem}body.scorepad-focus .scorepad-total{margin:.15rem 0 .5rem;font-size:1.75rem}body.scorepad-focus .scorepad-add-player,body.scorepad-focus .scorepad-add-player-reveal{margin-bottom:.5rem}body.scorepad-focus .scorepad-history{display:none}body.scorepad-focus .scorepad-actions{z-index:5;background:var(--surface);padding:.5rem 0;position:sticky;bottom:0;box-shadow:0 -8px 12px -8px #0f172a26}@media (width>=768px){.scorepad.is-grid{max-width:900px}.scorepad.is-grid .scorepad-players{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=768px){.scorepad{margin:1rem 1rem 3rem;padding:1.25rem}.scorepad-total{font-size:2rem}.scorepad-add-game input[type=text]{width:120px}.scorepad-overlay{padding:1rem}.scorepad-overlay-card{padding:1.5rem 1.25rem}}@media (width<=480px){.scorepad-actions .scorepad-primary{flex-basis:100%}.scorepad-order button{padding:.4rem .25rem;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.scorepad *{transition:none!important}}.password-generator{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-md);margin:2rem auto 4rem;padding:2rem}.pw-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .35rem;font-size:.75rem;font-weight:600}.pw-header h1{margin-bottom:.35rem}.pw-sub{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.875rem}.pw-output-row{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.password-generator .pw-output{letter-spacing:.02em;min-width:0;color:var(--text-primary);background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius);flex:18rem;margin:0;padding:.85rem 1rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1.0625rem}.password-generator .pw-output::placeholder{letter-spacing:normal;color:var(--text-muted);font-family:inherit;font-size:.9375rem}.pw-output-actions{flex:none;gap:.5rem;display:flex}.password-generator .pw-output-actions button{white-space:nowrap;margin:0}.password-generator .pw-regenerate{color:var(--accent);background:var(--accent-light);border:1px solid var(--accent)}.password-generator .pw-regenerate:hover:not(:disabled){color:#fff;background:var(--accent-hover)}.password-generator button:disabled{cursor:not-allowed;opacity:.55}.password-generator button:disabled:hover{background-color:var(--accent)}.password-generator .pw-regenerate:disabled:hover{background:var(--accent-light)}.pw-strength{margin-top:1rem}.pw-meter{gap:4px;display:flex}.pw-seg{background:var(--border);border-radius:999px;flex:1 1 0;height:6px}.pw-meter[data-level="0"] .pw-seg.on{background:var(--error)}.pw-meter[data-level="1"] .pw-seg.on{background:#f59e0b}.pw-meter[data-level="2"] .pw-seg.on,.pw-meter[data-level="3"] .pw-seg.on,.pw-meter[data-level="4"] .pw-seg.on{background:var(--success)}.pw-strength-text{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8125rem}.pw-error{color:#7f1d1d;border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;margin:1rem 0 0;padding:.75rem 1rem;font-size:.875rem}.password-generator .pw-controls{border:1px solid var(--border);border-radius:var(--radius);margin:1.75rem 0 0;padding:1.25rem}.password-generator .pw-controls legend{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:0 .4rem;font-size:.75rem;font-weight:600}.pw-length label{margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.pw-length-row{align-items:center;gap:.75rem;display:flex}.password-generator .pw-length-row input[type=range]{min-width:0;accent-color:var(--accent);background:0 0;border:none;flex:auto;margin:0;padding:0}.password-generator .pw-length-number{text-align:center;flex:0 0 5rem;margin:0;padding:.4rem .5rem}.pw-toggles{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem 1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.pw-toggles label{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.password-generator .pw-toggles input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);margin:0;padding:0}.pw-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.password-generator{padding:1.25rem}.pw-output-actions{width:100%}.password-generator .pw-output-actions button{flex:1 1 0}}.admin-console{max-width:var(--content-max);margin:0 auto;padding:0 1rem 3rem}.admin-section{margin-bottom:2.5rem}.admin-message{border-radius:var(--radius);border:1px solid var(--border);background-color:var(--surface);margin-bottom:1.5rem;padding:.75rem 1rem}.admin-message-error{border-color:var(--error);border-left-width:4px}.admin-message-ok{border-color:var(--success);color:var(--text-primary);border-left-width:4px}.admin-muted{color:var(--text-muted);font-weight:400}.admin-block{display:block}.admin-hint{color:var(--text-muted);margin:.25rem 0 0;font-size:.875rem}.admin-pending{margin:0;padding:0;list-style:none}.admin-pending li{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.admin-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}.admin-caption{caption-side:top;text-align:left;color:var(--text-secondary);padding-bottom:.5rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.625rem .75rem;font-size:.9375rem}.admin-table thead th{background-color:var(--surface-alt);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem}.admin-status{border-radius:var(--radius);border:1px solid var(--border-strong);white-space:nowrap;padding:.125rem .5rem;font-size:.8125rem;display:inline-block}.admin-status-approved{border-color:var(--success);background-color:var(--success-subtle)}.admin-status-pending{border-color:var(--accent);background-color:var(--accent-light)}.admin-status-rejected,.admin-status-suspended{border-color:var(--error);background-color:var(--error-subtle)}.admin-capability-list{color:var(--text-secondary);margin:0;padding:0;font-size:.8125rem;list-style:none}.admin-editor,.admin-group,.admin-new-group{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--shadow-sm);margin-top:1.5rem;padding:1.25rem}.admin-field{margin-bottom:1rem}.admin-field label{margin-bottom:.25rem;font-weight:600;display:block}.admin-field input,.admin-field select{border:1px solid var(--border-strong);border-radius:var(--radius);background-color:var(--surface);color:var(--text-primary);min-width:min(100%,320px);padding:.5rem}.admin-fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1rem;padding:1rem}.admin-fieldset legend{padding:0 .375rem;font-weight:600}.admin-check{color:var(--text-secondary);align-items:flex-start;gap:.5rem;padding:.375rem 0;display:flex}.admin-check input{margin-top:.25rem}.admin-badge{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);margin-left:.5rem;padding:0 .375rem;font-size:.75rem;display:inline-block}.admin-danger{background-color:var(--error)}.admin-danger:hover{background-color:var(--error-hover)}
