@import"https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&family=Shippori+Mincho+B1:wght@500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap";body:has(.cert-page-body) .main-content{overflow-x:visible}.cert-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cert-page-header-titles{display:flex;flex-direction:column;min-width:0}.cert-page-header-actions{margin-left:auto}.cert-page-subtitle{margin:.35rem 0 0;color:var(--text-muted);font-size:.85rem;font-weight:700}.cert-page-body{display:flex;flex-direction:column;gap:1rem}.cert-mode-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem}.cert-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-height:74px;padding:.95rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.cert-mode-card:hover{border-color:#10b98173}.cert-mode-card.active{border-color:#10b981bf;background:linear-gradient(135deg,#10b98121,#0ea5e90f);box-shadow:0 10px 24px #10b9811f}.cert-mode-title{font-size:.95rem;font-weight:900}.cert-mode-copy{color:var(--text-muted);font-size:.78rem;font-weight:700;line-height:1.45}.cert-workspace{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:1rem;align-items:start}.cert-controls,.cert-preview-panel{padding:1.15rem}.cert-controls{display:flex;flex-direction:column;gap:1.15rem}.cert-control-section{display:flex;flex-direction:column;gap:.75rem}.cert-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.83rem;font-weight:900}.cert-count{padding:.12rem .45rem;border-radius:999px;background:var(--bg-secondary);color:var(--text-muted);font-size:.7rem}.cert-target-list{display:flex;flex-direction:column;gap:.45rem;max-height:260px;overflow-y:auto;padding-right:.25rem}.cert-target-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.cert-target-card:hover,.cert-target-card.active{border-color:#10b981a6;background:#ecfdf5cc}.cert-placement{min-width:48px;padding:.2rem .42rem;border-radius:.45rem;font-size:.7rem;font-weight:900;text-align:center;white-space:nowrap}.cert-placement.gold{background:#fef3c7;color:#92400e}.cert-placement.silver{background:#eef2f7;color:#475569}.cert-placement.bronze{background:#ffedd5;color:#9a3412}.cert-target-main{display:flex;flex-direction:column;min-width:0;gap:.15rem}.cert-target-name,.cert-target-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-target-name{font-size:.85rem;font-weight:900}.cert-target-meta{color:var(--text-muted);font-size:.72rem;font-weight:700}.cert-mini-empty{padding:1rem;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:.82rem;font-weight:700;text-align:center}.cert-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.cert-button-grid .btn,.cert-adjust-grid .btn{justify-content:center}.cert-inline-label{margin-top:.15rem;color:var(--text-muted);font-size:.72rem;font-weight:800}.cert-adjust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.cert-adjust-grid-legacy{display:none}.cert-stepper-field{display:flex;flex-direction:column;gap:.35rem}.cert-stepper-field>span{color:var(--text-muted);font-size:.72rem;font-weight:800}.cert-stepper-control{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;min-height:42px;overflow:hidden;border:1px solid rgba(148,163,184,.65);border-radius:var(--radius-sm);background:var(--bg-primary)}.cert-stepper-control button{display:inline-flex;align-items:center;justify-content:center;border:0;background:#0f172a0a;color:var(--text-primary);font-size:1rem;font-weight:900;cursor:pointer}.cert-stepper-control button:hover{background:#10b9811f;color:var(--primary)}.cert-stepper-control input{min-height:42px;padding:.4rem .35rem;border:0;border-left:1px solid rgba(148,163,184,.45);border-right:1px solid rgba(148,163,184,.45);background:transparent;color:var(--text-primary);font-family:var(--font-jp, "Noto Sans JP", sans-serif);font-size:.85rem;font-weight:900;text-align:center}.cert-stepper-control input:focus{outline:none;box-shadow:inset 0 0 0 2px #10b98140}.cert-stepper-control input::-webkit-outer-spin-button,.cert-stepper-control input::-webkit-inner-spin-button{margin:0;appearance:none}.cert-reset-button{min-height:42px}.cert-recipient-adjust-panel{display:flex;flex-direction:column;gap:.65rem;padding-top:.3rem}.cert-recipient-adjust-heading{color:var(--text-primary);font-size:.78rem;font-weight:900}.cert-recipient-adjust-card{display:flex;flex-direction:column;gap:.55rem;padding:.65rem;border:1px solid rgba(16,185,129,.18);border-radius:var(--radius-md);background:#ffffffb8}.cert-recipient-adjust-title{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.cert-recipient-adjust-title strong{color:var(--text-primary);font-size:.78rem;font-weight:900}.cert-recipient-adjust-title span{min-width:0;overflow:hidden;color:var(--text-muted);font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.cert-link-button{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;color:var(--primary);font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}.cert-link-button:hover{text-decoration:underline}.cert-field-picker{display:flex;flex-wrap:wrap;gap:.4rem}.cert-field-chip{padding:.34rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-primary);color:var(--text-muted);font-size:.72rem;font-weight:900;cursor:pointer}.cert-field-chip.active{border-color:#10b981bf;background:#10b9811f;color:#047857}.cert-field-adjust-panel{display:flex;flex-direction:column;gap:.65rem;padding:.75rem;border:1px solid rgba(16,185,129,.18);border-radius:var(--radius-md);background:#ecfdf575}.cert-field-adjust-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.cert-field-adjust-header strong,.cert-field-adjust-header span{display:block}.cert-field-adjust-header strong{color:var(--text-primary);font-size:.84rem;font-weight:900}.cert-field-adjust-header span{margin-top:.12rem;color:var(--text-muted);font-size:.7rem;font-weight:800}.cert-field-visible{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-primary);font-size:.74rem;font-weight:900;white-space:nowrap}.cert-field-visible input{width:15px;height:15px}.cert-adjust-grid label,.cert-form-group{display:flex;flex-direction:column;gap:.35rem}.cert-adjust-grid label span,.cert-form-group label{color:var(--text-muted);font-size:.72rem;font-weight:800}.cert-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem}.cert-form-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cert-recipient-list{display:flex;flex-direction:column;gap:.45rem}.cert-recipient-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}.cert-icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-muted);cursor:pointer}.cert-icon-button:hover{border-color:#ef444473;color:#dc2626}.cert-form-group input,.cert-form-group textarea,.cert-form-group select,.cert-adjust-grid input{width:100%;min-height:38px;padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-jp, "Noto Sans JP", sans-serif);font-size:.85rem;font-weight:700}.cert-form-group textarea{min-height:94px;resize:vertical;line-height:1.6}.cert-form-group input:focus,.cert-form-group textarea:focus,.cert-form-group select:focus,.cert-adjust-grid input:focus{outline:none;border-color:#10b981b8;box-shadow:0 0 0 3px #10b9811f}.cert-stepper-control input,.cert-stepper-control input:focus{min-height:42px;padding:.4rem .35rem;border:0;border-left:1px solid rgba(148,163,184,.45);border-right:1px solid rgba(148,163,184,.45);border-radius:0;background:transparent;box-shadow:none;text-align:center}.cert-checkbox-row{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.82rem;font-weight:800}.cert-checkbox-row input{width:16px;height:16px}.cert-seal-upload{display:flex;flex-direction:column;gap:.45rem;padding:.65rem;border:1px dashed rgba(16,185,129,.35);border-radius:var(--radius-md);background:#ecfdf561}.cert-file-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;padding:.45rem .65rem;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:.78rem;font-weight:900;cursor:pointer}.cert-file-button input{display:none}.cert-seal-file-name{color:var(--text-muted);font-size:.72rem;font-weight:800}.cert-preview-panel{min-width:0}.cert-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem;color:var(--text-muted);font-size:.8rem;font-weight:800}.cert-preview-toolbar>div{display:flex;align-items:center;min-width:0;gap:.65rem}.cert-preview-toolbar strong{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-preview-mode{flex:0 0 auto;padding:.22rem .55rem;border-radius:999px;background:#10b9811f;color:#047857;font-size:.72rem;font-weight:900}.cert-preview-scroll{display:flex;justify-content:center;min-height:560px;overflow:auto;padding:1rem;border-radius:var(--radius-md);background:linear-gradient(45deg,rgba(15,23,42,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(15,23,42,.035) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(15,23,42,.035) 75%),linear-gradient(-45deg,transparent 75%,rgba(15,23,42,.035) 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.cert-frame{position:relative;box-sizing:border-box;flex:0 0 auto;max-width:100%;overflow:hidden;background:#fffdf2;color:#111827;font-family:HG正楷書体-PRO,HG正楷書体,HGP正楷書体,Klee One,Yu Mincho,YuMincho,Hiragino Mincho ProN,MS PMincho,Shippori Mincho B1,serif;font-weight:600;box-shadow:0 18px 48px #0f172a24;container-type:inline-size;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cert-frame.landscape{width:780px;aspect-ratio:1.414 / 1}.cert-frame.portrait{width:520px;aspect-ratio:1 / 1.414}.cert-frame.paper-b5.landscape{width:700px}.cert-frame.paper-b5.portrait{width:470px}.cert-frame.full-design{background-color:#fff8dc;background-image:linear-gradient(#fffdf233,#fffae526),url(/cert-bg.png);background-position:center;background-repeat:no-repeat;background-size:100% 100%}.cert-frame.portrait.full-design{background-image:radial-gradient(ellipse at center,#fffdf2b8,#fcebbb73),url(/cert-bg_vertical.png)}.cert-frame.preprinted{background:#fff;border:1px solid rgba(148,163,184,.55)}.cert-paper-guide{position:absolute;inset:18mm;z-index:1;display:flex;align-items:flex-start;justify-content:flex-start;border:1px dashed rgba(148,163,184,.65);border-radius:2px;color:#64748bbf;font-family:var(--font-jp, "Noto Sans JP", sans-serif);font-size:12px;font-weight:800;padding:8px;pointer-events:none}.cert-content{position:absolute;z-index:2;transform:translate(var(--cert-offset-x),var(--cert-offset-y)) scale(var(--cert-scale));transform-origin:center}.cert-text-title,.cert-text-award,.cert-text-event,.cert-text-recipient,.cert-text-affiliation,.cert-text-date,.cert-text-organizer,.cert-text-representative,.cert-seal{transform:translate(var(--cert-field-offset-x, 0mm),var(--cert-field-offset-y, 0mm)) scale(var(--cert-field-scale, 1));transform-origin:center}.cert-text-body{transform:translate(var(--cert-field-offset-x, 0mm),var(--cert-field-offset-y, 0mm));transform-origin:center}.cert-content.vertical{inset:16% 9% 10%}.cert-content.horizontal{inset:17% 12% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cert-content.vertical .cert-text-title,.cert-content.vertical .cert-text-award,.cert-content.vertical .cert-text-event,.cert-content.vertical .cert-text-recipient,.cert-content.vertical .cert-text-affiliation,.cert-content.vertical .cert-text-body,.cert-content.vertical .cert-text-date,.cert-content.vertical .cert-text-organizer,.cert-content.vertical .cert-text-representative{position:absolute;writing-mode:vertical-rl;text-orientation:upright}.cert-content.vertical .cert-text-title{right:4%;top:5%;bottom:5%;display:flex;align-items:center;justify-content:center;font-size:5.5cqw;font-weight:700;letter-spacing:.45em}.cert-content.vertical .cert-text-award{right:14.5%;top:14%;font-size:4.45cqw;font-weight:700;letter-spacing:.2em}.cert-content.vertical .cert-text-event{right:21.5%;top:19%;font-size:3.35cqw;font-weight:700;letter-spacing:.1em}.cert-content.vertical .cert-text-recipient{right:27%;top:9%;display:flex;flex-direction:column;align-items:flex-start;gap:.75cqw;font-size:4.35cqw;font-weight:700;letter-spacing:.08em}.cert-text-recipient .recipient-person{display:inline-flex;align-items:flex-start;transform:translate(var(--cert-recipient-offset-x, 0mm),var(--cert-recipient-offset-y, 0mm)) scale(var(--cert-recipient-scale, 1));transform-origin:center;white-space:nowrap}.cert-text-recipient .recipient-honorific{transform:translate(var(--cert-field-offset-x, 0mm),var(--cert-field-offset-y, 0mm)) scale(var(--cert-field-scale, 1));transform-origin:center}.cert-content.vertical .cert-text-recipient .recipient-person{flex-direction:row;align-items:center}.cert-content.vertical .cert-text-recipient .recipient-name{white-space:pre-wrap}.cert-content.vertical.recipient-pair .cert-text-recipient{font-size:3.8cqw}.cert-content.vertical.recipient-many .cert-text-recipient{right:26%;font-size:3.15cqw;letter-spacing:.02em}.cert-content.vertical .cert-text-recipient .recipient-honorific{align-self:center;margin-top:.7em;margin-right:0;font-size:1em;font-weight:600}.cert-content.vertical .cert-text-affiliation{right:36%;top:14%;font-size:3.15cqw;font-weight:600;letter-spacing:.05em;color:#334155}.cert-content.vertical.recipient-many .cert-text-affiliation{right:35%}.cert-content.vertical .cert-text-body{inset:6% 42% 8% 17%;font-size:3.15cqw;font-weight:700;line-height:1.4;letter-spacing:.08em;white-space:pre-wrap;overflow:hidden}.cert-content.vertical .cert-text-date{left:20%;bottom:7%;font-size:2.55cqw;font-weight:600}.cert-content.vertical .cert-text-organizer{left:15%;bottom:7%;font-size:2.85cqw;font-weight:600;white-space:nowrap}.cert-content.vertical .cert-text-representative{left:4%;bottom:7%;font-size:2.95cqw;font-weight:700;white-space:nowrap}.cert-content.horizontal .cert-text-title{margin-bottom:4.2cqw;font-size:5.2cqw;font-weight:700;letter-spacing:.75em;margin-right:-.75em}.cert-content.horizontal .cert-text-award{margin-bottom:.7cqw;font-size:3.3cqw;font-weight:700;letter-spacing:.16em}.cert-content.horizontal .cert-text-event{margin-bottom:2.8cqw;font-size:2.35cqw;font-weight:700}.cert-content.horizontal .cert-text-recipient{display:flex;flex-direction:column;align-items:center;gap:.35cqw;margin-bottom:.9cqw;font-size:4.1cqw;font-weight:700;letter-spacing:.06em;white-space:pre-wrap}.cert-content.horizontal .cert-text-recipient .recipient-person{align-items:baseline;justify-content:center}.cert-content.horizontal.recipient-pair .cert-text-recipient{font-size:3.55cqw}.cert-content.horizontal.recipient-many .cert-text-recipient{font-size:3.05cqw;line-height:1.45}.cert-content.horizontal .cert-text-recipient .recipient-honorific{margin-left:.5em;font-size:.7em;font-weight:600}.cert-content.horizontal .cert-text-affiliation{margin-bottom:2.6cqw;color:#334155;font-size:2.05cqw;font-weight:600}.cert-content.horizontal .cert-text-body{max-width:76%;margin:0 auto 4.5cqw;text-align:left;font-size:2.35cqw;font-weight:700;line-height:1.8;white-space:pre-wrap}.cert-content.horizontal .cert-text-date{margin-bottom:1.8cqw;font-size:2.1cqw;font-weight:600}.cert-content.horizontal .cert-text-organizer,.cert-content.horizontal .cert-text-representative{position:relative;display:flex;flex-direction:column;align-items:center;gap:.8cqw;font-size:2.3cqw;font-weight:600}.cert-content.horizontal .cert-text-representative{font-size:2.55cqw;font-weight:700}.cert-seal{position:absolute;left:3.8cqw;top:auto;bottom:4.2cqw;z-index:10;display:flex;align-items:center;justify-content:center;width:5.5cqw;height:5.5cqw;padding:.45cqw;border:.28cqw solid #c62828;border-radius:2px;box-sizing:border-box;color:#c62828;font-family:MS PMincho,Yu Mincho,serif;font-size:1.55cqw;font-weight:900;letter-spacing:.08em;line-height:1.05;writing-mode:vertical-rl;opacity:.82;mix-blend-mode:multiply}.cert-seal.image-seal{padding:0;border:0;background:transparent;opacity:1;writing-mode:horizontal-tb}.cert-seal.image-seal img{display:block;width:100%;height:100%;object-fit:contain}.cert-content.horizontal .cert-seal{left:calc(100% + 1cqw);top:1.2cqw;bottom:auto}.cert-frame.portrait .cert-content.horizontal .cert-seal{left:auto;right:4cqw;top:auto;bottom:5cqw}.cert-frame.portrait .cert-content.vertical .cert-text-title{font-size:4.5cqw;right:2%}.cert-frame.portrait .cert-content.vertical .cert-text-award{font-size:3.05cqw;right:11%}.cert-frame.portrait .cert-content.vertical .cert-text-event{font-size:2.2cqw;right:17%}.cert-frame.portrait .cert-content.vertical .cert-text-recipient{font-size:3.65cqw;right:23%}.cert-frame.portrait .cert-content.vertical .cert-text-affiliation{right:31%}.cert-frame.portrait .cert-content.vertical .cert-text-body{font-size:2.25cqw;right:40%}.cert-frame.portrait .cert-content.horizontal .cert-text-title{font-size:4.3cqw}.cert-frame.portrait .cert-content.horizontal .cert-text-recipient{font-size:3.5cqw}@media(min-width:1181px){.cert-preview-panel{position:sticky;top:1rem;display:flex;flex-direction:column;max-height:calc(100dvh - 2rem);align-self:start}.cert-preview-scroll{flex:1 1 auto;min-height:0;max-height:calc(100dvh - 6.5rem)}}@media(max-width:1180px){.cert-workspace{grid-template-columns:1fr}.cert-preview-panel{order:-1;position:static;max-height:none}}@media(max-width:720px){.cert-page-header{align-items:stretch}.cert-mode-panel{grid-template-columns:1fr}.cert-controls,.cert-preview-panel{padding:.9rem}.cert-form-row,.cert-adjust-grid{grid-template-columns:1fr}.cert-preview-toolbar{align-items:flex-start;flex-direction:column}.cert-preview-scroll{justify-content:flex-start;min-height:auto;padding:.75rem}.cert-frame.landscape{width:700px}}@media print{body:has(#cert-print-target)>*:not(#cert-print-target){display:none!important}body:has(#cert-print-target) #cert-print-target{display:block!important;position:fixed!important;inset:0!important;z-index:99999!important;background:#fff!important}#cert-print-target .cert-frame{margin:0!important;max-width:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#cert-print-target .cert-frame.landscape{width:297mm!important;height:210mm!important;aspect-ratio:auto!important}#cert-print-target .cert-frame.portrait{width:210mm!important;height:297mm!important;aspect-ratio:auto!important}#cert-print-target .cert-frame.paper-a4.landscape{width:297mm!important;height:210mm!important}#cert-print-target .cert-frame.paper-a4.portrait{width:210mm!important;height:297mm!important}#cert-print-target .cert-frame.paper-b5.landscape{width:257mm!important;height:182mm!important}#cert-print-target .cert-frame.paper-b5.portrait{width:182mm!important;height:257mm!important}#cert-print-target .cert-frame.preprinted{background:transparent!important}#cert-print-target .cert-paper-guide{display:none!important}@page{margin:0}}:root{--primary: #059669;--primary-light: #10b981;--primary-dark: #047857;--primary-glow: rgba(5, 150, 105, .2);--primary-gradient: linear-gradient(135deg, #059669 0%, #10b981 100%);--secondary: #0f172a;--secondary-light: #1e293b;--accent: #f59e0b;--accent-glow: rgba(245, 158, 11, .2);--danger: #ef4444;--danger-light: #f87171;--success: #10b981;--warning: #f59e0b;--info: #3b82f6;--text-main: #0f172a;--text-dim: #475569;--text-muted: #64748b;--text-on-primary: #ffffff;--bg-main: #f8fafc;--bg-card: rgba(255, 255, 255, .9);--bg-sidebar: #0f172a;--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .8);--glass-shadow: 0 10px 40px -10px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04), inset 0 1px 0 rgba(255, 255, 255, 1);--mesh-gradient: radial-gradient(at 0% 0%, hsla(160, 80%, 96%, 1) 0, transparent 40%), radial-gradient(at 100% 0%, hsla(170, 70%, 97%, 1) 0, transparent 40%), radial-gradient(at 50% 100%, hsla(150, 80%, 96%, 1) 0, transparent 40%), var(--bg-main);--font-main: "Outfit", "Noto Sans JP", sans-serif;--font-jp: "Noto Sans JP", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--font-main);font-size:15px;background:var(--mesh-gradient);background-attachment:fixed;color:var(--text-main);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-main);letter-spacing:-.02em;font-weight:700;color:var(--secondary);line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}h4{font-size:.95rem}p{font-family:var(--font-jp);color:var(--text-dim);line-height:1.7}.app-layout{display:flex;width:100%;min-height:100dvh}.sidebar{width:260px;background:var(--secondary);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s var(--ease-out-expo)}.sidebar-header{padding:1.5rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.75rem}.sidebar-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 8px 18px #0000002e}.sidebar-logo-image{width:100%;height:100%;display:block;object-fit:cover}.sidebar-brand{display:flex;flex-direction:column}.sidebar-brand-name{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.sidebar-brand-sub{font-size:.65rem;color:#fff6;letter-spacing:.05em;text-transform:uppercase}.sidebar-nav{flex:1;padding:.75rem 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar-section-title{padding:1rem 1.25rem .4rem;font-size:.7rem;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.1em}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;color:#fff9;text-decoration:none;font-size:.95rem;font-weight:500;transition:all .2s ease;border-left:3px solid transparent;cursor:pointer;min-height:44px}.sidebar-link:hover{color:#ffffffd9;background:#ffffff0d}.sidebar-link.active{color:#fff;background:#05966926;border-left-color:var(--primary)}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.sidebar-link span{font-family:var(--font-jp)}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);font-size:.7rem;color:#ffffff40;text-align:center}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100dvh;min-width:0;overflow-x:hidden}.page-header{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-header h1{display:flex;align-items:center;gap:.5rem;min-width:0;white-space:nowrap;flex-shrink:0}.page-body{padding:0 2rem 2rem;flex:1}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);transition:all .4s var(--ease-out-expo)}.glass-panel input:focus,.glass-panel select:focus,.glass-panel textarea:focus{outline:none;border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-glow),inset 0 1px 3px #0000000a!important;background:#fff!important}.form-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-dim);margin-bottom:.35rem;font-family:var(--font-jp)}.form-input,.form-select{display:block;width:100%;padding:.5rem .75rem;font-size:.85rem;font-family:var(--font-jp);color:var(--text-main);background-color:#f8f9fb;border:1.5px solid rgba(0,0,0,.1);border-radius:.6rem;box-shadow:inset 0 1px 2px #0000000a;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;outline:none}.form-input::placeholder{color:var(--text-dim);opacity:.5}.form-input:hover,.form-select:hover{border-color:#0000002e;background-color:#f3f4f7}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow),inset 0 1px 2px #0000000a;background-color:#fff}.form-input:disabled,.form-select:disabled{opacity:.5;cursor:not-allowed;background-color:#eef0f3}.form-select{cursor:pointer}.form-group{margin-bottom:1rem}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:0 2px 4px #00000005,0 1px 2px #00000005,inset 0 1px #fff;border:1px solid rgba(0,0,0,.04);transition:all .3s var(--ease-out-expo)}.card:hover{box-shadow:0 8px 16px #0000000f,0 4px 6px #0000000a,inset 0 1px #fff;transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.2rem;border-radius:var(--radius-md);font-family:var(--font-jp);font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all .3s var(--ease-spring);text-decoration:none;white-space:nowrap;min-height:40px}.btn:active{transform:scale(.95)}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px #05966940,inset 0 1px #fff3}.btn-primary:hover{box-shadow:0 8px 24px #05966966,inset 0 1px #ffffff4d;transform:translateY(-1px)}.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 4px 12px #0f172a33,inset 0 1px #ffffff1a}.btn-secondary:hover{box-shadow:0 8px 24px #0f172a4d,inset 0 1px #ffffff26;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover{background:var(--primary-glow);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-dim)}.btn-ghost:hover{background:#0000000f;color:var(--text-main)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.45rem .9rem;font-size:.85rem;min-height:36px}.btn-lg{padding:.75rem 1.5rem;font-size:.95rem}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:all .2s ease}.btn-icon:hover{background:#0000000f;color:var(--text-main)}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-label{font-size:.88rem;font-weight:600;color:var(--text-dim);font-family:var(--font-jp)}.form-input,.form-select,.form-textarea{padding:.7rem 1rem;border-radius:var(--radius-md);border:1.5px solid rgba(0,0,0,.08);font-family:var(--font-jp);font-size:.92rem;color:var(--text-main);background:#fff;transition:all .3s var(--ease-spring);outline:none;width:100%;box-shadow:inset 0 1px 2px #00000005;min-height:42px}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#00000026}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:inset 0 1px 2px #00000005,0 0 0 4px var(--primary-glow)}.form-textarea{min-height:80px;resize:vertical}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table thead th{padding:.75rem 1rem;text-align:left;font-weight:700;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(0,0,0,.06);font-family:var(--font-jp);position:sticky;top:0;background:var(--bg-card);z-index:10}.data-table tbody td{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.04);font-family:var(--font-jp);vertical-align:middle}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#05966908}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:24px;font-size:.82rem;font-weight:700;font-family:var(--font-jp);letter-spacing:.02em}.badge-primary{background:var(--primary-glow);color:var(--primary-dark);box-shadow:inset 0 0 0 1px #0596691a}.badge-success{background:#22c55e1f;color:#15803d}.badge-warning{background:#f59e0b1f;color:#b45309}.badge-danger{background:#ef44441f;color:#dc2626}.badge-info{background:#3b82f61f;color:#2563eb}.badge-neutral{background:#0000000f;color:var(--text-dim)}.stats-grid{display:grid;grid-template-columns:repeat(4,auto);gap:.6rem}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:.6rem .85rem;border:1px solid rgba(0,0,0,.04);display:flex;align-items:center;gap:.6rem;white-space:nowrap}.stat-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.stat-icon.green{background:var(--primary-glow)}.stat-icon.blue{background:#3b82f61a}.stat-icon.amber{background:#f59e0b1a}.stat-icon.red{background:#ef44441a}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:800;color:var(--secondary);line-height:1.2}.stat-label{font-size:.75rem;color:var(--text-muted);font-family:var(--font-jp)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--text-dim);margin-bottom:.5rem}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:0 25px 50px #00000026;max-width:560px;width:90%;max-height:85vh;overflow-y:auto;animation:slideUp .3s var(--ease-out-expo)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:flex-end;gap:.75rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:fadeIn .4s ease}.animate-slide-up{animation:slideUp .4s var(--ease-out-expo)}.draggable{cursor:grab;transition:all .2s ease}.draggable:active{cursor:grabbing}.dragging{opacity:.5;transform:scale(1.02);box-shadow:0 8px 24px #0000001f;z-index:999}.drop-target{border:2px dashed var(--primary);background:var(--primary-glow);border-radius:var(--radius-md)}.drop-target-active{border-color:var(--primary-dark);background:#05966933}.score-display{font-size:4rem;font-weight:900;letter-spacing:-.02em;font-family:var(--font-main);color:var(--secondary);line-height:1}.score-btn{width:80px;height:80px;border-radius:50%;border:none;font-size:1.5rem;font-weight:800;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.score-btn:active{transform:scale(.92)}.score-btn-plus{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 16px #0596694d}.score-btn-minus{background:#0000000f;color:var(--text-dim)}.bracket-container{overflow-x:auto;overflow-y:auto;padding:2rem;-webkit-overflow-scrolling:touch}.bracket-match{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.08);min-width:200px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:all .2s ease}.bracket-match:hover{box-shadow:0 4px 12px #00000014}.bracket-player{padding:.5rem .75rem .5rem 2.25rem;position:relative;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-family:var(--font-jp);border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s ease}.bracket-player:last-child{border-bottom:none}.bracket-player.winner{background:#0596690f;font-weight:600}.bracket-player.loser{color:var(--text-muted)}.bracket-player-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-player-score{font-weight:700;font-size:.8rem;color:var(--secondary);margin-left:.5rem}.bracket-seed{width:20px;height:20px;border-radius:50%;background:var(--primary-glow);color:var(--primary-dark);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;position:absolute;left:.5rem;top:50%;transform:translateY(-50%);flex-shrink:0}.schedule-progress-container{height:4px;background:#0000000f;border-radius:4px;overflow:hidden;margin-bottom:1rem}.schedule-progress-bar{height:100%;background:var(--primary-gradient);border-radius:4px;transition:width .6s var(--ease-out-expo);min-width:0}.schedule-toolbar{margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.schedule-view-tabs{display:flex;gap:2px;background:#0000000f;border-radius:var(--radius-md);padding:3px;width:fit-content}.schedule-tab{display:flex;align-items:center;gap:.35rem;padding:.4rem 1rem;border:none;background:transparent;font-size:.8rem;font-weight:600;font-family:var(--font-jp);color:var(--text-muted);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:all .2s ease}.schedule-tab:hover{color:var(--text-main)}.schedule-tab.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #00000014}.schedule-placement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem;padding:.75rem .9rem;background:#ffffffd1;border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 6px 18px #0f172a0d}.schedule-placement-title{font-size:.85rem;font-weight:800;color:var(--text-main)}.schedule-placement-desc{margin-top:.15rem;font-size:.72rem;color:var(--text-muted)}.schedule-placement-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}@media(max-width:720px){.schedule-placement-toolbar{align-items:stretch;flex-direction:column}.schedule-placement-actions{justify-content:flex-start}}.schedule-filters-row{display:flex;flex-direction:column;gap:.6rem;overflow:visible}.schedule-filter-chips{display:flex;gap:.35rem;flex-wrap:wrap;overflow:visible}.schedule-chip{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:20px;font-size:.72rem;font-weight:600;font-family:var(--font-jp);border:1.5px solid rgba(0,0,0,.1);background:#fff;color:var(--text-dim);cursor:pointer;transition:all .2s var(--ease-spring);white-space:nowrap}.schedule-chip:hover{border-color:var(--primary);color:var(--primary)}.schedule-chip.active{background:var(--primary-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 8px #05966940}.schedule-search-group{display:flex;gap:.5rem;align-items:center}.schedule-search-wrapper{position:relative;display:flex;align-items:center;gap:.4rem;background:#fff;border:1.5px solid rgba(0,0,0,.1);border-radius:var(--radius-md);padding:.35rem .7rem;transition:all .2s ease;min-width:180px}.schedule-search-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.schedule-search-input{border:none;outline:none;font-size:.8rem;font-family:var(--font-jp);color:var(--text-main);background:transparent;width:100%}.schedule-search-input::placeholder{color:var(--text-muted);opacity:.6}.schedule-search-clear{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:#0000000f;border:none;border-radius:50%;width:18px;height:18px;font-size:.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .15s ease}.schedule-search-clear:hover{background:#0000001f;color:var(--text-main)}.schedule-conflict-banner{padding:.6rem 1rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-md);font-size:.78rem;font-family:var(--font-jp);color:#92400e;font-weight:600;margin-bottom:1rem}.schedule-scroll-wrapper{position:relative}.schedule-grid-container{padding:.7rem;overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.schedule-grid-container::-webkit-scrollbar{height:10px}.schedule-grid-container::-webkit-scrollbar-track{background:#0000000a;border-radius:5px;margin:0 64px}.schedule-grid-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:5px;border:2px solid rgba(255,255,255,.8);min-width:40px}.schedule-grid-container::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.schedule-grid-container{scrollbar-width:thin;scrollbar-color:var(--primary) rgba(0,0,0,.04)}.schedule-scroll-shadow-left,.schedule-scroll-shadow-right{position:absolute;top:0;bottom:0;width:40px;z-index:15;pointer-events:none;transition:opacity .3s ease}.schedule-scroll-shadow-left{left:64px;background:linear-gradient(to right,rgba(0,0,0,.08),transparent)}.schedule-scroll-shadow-right{right:0;background:linear-gradient(to left,rgba(0,0,0,.08),transparent)}.schedule-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:25;width:36px;height:36px;border-radius:50%;border:none;background:#fff;color:var(--text-main);font-size:1.4rem;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000026;transition:all .2s var(--ease-spring);opacity:0}.schedule-scroll-wrapper:hover .schedule-scroll-btn{opacity:1}.schedule-scroll-btn:hover{background:var(--primary);color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 16px #0596694d}.schedule-scroll-btn:active{transform:translateY(-50%) scale(.95)}.schedule-scroll-btn-left{left:66px}.schedule-scroll-btn-right{right:4px}.schedule-grid{display:grid;gap:1px;background:#0000000a;border-radius:var(--radius-lg);overflow:hidden}.schedule-cell{background:#fff;padding:.35rem;min-height:32px;font-size:.75rem;font-family:var(--font-jp);transition:all .2s ease}.schedule-cell:hover{background:var(--primary-glow)}.schedule-cell-done{background:#00000005;padding:.35rem;min-height:32px;font-size:.75rem;font-family:var(--font-jp);opacity:.55;transition:all .2s ease}.schedule-cell-done:hover{opacity:.8}.schedule-cell-live{background:#f59e0b0f;padding:.35rem;min-height:32px;font-size:.75rem;font-family:var(--font-jp);animation:scheduleGlow 2s ease-in-out infinite;transition:all .2s ease}@keyframes scheduleGlow{0%,to{box-shadow:inset 0 0 0 0 transparent}50%{box-shadow:inset 0 0 0 2px #f59e0b4d}}.schedule-cell-delayed{background:#ef44440f;padding:.35rem;min-height:32px;font-size:.75rem;font-family:var(--font-jp);transition:all .2s ease}.schedule-cell-delayed:before{content:"";display:block;width:100%;height:2px;background:#ef444466;border-radius:1px;margin-bottom:.25rem}.schedule-cell-highlight{background:#3b82f614!important;box-shadow:inset 0 0 0 2px #3b82f64d}.schedule-cell-dimmed{opacity:.35}.search-match{background:#3b82f626;padding:0 2px;border-radius:2px;font-weight:700}.entrant-roster{display:flex;flex-direction:column;gap:.12rem;min-width:0;width:100%;color:var(--text-main)}.entrant-roster-row{display:flex;align-items:baseline;gap:.18rem;min-width:0;line-height:1.25;white-space:nowrap}.entrant-roster-name{flex-shrink:0;min-width:0;max-width:68%;overflow:hidden;text-overflow:ellipsis;font-weight:800}.entrant-roster-row--solo .entrant-roster-name{max-width:100%}.entrant-roster-affiliation{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-weight:600}.entrant-roster--xs .entrant-roster-name{font-size:.66rem}.entrant-roster--xs .entrant-roster-affiliation{font-size:.56rem}.entrant-roster--sm .entrant-roster-name{font-size:.72rem}.entrant-roster--sm .entrant-roster-affiliation{font-size:.62rem}.entrant-roster--md .entrant-roster-name{font-size:.86rem}.entrant-roster--md .entrant-roster-affiliation{font-size:.72rem}.entrant-roster--lg .entrant-roster-name{font-size:1rem}.entrant-roster--lg .entrant-roster-affiliation{font-size:.78rem}.entrant-roster--light{color:#fff}.entrant-roster--light .entrant-roster-affiliation{color:#94a3b8}.entrant-roster--muted{color:var(--text-muted)}.seeded-entrant-roster{display:grid;grid-template-columns:.9rem minmax(0,1fr);align-items:start;column-gap:.1rem;min-width:0;width:100%}.seeded-entrant-seed-slot{display:flex;justify-content:flex-start;width:.9rem;min-height:1rem;flex-shrink:0}.seeded-entrant-seed{min-width:.82rem;height:.9rem;padding:0 .16rem;border-radius:4px;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;font-size:.56rem;font-weight:800;line-height:.9rem;text-align:center;font-variant-numeric:tabular-nums}.entrant-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:.35rem;min-width:0}.entrant-versus-label{align-self:center;color:var(--text-sub);font-size:.62rem;font-weight:700}.schedule-cell-conflict{box-shadow:inset 0 0 0 2px #f59e0b66!important}.schedule-conflict-icon{font-size:.7rem;line-height:1}.schedule-header-cell{background:var(--secondary);color:#fff;padding:.48rem .35rem;font-weight:600;font-size:.72rem;text-align:center}.schedule-time-cell{background:var(--bg-main);font-weight:600;font-size:.72rem;color:var(--text-dim);display:flex;align-items:center;justify-content:center;position:sticky;left:0;z-index:5;box-shadow:2px 0 8px #0000000f;border-right:1px solid rgba(0,0,0,.05)}.schedule-time-current{color:var(--primary-dark);font-weight:800;outline:2px solid var(--primary)}.schedule-time-past{color:var(--text-muted);opacity:.6}.schedule-now-indicator{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary);border-top-right-radius:2px;border-bottom-right-radius:2px;animation:pulse 2s infinite}.schedule-match-chip{background:var(--chip-bg, rgba(5, 150, 105, .08));border:1px solid var(--chip-border, rgba(5, 150, 105, .2));border-left:2px solid var(--chip-accent, rgba(5, 150, 105, .5));border-radius:var(--radius-sm);padding:.24rem .3rem;font-size:.7rem;color:var(--text-main);cursor:pointer;transition:all .2s ease}.schedule-chip-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;cursor:pointer;border:1.5px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0000001a;transition:transform .15s ease}.schedule-chip-color-dot:hover{transform:scale(1.3)}.schedule-color-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:100;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:.5rem;background:#fff;color:#333;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 6px 20px #0000002e;min-width:200px}.schedule-color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.schedule-color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px #00000026}.schedule-color-swatch.active{border-color:var(--text-main);box-shadow:0 0 0 2px var(--text-main)}.schedule-color-reset{grid-column:1 / -1;font-size:.68rem;color:var(--text-sub);background:none;border:1px dashed var(--border-light);border-radius:var(--radius-sm);padding:.2rem;cursor:pointer;margin-top:2px}.schedule-color-reset:hover{background:var(--primary-glow);color:var(--text-main)}.schedule-filter-chips .schedule-chip{position:relative;display:flex;align-items:center;gap:.3rem;overflow:visible}.schedule-match-chip:hover{background:#05966933;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.schedule-match-chip.chip-done{background:#00000008;border-color:#0000000f}.schedule-match-chip.chip-live{background:#f59e0b1a;border-color:#f59e0b4d}.schedule-match-chip.chip-tbd{background:#00000005;border-color:#00000014;border-style:dashed;opacity:.65}.tbd-name{color:var(--text-muted);font-style:italic}.schedule-match-chip-header{display:flex;align-items:center;flex-wrap:wrap;gap:.18rem;margin-bottom:.1rem}.schedule-match-number{font-weight:700;font-size:.64rem;color:var(--text-main)}.schedule-sequence-badge{flex-shrink:0;color:#fff;background:linear-gradient(135deg,#0f766e,#059669);border-radius:999px;padding:.06rem .34rem;font-size:.58rem;font-weight:900;line-height:1.35;white-space:nowrap;box-shadow:0 1px 3px #0f766e2e}.schedule-round-label{font-size:.6rem;font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-match-players-inline{display:flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:500;color:var(--text-main);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-match-players-inline>span{overflow:hidden;text-overflow:ellipsis}.schedule-match-roster{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.05rem;margin-top:.1rem;color:var(--text-main)}.schedule-match-side{display:flex;flex-direction:column;gap:.08rem;min-width:0}.schedule-player-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:.12rem;min-width:0;line-height:1.2;white-space:normal}.schedule-player-name{flex-shrink:0;max-width:100%;overflow:visible;text-overflow:clip;font-size:.68rem;font-weight:800}.schedule-player-affiliation{min-width:0;max-width:100%;overflow:visible;text-overflow:clip;color:var(--text-muted);font-size:.56rem;font-weight:600;overflow-wrap:anywhere}.schedule-match-players{display:flex;flex-direction:column;gap:.1rem;margin:.15rem 0}.schedule-match-players>span{font-size:.7rem}.schedule-match-vs{font-size:.58rem;color:var(--text-sub);flex-shrink:0;align-self:flex-start;line-height:1.1}.schedule-match-event{font-size:.58rem;color:var(--text-muted);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.schedule-event-badge{font-size:.58rem;font-weight:700;color:var(--badge-color, var(--primary-dark));background:var(--badge-bg, rgba(5, 150, 105, .1));padding:.04rem .28rem;border-radius:3px;white-space:nowrap;line-height:1.4;flex-shrink:0}.schedule-match-affiliation{font-size:.58rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.05rem;opacity:.75}.schedule-drag-handle{margin-left:auto;cursor:grab;color:var(--text-muted);font-size:.75rem;letter-spacing:-2px;opacity:.5;transition:opacity .15s ease}.schedule-drag-handle:hover{opacity:1}.timeline-player-select{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.timeline-container{display:flex;flex-direction:column;gap:0;max-width:600px}.timeline-card{display:flex;align-items:stretch;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease}.timeline-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.timeline-card-done{opacity:.55;border-color:#0000000a}.timeline-card-live{border-color:#f59e0b66;box-shadow:0 0 0 1px #f59e0b33}.timeline-card-time{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;background:var(--primary-glow);min-width:70px;gap:.15rem}.timeline-time-value{font-weight:800;font-size:.95rem;color:var(--primary-dark)}.timeline-time-court{font-size:.6rem;font-weight:600;color:var(--text-muted)}.timeline-card-body{flex:1;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.2rem}.timeline-card-event{font-size:.65rem;color:var(--text-muted);font-weight:600}.timeline-card-matchup{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-family:var(--font-jp)}.timeline-player-self{font-weight:700;color:var(--primary-dark)}.timeline-player-opponent{font-weight:500;color:var(--text-main)}.timeline-card-vs{font-size:.65rem;color:var(--text-muted)}.timeline-card-number{display:flex;align-items:center;justify-content:center;padding:0 .75rem;font-weight:700;font-size:.75rem;color:var(--text-dim);border-left:1px solid rgba(0,0,0,.06)}.timeline-wait{display:flex;align-items:center;gap:.5rem;padding:.6rem 0}.timeline-wait-line{flex:1;height:1px;background:#00000014}.timeline-wait-badge{font-size:.68rem;font-weight:700;color:var(--text-muted);background:#0000000a;padding:.15rem .6rem;border-radius:12px;white-space:nowrap}.live-court-card{background:#fff;border-radius:var(--radius-lg);padding:1rem;border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}.live-court-card.in-progress{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 2px 8px #05966926}.live-badge{background:var(--danger);color:#fff;font-size:.6rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;animation:pulse 2s infinite}.mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:40px;height:40px;border-radius:var(--radius-md);background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000001a;align-items:center;justify-content:center;cursor:pointer;color:var(--secondary)}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.event-tab-wrap{position:relative;display:flex;align-items:stretch}.event-tab-wrap .event-tab-arrow{position:absolute;top:0;bottom:0;width:28px;z-index:2;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-muted);transition:all .15s;opacity:0;pointer-events:none}.event-tab-wrap .event-tab-arrow.visible{opacity:1;pointer-events:auto}.event-tab-wrap .event-tab-arrow-left{left:0;background:linear-gradient(to right,rgba(240,240,240,.95) 60%,transparent);border-radius:var(--radius-md) 0 0 var(--radius-md);padding-right:4px}.event-tab-wrap .event-tab-arrow-right{right:0;background:linear-gradient(to left,rgba(240,240,240,.95) 60%,transparent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding-left:4px}.event-tab-wrap .event-tab-arrow:hover{color:var(--primary)}.event-tab-bar{display:flex;gap:.25rem;background:#0000000a;border-radius:var(--radius-md);padding:.25rem;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-width:0}.event-tab-bar::-webkit-scrollbar{display:none}.draw-event-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;font-size:.78rem;font-weight:600;font-family:var(--font-jp);transition:all .2s;background:transparent;color:var(--text-muted);white-space:nowrap;line-height:1.4}.draw-event-tab:hover{background:#0000000a;color:var(--text-main)}.draw-event-tab.active{background:var(--primary-glow);color:var(--primary-dark);border-color:var(--primary);font-weight:700}.draw-tab-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.draw-tab-dot.warning{background:var(--warning)}.draw-tab-dot.danger{background:var(--danger)}.draw-tab-dot.success{background:var(--success)}.event-tab-btn{flex:0 0 auto;padding:.5rem .75rem;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.78rem;font-weight:600;font-family:var(--font-jp);transition:all .2s;background:transparent;color:var(--text-muted);white-space:nowrap}.event-tab-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.search-input-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.public-board-header{position:sticky;top:0;z-index:5}.public-board-header-inner{max-width:1040px;margin:0 auto;padding:1rem}.public-board-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}.public-board-title{min-width:0;overflow-wrap:anywhere}.public-board-view-badge{display:inline-flex;align-items:center;gap:.32rem;flex:0 0 auto;color:#0f766e;background:#ccfbf1;border:1px solid rgba(15,118,110,.16);border-radius:999px;padding:.27rem .5rem;font-size:.72rem;font-weight:950;line-height:1;white-space:nowrap}.public-board-view-badge svg{flex:0 0 auto}.public-portal-tabs{display:flex;gap:.42rem;overflow-x:auto;padding:0 0 .1rem;margin:.25rem 0 .75rem;scrollbar-width:thin}.public-portal-tab{border:1px solid rgba(15,23,42,.1);background:#fff;color:#334155;border-radius:999px;padding:.38rem .72rem;font-size:.78rem;font-weight:950;line-height:1;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.public-portal-tab.is-active{background:#0f766e;border-color:#0f766e;color:#fff;box-shadow:0 8px 18px #0f766e29}.public-readonly-view{display:grid;gap:.85rem}.public-readonly-event-group{display:grid;gap:.75rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:8px;padding:.85rem;box-shadow:0 8px 22px #0f172a0a}.public-readonly-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;min-width:0}.public-readonly-event-header h3{margin:0;color:#0f172a;font-size:.95rem;font-weight:950;line-height:1.3;overflow-wrap:anywhere}.public-readonly-event-header p{margin:.2rem 0 0;color:#64748b;font-size:.74rem;font-weight:800}.public-readonly-event-header>span{flex:0 0 auto;color:#0f766e;background:#ccfbf1;border-radius:999px;padding:.22rem .5rem;font-size:.7rem;font-weight:950;white-space:nowrap}.public-readonly-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.public-draw-content{display:grid;gap:.9rem}.public-draw-section{display:grid;gap:.55rem;min-width:0}.public-draw-section-title{margin:0;color:#0f766e;font-size:.84rem;font-weight:950}.public-draw-rounds{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(235px,270px);gap:.7rem;overflow-x:auto;padding:.1rem .05rem .35rem;scrollbar-width:thin}.public-draw-mobile-round-view{display:none}.public-draw-mobile-round-nav{display:grid;grid-template-columns:2.35rem minmax(0,1fr) 2.35rem;align-items:center;gap:.45rem}.public-draw-mobile-round-nav button{width:2.35rem;height:2.35rem;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:#fff;color:#0f766e;font-size:1.45rem;font-weight:900;line-height:1;cursor:pointer}.public-draw-mobile-round-nav button:disabled{color:#cbd5e1;border-color:#94a3b83d;cursor:default}.public-draw-mobile-round-nav>div{display:grid;justify-items:center;gap:.16rem;min-width:0}.public-draw-mobile-round-nav strong{color:#0f172a;font-size:1.05rem;font-weight:950;line-height:1.1}.public-draw-mobile-round-nav span{color:#64748b;font-size:.72rem;font-weight:850}.public-draw-mobile-round-tabs{display:flex;gap:.38rem;overflow-x:auto;padding:0 0 .1rem;scrollbar-width:thin}.public-draw-mobile-round-tabs button{flex:0 0 auto;border:1px solid rgba(15,23,42,.1);background:#fff;color:#475569;border-radius:999px;padding:.32rem .58rem;font-size:.72rem;font-weight:950;line-height:1;white-space:nowrap;cursor:pointer}.public-draw-mobile-round-tabs button.is-active{border-color:#0f766e;background:#0f766e;color:#fff}.public-draw-mobile-match-list{display:grid;gap:.65rem}.public-draw-mobile-match-pair{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.public-draw-mobile-match-pair.has-connector{grid-template-columns:minmax(0,1fr) 2.35rem;align-items:stretch}.public-draw-mobile-pair-matches{display:grid;gap:.65rem;min-width:0}.public-draw-mobile-connector{--public-draw-connector: rgba(15, 118, 110, .45);position:relative;display:block;min-width:2.35rem;align-self:stretch}.public-draw-mobile-connector:before{content:"";position:absolute;top:25%;bottom:25%;left:.72rem;border-left:2px solid var(--public-draw-connector)}.public-draw-mobile-connector:after{content:"";position:absolute;top:50%;left:.72rem;width:1.18rem;border-top:2px solid var(--public-draw-connector);transform:translateY(-1px)}.public-draw-mobile-connector-arm{position:absolute;left:0;width:.78rem;border-top:2px solid var(--public-draw-connector);transform:translateY(-1px)}.public-draw-mobile-connector-arm.is-top{top:25%}.public-draw-mobile-connector-arm.is-bottom{top:75%}.public-draw-round{display:grid;align-content:start;gap:.5rem;min-width:0}.public-draw-round-title{position:sticky;left:0;align-self:start;justify-self:start;color:#0f766e;background:#ecfdf5;border-radius:999px;padding:.22rem .5rem;font-size:.72rem;font-weight:950;line-height:1}.public-draw-round-matches{display:grid;gap:.55rem}.public-draw-match{display:grid;gap:.38rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:8px;padding:.5rem;box-shadow:0 5px 14px #0f172a0a}.public-draw-match-meta{display:flex;align-items:center;gap:.32rem;flex-wrap:wrap;color:#64748b;font-size:.68rem;font-weight:850}.public-draw-match-no{color:#0f766e;font-weight:950}.public-draw-match-slots{display:grid;gap:.28rem}.public-draw-slot{display:grid;grid-template-columns:minmax(0,1fr) 1rem auto;align-items:center;gap:.35rem;min-width:0;border:1px solid rgba(15,23,42,.07);border-radius:7px;background:#f8fafc;padding:.34rem .42rem}.public-draw-slot.is-winner{border-color:#10b98133;background:#f0fdf4}.public-draw-slot.is-bye{color:#94a3b8;background:#f8fafc;border-style:dashed}.public-draw-slot-check{display:inline-flex;align-items:center;justify-content:center;min-width:1rem}.public-rr-groups,.public-draw-blocks{display:grid;gap:.75rem}.public-rr-group{display:grid;gap:.65rem;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:8px;padding:.7rem}.public-rr-group-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.public-rr-group-header h4{margin:0;color:#0f172a;font-size:.86rem;font-weight:950}.public-rr-group-header span{color:#64748b;font-size:.7rem;font-weight:900;white-space:nowrap}.public-rr-standings{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.42rem}.public-rr-standing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:7px;padding:.4rem .48rem}.public-rr-standing-row>span{color:#0f766e;font-size:.7rem;font-weight:950;white-space:nowrap}.public-rr-match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.55rem}.public-board-search-row,.public-board-event-filter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center;min-width:0}.public-board-field-label{color:#0f172a;font-size:.82rem;font-weight:950;line-height:1;white-space:nowrap}.public-board-search-box,.public-board-event-filter select{min-width:0}.public-board-filter-panel{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:.65rem;align-items:center}.public-board-filter-panel-single{grid-template-columns:minmax(0,1fr)}.public-board-status-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;align-items:center;padding:0}.public-board-status-filter{min-height:2.42rem}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.mobile-menu-toggle{display:flex}.page-header{padding:3.5rem 1rem 1rem;flex-direction:column;align-items:flex-start}.page-header h1{width:100%}.page-body{padding:0 1rem 1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:1.35rem}.score-btn{width:90px;height:90px;font-size:1.8rem}.score-display{font-size:5rem}.scoring-filter-panel{grid-template-columns:1fr}.scoring-search-bar{max-width:none;justify-self:stretch}.scoring-card-grid{grid-template-columns:1fr}.public-board-header{position:static}.public-board-header-inner{padding:.75rem .85rem}.public-board-title-block{margin-bottom:.55rem!important}.public-board-search-row,.public-board-event-filter{gap:.45rem}.public-board-field-label{font-size:.78rem}.public-board-filter-panel{grid-template-columns:1fr;gap:.55rem;align-items:stretch}.public-board-status-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.public-board-status-filter{width:100%;min-width:0;min-height:2.22rem;padding:.34rem .5rem!important}.public-draw-rounds{display:none}.public-draw-mobile-round-view{display:grid;gap:.72rem}.public-draw-section-title{text-align:center}.public-draw-match{padding:.58rem}.public-draw-slot{min-height:3rem;padding:.42rem .5rem}}@media(max-width:480px){.public-board-header-inner{padding:.65rem .75rem}.public-board-title{font-size:1.12rem!important}.public-board-view-badge{padding:.24rem .42rem;font-size:.68rem}.public-board-meta{margin-top:.32rem!important;font-size:.7rem!important}.public-board-status-filters{gap:.36rem}.stats-grid{grid-template-columns:1fr}}.settings-section{border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;background:var(--glass-bg);overflow:hidden;transition:box-shadow .2s}.settings-section:hover{box-shadow:0 1px 6px #0000000f}.settings-section-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.82rem;font-weight:700;color:var(--text);transition:background .15s;border:none;background:none;width:100%;text-align:left}.settings-section-header:hover{background:var(--surface-hover)}.settings-section-chevron{margin-left:auto;font-size:.7rem;color:var(--text-muted);transition:transform .25s ease;flex-shrink:0}.settings-section.open .settings-section-chevron{transform:rotate(90deg)}.settings-section-body{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s ease;padding:0 .8rem}.settings-section.open .settings-section-body{max-height:3000px;padding:0 .8rem .8rem}.settings-section-desc{font-size:.72rem;color:var(--text-muted);margin-bottom:.6rem;line-height:1.4}.court-toggle-chip{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:26px;padding:0 .4rem;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);transition:all .15s ease;-webkit-user-select:none;user-select:none}.court-toggle-chip:hover{border-color:var(--primary-light);background:var(--primary-glow)}.court-toggle-chip.active{border-color:var(--chip-accent, var(--primary));background:var(--chip-accent, var(--primary));color:#fff;box-shadow:0 1px 3px #00000026}.event-assignment-card{border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;margin-bottom:.4rem;background:var(--surface);transition:box-shadow .15s}.event-assignment-card:hover{box-shadow:0 1px 4px #0000000f}.event-assignment-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.78rem;font-weight:700}.event-assignment-card-courts{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.4rem}.event-assignment-card-options{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding-top:.3rem;border-top:1px solid var(--border);font-size:.72rem}.event-assignment-card-options label{display:flex;align-items:center;gap:.3rem;color:var(--text-muted);font-weight:600;white-space:nowrap}.court-mgmt-table{width:100%;border-collapse:collapse;font-size:.75rem}.court-mgmt-table th{text-align:left;padding:.35rem .5rem;font-size:.7rem;font-weight:700;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap}.court-mgmt-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}.court-mgmt-table tr:hover td{background:var(--surface-hover)}.court-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .4rem;border-radius:4px;font-size:.68rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.court-status-badge.enabled{background:#10b9811a;color:#059669}.court-status-badge.disabled{background:#ef44441a;color:#dc2626;text-decoration:line-through}@media print{.sidebar,.mobile-menu-toggle{display:none!important}.main-content{margin-left:0!important}.page-body{padding:0}}.live-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:24px;font-size:.65rem;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--danger);box-shadow:0 0 #ef444480;animation:livePulse 2s ease-in-out infinite}.live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:liveDot 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}@keyframes liveDot{0%,to{opacity:1}50%{opacity:.4}}.score-animate{animation:scoreBounce .3s var(--ease-spring)}@keyframes scoreBounce{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.interval-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:600;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.interval-card{background:#fff;border-radius:var(--radius-xl);padding:2.5rem;text-align:center;max-width:400px;width:90%;box-shadow:0 25px 50px #0003;animation:slideUp .4s var(--ease-out-expo)}.interval-card h2{margin-bottom:.5rem;font-size:1.3rem}.interval-card p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem}.scoring-page-body,.scoring-page-header{width:100%;max-width:1180px;margin:0 auto}.scoring-summary-panel{align-self:stretch}.scoring-filter-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:.75rem}.scoring-filters{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.scoring-filter-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:24px;font-size:.75rem;font-weight:600;font-family:var(--font-jp);border:1.5px solid rgba(0,0,0,.1);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .2s ease;white-space:nowrap}.scoring-filter-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.scoring-filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.scoring-search-bar{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-radius:var(--radius-md);border:1.5px solid rgba(0,0,0,.08);background:#fff;transition:all .3s ease;max-width:320px;width:100%;justify-self:end}.scoring-search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.scoring-search-bar input{border:none;outline:none;background:transparent;font-family:var(--font-jp);font-size:.8rem;color:var(--text-main);width:100%}.scoring-search-bar input::placeholder{color:var(--text-muted)}.match-section-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-top:.5rem;font-size:.78rem;font-weight:700;color:var(--text-dim);font-family:var(--font-jp);border-bottom:1px solid rgba(0,0,0,.06)}.match-section-header .count{font-size:.65rem;background:#0000000f;border-radius:10px;padding:.1rem .5rem;font-weight:600;color:var(--text-muted)}.scoring-scheduled-groups{display:grid;gap:.9rem}.scoring-scheduled-group{display:grid;gap:.4rem}.scoring-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:.55rem;align-items:stretch}.scoring-card-grid-compact{gap:.45rem;padding-top:.25rem}.scoring-card-grid .scoring-match-card{min-width:0;height:100%}.direct-score-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06)}.direct-score-row .game-label{font-size:.8rem;font-weight:700;color:var(--text-dim);min-width:32px}.direct-score-input{width:60px;padding:.5rem;text-align:center;font-size:1.2rem;font-weight:800;border:1.5px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);background:#fff;font-variant-numeric:tabular-nums;transition:all .2s ease;outline:none}.direct-score-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.direct-score-separator{font-size:1.2rem;font-weight:800;color:var(--text-muted)}.score-tap-zone{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-radius:var(--radius-lg);cursor:pointer;border:2px solid var(--glass-border);background:var(--bg-card);transition:all .15s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation;min-height:80px}.score-tap-zone:active{transform:scale(.98)}.score-tap-zone.serving{border-color:var(--primary);background:linear-gradient(135deg,#05966914,#05966905)}.score-tap-zone.serving-p2{border-color:var(--danger);background:linear-gradient(135deg,#ef444414,#ef444405)}.score-tap-zone .player-name{font-size:1.1rem;font-weight:700;font-family:var(--font-jp);display:flex;align-items:center;gap:.5rem;word-break:break-all}.score-tap-zone .player-sub{font-size:.72rem;color:var(--text-muted);margin-top:.15rem}.score-tap-zone .score-value{font-size:3rem;font-weight:900;line-height:1;min-width:80px;text-align:center;font-variant-numeric:tabular-nums;transition:color .15s ease}.retire-option{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-md);border:1.5px solid rgba(0,0,0,.08);cursor:pointer;transition:all .2s ease;font-family:var(--font-jp);font-weight:600;font-size:.9rem;background:#fff}.retire-option:hover{border-color:var(--danger);background:#ef44440a}.scoring-match-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.25rem;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.04);cursor:pointer;transition:all .3s var(--ease-out-expo);box-shadow:0 1px 3px #00000005}.scoring-match-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.scoring-match-card.in-progress{border-color:var(--primary);border-width:1.5px}.scoring-match-card .match-meta{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--text-muted);margin-top:.2rem;flex-wrap:wrap}.scoring-match-topline{display:flex;align-items:center;gap:.36rem;flex-wrap:wrap;margin-bottom:.38rem;color:var(--text-muted);font-size:.68rem;font-weight:800;line-height:1.35}.scoring-match-no{display:inline-flex;align-items:center;padding:.1rem .42rem;border-radius:999px;background:var(--primary-glow);color:var(--primary);font-weight:900}.scoring-match-entrants{min-width:0}.scoring-match-card .match-meta .court-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;background:#3b82f61a;color:var(--info);border-radius:6px;font-weight:600;font-size:.65rem}.scoring-match-topline .court-badge,.scoring-match-topline .time-badge,.scoring-match-card .match-meta .time-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;background:#0000000a;border-radius:6px;font-weight:600;font-size:.65rem}.scoring-match-topline .court-badge{background:#3b82f61a;color:var(--info)}.scoring-match-topline .time-badge{background:#0000000a}.scoring-mode-toggle{display:inline-flex;border-radius:999px;overflow:hidden;background:#0000000f;padding:2px;gap:2px}.scoring-mode-toggle button{padding:.3rem .7rem;font-size:.68rem;font-weight:600;font-family:var(--font-jp);border:none;cursor:pointer;background:transparent;color:var(--text-dim);transition:all .2s ease;border-radius:999px}.scoring-mode-toggle button.active{background:#fff;color:var(--text);box-shadow:0 1px 3px #0000001f}.elapsed-timer{font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted);display:flex;align-items:center;gap:.3rem}.referee-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-app)}.referee-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:10}.referee-court-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;max-width:700px;margin:0 auto}.referee-court-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;background:var(--bg-card);border-radius:var(--radius-xl);border:2px solid rgba(0,0,0,.04);cursor:pointer;transition:all .3s var(--ease-out-expo);box-shadow:0 2px 8px #00000008;text-align:center}.referee-court-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:var(--primary)}.referee-court-tile.has-live{border-color:var(--primary);background:linear-gradient(135deg,#0596690f,#05966903)}.referee-court-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000000a}.referee-court-tile.has-live .referee-court-icon{background:var(--primary-glow)}.referee-court-name{font-size:1rem;font-weight:700;font-family:var(--font-jp);color:var(--text)}.referee-court-stats{display:flex;align-items:center;gap:.5rem}.qr-modal-body{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem}.qr-canvas{border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06)}.qr-url-display{font-size:.72rem;color:var(--text-muted);word-break:break-all;background:#00000008;padding:.5rem .75rem;border-radius:var(--radius-sm);font-family:monospace;max-width:100%;text-align:center}.court-scoring-layout{display:grid;grid-template-columns:80px 1fr 80px;gap:.5rem;max-width:780px;margin:0 auto;width:100%;align-items:center}@media(max-width:600px){.court-scoring-layout{grid-template-columns:56px 1fr 56px;gap:.35rem}}.court-score-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:none;border-radius:1.2rem;cursor:pointer;font-size:.65rem;font-weight:800;font-family:var(--font-jp);color:#fff;letter-spacing:.06em;transition:all .12s ease;min-height:0;padding:1.5rem .4rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-transform:uppercase}.court-score-btn:active{transform:scale(.94);filter:brightness(.92)}.court-score-btn.btn-left{background:linear-gradient(180deg,#3b82f6,#1d4ed8);box-shadow:0 4px 16px #2563eb59}.court-score-btn.btn-right{background:linear-gradient(180deg,#ef4444,#b91c1c);box-shadow:0 4px 16px #dc262659}.court-score-btn .score-btn-icon{font-size:1.6rem;font-weight:900;line-height:1}.court-score-btn .score-btn-team{font-size:.5rem;font-weight:600;opacity:.85;letter-spacing:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem}.court-container{display:flex;flex-direction:column;gap:.5rem}.court-header{text-align:center}.court-game-label{font-size:.7rem;font-weight:700;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase}.court-score-display{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.25rem 0}.court-score-number{font-size:4rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px rgba(0,0,0,.06)}.court-score-number.p1{color:#2563eb}.court-score-number.p2{color:var(--danger)}.court-score-dash{font-size:2rem;font-weight:300;color:var(--text-muted)}.court-field{position:relative;aspect-ratio:13.4 / 6.1;background:#2d8a4e;border-radius:var(--radius-md);border:3px solid white;overflow:hidden;box-shadow:0 4px 20px #00000026}.court-player-box{position:absolute;padding:.45rem .8rem;border-radius:.5rem;font-size:.82rem;font-weight:700;font-family:var(--font-jp);text-align:center;line-height:1.3;max-width:44%;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #00000026}.court-player-box.p1{background:#2563ebe0;color:#fff;border:2px solid rgba(255,255,255,.6)}.court-player-box.p2{background:#dc2626d9;color:#fff;border:2px solid rgba(255,255,255,.6)}.court-player-box .player-box-name{font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.court-player-box .player-box-sub{font-size:.55rem;font-weight:500;opacity:.8}.court-player-box.serving{box-shadow:0 0 12px #ffffff80}.court-serve-icon{position:absolute;z-index:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:all .3s ease}.court-service-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.65rem;font-weight:700;border-radius:999px;font-family:var(--font-jp);position:absolute;left:50%;bottom:8px;transform:translate(-50%);z-index:4;box-shadow:0 2px 8px #00000040;letter-spacing:.02em}.service-over-badge{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:10;background:#dc2626f2;color:#fff;padding:.35rem 1rem;border-radius:8px;font-size:.85rem;font-weight:800;font-family:var(--font-jp);letter-spacing:.08em;box-shadow:0 4px 16px #dc262666;animation:serviceOverPulse .4s ease-out}@keyframes serviceOverPulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}60%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.score-history-container{margin-top:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 12px #0000000a;max-width:780px;margin-left:auto;margin-right:auto;width:100%}.score-history-container::-webkit-scrollbar{height:4px}.score-history-container::-webkit-scrollbar-track{background:transparent}.score-history-container::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.score-history-table{border-collapse:collapse;font-size:.7rem;font-family:var(--font-mono, "SF Mono", "Fira Code", monospace);white-space:nowrap;width:max-content}.history-row td{padding:.3rem 0;text-align:center;width:28px;min-width:28px;max-width:28px;border-right:1px solid var(--glass-border)}.history-row.p1{background:#2563eb0f}.history-row.p2{background:#ef444414}.history-player-name{font-weight:700;font-family:var(--font-jp);font-size:.65rem;position:sticky;left:0;z-index:2;padding-left:.5rem!important;padding-right:.5rem!important;min-width:3rem!important;text-align:left!important;border-right:2px solid var(--glass-border)!important}.history-row.p1 .history-player-name{color:#2563eb;background:#eef2ff}.history-row.p2 .history-player-name{color:var(--danger);background:#fef2f2}.history-serve-indicator{font-weight:800;font-size:.6rem;color:var(--text-dim);min-width:1.2rem!important;border-right:2px solid var(--glass-border)!important}.history-cell{font-weight:600;color:var(--text-muted);transition:background .15s}.history-cell.scored{font-weight:800;color:var(--text);background:#ffffff0f}.history-row.team-boundary td{border-bottom:2px solid var(--glass-border)}.court-footer{text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.court-server-label{font-size:.72rem;font-weight:700;color:var(--text-dim);font-family:var(--font-jp)}@media print{@page{size:297mm 210mm;margin:8mm}.sidebar,.mobile-menu-toggle,.no-print,.btn,.modal-overlay{display:none!important}.app-layout{display:block!important}.main-content{margin-left:0!important;padding:0!important}.page-header{padding:2mm 0!important}.page-header h1{font-size:14pt!important}.page-body{padding:0!important}.glass-panel,.card{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important}[style*="overflow: auto"],[style*="overflow:auto"],[style*=maxHeight],[style*=max-height]{overflow:visible!important;max-height:none!important}.print-bracket{margin:0!important;padding:0!important}body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}h2,h3{page-break-after:avoid}.page-body{transform-origin:top left}.schedule-match-chip{font-size:9px!important;padding:2px 4px!important;break-inside:avoid}}.referee-sheets-header{align-items:flex-start}.referee-sheets-header>div{display:flex;flex-direction:column;gap:.35rem}.referee-sheets-header h1{margin:0}.referee-sheets-header p{margin:0;color:var(--text-muted);font-size:.85rem;font-weight:700}.referee-sheets-print-tip{margin-top:.25rem!important;padding:.5rem .75rem;border-left:3px solid var(--accent, #2563eb);background:#2563eb0f;color:var(--text-main)!important;font-size:.78rem!important;font-weight:600!important;line-height:1.5;border-radius:4px}.referee-sheets-body{display:flex;flex-direction:column;gap:1rem}.referee-sheets-controls{display:grid;grid-template-columns:auto minmax(180px,260px) minmax(240px,1fr);align-items:center;gap:.75rem;padding:1rem}.referee-sheets-count strong{font-size:1.5rem;font-weight:900;margin-right:.25rem}.referee-sheets-count span{color:var(--text-muted);font-weight:800}.referee-sheets-controls select{width:100%;min-height:42px;padding:0 .85rem;border:1px solid rgba(15,23,42,.12);border-radius:var(--radius-md);background:#fff;color:var(--text-main);font-family:var(--font-jp);font-weight:800}.referee-sheets-search{display:flex;align-items:center;gap:.5rem;min-height:42px;padding:0 .75rem;border:1px solid rgba(15,23,42,.12);border-radius:var(--radius-md);background:#fff;color:var(--text-muted)}.referee-sheets-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text-main);font-family:var(--font-jp);font-weight:700}.referee-sheets-print-root{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.referee-sheets-empty{padding:2rem;color:var(--text-muted);font-weight:800;text-align:center}.referee-sheet{width:min(100%,210mm);min-height:297mm;padding:16mm 14mm;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 18px 48px #0f172a1f;font-family:var(--font-jp);display:flex;flex-direction:column;gap:8mm;page-break-after:always}.referee-sheet-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8mm;padding-bottom:5mm;border-bottom:2px solid #111827}.referee-sheet-kicker{color:#475569;font-size:9pt;font-weight:800}.referee-sheet h2{margin:1mm 0 0;font-size:22pt;letter-spacing:.08em}.referee-sheet-tie{margin-top:2mm;color:#334155;font-size:11pt;font-weight:900}.referee-sheet-number{padding:3mm 4mm;border:2px solid #111827;border-radius:4px;font-size:16pt;font-weight:900;white-space:nowrap}.referee-sheet-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm}.referee-sheet-meta>div{min-height:18mm;padding:3mm;border:1px solid #cbd5e1;border-radius:4px;display:flex;flex-direction:column;gap:1.5mm}.referee-sheet-meta span{display:flex;align-items:center;gap:1mm;color:#64748b;font-size:8pt;font-weight:800}.referee-sheet-meta strong{font-size:11pt}.referee-sheet-players{display:grid;grid-template-columns:1fr 1fr;gap:4mm}.referee-sheet-players>div{position:relative;min-height:34mm;padding:5mm 4mm 4mm;border:1.5px solid #111827;border-radius:4px}.referee-sheet-side{position:absolute;top:-3.5mm;left:4mm;padding:1mm 3mm;border-radius:999px;background:#111827;color:#fff;font-size:9pt;font-weight:900}.referee-sheet .entrant-roster-row{white-space:normal}.referee-sheet .entrant-roster-name{color:#111827;font-size:12pt;font-weight:900}.referee-sheet .entrant-roster-affiliation{color:#475569;font-size:9pt}.referee-sheet-score-table{width:100%;border-collapse:collapse;table-layout:fixed}.referee-sheet-score-table th,.referee-sheet-score-table td{height:15mm;padding:3mm;border:1.5px solid #111827;text-align:center}.referee-sheet-score-table th{background:#f1f5f9;font-size:9pt;font-weight:900}.referee-sheet-score-table th:first-child,.referee-sheet-score-table td:first-child{width:45%;text-align:left;font-size:10pt;font-weight:800}.referee-sheet-checks{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4mm}.referee-sheet-checks>div,.referee-sheet-notes{padding:3mm;border:1px solid #cbd5e1;border-radius:4px}.referee-sheet-checks span,.referee-sheet-notes strong{display:block;margin-bottom:3mm;color:#475569;font-size:9pt;font-weight:900}.referee-sheet-blank{height:12mm;border-bottom:1.5px solid #111827}.referee-sheet-notes{flex:1;min-height:26mm}.referee-sheet-notes div{min-height:18mm}.referee-sheet-footer{padding-top:3mm;border-top:1px solid #cbd5e1;color:#475569;font-size:9pt;font-weight:800;text-align:center}@media(max-width:900px){.referee-sheets-controls{grid-template-columns:1fr}.referee-sheet{min-height:auto;padding:10mm}.referee-sheet-meta{grid-template-columns:repeat(2,1fr)}.referee-sheet-players,.referee-sheet-checks{grid-template-columns:1fr}}@media print{body:has(.referee-sheets-page){background:#fff!important;color:#111827!important}body:has(.referee-sheets-page) .sidebar,body:has(.referee-sheets-page) .mobile-menu-toggle,body:has(.referee-sheets-page) .referee-sheets-header,body:has(.referee-sheets-page) .referee-sheets-controls,body:has(.referee-sheets-page) .no-print{display:none!important}body:has(.referee-sheets-page)>*:not(#root):not(script):not(style){display:none!important}body:has(.referee-sheets-page) .app-layout{display:block!important;min-height:0!important;height:auto!important}body:has(.referee-sheets-page) .main-content{margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;min-height:0!important;height:auto!important;display:block!important}body:has(.referee-sheets-page) .referee-sheets-page,body:has(.referee-sheets-page) .page-body,body:has(.referee-sheets-page) .referee-sheets-body{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;display:block!important}body:has(.referee-sheets-page) .referee-sheets-print-root{display:block;min-height:0!important;height:auto!important;gap:0!important;padding:0!important}body:has(.referee-sheets-page),html:has(.referee-sheets-page){min-height:0!important;height:auto!important}@page referee-sheet-page{size:297mm 210mm;margin:0}body:has(.referee-sheets-page) .referee-sheet{page:referee-sheet-page;width:297mm;min-height:210mm;margin:0;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;break-after:auto;page-break-after:auto}body:has(.referee-sheets-page) .referee-sheet:not(:last-child){break-after:page;page-break-after:always}}.referee-score-sheet{width:min(100%,297mm);min-height:210mm;padding:10mm 11mm;gap:4mm;color:#111827;background:#fff}.referee-score-top{display:grid;grid-template-columns:40mm 1fr;gap:5mm;align-items:stretch;padding-bottom:3mm;border-bottom:2px solid #111827}.referee-score-title{display:flex;flex-direction:column;justify-content:center;gap:1mm}.referee-score-title span{color:#475569;font-size:8pt;font-weight:800}.referee-score-title h2{margin:0;font-size:18pt;letter-spacing:.12em;line-height:1.1;white-space:nowrap}.referee-score-title p{margin:0;color:#334155;font-size:9pt;font-weight:900}.referee-score-info-grid{display:grid;grid-template-columns:18mm 20mm minmax(38mm,1.2fr) minmax(26mm,.9fr) 19mm 22mm 22mm 22mm;border-top:1.5px solid #111827;border-left:1.5px solid #111827}.referee-score-info-grid>div{min-height:14mm;padding:1.8mm 2mm;border-right:1.5px solid #111827;border-bottom:1.5px solid #111827;display:flex;flex-direction:column;justify-content:space-between;gap:1mm}.referee-score-info-grid span{color:#475569;font-size:6.8pt;font-weight:900}.referee-score-info-grid strong{min-height:4mm;font-size:8.3pt;font-weight:900;line-height:1.25}.referee-score-players{display:grid;grid-template-columns:1fr 12mm 1fr;gap:3mm;align-items:stretch}.referee-score-player{display:grid;grid-template-columns:10mm 1fr;min-height:18mm;border:1.5px solid #111827}.referee-score-side{display:flex;align-items:center;justify-content:center;color:#fff;background:#111827;font-size:11pt;font-weight:900}.referee-score-player-rows{display:grid;align-content:center;gap:1mm;padding:2mm 3mm}.referee-score-player-row{display:flex;align-items:baseline;gap:2mm;min-width:0;line-height:1.1}.referee-score-player-name{color:#0f172a;font-size:10.5pt;font-weight:900;white-space:nowrap}.referee-score-player-affiliation{color:#475569;font-size:8pt;font-weight:800;white-space:nowrap}.referee-score-vs{display:flex;align-items:center;justify-content:center;color:#475569;font-size:12pt;font-weight:900}.referee-score-games{display:grid;gap:2.4mm}.referee-score-game{border:1.5px solid #111827}.referee-score-game-head{display:flex;justify-content:space-between;align-items:center;min-height:8mm;padding:1.5mm 2mm;border-bottom:1.5px solid #111827;background:#f8fafc}.referee-score-game-head strong{font-size:9pt;font-weight:900}.referee-score-game-head div{display:flex;align-items:center;gap:2mm;font-size:7pt;font-weight:900;color:#475569}.referee-score-game-head i{display:inline-block;width:14mm;height:4.5mm;border-bottom:1.2px solid #111827}.referee-progress-table{width:100%;border-collapse:collapse;table-layout:fixed}.referee-progress-table th,.referee-progress-table td{height:6.2mm;border-right:1px solid #111827;border-bottom:1px solid #111827;text-align:center;vertical-align:middle}.referee-progress-table th:last-child,.referee-progress-table td:last-child{border-right:0}.referee-progress-table tbody tr:last-child td{border-bottom:0}.referee-progress-table th{color:#475569;background:#f1f5f9;font-size:5.8pt;font-weight:800}.referee-progress-table .referee-progress-player{width:44mm;padding:0 2mm;text-align:left;color:#111827;font-size:7.2pt;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-progress-table .referee-progress-final{width:8mm}.referee-score-bottom{display:grid;grid-template-columns:1.2fr 1.7fr .9fr 1fr 1fr 1fr;gap:3mm}.referee-score-result-box,.referee-score-sign-box{min-height:18mm;padding:2mm;border:1.5px solid #111827;display:flex;flex-direction:column;justify-content:space-between}.referee-score-result-box span,.referee-score-sign-box span{color:#475569;font-size:7pt;font-weight:900}.referee-score-result-box>div,.referee-score-sign-box>div{min-height:7mm;border-bottom:1.2px solid #111827}.referee-score-final-games{display:flex;align-items:flex-end;justify-content:center;gap:1.5mm;color:#475569;font-size:7pt;font-weight:900;border-bottom:0!important}.referee-score-final-games i{display:inline-block;width:8mm;height:6mm;border-bottom:1.2px solid #111827}.referee-score-notes{min-height:15mm;padding:2mm;border:1.5px solid #111827;display:grid;grid-template-columns:16mm 1fr;grid-template-rows:auto 1fr;column-gap:3mm}.referee-score-notes strong{color:#111827;font-size:8pt;font-weight:900}.referee-score-notes span{color:#64748b;font-size:7pt;font-weight:800}.referee-score-notes div{grid-column:1 / -1;border-top:1px solid #cbd5e1}@media print{body:has(.referee-sheets-page) .referee-score-sheet{width:297mm;min-height:210mm;padding:9mm 10mm}}.referee-score-sheet{width:min(100%,297mm);min-height:210mm;padding:8mm 9mm 7mm;gap:4mm;color:#000;font-family:var(--font-jp)}.referee-ref-header{display:grid;grid-template-columns:56mm 1fr 56mm;gap:5mm;align-items:start}.referee-ref-left-fields,.referee-ref-right-fields{display:grid;gap:1mm;padding-top:6mm}.referee-ref-field-line{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:2mm;min-height:4.8mm;color:#000;font-size:10.5pt;font-weight:700;letter-spacing:.28em}.referee-ref-left-fields .referee-ref-field-line{grid-template-columns:22mm 1fr;gap:1mm;font-size:9.4pt;letter-spacing:.08em}.referee-ref-right-fields .referee-ref-field-line{grid-template-columns:25mm 1fr;gap:1mm;font-size:7.8pt;letter-spacing:.02em}.referee-ref-field-line span{white-space:nowrap}.referee-ref-field-line strong{min-height:3.9mm;border-bottom:1.6px solid #000;color:#000;font-size:9.8pt;font-weight:800;letter-spacing:0;text-align:center;white-space:nowrap;overflow:hidden}.referee-ref-fit-sm{font-size:7.6pt!important}.referee-ref-field-line strong.referee-ref-match-number{font-size:10.8pt!important}.referee-ref-fit-xs{font-size:6.2pt!important}.referee-ref-fit-xxs{font-size:5.2pt!important;letter-spacing:-.02em!important}.referee-ref-panel-affiliation.referee-ref-fit-xs,.referee-ref-panel-affiliation.referee-ref-fit-xxs{font-size:5.4pt!important;letter-spacing:-.05em!important}.referee-ref-center{display:flex;flex-direction:column;gap:3.6mm;align-items:stretch}.referee-ref-center h2{margin:0;text-align:center;color:#000;font-size:18.5pt;font-weight:900;letter-spacing:.3em;line-height:1;white-space:nowrap}.referee-ref-player-summary{display:grid;grid-template-columns:minmax(52mm,1fr) 40mm minmax(52mm,1fr);gap:4mm;align-items:stretch}.referee-ref-player-panel{min-height:20mm;border:1.8px solid #000;display:grid}.referee-ref-player-panel.left{grid-template-columns:8mm 1fr}.referee-ref-player-panel.right{grid-template-columns:1fr 8mm}.referee-ref-lr{display:grid;place-items:center;border-right:1.6px solid #000;color:#000;font-size:10pt;font-weight:900;line-height:1.05;text-align:center;width:100%;height:100%}.referee-ref-player-panel.right .referee-ref-lr{border-right:0;border-left:1.6px solid #000}.referee-ref-player-lines{display:grid;grid-auto-rows:1fr}.referee-ref-player-lines>div{min-height:6mm;padding:1mm 2mm;border-bottom:1.2px solid #000;display:flex;align-items:center;justify-content:center;color:#000;font-size:11pt;font-weight:900;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-ref-player-lines>div.referee-ref-panel-affiliation{font-size:8.2pt;font-weight:800;letter-spacing:.02em}.referee-ref-player-lines>div:last-child{border-bottom:0}.referee-ref-final-score{min-height:20mm;border:1.8px solid #000;display:grid;grid-template-columns:10mm 1fr 10mm}.referee-ref-final-score>div{display:flex;align-items:center;justify-content:center}.referee-ref-final-score-lines{border-left:1.2px solid #000;border-right:1.2px solid #000;display:grid!important;grid-template-rows:repeat(3,1fr)}.referee-ref-final-score-lines span{display:flex;align-items:center;justify-content:center;border-bottom:1px solid #94a3b8;color:#000;font-size:10pt;font-weight:800;letter-spacing:.15em}.referee-ref-final-score-lines span:last-child{border-bottom:0}.referee-ref-games{display:grid;gap:3.2mm}.referee-ref-game-grid{border:2px solid #000;display:grid;overflow:hidden}.referee-ref-game-grid.singles{grid-template-rows:repeat(4,10mm)}.referee-ref-game-grid.doubles{grid-template-rows:repeat(8,5.4mm)}.referee-ref-game-grid.triples{grid-template-rows:3fr 3fr 2.35fr 2.35fr;min-height:42mm}.referee-ref-game-row{display:grid;grid-template-columns:40mm 8mm repeat(32,minmax(0,1fr));min-width:0}.referee-ref-game-row:not(:last-child){border-bottom:1.5px solid #000}.referee-ref-game-row.green{background:#f2f2f2}.referee-ref-game-row.continuation .referee-ref-name-cell,.referee-ref-game-row.continuation .referee-ref-sr-cell{background:#fff;color:transparent}.referee-ref-game-row.section-start{border-top:2.6px solid #000}.referee-ref-game-row.continuation .referee-ref-name-cell{border-right:0}.referee-ref-game-row.continuation .referee-ref-sr-cell{border-right:2px solid #000}.referee-ref-name-cell,.referee-ref-sr-cell,.referee-ref-score-cell{min-width:0;border-right:1.2px solid #000;display:flex;align-items:center;justify-content:center;color:#000;line-height:1}.referee-ref-name-cell{padding:0 1mm;font-size:9pt;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-ref-sr-cell{border-right:2px solid #000;font-size:10.5pt;font-weight:900}.referee-ref-score-cell{font-size:9pt}.referee-ref-score-cell:last-child{border-right:0}.referee-ref-triples-side{display:grid;grid-template-columns:40mm 8mm 1fr;min-width:0}.referee-ref-triples-side:not(:last-child){border-bottom:1.8px solid #000}.referee-ref-triples-side.section-end{border-bottom:2.6px solid #000}.referee-ref-triples-side.green{background:#f2f2f2}.referee-ref-triples-names{display:grid;grid-template-rows:repeat(3,1fr);min-width:0}.referee-ref-triples-name-cell{min-width:0;padding:0 1mm;border-right:1.2px solid #000;border-bottom:1.2px solid #000;display:flex;align-items:center;justify-content:center;color:#000;font-size:9pt;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-ref-triples-name-cell:last-child{border-bottom:0}.referee-ref-triples-sr{display:none}.referee-ref-triples-side-notes{display:grid;grid-template-rows:repeat(3,1fr);border-right:2px solid #000}.referee-ref-triples-note-cell{min-width:0;border-bottom:1.2px solid #000}.referee-ref-triples-note-cell:last-child{border-bottom:0}.referee-ref-triples-scores{display:grid;grid-template-rows:repeat(2,1fr);min-width:0}.referee-ref-triples-score-row{display:grid;grid-template-columns:repeat(32,minmax(0,1fr));min-width:0}.referee-ref-triples-score-row:not(:last-child){border-bottom:1.2px solid #000}.referee-ref-triples-continuation{display:grid;grid-template-columns:48mm 1fr;min-width:0}.referee-ref-triples-continuation:not(:last-child){border-bottom:1.8px solid #000}.referee-ref-triples-continuation.green{background:#f2f2f2}.referee-ref-triples-continuation-label{border-right:2px solid #000;background:#fff}.referee-ref-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:36mm;padding:4mm 6mm 0}.referee-ref-signatures .referee-ref-field-line{grid-template-columns:auto 1fr;min-height:8mm;font-size:10pt;letter-spacing:.16em}.referee-ref-signatures .referee-ref-field-line strong{min-height:6mm}@media print{body:has(.referee-sheets-page) .referee-score-sheet{width:297mm;min-height:210mm;padding:8mm 9mm 7mm}}.auth-page{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#0f172a,#1e293b);box-sizing:border-box}.auth-card{width:100%;max-width:420px;padding:2rem;display:flex;flex-direction:column;gap:1rem}.auth-card h1{margin:0;font-size:1.5rem;font-weight:900}.auth-card>p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700}.auth-form label>span{color:var(--text-muted)}.auth-form input{min-height:42px;padding:0 .85rem;border:1px solid rgba(15,23,42,.12);border-radius:var(--radius-md);background:#fff;color:var(--text-main);font-family:var(--font-jp);font-weight:700}.auth-form input:focus{outline:2px solid #2563eb;outline-offset:1px}.auth-hint{margin-top:.25rem;color:var(--text-muted);font-size:.72rem;font-weight:600;line-height:1.4}.auth-error{padding:.65rem .85rem;border-left:3px solid #dc2626;background:#dc262614;color:#991b1b;font-size:.85rem;font-weight:700;border-radius:4px}.auth-error ul{margin:0;padding-left:1.25rem}.auth-links{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem;font-size:.85rem}.auth-links a{color:#2563eb;font-weight:700}.auth-link-button{align-self:flex-start;padding:0;border:0;background:transparent;color:#2563eb;font-weight:700;font-size:.85rem;font-family:inherit;text-align:left;cursor:pointer}.auth-link-button:disabled{color:#94a3b8;cursor:not-allowed}.auth-loading{min-height:50vh;display:flex;align-items:center;justify-content:center}.sidebar-account{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:.5rem}.sidebar-account-email{font-size:.72rem;color:#fff9;word-break:break-all;line-height:1.3}.sidebar-logout{align-self:flex-start;padding:.25rem .5rem;border:1px solid rgba(255,255,255,.15);background:transparent;color:#ffffffbf;font-size:.72rem;font-weight:700;font-family:var(--font-jp);border-radius:4px;cursor:pointer}.sidebar-logout:hover{background:#ffffff14;color:#fff}.sidebar-version{font-size:.7rem;color:#fff6}
