@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#f5f7f4;--color-surface:#fff;--color-sidebar:#0f2a1d;--color-sidebar-text:#e8f1eb;--color-primary:#1e7a46;--color-primary-hover:#17613a;--color-on-primary:#fff;--color-accent:#f2a516;--color-text:#14201a;--color-text-muted:#5a6b61;--color-border:#dce3de;--color-input-border:#b9c6be;--color-success:#15803d;--color-warning:#b45309;--color-error:#b42318;--color-disabled-bg:#e6ebe8;--color-disabled-text:#8a9790;--color-table-head:#f0f4f1;--color-row-hover:#f7faf8;--color-badge-ok-bg:#e7f5ec;--color-badge-warn-bg:#fdf0e6;--color-badge-err-bg:#fdecea;--color-badge-neutral-bg:#eef2ef;--color-badge-neutral-text:#3f4f46;--color-overlay:#0f2a1d80;--color-banner-support:#fdf0e6;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-h1:700 28px/36px var(--font-sans);--text-h2:600 22px/28px var(--font-sans);--text-h3:600 18px/24px var(--font-sans);--text-body:400 16px/24px var(--font-sans);--text-small:400 14px/20px var(--font-sans);--text-small-strong:600 14px/20px var(--font-sans);--text-caption:500 12px/16px var(--font-sans);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-control:10px;--radius-card:14px;--radius-modal:18px;--radius-pill:999px;--shadow-card:0 1px 2px #14201a0f, 0 4px 12px #14201a0f;--shadow-modal:0 16px 40px #14201a2e;--focus-ring:0 0 0 3px #1e7a4659;--control-height:44px;--touch-min:44px;--table-row-height:48px;--header-height:64px;--header-height-mobile:56px;--rail-width:72px;--sidebar-width:248px;--content-max:1200px;--gutter-desktop:24px;--gutter-mobile:16px;--bottom-nav-height:64px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font:var(--text-body);-webkit-text-size-adjust:100%;overflow-x:hidden}h1{font:var(--text-h1);margin:0 0 var(--space-4)}h2{font:var(--text-h2);margin:0 0 var(--space-3)}h3{font:var(--text-h3);margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}small,.small{font:var(--text-small);color:var(--color-text-muted)}a{color:var(--color-primary)}:focus-visible{box-shadow:var(--focus-ring);outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{grid-template-columns:1fr;min-height:100vh;display:grid}.shell__sidebar{display:none}.shell__main{min-width:0;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.header{z-index:20;height:var(--header-height-mobile);align-items:center;gap:var(--space-3);padding:0 var(--gutter-mobile);background:var(--color-surface);border-bottom:1px solid var(--color-border);padding-top:env(safe-area-inset-top);display:flex;position:sticky;top:0}.header__brand{align-items:center;gap:var(--space-2);min-width:0;font:var(--text-small-strong);display:flex}.header__brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header__search{flex:1;min-width:0;display:none}.header__user{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.logo{border-radius:var(--radius-pill);background:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary);font:var(--text-small-strong);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.logo img{object-fit:cover;width:100%;height:100%}.content{width:100%;max-width:var(--content-max);padding:var(--gutter-mobile);margin:0 auto}.bottom-nav{z-index:20;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:var(--bottom-nav-height);color:var(--color-text-muted);font:var(--text-caption);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--color-primary)}.nav-item{align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--color-sidebar-text);font:var(--text-small-strong);text-decoration:none;display:flex}.nav-item[aria-current=page]{background:#ffffff1f}.nav-item .glyph{text-align:center;flex:none;width:20px;font-size:16px}@media (width>=768px){.header{height:var(--header-height);padding:0 var(--gutter-desktop)}.header__search{max-width:360px;display:block}.shell{grid-template-columns:var(--rail-width) 1fr}.shell__sidebar{gap:var(--space-2);background:var(--color-sidebar);padding:var(--space-4) var(--space-2);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.shell__sidebar .nav-item span.label{display:none}.shell__sidebar .nav-item{justify-content:center}.bottom-nav{display:none}.shell__main{padding-bottom:0}.content{padding:var(--gutter-desktop)}}@media (width>=1024px){.shell{grid-template-columns:var(--sidebar-width) 1fr}.shell__sidebar{padding:var(--space-6) var(--space-4)}.shell__sidebar .nav-item span.label{display:inline}.shell__sidebar .nav-item{justify-content:flex-start}}.btn{min-height:var(--control-height);padding:0 var(--space-6);border-radius:var(--radius-control);font:var(--text-small-strong);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text);background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{border-color:var(--color-primary);color:var(--color-primary);background:0 0}.btn--danger{background:var(--color-error);color:#fff}.btn--ghost{color:var(--color-primary);padding:0 var(--space-3)}.btn:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed;border-color:#0000}.btn--icon{width:var(--touch-min);padding:0}.btn-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;min-width:0;display:flex}.field label{font:var(--text-small-strong)}.input,.select,.textarea{min-height:var(--control-height);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-input-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:var(--text-body)}.textarea{min-height:96px;padding-top:var(--space-3);resize:vertical}.field__error{color:var(--color-error);font:var(--text-small)}.field[data-invalid=true] .input{border-color:var(--color-error)}.check{align-items:center;gap:var(--space-2);min-height:var(--touch-min);font:var(--text-small-strong);display:flex}.check input{width:22px;height:22px;accent-color:var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-card);margin-bottom:var(--space-4)}@media (width<=767px){.card{padding:var(--gutter-mobile)}}.badge{min-height:24px;padding:0 var(--space-3);border-radius:var(--radius-pill);font:var(--text-caption);white-space:nowrap;align-items:center;display:inline-flex}.badge--ok{background:var(--color-badge-ok-bg);color:var(--color-success)}.badge--warn{background:var(--color-badge-warn-bg);color:var(--color-warning)}.badge--err{background:var(--color-badge-err-bg);color:var(--color-error)}.badge--neutral{background:var(--color-badge-neutral-bg);color:var(--color-badge-neutral-text)}.banner{border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);gap:var(--space-3);font:var(--text-small);flex-wrap:wrap;align-items:center;display:flex}.banner--error{background:var(--color-badge-err-bg);color:var(--color-error);border-color:#f5c2bd}.banner--warn{background:var(--color-badge-warn-bg);color:var(--color-warning);border-color:#f5d7b5}.banner--info{background:var(--color-badge-ok-bg);color:var(--color-success)}.banner--support{background:var(--color-banner-support);color:var(--color-warning);border-color:var(--color-accent)}.banner__action{margin-left:auto}.modal-overlay{background:var(--color-overlay);z-index:50;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-modal) var(--radius-modal) 0 0;width:100%;max-height:90vh;padding:var(--space-6);box-shadow:var(--shadow-modal);overflow:auto}.modal__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}@media (width>=768px){.modal-overlay{padding:var(--space-4);align-items:center}.modal{border-radius:var(--radius-modal);max-width:520px}}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:var(--color-table-head);font:var(--text-small-strong);color:var(--color-text-muted);text-align:left;padding:var(--space-2) var(--space-3);position:sticky;top:0}td{padding:var(--space-2) var(--space-3);height:var(--table-row-height);border-top:1px solid var(--color-border);font:var(--text-small);vertical-align:middle}tbody tr:hover{background:var(--color-row-hover)}.cards{gap:var(--space-3);display:grid}.item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--gutter-mobile);gap:var(--space-2);color:inherit;min-height:var(--touch-min);text-decoration:none;display:grid}.table-only-desktop{display:none}.cards-only-mobile{display:grid}@media (width>=768px){.table-only-desktop{display:block}.cards-only-mobile{display:none}}.toolbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.toolbar .input{max-width:360px}.page-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.grid-2{gap:var(--space-4);display:grid}@media (width>=768px){.grid-2{grid-template-columns:1fr 1fr}}.stack{gap:var(--space-3);display:grid}.muted{color:var(--color-text-muted)}.kv{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(120px,180px) 1fr;display:grid}@media (width<=479px){.kv{grid-template-columns:1fr}}.skeleton{border-radius:var(--radius-control);height:48px;margin-bottom:var(--space-2);background:linear-gradient(90deg,#eef2ef 25%,#f7faf8 50%,#eef2ef 75%) 0 0/200% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;padding:var(--space-8) var(--space-4);gap:var(--space-3);justify-items:center;display:grid}.center-page{min-height:100vh;padding:var(--gutter-mobile);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:420px}.auth-card .logo{width:56px;height:56px;margin:0 auto var(--space-4);font-size:20px}.auth-title{text-align:center}.code-block{background:var(--color-table-head);padding:var(--space-3);border-radius:var(--radius-control);word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.swatch{border-radius:var(--radius-pill);border:1px solid var(--color-border);width:28px;height:28px;display:inline-block}.template-btn{min-height:var(--touch-min)}.tabs{gap:var(--space-2);margin:var(--space-4) 0;border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.tab{padding:var(--space-2) var(--space-3);color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;flex:none}.tab.active{border-bottom-color:var(--color-primary,currentColor);font-weight:600}.team-box{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);margin:0 0 var(--space-4);min-width:0}.player-row{gap:var(--space-2);margin:var(--space-2) 0;align-items:end;display:grid}@media (width>=768px){.player-row{grid-template-columns:2fr 1fr auto}}.score-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.event-form{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}@media (width>=768px){.event-form{grid-template-columns:2fr 1fr 1fr auto;align-items:end}}.match-row{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.plain-list{margin:0;padding:0;list-style:none}.row-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.check{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.break{word-break:break-all}.hint{color:var(--color-muted,inherit);font-size:.9em}.bracket{gap:var(--space-4);padding-bottom:var(--space-2);display:flex;overflow-x:auto}.bracket-round{gap:var(--space-3);align-content:space-around;min-width:180px;display:grid}.bracket-round h3{margin:0}.bracket-match{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-2);background:var(--color-surface);gap:var(--space-1);display:grid}.bracket-match>div{justify-content:space-between;gap:var(--space-2);display:flex}.public-page{max-width:1100px;padding:var(--space-4);margin:0 auto}
