.dock-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:80px;padding:6px;border:1px solid #698dff;border-radius:24px;background:#07152e;box-shadow:0 8px 32px #05081680}.dock-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:64px;padding:8px;border:0;border-radius:20px;background:transparent;color:#dceaff;font-weight:600}.dock-item[aria-current=page]{background:#a8ff00;color:#07152e}.dock-item:hover:not([aria-current=page]){background:#102c70}.dock-icon{display:flex}.dock-text{overflow-wrap:anywhere}.dock-label{position:absolute;bottom:calc(100% + 12px);padding:6px 12px;border:1px solid #698dff;border-radius:12px;background:#07152e;color:#fff;pointer-events:none;font-size:.875rem}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/BarlowCondensed-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/BarlowCondensed-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}:root{color-scheme:light;--pinkame-color-background: #050816;--pinkame-color-surface: #fff;--pinkame-color-text: #07152e;--pinkame-color-text-soft: #244b80;--pinkame-color-primary: #a8ff00;--pinkame-font-body: Barlow, sans-serif;--pinkame-font-display: "Barlow Condensed", sans-serif;--pinkame-radius-card: 22px;--pinkame-radius-hero: 24px}:root{font-family:var(--pinkame-font-body);background:#050816;color:#07152e;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{min-height:44px;max-width:100%;white-space:normal}button:disabled,select:disabled,input:disabled,textarea:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus{outline:3px solid #154dff;outline-offset:3px}h1,h2,h3,h4,.landing-card strong,.tournament-title{font-family:var(--pinkame-font-display);font-weight:700;line-height:1.15;overflow-wrap:anywhere}h3,h4,.landing-card strong{font-size:1.5rem;margin:0}p{overflow-wrap:anywhere}.app-shell{position:relative;min-height:100vh;isolation:isolate}.court-background{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.content-layer{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:16px 0 calc(var(--dock-height, 80px) + 48px)}.top-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 20px;color:#fff}.brand-mark{font:800 2rem/1.1 var(--pinkame-font-display)}.brand-copy{color:#dceaff;max-width:34rem;margin:8px 0 0}.top-links{display:flex;flex-wrap:wrap;gap:8px}.top-links a{padding:12px 16px;min-height:44px;border-radius:999px;color:#dceaff;font-weight:600}.top-links a.active{background:#a8ff00;color:#07152e}.top-links a:focus-visible,.dock-item:focus-visible,.hero-card button:focus-visible{outline-color:#a8ff00}.main-content,.landing-grid,.module-grid,.avlka-page{display:grid;gap:24px;min-width:0}.landing-grid{grid-template-columns:minmax(0,54fr) minmax(0,46fr)}.landing-copy,.hero-card{background:#102c70f5;color:#fff;border:1px solid #698dff;border-radius:24px;padding:24px}.landing-title{margin:16px 0;font-size:3rem;line-height:1.05;font-weight:800}.landing-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-card,.module-panel{background:#fff;border:1px solid #d6e1f2;border-radius:22px;padding:24px;min-width:0}.landing-card>svg{color:#154dff;margin-bottom:16px}.landing-card strong{display:block}.landing-card p,.support-copy,.detail-card span,.detail-card small,.attendee-chip span,.empty-state{color:#244b80}.landing-copy .support-copy,.hero-card .support-copy,.hero-card .attendance-meter p,.hero-card .attendance-meter span{color:#dceaff}.landing-card--wide{grid-column:1 / -1}.eyebrow,.panel-tag,.status-pill{display:inline-block;font-weight:600;line-height:1.4}.eyebrow{color:#244b80}.landing-copy .eyebrow,.hero-card .eyebrow{color:#a8ff00}.panel-tag,.status-pill{padding:6px 12px;border-radius:999px;background:#eaf2ff;color:#244b80}.status-pill--critical{background:#fff0f3;color:#9f1239}.status-pill--warning{background:#fff4cc;color:#704000}.status-pill--good,.status-pill--ideal{background:#ecfdf3;color:#166534}.hero-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}.module-header--text-only{grid-template-columns:minmax(0,1fr)}.hero-card h2{font-size:3rem;line-height:1.05;margin:16px 0}.attendance-meter{display:grid;justify-items:center;align-content:center;gap:16px}.attendance-meter__ring{width:min(200px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;padding:32px;background:radial-gradient(circle,#102c70 62%,transparent 63%),conic-gradient(#a8ff00 0 var(--attendance-progress),#154dff var(--attendance-progress) 100%)}.attendance-meter__ring strong{display:block;font:800 4rem/1.15 var(--pinkame-font-display);overflow-wrap:anywhere}.attendance-meter p{margin:0}.stat-row,.detail-grid,.filter-grid,.attendee-grid,.schedule-list{display:grid;gap:16px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.stat-row strong{display:block;font-size:1.5rem}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module-grid>.hero-card,.module-panel--full{grid-column:1 / -1}.module-panel--loading{display:flex;align-items:center;gap:12px}.unknown-route-panel{width:min(840px,100%);margin:40px auto}.unknown-route-panel h1{font-size:3rem;margin:0}.unknown-route-panel p{color:#244b80}.unknown-route-panel button,.rsvp-form button,.retry-button{background:#a8ff00;color:#07152e;border:1px solid #277500;border-radius:10px;padding:12px 20px;font-weight:700}.unknown-route-panel button{margin-top:16px}button:disabled,.rsvp-form button:disabled{background:#e4eaf2;color:#425573;border-color:#64748b;opacity:1}.loading-indicator{width:20px;height:20px;flex:0 0 auto;border:2px solid #698dff;border-top-color:#154dff;border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-indicator{animation:none}}.panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:16px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-card{padding:12px;border:1px solid #b5c8e3;border-radius:12px;background:#f2f6fc;overflow-wrap:anywhere}.detail-card span,.detail-card small{display:block}.detail-card strong{font-weight:600}.detail-card small{margin-top:8px;font-size:.875rem}.support-copy{margin:0;line-height:1.5}.support-copy--tight{margin-top:16px}.attendee-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.attendee-chip{padding:12px;border:1px solid #b5c8e3;border-radius:12px;background:#f2f6fc;overflow-wrap:anywhere}.attendee-chip strong{display:block;margin-bottom:4px}.attendee-chip--reserve{border-color:#9a5200;background:#fff4cc}.attendee-chip--reserve strong{font-weight:400}.rsvp-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}.rsvp-form label,.filter-grid label{display:grid;gap:8px;min-width:0}.rsvp-form label>span,.filter-grid label>span{color:#244b80}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;min-width:0;min-height:48px;border:1px solid #244b80;border-radius:10px;padding:12px;background:#fff;color:#07152e}.rsvp-form textarea{resize:vertical}.rsvp-form :is(input,select,textarea):disabled{background:#e4eaf2;color:#425573}.rsvp-form button{grid-column:1 / -1;justify-self:start}.save-button{display:inline-grid}.save-label{grid-area:1 / 1}.save-label[aria-hidden=true]{visibility:hidden}.rsvp-form>:not(label):not(button){grid-column:1 / -1}.filter-grid{grid-template-columns:1fr}.schedule-selector,.attendance-selector{position:relative;display:flex;align-items:center;min-height:48px;border-bottom:2px solid #244b80;padding:8px 28px 8px 0;overflow-wrap:anywhere}.attendance-selector{border:1px solid #244b80;border-radius:10px;padding:12px 36px 12px 12px}.selector-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none}.schedule-selector select,.attendance-selector select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0}.attendance-selector>span{color:#07152e;font-size:1rem}.schedule-selector:focus-within,.attendance-selector:focus-within{outline:3px solid #154dff;outline-offset:3px}.schedule-selector:has(select:disabled),.attendance-selector:has(select:disabled){color:#425573;border-color:#64748b;background:#e4eaf2}.attendance-selector:has(select:disabled)>span{color:#425573}.inline-notice,.form-outcome,.status-notice{border:1px solid #244b80;border-radius:12px;padding:12px 16px;background:#eaf2ff;color:#244b80;overflow-wrap:anywhere}.inline-notice,.form-outcome{margin-top:16px}.inline-notice svg{vertical-align:text-bottom;margin-right:8px}.inline-notice--warning,.form-outcome--uncertain,.form-outcome--session-change,.status-notice--warning{background:#fff4cc;border-color:#704000;color:#704000}.inline-notice--error,.form-outcome--rejected,.status-notice--error{background:#fff0f3;border-color:#9f1239;color:#9f1239}.form-outcome--confirmed{background:#ecfdf3;border-color:#166534;color:#166534}.form-outcome{display:flex;align-items:flex-start;gap:12px}.form-outcome svg{flex-shrink:0;margin-top:2px}.status-notice strong{display:inline-flex;align-items:center;gap:8px;font-weight:700}.status-notice strong svg{flex-shrink:0}.status-notice p{color:inherit;margin:4px 0 0}.avlka-page{grid-template-columns:repeat(2,minmax(0,1fr))}.avlka-page>*{grid-column:1 / -1}.avlka-page>.schedule-filters,.avlka-page>.tournament-summary{grid-column:span 1}.catalog-notices{display:grid;gap:12px}.unavailable-state{display:grid;justify-items:start;align-content:start;gap:12px}.unavailable-state p{margin:0}.empty-state{padding:16px;border:1px dashed #244b80;border-radius:12px;background:#f2f6fc}.tournament-summary{align-content:start;display:grid;gap:12px}.tournament-title{font-size:2rem}.tournament-summary p{color:#244b80;margin:0}.schedule-list{margin-top:16px}.match-card{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:8px;padding:16px;border:1px solid #b5c8e3;border-left:4px solid #244b80;border-radius:12px;background:#f2f6fc;min-width:0}.match-card--play{background:#f0ffd6;border-left-color:#277500}.match-card--ref{background:#fff4cc;border-left-color:#9a5200}.match-teams,.match-meta{min-width:0}.match-teams{flex:3 1 11rem}.match-meta{flex:1 1 5rem}.match-role{display:inline-block;font-size:.875rem;font-weight:600;margin:0 8px 8px 0;color:#244b80}.team-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:4px 0;align-items:baseline}.team-score strong:first-child{font-weight:500;overflow-wrap:anywhere}.team-score strong:last-child:not(:first-child){font-weight:700}.score-unavailable{color:#704000;margin:8px 0 0;font-weight:600}.match-meta{display:flex;flex-direction:column;gap:8px;justify-content:center;color:#244b80;overflow-wrap:anywhere}.match-meta span{font-weight:600}.match-meta small,.match-referee{font-size:.875rem}.match-referee{flex-basis:100%;color:#244b80;margin:0}.dock-footer{position:fixed;width:480px;max-width:calc(100% - 32px);left:50%;bottom:12px;transform:translate(-50%);z-index:10}@media(min-width:961px){.avlka-page{gap:16px}.avlka-page .catalog-notices{gap:8px}.avlka-page .status-notice{padding:8px 12px}.avlka-page .status-notice p{display:inline;margin:0 0 0 8px}.avlka-page .panel-head{margin-bottom:8px}.avlka-page .filter-grid{gap:8px}.avlka-page .filter-grid label{gap:0}.avlka-page .schedule-selector{min-height:48px;padding-top:4px;padding-bottom:4px}.avlka-page .schedule-selector select{min-height:48px}.avlka-page .schedule-list{gap:12px;margin-top:8px}.avlka-page .match-card{display:grid;grid-template-columns:minmax(0,3fr) minmax(8rem,1fr);gap:4px 16px;padding:12px 16px}.avlka-page .match-teams{grid-column:1;grid-row:1 / span 2}.avlka-page .match-meta{grid-column:2;grid-row:1;justify-content:start;gap:4px}.avlka-page .match-referee{grid-column:2;grid-row:2}.avlka-page .team-score{padding:2px 0}.avlka-page .match-role{margin-bottom:4px}.avlka-page .score-unavailable{margin-top:4px}}@media(max-width:960px){.landing-grid,.hero-card,.module-grid,.avlka-page{grid-template-columns:minmax(0,1fr)}.avlka-page>.schedule-filters,.avlka-page>.tournament-summary{grid-column:1}.top-nav{flex-wrap:wrap}.landing-card-grid,.rsvp-form{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.top-links{display:none}.top-nav{padding-bottom:24px}.landing-copy,.hero-card,.module-panel,.landing-card{padding:16px}.landing-title,.hero-card h2,.unknown-route-panel h1{font-size:2.25rem;line-height:1.08}.detail-grid,.stat-row{grid-template-columns:minmax(0,1fr)}.dock-footer{width:calc(100% - 32px)}.match-card--unresolved .match-meta{flex-basis:100%}.unknown-route-panel{margin:16px auto}}@media(max-width:359px){.content-layer{width:calc(100% - 24px)}.dock-footer{max-width:calc(100% - 24px);width:calc(100% - 24px)}.match-card>*{flex-basis:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
