:root{--bg:#f6f4ee;--panel:#ffffff;--panel-soft:#f1f7f2;--ink:#1f2a24;--muted:#647169;--line:#d8ddd5;--green:#2e7d4f;--green-dark:#1f5c3b;--blue:#2f6fa7;--amber:#b56a22;--red:#b43a32;--pink:#c23b75;--shadow:0 14px 30px rgba(34,48,40,0.08)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Arial,Hiragino Sans,Yu Gothic,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--blue);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}.app-shell{width:min(1480px,100%);margin:0 auto;padding:12px 24px 24px}.policy-shell{margin:0 auto;max-width:920px;padding:28px 20px 48px}.calendar-header h2,.hero-panel h1,.panel-heading h2,.section-heading h2{margin:0}.hero-panel{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(560px,1fr) minmax(520px,.72fr);padding:0 0 18px}.hero-panel>:only-child{grid-column:1/-1}.hero-panel h1{font-size:clamp(30px,4vw,46px);line-height:1.18;letter-spacing:0;max-width:760px;white-space:nowrap;word-break:keep-all}.site-logo-heading{display:inline-block;line-height:0;max-width:min(760px,100%);position:relative;white-space:normal}.site-logo-image{display:block;height:auto;max-width:100%;width:min(700px,100%)}.region-badge{background:#fff8e8;border:1px solid #e2b452;border-radius:999px;box-shadow:0 8px 18px rgba(102,67,14,.12);color:#7a4a07;font-size:13px;font-weight:900;letter-spacing:0;line-height:1;padding:8px 12px;position:absolute;right:clamp(2px,3%,24px);bottom:12px;transform:rotate(-3deg);white-space:nowrap}.hero-panel p{color:var(--muted);font-size:15px;line-height:1.8;margin:12px 0 0;max-width:760px}.policy-hero{padding:12px 0 18px}.policy-hero h1{font-size:clamp(28px,5vw,44px);line-height:1.22;margin:0}.policy-hero p{color:var(--muted);font-size:15px;line-height:1.8;margin:12px 0 0}.policy-updated{color:var(--green-dark)!important;font-size:13px!important;font-weight:800}.policy-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:10px;gap:10px;margin-top:16px;padding:18px}.policy-card h2{font-size:20px;margin:0}.policy-card li,.policy-card p{color:var(--muted);font-size:14px;line-height:1.8}.policy-card p,.policy-card ul{margin:0}.policy-card ul{padding-left:20px}.unsubscribe-request-form{display:grid;grid-gap:14px;gap:14px;margin-top:4px}.unsubscribe-request-form label{color:var(--green-dark);display:grid;font-size:13px;font-weight:800;grid-gap:6px;gap:6px}.unsubscribe-request-form button{justify-self:start}.policy-footer,.site-footer{color:var(--muted);font-size:13px;line-height:1.8;padding:22px 0 4px;text-align:center}.site-footer{align-items:center;display:flex;flex-direction:column;gap:10px}.unsubscribe-footer-button{background:#fff8e8;border:1px solid #e2b452;border-radius:999px;color:#7a4a07;display:inline-flex;font-size:14px;font-weight:900;line-height:1.4;padding:10px 18px}.unsubscribe-footer-button:hover{background:#fff2d2;text-decoration:none}.footer-policy-link{font-size:12px}.section-subtitle{color:var(--muted);font-size:12px;font-weight:700;line-height:1.6;margin:4px 0 0}.eyebrow{color:var(--green-dark);letter-spacing:0;margin:0 0 6px}.eyebrow,.source-pill{font-size:12px;font-weight:800}.source-pill{border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;min-height:30px;padding:7px 10px}.notice-strip{align-items:center;background:#fff8e8;border:1px solid #e7cf8d;border-radius:8px;color:#4f3c1d;display:flex;gap:10px;margin-bottom:18px;padding:14px 16px}.hero-panel .notice-strip{align-self:start;justify-self:stretch;margin-bottom:0;margin-top:36px}.notice-strip span,.notice-strip strong{font-size:13px;line-height:1.6;margin:0}.notice-strip strong{flex:0 0 auto;white-space:nowrap}.notice-strip span{flex:1 1 auto;min-width:0}.workspace-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:300px minmax(0,1fr) 360px;align-items:start}.calendar-panel,.filter-panel,.side-stack{min-width:0}.admin-card,.calendar-panel,.filter-panel,.important-summary,.list-panel,.watch-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:16px}.embedded-watch-panel{background:#f7fbf7;border:1px solid #cfe0d2;border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:14px}.panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.filter-panel label{color:var(--muted);display:grid;font-size:13px;font-weight:800;grid-gap:6px;gap:6px;margin-bottom:12px;min-width:0}.field-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr}.field-row,.field-row>*{min-width:0}input,select{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);min-height:40px;min-width:0;max-width:100%;padding:8px 10px;width:100%}input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0}button:focus-visible,input:focus,select:focus{outline:3px solid rgba(47,111,167,.25);outline-offset:2px}.month-button,.secondary-button{background:var(--green);border:1px solid var(--green-dark);border-radius:6px;color:#fff;font-weight:800;min-height:40px;padding:8px 12px}.full-width-button{width:100%}.icon-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);display:inline-flex;font-weight:900;height:36px;justify-content:center;padding:0;width:36px}.icon-button:hover{border-color:var(--green);color:var(--green-dark)}.text-button{background:transparent;border:0;color:var(--blue);font-weight:800;min-height:36px;padding:6px 0}.text-button:hover{text-decoration:underline}.month-button{aspect-ratio:1;display:grid;font-size:20px;padding:0;place-items:center;width:40px}.toggle-group{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;margin-top:14px;padding-top:14px}.toggle-line{align-items:center;color:var(--ink);display:flex!important;font-size:14px!important;gap:8px!important;margin:0!important}.toggle-line input{height:18px;min-height:18px;width:18px}.inline-note,.note-box{background:var(--panel-soft);border:1px solid #cfe0d2;border-radius:8px;color:var(--green-dark);font-size:13px;line-height:1.6;margin-top:14px;padding:12px}.embedded-watch-panel p,.event-card p,.inline-note p,.note-box p,.watch-panel p{margin:0}.search-result-box{margin:0 0 14px}.search-submit-button{margin-top:2px}.filter-range-help,.keyword-help-text{color:var(--muted);font-size:12px;line-height:1.6;margin:-4px 0 12px}.note-subtext,.policy-footnote{color:var(--muted);font-size:12px;line-height:1.6;margin-top:8px!important}.paused-notice{background:#fff8e8;border:1px solid #e7cf8d;border-radius:8px;color:#5b4320;font-size:13px;font-weight:800;line-height:1.65;margin:0;padding:12px}.major-paused-notice{display:grid;grid-gap:4px;gap:4px;margin-bottom:12px}.major-paused-notice span{color:var(--muted);font-size:12px;font-weight:700}.error-text{color:var(--red)}.error-text,.success-text{font-weight:800;margin-top:8px!important}.success-text{color:var(--green-dark)}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-toolbar{justify-content:space-between;margin-bottom:10px}.calendar-toggle-group,.calendar-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.source-toggle-group{justify-content:flex-end}.calendar-toggle{align-items:center;background:#f6f7f4;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-height:32px;padding:6px 10px}.calendar-toggle:has(input:checked){background:#edf6fb;border-color:#9fc4e5;color:var(--blue)}.calendar-toggle input{height:15px;min-height:15px;width:15px}.calendar-week-days,.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{color:var(--muted);font-size:12px;font-weight:800;padding-bottom:6px;text-align:center}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-week{position:relative}.day-cell{background:#fff;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--ink);display:grid;grid-gap:8px;gap:8px;grid-template-rows:22px 48px 1fr;min-height:116px;padding:8px;text-align:left}.day-cell.selected,.day-cell:hover{background:#edf6fb}.day-cell.muted{background:#faf9f5;color:#9da59f}.day-number{font-weight:900}.calendar-band-space{display:block;min-height:48px}.calendar-week-bands{display:grid;grid-gap:3px 0;gap:3px 0;grid-auto-rows:18px;grid-template-columns:repeat(7,minmax(0,1fr));left:0;pointer-events:none;position:absolute;right:0;top:38px;z-index:1}.calendar-band{border:1px solid var(--line);border-radius:4px;display:block;font-size:10px;font-weight:900;line-height:1.2;margin:0 8px;overflow:hidden;padding:3px 4px;text-overflow:ellipsis;white-space:nowrap}.markers{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px;min-height:18px}.marker{border-radius:999px;display:inline-block;height:9px;width:9px}.marker.announcement{background:#9a5a12}.source-pill.announcement{background:#fff2d8;border-color:#e2b35e;color:var(--amber)}.source-pill.tournament-schedule{background:#f6f7f4;border-color:var(--line);color:var(--green-dark)}.marker.player-event{background:#245f9e}.source-pill.player-event{background:#e7f2ff;border-color:#9fc4e5;color:var(--blue)}.marker.important{background:var(--red);height:12px;width:12px}.marker.important.tournament-pjcs{background:#1d5f9b}.marker.important.tournament-cl{background:#a96200}.marker.important.tournament-city{background:var(--pink)}.source-pill.important{background:#ffe7e3;border-color:#e9a098;color:var(--red)}.source-pill.important.tournament-pjcs{background:#e7f2ff;border-color:#9fc4e5;color:#1f5f93}.source-pill.important.tournament-cl{background:#fff2d8;border-color:#e2b35e;color:#8a4e16}.source-pill.important.tournament-city{background:#ffe7f0;border-color:#efabc9;color:var(--pink)}.source-pill.normal{background:#f6f7f4;border-color:var(--line);color:var(--muted)}.source-pill.reminder{background:#edf6fb;border-color:#b9d7ec;color:var(--blue)}.source-pill.reminder.reminder-entry{background:#ffe7e3;border-color:#e9a098;color:var(--red)}.more-count{color:var(--muted);font-size:11px;font-weight:800}.item-list{display:grid;grid-gap:10px;gap:10px}.priority-section{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.first-section{border-top:0;margin-top:0;padding-top:0}.side-stack{display:grid;grid-gap:18px;gap:18px}.important-summary{background:#fff9f3;border-color:#edc7a4}.major-notify-button,.section-heading{margin-bottom:12px}.section-heading{align-items:flex-end;display:flex;gap:12px;justify-content:space-between}.section-heading h2{font-size:16px}.event-card{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px}.important-card{background:#fff;border-color:var(--line);box-shadow:inset 4px 0 0 var(--muted)}.important-card.tournament-pjcs{background:#f4f9ff;border-color:#9fc4e5;box-shadow:inset 4px 0 0 var(--blue)}.important-card.tournament-cl{background:#fff9ed;border-color:#e2b35e;box-shadow:inset 4px 0 0 #d08a25}.important-card.tournament-city{background:#fff5f9;border-color:#efabc9;box-shadow:inset 4px 0 0 var(--pink)}.calendar-band.tournament-pjcs,.dialog-schedule-item.tournament-pjcs{background:#e7f2ff;border-color:#9fc4e5;color:#1f5f93}.calendar-band.tournament-cl,.dialog-schedule-item.tournament-cl{background:#fff2d8;border-color:#e2b35e;color:#8a4e16}.calendar-band.tournament-city,.dialog-schedule-item.tournament-city{background:#ffe7f0;border-color:#efabc9;color:var(--pink)}.calendar-band.tournament-normal,.dialog-schedule-item.tournament-normal{background:#fff;border-color:var(--line);color:var(--ink)}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.event-card h3{font-size:15px;line-height:1.45;margin:0}.empty-text,.event-card p{color:var(--muted);font-size:13px;line-height:1.55}.important-empty-text{background:rgba(255,255,255,.72);border:1px solid #edc7a4;border-radius:8px;color:var(--green-dark);font-size:15px;font-weight:800;padding:14px}.save-form{display:grid;grid-gap:10px;gap:10px}.save-form label{color:var(--green-dark);display:grid;font-size:13px;font-weight:800;grid-gap:6px;gap:6px}.bot-trap{height:0;left:-9999px;opacity:0;overflow:hidden;position:absolute;width:0}.save-form button:disabled{cursor:wait;opacity:.7}.modal-backdrop{align-items:center;background:rgba(31,42,36,.42);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 60px rgba(31,42,36,.24);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:18px;width:min(720px,100%)}.save-dialog{width:min(760px,100%)}.major-dialog{width:min(560px,100%)}.date-dialog{width:min(640px,100%)}.dialog-form{gap:8px}.modal-panel .panel-heading{margin-bottom:10px}.modal-panel input,.modal-panel select{min-height:36px}.checkbox-fieldset{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin:0;padding:12px}.checkbox-fieldset legend{color:var(--green-dark);font-size:13px;font-weight:800;padding:0 6px}.dialog-schedule-item{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;grid-gap:6px;gap:6px;padding:12px;text-align:left;text-decoration:none;width:100%}.dialog-schedule-item:hover{border-color:var(--green)}.dialog-schedule-item small,.dialog-schedule-item span{font-size:12px;font-weight:800}.dialog-schedule-item strong{font-size:14px;line-height:1.45}.player-event-dialog-item small{color:var(--muted);font-size:13px;font-weight:600;line-height:1.55}.player-event-dialog-item span{color:var(--blue);font-size:12px;font-weight:800}.text-link{align-self:end;justify-self:end}.secondary-link-button{align-items:center;background:#f6f7f4;border:1px solid var(--line);border-radius:8px;color:var(--green-dark);display:inline-flex;font-size:12px;font-weight:900;min-height:36px;padding:8px 12px;text-decoration:none}.secondary-link-button:hover{border-color:var(--green)}.admin-shell{max-width:1180px}.admin-hero{align-items:center}.admin-token-form{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto}.admin-token-form label{color:var(--muted);display:grid;font-size:13px;font-weight:800;grid-gap:6px;gap:6px}.admin-status-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:18px 0}.admin-action-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.admin-status-header h2{margin:0}.admin-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.admin-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{display:grid;grid-gap:8px;gap:8px}.metric-card p{color:var(--muted);font-size:13px;font-weight:800;margin:0}.metric-card strong{font-size:34px;line-height:1}.metric-warn{border-color:#e2b35e;box-shadow:inset 4px 0 0 var(--amber),var(--shadow)}.metric-danger{border-color:#e9a098;box-shadow:inset 4px 0 0 var(--red),var(--shadow)}.usage-watch-panel{display:grid;grid-gap:16px;gap:16px;margin-bottom:18px}.usage-limit-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.usage-limit-card{display:grid;grid-gap:8px;gap:8px}.usage-limit-card p{color:var(--muted);font-size:13px;font-weight:800;margin:0}.usage-limit-card strong{font-size:28px;line-height:1}.usage-limit-card strong span{color:var(--muted);font-size:15px}.usage-limit-card small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.5}.dashboard-link-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-definition-list{display:grid;grid-gap:12px;gap:12px;margin:0}.admin-definition-list div{border-top:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;grid-template-columns:140px minmax(0,1fr);padding-top:12px}.admin-definition-list dt{color:var(--muted);font-size:12px;font-weight:800}.admin-definition-list dd{font-size:13px;line-height:1.6;margin:0}.admin-subsection{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.compact-heading{align-items:center}.compact-heading h3{font-size:15px;margin:0}.date-chip{background:#f6f7f4;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:800;padding:5px 8px}.admin-news-list{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.admin-news-list li{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:10px}.admin-news-list span{color:var(--muted);font-size:11px;font-weight:800}.admin-news-list a{color:var(--ink);font-size:13px;font-weight:800;line-height:1.5;text-decoration:none}.admin-news-list a:hover{color:var(--green)}@media (max-width:1180px){.hero-panel{grid-template-columns:minmax(0,1fr)}.hero-panel h1{white-space:normal}.site-logo-image{width:min(620px,100%)}.hero-panel .notice-strip{margin-top:0}.workspace-grid{grid-template-columns:280px minmax(0,1fr)}.side-stack{grid-column:1/-1}}@media (max-width:820px){.app-shell{padding:16px}.hero-panel{align-items:flex-start;grid-template-columns:1fr}.site-logo-image{width:min(360px,100%)}.region-badge{font-size:11px;padding:6px 10px;right:0;bottom:-4px}.notice-strip{align-items:flex-start;flex-direction:column}.admin-action-row,.admin-definition-list div,.admin-grid,.admin-grid.two-column,.admin-token-form,.field-row,.usage-limit-grid,.workspace-grid{grid-template-columns:1fr}.filter-panel .field-row{overflow:hidden;width:100%}.filter-panel input[type=date]{font-size:16px;inline-size:100%;max-inline-size:100%;width:100%}.side-stack{order:1}.filter-panel{order:2}.calendar-panel{order:3}.text-link{justify-self:start}.day-cell{gap:6px;grid-template-rows:20px 44px 1fr;min-height:104px;padding:6px}.calendar-band-space{min-height:44px}.calendar-week-bands{grid-auto-rows:17px;top:32px}.calendar-band{font-size:9px;margin:0 4px;padding:3px}.modal-backdrop{align-items:flex-end;padding:12px}.modal-panel{max-height:calc(100vh - 24px);padding:14px}}