@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=Source+Sans+3:wght@400;500;600&display=swap";:root{--green-900: #071f17;--green-800: #0f3d2e;--green-700: #1a5c45;--green-600: #236b50;--green-500: #2d8a68;--green-200: #a8d5c2;--green-100: #d4ede4;--wood-600: #8b6a38;--wood-500: #c4a574;--wood-400: #d4b98a;--wood-300: #d9c19c;--wood-200: #ede3d0;--wood-100: #f7f2e8;--ink-900: #faf6ee;--ink-500: #e4dccb;--ink-300: #cbbfa8;--ink-200: #b3a48c;--board-light: rgba(196, 165, 116, .07);--board-dark: transparent;--color-bg: var(--green-800);--color-bg-deep: var(--green-900);--color-surface: rgba(255, 255, 255, .05);--color-surface-mid: rgba(255, 255, 255, .09);--color-surface-high: rgba(255, 255, 255, .14);--color-border: rgba(196, 165, 116, .22);--color-border-warm: rgba(196, 165, 116, .38);--color-fg: var(--wood-200);--color-fg-dim: var(--ink-300);--color-accent: var(--wood-400);--color-accent-light: var(--wood-300);--color-success: #4caf82;--color-danger: #e07070;--surface: #fffdf8;--surface-fg: #1a2e24;--surface-muted: #5a6b62;--surface-border: #c9d4ce;--surface-accent: #8b6a38;--forest: #0f3d2e;--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--radius-sm: 4px;--radius: 8px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow: 0 4px 16px rgba(0,0,0,.35);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--transition: .18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.is-desktop{scrollbar-width:thin;scrollbar-color:rgba(196,165,116,.45) rgba(7,31,23,.85)}html.is-desktop ::-webkit-scrollbar{width:10px;height:10px}html.is-desktop ::-webkit-scrollbar-track{background:#071f17e6;border-left:1px solid rgba(196,165,116,.12)}html.is-desktop ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c4a5748c,#8b6a38a6);border-radius:8px;border:2px solid transparent;background-clip:padding-box}html.is-desktop ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d4b98abf,#c4a574cc);background-clip:padding-box;border:2px solid transparent}html.is-desktop ::-webkit-scrollbar-corner{background:#071f17e6}body{background-color:var(--color-bg);background-image:radial-gradient(ellipse at 20% 10%,rgba(45,138,104,.18) 0%,transparent 50%),radial-gradient(ellipse at 80% 90%,rgba(196,165,116,.08) 0%,transparent 50%);color:var(--color-fg);font-family:var(--font-body);font-size:16px;line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased;letter-spacing:.01em}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-accent);line-height:1.2}a{color:var(--wood-400);text-decoration:none}a:hover{color:var(--wood-300)}img{display:block;max-width:100%}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body)}.chess-bg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:repeating-conic-gradient(var(--board-light) 0% 25%,var(--board-dark) 0% 50%);background-size:48px 48px;background-position:0 0;opacity:.6}.app-shell{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.topbar{display:flex;align-items:center;gap:1rem;padding:0 1.5rem;height:60px;background:var(--green-900);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #00000080}html.is-desktop .topbar,html.is-desktop .auth-topbar,html.is-desktop .desktop-update-banner{-webkit-app-region:drag}html.is-desktop .topbar a,html.is-desktop .topbar button,html.is-desktop .topbar input,html.is-desktop .topbar select,html.is-desktop .auth-topbar a,html.is-desktop .auth-topbar button,html.is-desktop .desktop-update-banner a,html.is-desktop .desktop-update-banner button{-webkit-app-region:no-drag}html.is-desktop-mac .topbar,html.is-desktop-mac .auth-topbar{padding-left:78px}html.is-desktop-win .topbar,html.is-desktop-linux .topbar,html.is-desktop-win .auth-topbar,html.is-desktop-linux .auth-topbar,html.is-desktop-win .desktop-update-banner,html.is-desktop-linux .desktop-update-banner{padding-right:140px}.brand{display:flex;align-items:center;gap:.45rem;text-decoration:none;flex-shrink:0}.brand-knight{font-size:1.4rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.brand-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--wood-500);letter-spacing:.01em}.topnav{display:flex;align-items:center;gap:.25rem;flex:1}.topnav a{padding:.35rem .75rem;border-radius:var(--radius-sm);color:var(--ink-500);font-size:.92rem;font-weight:500;transition:color var(--transition),background var(--transition)}.topnav a:hover{color:var(--wood-200);background:var(--color-surface)}.topnav a.active{color:var(--wood-100);background:var(--color-surface-mid)}.sync-bar{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--color-success);box-shadow:0 0 6px var(--color-success)}.status-dot.offline{background:var(--color-danger)}.status-label{font-size:.82rem;color:var(--ink-500)}.sync-time{font-size:.78rem;color:var(--ink-300);white-space:nowrap}.sync-result{font-size:.82rem;color:var(--green-200);animation:fadeSlide .3s ease}.menu-toggle{display:none;background:none;border:none;padding:6px;margin-left:auto}.hamburger{display:block;width:20px;height:2px;background:var(--wood-400);position:relative;transition:var(--transition)}.hamburger:before,.hamburger:after{content:"";display:block;width:100%;height:2px;background:var(--wood-400);position:absolute;left:0;transition:var(--transition)}.hamburger:before{top:-6px}.hamburger:after{top:6px}.hamburger.open{background:transparent}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}.page-content{flex:1;padding:2rem 1.5rem;max-width:1100px;width:100%;margin:0 auto}.page-container{width:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.page-header h1{font-size:2rem}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.page-subtitle{color:var(--ink-500);font-size:1rem;margin-top:.35rem;line-height:1.5;max-width:42rem}.page-breadcrumb{margin:0 0 .35rem;font-size:.88rem;color:var(--ink-300)}.page-breadcrumb a{color:var(--wood-400);text-decoration:none}.page-breadcrumb a:hover{text-decoration:underline;color:var(--wood-200)}.app-footer{border-top:1px solid var(--color-border);padding:1rem 1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;color:var(--ink-300);background:var(--green-900)}.app-footer-links{display:flex;gap:1rem}.app-footer-link{color:var(--wood-400);text-decoration:none}.app-footer-link:hover{color:var(--wood-200);text-decoration:underline}.app-footer-version{color:var(--wood-400);font-variant-numeric:tabular-nums}.desktop-update-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.7rem 1.25rem;border-bottom:1px solid rgba(196,165,116,.35);background:linear-gradient(90deg,#c4a57429,#c4a5740f);color:var(--wood-200)}.desktop-update-banner.is-success{border-bottom-color:#4caf8259;background:linear-gradient(90deg,#4caf8233,#4caf820f)}.desktop-update-banner.is-success .desktop-update-banner-copy strong{color:var(--green-100)}.desktop-update-banner-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;font-size:.88rem}.desktop-update-banner-copy strong{font-size:.92rem;color:var(--wood-100)}.desktop-update-banner-copy span{color:var(--ink-500)}.desktop-update-banner-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.desktop-update-progress{margin-top:.45rem;height:4px;width:min(100%,18rem);border-radius:999px;background:#00000059;overflow:hidden}.desktop-update-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--wood-600),var(--wood-400));transition:width .25s ease}.desktop-update-pct{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--wood-400);min-width:2.5rem;text-align:right}.nav-backdrop{position:fixed;right:0;bottom:0;left:0;top:60px;border:none;background:#00000073;z-index:98;cursor:pointer}.topnav-mobile-actions{display:none;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid var(--color-border);margin-top:.35rem}.empty-state h3{margin:0;color:var(--wood-300);font-size:1.25rem}.empty-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:.35rem}.home-page{width:100%}.hero{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:4rem 2rem;margin-bottom:2.5rem;text-align:center;background:linear-gradient(135deg,var(--green-900) 0%,var(--green-800) 60%,var(--green-700) 100%);border:1px solid var(--color-border-warm);box-shadow:var(--shadow-lg)}.hero-board-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-conic-gradient(rgba(196,165,116,.05) 0% 25%,transparent 0% 50%);background-size:40px 40px;pointer-events:none}.hero-content{position:relative;z-index:1}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;color:var(--wood-500);margin-bottom:1rem;letter-spacing:-.01em;text-shadow:0 2px 12px rgba(0,0,0,.5)}.hero-knight{display:inline-block;margin-right:.3em;font-size:.85em;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));animation:floatKnight 4s ease-in-out infinite}@keyframes floatKnight{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero-tagline{color:var(--ink-500);font-size:1.1rem;margin-bottom:2rem;max-width:480px;margin-left:auto;margin-right:auto}.tournaments-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.section-header h2{font-size:1.4rem}.sync-hint{font-size:.85rem;color:var(--ink-500)}.tournaments-toolbar{margin-bottom:.85rem}.tournaments-toolbar .table-search{max-width:28rem}.empty-state-compact{padding:1.5rem 1rem}.list-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--color-border)}.list-pagination-meta{font-size:.8rem;color:var(--ink-300)}.list-pagination-actions{display:flex;align-items:center;gap:.5rem}.list-pagination-page{font-size:.8rem;color:var(--ink-500);min-width:5.5rem;text-align:center}.tournament-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.tournament-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:background var(--transition),border-color var(--transition),transform var(--transition);display:flex;align-items:stretch;gap:0}.tournament-card:hover{background:var(--color-surface-mid);border-color:var(--color-border-warm)}.tournament-card-link{display:flex;flex:1;align-items:center;justify-content:space-between;padding:1rem 1.25rem;text-decoration:none;color:inherit;gap:1rem;min-width:0}.tournament-card:hover .tournament-card-link{transform:translate(2px)}.tournament-delete-btn{align-self:center;margin-right:.75rem;flex-shrink:0}.tournament-name{font-family:var(--font-display);font-size:1.05rem;color:var(--wood-400);display:block}.tournament-meta{display:flex;gap:.75rem;font-size:.78rem;color:var(--ink-300);margin-top:.2rem;flex-wrap:wrap}.tournament-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.round-indicator{font-size:.72rem;color:var(--ink-300)}.status-badge{display:inline-block;padding:.2em .6em;border-radius:100px;font-size:.7rem;font-weight:600;text-transform:capitalize;letter-spacing:.03em}.status-draft{background:#c4a57426;color:var(--wood-400)}.status-ready{background:#4caf8233;color:var(--green-200)}.status-in_progress{background:#ffbe5026;color:#ffcc60}.status-completed{background:#4caf824d;color:var(--green-200)}.stage-strip{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0 0 1.25rem;padding:.45rem;border:1px solid var(--color-border-warm);border-radius:var(--radius-lg);background:var(--color-surface)}.stage-step{display:flex;align-items:center;gap:.4rem;flex:1 1 auto;min-width:5.5rem;padding:.4rem .65rem;border-radius:var(--radius);color:var(--ink-300);font-size:.78rem;font-weight:500}.stage-step .stage-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;border:1px solid var(--color-border-warm);font-size:.7rem;font-weight:700}.stage-step.done{color:var(--green-200)}.stage-step.done .stage-num{background:#4caf8240;border-color:transparent}.stage-step.active{color:var(--wood-300);background:#c4a5741f}.stage-step.active .stage-num{background:var(--wood-500);border-color:transparent;color:var(--ink-900)}.stage-banner{margin:0 0 1.25rem;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--color-border-warm);background:var(--color-surface);color:var(--ink-200);font-size:.875rem;line-height:1.45}.stage-banner-warn{border-color:#ffbe5059;background:#ffbe5014;color:#ffcc60}.stage-banner-done{border-color:#4caf8259;background:#4caf821a;color:var(--green-200)}.late-entry-panel strong{display:block;margin-bottom:.35rem}.late-entry-panel p{margin:0 0 .75rem}.late-confirm{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;color:var(--ink-100);cursor:pointer}.late-confirm input{margin-top:.2rem}.tournament-instructions{margin:0 0 1.25rem;padding:1rem 1.15rem 1.05rem;border-radius:var(--radius);border:1px solid var(--color-border-warm);background:linear-gradient(165deg,rgba(196,165,116,.08) 0%,var(--color-surface) 55%)}.instructions-heading{margin:0 0 .85rem;font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--wood-400);letter-spacing:.02em}.instructions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.instruction{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:background var(--transition),border-color var(--transition)}.instruction-marker{flex-shrink:0;width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1}.instruction-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.instruction-title{font-size:.875rem;font-weight:600;color:var(--ink-100);line-height:1.35}.instruction-desc{font-size:.8rem;line-height:1.45;color:var(--ink-300)}.instruction-done{opacity:.72}.instruction-done .instruction-marker{background:#4caf8233;color:var(--green-200);border:1px solid rgba(76,175,130,.35)}.instruction-done .instruction-title{color:var(--ink-300);font-weight:500}.instruction-current{background:#ffbe501a;border-color:#ffbe5059}.instruction-current .instruction-marker{background:var(--wood-500);color:var(--ink-900);border:1px solid transparent;box-shadow:0 0 0 2px #c4a57440}.instruction-current .instruction-title{color:#ffcc60}.instruction-current .instruction-desc{color:var(--ink-200)}.instruction-upcoming .instruction-marker{background:var(--color-surface-mid);color:var(--ink-300);border:1px solid var(--color-border);font-weight:600}.instruction-upcoming .instruction-title{color:var(--ink-300);font-weight:500}.cat-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;margin-left:.35rem;padding:0 .3rem;border-radius:999px;background:#ffbe5040;color:#ffcc60;font-size:.65rem;font-weight:700}.empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;text-align:center;color:var(--ink-300)}.empty-icon{font-size:2.5rem;opacity:.5}.loading-row{padding:2rem;text-align:center;color:var(--ink-300);font-style:italic}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--radius);border:1px solid transparent;font-size:.875rem;font-weight:600;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),opacity var(--transition),transform var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--wood-500);outline-offset:2px}.btn-primary{background:var(--green-600);border-color:var(--green-500);color:var(--wood-200)}.btn-primary:hover:not(:disabled){background:var(--green-500);border-color:var(--green-200)}.btn-wood{background:var(--wood-600);border-color:var(--wood-500);color:var(--wood-100)}.btn-wood:hover:not(:disabled){background:var(--wood-500)}.btn-outline{background:transparent;border-color:var(--color-border-warm);color:var(--wood-400)}.btn-outline:hover:not(:disabled){background:var(--color-surface-mid);border-color:var(--wood-500);color:var(--wood-300)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-500)}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-fg)}.btn-danger{color:var(--color-danger)!important}.btn-danger:hover:not(:disabled){background:#e070701a!important}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-xs{padding:.2rem .5rem;font-size:.72rem}.btn-lg{padding:.75rem 1.75rem;font-size:1rem}.btn-sync{background:transparent;border-color:var(--color-border-warm);color:var(--wood-400);padding:.25rem .65rem;font-size:.75rem}.btn-sync:hover:not(:disabled){background:var(--color-surface-mid);color:var(--wood-300)}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:680px;width:100%}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.form-group label{font-size:.82rem;font-weight:600;color:var(--ink-500);letter-spacing:.04em;text-transform:uppercase}.form-group-check{flex-direction:row;align-items:center;gap:.5rem;margin-bottom:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.form-section{margin-top:1.75rem}.form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.form-section-header h3{font-size:1.05rem}.checkbox-row{display:flex;align-items:flex-start;gap:.65rem;margin:.75rem 0 1rem;cursor:pointer;font-size:.9rem;color:var(--wood-300)}.checkbox-row input[type=checkbox]{margin-top:.2rem;flex-shrink:0}.checkbox-row .form-hint-sm{display:block;margin-top:.2rem}.category-mode-hint{margin:.5rem 0 1rem}.form-hint{font-size:.88rem;color:var(--ink-500);margin-top:.3rem;line-height:1.45}.form-hint-sm{font-size:.82rem;color:var(--ink-300);font-style:italic;line-height:1.4}.form-error{background:#e070701f;border:1px solid rgba(224,112,112,.3);border-radius:var(--radius);color:var(--color-danger);padding:.6rem .85rem;font-size:.85rem;margin-bottom:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;flex-wrap:wrap}.required-star{color:var(--color-danger);margin-left:2px}.input{background:#ffffff0d;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-fg);font-size:.9rem;padding:.55rem .85rem;width:100%;transition:border-color var(--transition),background var(--transition);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.input::placeholder{color:var(--ink-200)}.input.input-invalid,.input-invalid{border-color:#e07070a6;background:#e070700f}.field-error{display:block;margin-top:.3rem;font-size:.75rem;color:var(--color-danger)}.input:focus{border-color:var(--green-500);background:#ffffff12;box-shadow:0 0 0 2px #2d8a6833}.input:disabled{opacity:.5;cursor:not-allowed}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c4a574' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.input-sm{font-size:.82rem;padding:.4rem .7rem}.input-xs{font-size:.75rem;padding:.25rem .5rem}.check-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--color-fg);text-transform:none;font-weight:400;letter-spacing:0}input[type=checkbox]{accent-color:var(--green-500);width:15px;height:15px;cursor:pointer}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.style-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem;text-align:left;transition:all var(--transition);display:flex;flex-direction:column;gap:.35rem;cursor:pointer}.style-card:hover:not(.disabled){border-color:var(--green-500);background:var(--color-surface-mid)}.style-card.active{border-color:var(--green-500);background:#2d8a681f}.style-card.disabled{opacity:.5;cursor:not-allowed}.style-name{font-family:var(--font-display);font-size:.95rem;color:var(--wood-400)}.style-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.15em .5em;border-radius:100px;background:#c4a57426;color:var(--ink-300);align-self:flex-start}.style-badge.available{background:#4caf8226;color:var(--green-200)}.category-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.category-header .input{flex:1;min-width:140px}.category-prize-override{display:flex;flex-direction:column;gap:.2rem;flex-shrink:0}.category-prize-override .input{width:4.5rem;flex:none}.preset-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.preset-label{font-size:.75rem;color:var(--ink-300)}.rules-list{margin-top:.5rem}.rules-header{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--ink-300);margin-bottom:.5rem;flex-wrap:wrap}.rule-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;flex-wrap:wrap}.rule-row .input-xs{flex:1;min-width:60px}.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}.tab{background:none;border:none;padding:.6rem 1.1rem;color:var(--ink-300);font-size:.875rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition),border-color var(--transition)}.tab:hover{color:var(--wood-400)}.tab.active{color:var(--wood-500);border-bottom-color:var(--wood-500)}.category-tabs{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}.cat-tab{background:var(--color-surface);border:1px solid var(--color-border);border-radius:100px;padding:.25rem .85rem;font-size:.78rem;color:var(--ink-300);cursor:pointer;transition:all var(--transition)}.cat-tab:hover{border-color:var(--color-border-warm);color:var(--wood-400)}.cat-tab.active{background:var(--green-700);border-color:var(--green-500);color:var(--wood-300)}.tab-panel{animation:fadeIn .2s ease}.tab-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.count-label{font-size:.8rem;color:var(--ink-300)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-300);padding:.5rem .75rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-fg);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--color-surface)}.standings-table .score-cell{font-weight:700;color:var(--wood-400)}.standings-table .rank-cell{font-size:1rem;text-align:center}.standings-table tr.rank-prize td{background:color-mix(in srgb,var(--wood-400) 12%,transparent);font-weight:600}.standings-table tr.rank-1 td{color:gold}.standings-table tr.rank-2 td{color:silver}.standings-table tr.rank-3 td{color:#cd7f32}.standings-table .prize-tag{display:inline-block;margin-left:.35rem;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:var(--wood-400);vertical-align:middle}.standings-prize-hint{margin-bottom:.75rem}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 2rem;background:#0000008c;overflow-y:auto}.settings-modal{width:min(36rem,100%);background:var(--color-bg, #1a1a1a);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.35rem 1.5rem;box-shadow:0 16px 48px #00000073}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.settings-modal-header h2{font-size:1.2rem;margin:0}.settings-subtitle{font-size:.95rem;margin:1.25rem 0 .65rem}.settings-list{margin:0;display:flex;flex-direction:column;gap:.65rem}.settings-row{display:grid;grid-template-columns:9.5rem 1fr;gap:.75rem;align-items:baseline}.settings-row dt{margin:0;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-300)}.settings-row dd{margin:0}.settings-categories{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.settings-category-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem .9rem;background:var(--color-surface)}.settings-category-name{font-weight:600;margin-bottom:.25rem}.settings-category-meta{font-size:.9rem;margin-bottom:.35rem}.settings-category-filter{font-size:.8rem;color:var(--ink-300);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:560px){.settings-row{grid-template-columns:1fr;gap:.15rem}}.pairings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.pairings-toolbar .btn{flex-shrink:0}.pairings-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.table-search{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem;width:100%}.table-search-input{flex:1;min-width:min(100%,220px);max-width:360px}.table-search-meta{font-size:.78rem;color:var(--ink-300);white-space:nowrap}.table-search-clear{padding:.25rem .55rem;font-size:.75rem;color:var(--ink-300)}.tab-panel .table-search{margin-top:.75rem}.round-selector{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ink-300)}.round-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--ink-300);width:32px;height:32px;font-size:.8rem;cursor:pointer;transition:all var(--transition)}.round-btn:hover{border-color:var(--color-border-warm);color:var(--wood-400)}.round-btn.active{background:var(--green-700);border-color:var(--green-500);color:var(--wood-300)}.boards-list{display:flex;flex-direction:column;gap:.6rem}.board-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem 1.1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;transition:border-color var(--transition)}.board-card:hover{border-color:var(--color-border-warm)}.board-bye{border-style:dashed;opacity:.8}.board-num{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-300);min-width:56px;flex-shrink:0}.board-matchup{flex:1;min-width:min(100%,280px);display:flex;flex-direction:column;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.player-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;min-height:2.25rem}.player-row-white{background:linear-gradient(180deg,#f8f4ec,#ede6d8);color:#2a2018;border-bottom:1px solid rgba(74,60,40,.15)}.player-row-black{background:linear-gradient(180deg,#3d3228,#1f1810);color:#f5f0e8}.player-row-bye{background:var(--color-surface-mid);justify-content:center;border-top:1px dashed var(--color-border)}.player-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-row-black .rating-tag{background:#ffffff1f;color:#d4c4a8}.color-side{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.color-side-swatch{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:3px;font-size:.62rem;font-weight:800;line-height:1;letter-spacing:-.02em}.color-side-white .color-side-swatch{background:#fffef9;color:#2a2018;border:2px solid #5a4a38;box-shadow:inset 0 1px #fffc}.color-side-black .color-side-swatch{background:#14100a;color:#f5f0e8;border:2px solid #8a7a60}.color-side-on-dark.color-side-black .color-side-swatch{background:#f5f0e8;color:#1a1208;border-color:#c4a574}.color-side-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;min-width:2.6rem}.color-side-white .color-side-label{color:#5a4a38}.color-side-black .color-side-label{color:#8a7a60}.color-side-on-dark.color-side-black .color-side-label{color:#c4a574}.color-horse{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif}.color-horse-white{color:#f5f0e8;text-shadow:0 1px 2px rgba(0,0,0,.45)}.color-horse-black{color:#1a1208;text-shadow:0 0 1px rgba(245,240,232,.35),0 1px 2px rgba(0,0,0,.5)}.rating-tag{font-size:.7rem;color:var(--ink-300);background:var(--color-surface-mid);padding:.1em .4em;border-radius:var(--radius-sm)}.result-selector{display:flex;gap:.3rem;flex-shrink:0}.result-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--ink-300);padding:.3rem .6rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.result-btn:hover{border-color:var(--wood-500);color:var(--wood-400)}.result-btn.active{background:var(--green-700);border-color:var(--green-500);color:var(--wood-300)}.result-bye{font-size:.78rem;font-style:italic;color:var(--ink-300)}.result-readonly{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--wood-300)}.drop-zone{border:2px dashed var(--color-border-warm);border-radius:var(--radius-xl);padding:3rem;text-align:center;cursor:pointer;transition:all var(--transition);background:var(--color-surface);margin-bottom:1.5rem}.drop-zone:hover,.drop-zone.dragging{border-color:var(--green-500);background:#2d8a680f}.drop-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.drop-title{font-family:var(--font-display);font-size:1.1rem;color:var(--wood-400);margin-bottom:.4rem}.drop-hint{font-size:.85rem;color:var(--ink-300)}.mapping-section,.preview-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.mapping-section h3,.preview-section h3{margin-bottom:.5rem;font-size:1rem}.mapping-grid{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.mapping-row{display:flex;align-items:center;gap:.75rem}.mapping-label{width:100px;font-size:.82rem;font-weight:600;color:var(--ink-500);flex-shrink:0}.preview-table{margin-top:.75rem}.missing{color:var(--color-danger)}.success-banner{background:#4caf821f;border:1px solid rgba(76,175,130,.3);border-radius:var(--radius-lg);padding:2rem;text-align:center;color:var(--green-200);font-family:var(--font-display);font-size:1.2rem;margin-top:1rem}.simulator-page .page-header{flex-direction:column;align-items:flex-start}.sim-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem}.sim-controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.25rem;align-items:end}.sim-controls-grid .form-group{margin-bottom:0}.sim-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.sim-status-bar{display:flex;align-items:center;gap:1rem;font-size:.82rem;color:var(--ink-300);padding-top:.75rem;border-top:1px solid var(--color-border);flex-wrap:wrap}.sim-status-bar strong{color:var(--wood-400)}.sim-done-tag{color:var(--color-success);font-weight:600}.sim-pending-tag{color:#ffcc60}.sim-error{margin-top:.5rem}.sim-body{display:flex;flex-direction:column;gap:2rem}.sim-section{animation:fadeSlide .25s ease}.sim-section-title{font-size:1.1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.final-tag{font-size:.7rem;background:#4caf8233;color:var(--green-200);padding:.2em .6em;border-radius:100px;font-weight:700;text-transform:uppercase}.sim-boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.75rem}.sim-board-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem 1rem;animation:popIn .2s ease both;transition:border-color var(--transition)}.sim-board-card:hover{border-color:var(--color-border-warm)}.sim-board-bye{border-style:dashed;opacity:.75}.sim-board-num{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-200);display:block;margin-bottom:.6rem}.sim-board-card .board-matchup{margin-top:.25rem}.sim-board-card .player-name{font-weight:500}.sim-board-card .sim-rating{font-size:.72rem;color:inherit;opacity:.75}.sim-board-card .player-row-black .sim-rating{opacity:.85}.sim-cat-block{margin-bottom:1.25rem}.sim-cat-heading{font-family:var(--font-display);font-size:1rem;color:var(--wood-400);margin:0 0 .65rem}.sim-standings-tabs{margin-bottom:.85rem}.sim-name{color:var(--wood-300)}.sim-rating{font-size:.7rem;color:var(--ink-300);margin-left:auto}.sim-vs{text-align:center;color:var(--ink-200);font-size:.72rem;padding-left:1.5rem}.sim-bye-tag{font-size:.75rem;font-style:italic;color:var(--ink-300);background:var(--color-surface-mid);padding:.2em .6em;border-radius:100px}.sim-manual-result{display:flex;gap:.3rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.cat-badge{font-size:.65rem;font-weight:700;padding:.15em .5em;border-radius:100px;text-transform:uppercase;letter-spacing:.04em}.cat-under12{background:#64b4ff26;color:#90caf9}.cat-under18{background:#b478ff26;color:#ce93d8}.cat-open{background:#c4a57426;color:var(--wood-400)}.sim-round-history{display:flex;flex-direction:column;gap:.5rem}.round-details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.round-summary{padding:.65rem 1rem;cursor:pointer;font-size:.875rem;color:var(--wood-400);list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem}.round-summary::-webkit-details-marker{display:none}.round-summary:before{content:"▶";font-size:.55rem;color:var(--ink-300);transition:transform var(--transition)}details[open] .round-summary:before{transform:rotate(90deg)}.round-count{font-size:.72rem;color:var(--ink-300)}.round-boards{padding:0 1rem .75rem;display:flex;flex-direction:column;gap:.35rem}.history-row{display:grid;grid-template-columns:36px 1fr 80px 1fr;align-items:center;gap:.5rem;font-size:.82rem;padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.history-row:last-child{border-bottom:none}.history-bye{opacity:.6}.history-board{color:var(--ink-200);font-size:.7rem}.history-white{color:var(--wood-300)}.history-black{color:var(--ink-500)}.history-result{text-align:center;font-size:.75rem;font-weight:700;padding:.15em .4em;border-radius:var(--radius-sm)}.history-result.result-1-0{background:#ffffff1a;color:#f5f0e8}.history-result.result-0-1{background:#28282880;color:#999}.history-result.result-1-2-1-2{background:#c4a57426;color:var(--wood-400)}.score-pill{display:inline-block;background:#2d8a6833;color:var(--green-200);padding:.1em .5em;border-radius:100px;font-weight:700}.diag-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.diag-title{font-size:1.05rem;margin-bottom:1rem}.diag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.diag-card{background:var(--color-surface-mid);border-radius:var(--radius);padding:.75rem;text-align:center;border:1px solid var(--color-border)}.diag-val{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--wood-500)}.diag-label{font-size:.7rem;color:var(--ink-300);text-transform:uppercase;letter-spacing:.04em}.diag-section{margin-top:1rem}.diag-section h4{font-size:.85rem;color:var(--ink-500);margin-bottom:.4rem}.diag-list{list-style:none;font-size:.82rem;color:var(--ink-300);display:flex;flex-direction:column;gap:.25rem}.clr-white-heavy{color:#f0ebe0}.clr-black-heavy{color:#89a}.sim-roster-summary{padding:.65rem 1rem;cursor:pointer;font-size:.875rem;color:var(--ink-300);list-style:none;-webkit-user-select:none;user-select:none}.sim-roster-summary::-webkit-details-marker{display:none}.sim-roster-table{margin-top:.75rem}.sim-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:4rem 2rem;text-align:center;color:var(--ink-300)}.sim-empty-board{width:120px;height:120px;background-image:repeating-conic-gradient(#c4a5741f,#c4a5741f 25%,#ffffff05 0%,#ffffff05 50%);background-size:20px 20px;border-radius:var(--radius-lg);border:1px solid var(--color-border-warm);opacity:.7}.sim-chess-icon{margin-right:.3em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:720px){.topbar{padding:0 1rem;gap:.5rem}.menu-toggle{display:block}.topnav{display:none;position:fixed;top:60px;left:0;right:0;background:var(--green-900);border-bottom:1px solid var(--color-border);flex-direction:column;padding:.5rem;z-index:99;gap:0}.topnav.open{display:flex}.topnav a{padding:.75rem 1rem;width:100%;border-radius:var(--radius)}.topnav-mobile-actions{display:flex}.sync-bar .btn-ghost,.sync-bar .btn-sync{display:none}.sync-bar{gap:.35rem}.sync-time{display:none}.page-content{padding:1.25rem 1rem}.hero{padding:2.5rem 1.25rem}.form-card{padding:1.25rem}.form-row{grid-template-columns:1fr}.sim-controls-grid{grid-template-columns:1fr 1fr}.sim-boards-grid{grid-template-columns:1fr}.board-card{flex-direction:column;align-items:flex-start}.diag-grid{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:28px 1fr}.history-result,.history-black{display:none}.page-header{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.pairings-toolbar{flex-direction:column;align-items:flex-start}}.cert-tournament-link{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface);color:var(--surface-fg)}.cert-tournament-link.needs-attention{border-color:var(--danger, #b42318);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger, #b42318) 25%,transparent)}.cert-tournament-link label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--surface-fg);min-width:min(100%,22rem)}.cert-tournament-link .form-hint{color:var(--surface-muted);max-width:36rem}.cert-tournament-link select.input,.cert-tournament-link .input{color:var(--surface-fg);background-color:#fff;border-color:var(--surface-border);font-weight:400}.cert-tournament-link select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a2e24' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-color:#fff}.cert-tournament-link select.input:focus,.cert-tournament-link .input:focus{background-color:#fff;border-color:var(--green-600);color:var(--surface-fg);box-shadow:0 0 0 2px #236b5033}.cert-tournament-link select.input option{color:#1a2e24;background:#fff}.cert-tournament-link code{font-size:.8em;color:var(--surface-fg)}.certificates-page .page-subtitle a{color:var(--wood-400)}.cert-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1rem}.cert-mode-tabs{display:flex;gap:.35rem}.cert-settings{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.25rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.cert-settings label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600;color:var(--ink-500)}.cert-settings select.input{color:var(--color-fg);min-width:12rem}.cert-settings select.input option{color:#1a2e24;background:#fff}.cert-workspace{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:1.25rem;align-items:start}.cert-sidebar{background:#071f178c;border:1px solid var(--color-border-warm);border-radius:var(--radius-lg);padding:1.1rem 1rem 1.25rem}.cert-sidebar h3{margin:0 0 .35rem;font-size:1.05rem;color:var(--wood-200);letter-spacing:.01em}.cert-sidebar-lead{margin:0 0 .85rem;font-size:.88rem;color:var(--ink-500);line-height:1.45}.cert-column-list{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.35rem;max-height:min(42vh,28rem);overflow:auto;padding-right:.15rem}.cert-col-item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title key" "sample sample";gap:.15rem .65rem;width:100%;text-align:left;border:1px solid var(--color-border);background:var(--color-surface-mid);color:var(--wood-100);border-radius:var(--radius);padding:.65rem .75rem;cursor:grab;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.cert-col-item:hover{border-color:var(--wood-500);background:var(--color-surface-high)}.cert-col-item.active{border-color:var(--wood-400);background:#c4a5742e;box-shadow:inset 3px 0 0 var(--wood-400)}.cert-col-title{grid-area:title;font-size:.95rem;font-weight:650;color:var(--wood-100);line-height:1.3}.cert-col-key{grid-area:key;align-self:start;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink-300);background:#00000047;border-radius:4px;padding:.12rem .4rem;letter-spacing:.02em}.cert-col-sample{grid-area:sample;font-size:.82rem;color:var(--ink-500);line-height:1.35}.cert-col-sample em{font-style:normal;color:var(--wood-300);font-weight:560}.cert-field-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.cert-field-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-radius:var(--radius-sm);background:var(--color-surface-mid);border:1px solid var(--color-border);font-size:.9rem;color:var(--wood-100)}.cert-field-list .cert-field-name{font-weight:600}.cert-field-list .cert-field-key{display:block;margin-top:.1rem;font-size:.75rem;color:var(--ink-300);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cert-field-list .cert-field-empty{justify-content:flex-start;color:var(--ink-300);font-style:italic;border-style:dashed}.cert-actions{display:flex;flex-direction:column;gap:.45rem}.cert-canvas-wrap{min-height:520px;min-width:0}.cert-designer{display:flex;flex-direction:column;gap:.65rem;height:min(78vh,900px)}.cert-zoom-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.cert-zoom-label{min-width:3.2rem;text-align:center;font-size:.8rem;color:var(--ink-200);font-variant-numeric:tabular-nums}.cert-zoom-hint{margin-left:.35rem}.cert-viewport{flex:1;overflow:auto;border:1px solid var(--color-border-warm);border-radius:var(--radius);background:#0d0b08;padding:1rem;cursor:crosshair;min-height:420px}.cert-viewport.panning{cursor:grab}.cert-viewport.panning:active{cursor:grabbing}.cert-page-stage{margin:0 auto}.cert-page{position:relative;background:#fff;box-shadow:0 10px 36px #00000059;overflow:hidden}.cert-page-canvas{display:block;width:100%;height:100%;pointer-events:none}.cert-page-loading,.cert-page-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffd9;color:#333;font-size:.9rem;z-index:2}.cert-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.cert-field-marker{position:absolute;min-width:3rem;max-width:70%;padding:.15rem .4rem;border:1px dashed rgba(180,140,60,.95);background:#fff8dc8c;border-radius:3px;cursor:move;-webkit-user-select:none;user-select:none;line-height:1.15;box-shadow:0 1px 4px #0000001f}.cert-field-label{display:block;font-size:.62rem;text-transform:none;letter-spacing:.01em;color:#4a3a1c;font-weight:700}.cert-field-sample{display:block;font-weight:700;font-size:.85rem;color:#1a1208;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.cert-workspace{grid-template-columns:1fr}}@media(max-width:400px){.sim-controls-grid{grid-template-columns:1fr}.sim-buttons .btn{width:100%}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem 1rem 2rem;color:var(--surface-fg);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--surface-accent) 18%,transparent),transparent 55%),linear-gradient(160deg,#e8f0eb 0%,var(--surface) 45%,#f3ebe0 100%)}.auth-frame{width:min(460px,100%);display:flex;flex-direction:column;gap:.85rem}.auth-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}.auth-home-link{justify-self:start;font-size:.9rem;font-weight:600;color:var(--forest);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border-radius:6px}.auth-home-link:hover{background:color-mix(in srgb,var(--forest) 8%,transparent);text-decoration:underline}.auth-top-brand{justify-self:center;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-display);font-weight:600;color:var(--forest);text-decoration:none;font-size:.95rem}.auth-top-spacer{justify-self:end;width:1px;height:1px}.auth-brand-mark{display:inline-flex;text-decoration:none;color:inherit}.auth-footer-secondary{margin-top:.35rem!important;padding-top:.65rem;border-top:1px solid var(--surface-border)}.auth-footer-secondary a{color:var(--surface-muted);font-weight:500}.auth-footer-secondary a:hover{color:var(--forest)}.auth-page .form-hint,.auth-page .auth-footer,.auth-page .auth-brand p{color:var(--surface-muted)}.auth-card{width:min(440px,100%);padding:1.75rem 1.5rem 1.5rem;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface);color:var(--surface-fg);box-shadow:0 18px 40px #14100814}.auth-card h1,.auth-card h2,.auth-card h3{color:var(--forest)}.auth-brand{text-align:center;margin-bottom:1.25rem}.auth-brand h1{margin:.35rem 0 .25rem;font-size:1.65rem;color:var(--forest)}.auth-brand p{margin:0;color:var(--surface-muted);font-size:.95rem}.auth-tabs{display:flex;gap:.35rem;margin-bottom:1rem}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--surface-fg)}.auth-page .input,.account-panel .input,.account-page .input{background:#fff;color:var(--surface-fg);border:1px solid var(--surface-border)}.auth-page .input:focus,.account-panel .input:focus{border-color:var(--forest);outline:2px solid color-mix(in srgb,var(--forest) 25%,transparent)}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;margin:1.1rem 0 .85rem;color:var(--surface-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--surface-border)}.auth-oauth{display:flex;gap:.5rem}.auth-oauth .btn{flex:1}.auth-footer{margin:1.1rem 0 0;text-align:center;font-size:.9rem;color:var(--surface-muted)}.auth-footer a{color:var(--forest);font-weight:600}.user-chip{font-size:.85rem;color:inherit;text-decoration:none;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-page .form-error{color:#b42318;margin-top:1rem}.account-page .account-success{color:var(--forest);font-weight:600;margin-top:1rem}.account-page .page-subtitle{color:var(--color-fg-dim)}.account-hero{display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem;padding:1rem 1.1rem;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface);color:var(--surface-fg)}.account-hero h2{color:var(--forest);margin:0 0 .15rem}.account-hero p{margin:0;color:var(--surface-muted)}.account-avatar{width:3.25rem;height:3.25rem;border-radius:999px;display:grid;place-items:center;font-weight:700;background:var(--forest);color:#f7f3ea}.account-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.account-badge{font-size:.75rem;padding:.15rem .5rem;border:1px solid var(--surface-border);border-radius:999px;text-transform:capitalize;color:var(--surface-fg);background:#fff}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.account-panel{padding:1rem 1.1rem;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface);color:var(--surface-fg)}.account-panel.danger{border-color:color-mix(in srgb,#b42318 45%,var(--surface-border))}.account-panel h3{margin:0 0 .75rem;font-size:1rem;color:var(--forest)}.account-panel .form-hint{color:var(--surface-muted)}.account-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.account-identity-list{list-style:none;padding:0;margin:0 0 .75rem}.account-identity-list li{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--surface-border);text-transform:capitalize;color:var(--surface-fg)}.account-sessions{list-style:none;padding:0;margin:0}.account-sessions li{display:grid;gap:.25rem;padding:.65rem 0;border-bottom:1px solid var(--surface-border)}.account-sessions-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;color:var(--surface-muted)}.account-sessions-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.account-session-current{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--forest)}.btn-danger{background:#b42318;color:#fff;border:none}.settings-page .account-panel,.settings-page .settings-dl{color:var(--surface-fg)}.settings-dl{margin:0}.settings-dl>div{display:grid;grid-template-columns:8rem 1fr;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--surface-border)}.settings-dl dt{color:var(--surface-muted);font-size:.85rem}.settings-dl dd{margin:0;color:var(--surface-fg)}.landing-page{min-height:100vh;display:flex;flex-direction:column;color:var(--wood-200);background:radial-gradient(ellipse at 15% 0%,rgba(45,138,104,.28) 0%,transparent 45%),radial-gradient(ellipse at 90% 80%,rgba(196,165,116,.12) 0%,transparent 40%),var(--green-900)}.landing-top{display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1rem,4vw,2.5rem)}.landing-logo{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--wood-300)}.landing-queen{font-size:1.35rem;color:var(--wood-400);line-height:1}.landing-nav{display:flex;gap:.5rem;align-items:center}.landing-hero{position:relative;flex:1;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:2rem;padding:clamp(2rem,6vh,4rem) clamp(1rem,4vw,2.5rem) 2rem;overflow:hidden;min-height:min(78vh,640px)}.landing-hero-board{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.14;background-image:linear-gradient(45deg,var(--wood-500) 25%,transparent 25%),linear-gradient(-45deg,var(--wood-500) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--wood-500) 75%),linear-gradient(-45deg,transparent 75%,var(--wood-500) 75%);background-size:48px 48px;background-position:0 0,0 24px,24px -24px,-24px 0;pointer-events:none;animation:landingBoardDrift 28s linear infinite}@keyframes landingBoardDrift{0%{background-position:0 0,0 24px,24px -24px,-24px 0}to{background-position:48px 48px,48px 72px,72px 24px,24px 48px}}.landing-hero-copy{position:relative;z-index:1;max-width:34rem}.landing-eyebrow{margin:0 0 .75rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wood-400)}.landing-brand{margin:0;font-size:clamp(2.75rem,7vw,4.5rem);line-height:1.05;color:var(--wood-100);animation:landingRise .7s ease both}.landing-lede{margin:1rem 0 1.5rem;font-size:1.1rem;line-height:1.55;color:var(--wood-300);max-width:32rem;animation:landingRise .7s ease .08s both}.landing-cta{display:flex;flex-wrap:wrap;gap:.65rem;animation:landingRise .7s ease .16s both}.landing-hero-piece{position:relative;z-index:1;display:grid;place-items:center;animation:landingFloat 5s ease-in-out infinite}.landing-queen-hero{font-size:clamp(7rem,22vw,14rem);line-height:1;color:var(--wood-400);text-shadow:0 24px 60px rgba(0,0,0,.45);-webkit-user-select:none;user-select:none}@keyframes landingRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes landingFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.landing-downloads{position:relative;z-index:1;padding:2.5rem clamp(1rem,4vw,2.5rem) 2rem;border-top:1px solid rgba(196,165,116,.18)}.landing-downloads h2,.landing-features h2,.landing-howto h2{margin:0 0 .4rem;color:var(--wood-200);font-size:1.5rem}.landing-section-lede{margin:0 0 1.25rem;color:var(--ink-500);max-width:36rem}.landing-features{padding:2.5rem clamp(1rem,4vw,2.5rem) 1rem;border-top:1px solid rgba(196,165,116,.12)}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.landing-feature-card{padding:1.15rem 1.1rem;border:1px solid rgba(196,165,116,.22);border-radius:10px;background:#ffffff08}.landing-feature-card h3{margin:.35rem 0 .4rem;font-size:1.05rem;color:var(--wood-200)}.landing-feature-card p{margin:0;font-size:.9rem;color:var(--ink-500);line-height:1.45}.landing-feature-glyph{font-size:1.35rem;color:var(--wood-400)}.landing-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.landing-download-card{display:flex;flex-direction:column;gap:.85rem;padding:1.2rem 1.1rem 1rem;border:1px solid rgba(196,165,116,.28);border-radius:12px;background:#ffffff0a;color:inherit}.landing-download-card.is-current-os{border-color:#c4a5748c;background:#c4a57412}.landing-download-card-head{display:flex;align-items:center;gap:.75rem}.landing-download-icon-wrap{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:8px;background:#c4a5741f;color:var(--wood-300);flex-shrink:0}.landing-os-icon{width:1.35rem;height:1.35rem;display:block}.landing-download-os{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--wood-200);line-height:1.2}.landing-download-detected{display:block;margin-top:.15rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--wood-400)}.landing-download-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.landing-download-option{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border:1px solid rgba(196,165,116,.2);border-radius:8px;background:#0000002e;color:inherit;text-decoration:none;transition:border-color var(--transition),background var(--transition)}a.landing-download-option:hover{border-color:var(--wood-400);background:#ffffff0f}.landing-download-option.is-recommended{border-color:#c4a57473;background:#c4a5741a}.landing-download-option.is-disabled{opacity:.5;cursor:default}.landing-download-option-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.landing-download-option-label{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;color:var(--wood-200)}.landing-download-badge{font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.12rem .4rem;border-radius:4px;background:#c4a57438;color:var(--wood-300)}.landing-download-option-detail{font-size:.8rem;color:var(--ink-500);line-height:1.35}.landing-download-option-cta{flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--wood-400)}.landing-download-option.is-disabled .landing-download-option-cta{color:var(--ink-300)}.landing-footnote{margin:1rem 0 0;font-size:.85rem;color:var(--ink-300)}.landing-footnote a{color:var(--wood-400)}.landing-howto{padding:2rem clamp(1rem,4vw,2.5rem) 2.5rem}.landing-steps{margin:0;padding-left:1.2rem;max-width:40rem;color:var(--ink-500);display:flex;flex-direction:column;gap:.75rem}.landing-steps strong{color:var(--wood-300)}.landing-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem clamp(1rem,4vw,2.5rem) 1.75rem;font-size:.85rem;color:var(--ink-300);border-top:1px solid rgba(196,165,116,.12)}.landing-footer-links{display:flex;gap:1rem}.landing-footer a{color:var(--wood-400)}@media(max-width:900px){.landing-feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.landing-hero{grid-template-columns:1fr;min-height:auto}.landing-hero-piece{order:-1}.landing-queen-hero{font-size:6.5rem}.landing-download-grid,.landing-feature-grid{grid-template-columns:1fr}}
