@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
.announcement-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.announcement-tabs button{font-size:12px}.directory-panel{margin:24px 0}.directory-panel h2,.global-ranking-grid h2{font-size:17px}.tournament-table{min-width:1000px}.tournament-table td{vertical-align:top;white-space:normal;line-height:1.7}.tournament-table td:first-child{min-width:145px}.tournament-table td:nth-child(2){min-width:180px;max-width:230px}.tournament-table td:nth-child(3){min-width:200px;max-width:300px}.tournament-table td:nth-child(n+4):nth-child(-n+6){white-space:nowrap}.tournament-table a,.source-link{font-size:11px;color:#4b7752;line-height:1.8}.event-note{display:block;white-space:normal;font-size:10px;color:#96a08d;margin-top:5px}.global-ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.global-ranking-grid .panel{min-width:0}.global-ranking-grid td{white-space:normal}.rank-dates{font-size:11px;color:#8b9c80;line-height:1.9;margin-top:12px}.global-ranking-grid table{margin:16px 0}.directory-panel .helper{margin-bottom:12px}@media(max-width:900px){.global-ranking-grid{grid-template-columns:1fr}.announcement-tabs{gap:6px}.announcement-tabs button{padding:9px;font-size:11px}}
.digest-intro{font-size:13px;line-height:2;color:#50654c;margin:18px 0}.digest-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.digest-item{display:flex;gap:17px;border-top:1px solid #e6ecdf;padding:23px 0}.digest-item small{font-size:10px;color:#98a18e}.digest-item h3{font-size:16px;line-height:1.8;margin:8px 0;font-weight:600}.digest-item p{font-size:12px;line-height:2;color:#6c7a62}.digest-item a{display:inline-block;font-size:10px;color:#477049;margin-top:12px}.news-panel{margin-bottom:24px}@media(max-width:900px){.digest-grid{grid-template-columns:1fr}}
.recovery-card{text-align:left}.recovery-card>h1,.recovery-card>h2,.recovery-card>.brand-icon{text-align:center}.recovery-card>button{margin-top:20px}.text-button{border:0;background:none;padding:0;color:#527c58;font-size:11px;text-decoration:underline}.auth-submit:disabled,button:disabled{opacity:.5;cursor:not-allowed}
.boot>aside,.boot>main{display:none}.auth-layout{max-width:1020px;margin:65px auto;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #e1e7de;border-radius:18px;overflow:hidden;min-height:650px}.auth-story{padding:65px 45px;background:#234c3b;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-story .brand-icon{color:#bac9a5;font-size:65px}.auth-story .eyebrow{margin-top:25px;color:#b2c6b1}.auth-story h1{font-size:34px;margin-top:15px}.auth-story p{color:#b9c9bc;line-height:1.9}.auth-features{font-size:12px;color:#b5c8b5;line-height:2.4;margin-top:45px}.auth-card{padding:38px;max-height:85vh;overflow:auto}.auth-card h2{font-size:22px;margin-top:28px}.auth-card label{font-size:11px}.auth-submit{width:100%;margin-top:25px}.auth-error{color:#a75c4c;margin-top:10px;font-size:12px}.owner-login{display:block;margin-top:25px;color:#6d866e;font-size:11px}.auth-message{background:#eef4e9;color:#52744e;padding:12px;border-radius:6px;line-height:1.8}.pending-card{max-width:560px;padding:50px;margin:90px auto;background:#fff;border:1px solid #e0e7dc;border-radius:15px;text-align:center}.pending-card p{line-height:2;margin-bottom:20px}.pending-card h2{font-size:20px}.profile-image{width:35px;height:35px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#e4ecdc;color:#4f7251}.logout-button{margin-top:12px;padding:5px 0;border:0;background:none;font-size:10px;color:#80917e}textarea{width:100%;border:1px solid #dfe5dc;border-radius:6px;font:inherit;padding:12px;color:#3c5143}.news-panel{margin-top:24px}.news-panel .eyebrow{margin-bottom:8px}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.news-item{display:flex;gap:15px;padding:18px 0;border-top:1px solid #e8ede3;text-decoration:none;color:#34523c}.news-index{font:italic 24px Georgia,serif;color:#a9b99e}.news-item h3{font-size:13px;font-weight:500;line-height:1.9;margin:6px 0 10px}.news-item small{color:#98a28f;font-size:10px}.news-item span:last-child{font-size:10px;color:#7c9276}.announcement{padding:22px 0;border-top:1px solid #e7ecdf}.announcement h3{font-size:17px;margin:0 0 8px}.announcement small{font-size:10px;color:#95a08b}.announcement p{margin-top:15px;white-space:pre-wrap;line-height:2;color:#64735c;font-size:13px}.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.schedule-card h2{font-size:19px;margin:16px 0}.schedule-card .badge{margin-top:18px}.schedule-card button{font-size:11px;margin-top:18px;padding:10px}.member-profile{display:flex;align-items:center;gap:20px;margin:25px 0}.member-profile .profile-image{width:80px;height:80px;font-size:30px}.member-profile h2{font-size:21px}.member-profile p{line-height:1.9}.member-profile~button{margin-top:25px}.panel-title .primary{background:#245d48;color:white;padding:10px 15px}.auth-card .scope-switch button{flex:1}@media(max-width:800px){.auth-layout{grid-template-columns:1fr;margin:15px;min-height:0}.auth-story{padding:30px}.auth-story .brand-icon,.auth-features{display:none}.auth-story h1{font-size:25px}.auth-story .eyebrow{margin-top:0}.auth-card{padding:25px;max-height:none}.news-grid,.schedule-grid{grid-template-columns:1fr}.pending-card{margin:30px 15px;padding:30px}.profile-image{max-width:35px}.member-profile .profile-image{max-width:80px}}
.complete-check{display:flex;align-items:center;gap:8px}.complete-check input{width:auto;accent-color:#245d48}
[hidden]{display:none!important}.permission-panel{display:flex;align-items:center;flex-wrap:wrap;gap:14px;background:#eff3ec;border:1px solid #dfe6d9;border-radius:9px;padding:15px 18px;margin-bottom:24px}.permission-panel strong{font-size:12px}.permission-panel p{font-size:10px;line-height:1.8;margin-top:4px}.permission-panel select{max-width:185px;margin-left:auto;font-size:12px}.permission-summary{width:100%;font-size:11px;color:#65806a}.attendance-header,.attendance-option{display:grid;grid-template-columns:minmax(85px,1fr) minmax(0,105px) minmax(0,110px);gap:8px}.attendance-header{margin-top:15px;color:#8c9a8c;font-size:10px}.attendance-option select,.attendance-option input{min-width:0;padding:9px 5px;font-size:11px}.attendance-option small{display:block}.game-result{font-size:9px;padding:8px 3px;width:100%;margin-top:12px;color:#356249;background:#f3f6ef;border-color:#e2e9dc}
.scope-switch{display:flex;gap:5px}.filters{flex-wrap:wrap;align-items:center}.scope-switch button{white-space:nowrap}
.result-header,.result-option{display:grid;grid-template-columns:minmax(70px,1fr) minmax(0,120px) minmax(0,120px);gap:10px}.result-header{margin-top:18px;padding-right:8px;font-size:11px;color:#86918c}.result-option input{min-width:0;padding:10px 8px}.missing-hours{display:block;color:#9ba39e;font-size:10px;margin-top:4px}
:root{--green:#245d48;--muted:#86918c;--line:#e7ebe7;--bg:#f7f8f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#24362e;font:14px 'Noto Sans SC',system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:inherit;padding:10px 16px}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #8ab19c;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:230px;padding:36px 22px;background:#fff;border-right:1px solid var(--line)}.brand{text-decoration:none;color:#243d31;font-size:19px;font-weight:700;letter-spacing:1px;display:block}.brand-icon{font-size:32px;color:var(--green);vertical-align:middle;margin-right:5px}.brand{font-size:16px;letter-spacing:.5px;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:2px;margin:5px 0 0 41px;color:var(--muted);font-weight:400}.nav-label{font-size:10px;color:#9ba49f;letter-spacing:2px;margin:55px 15px 18px}nav{display:grid;gap:9px}nav button{display:flex;gap:15px;text-align:left;border:0;background:transparent;padding:14px 17px;color:#7a8780}nav button.active{background:#edf3ee;color:var(--green);font-weight:600}.aside-bottom{position:absolute;bottom:25px;left:24px;right:24px;font-size:11px;color:var(--muted)}.live-dot{display:inline-block;background:#81a98b;width:6px;height:6px;border-radius:100%;margin-right:7px}.profile{display:flex;gap:11px;align-items:center;border-top:1px solid var(--line);margin-top:22px;padding-top:20px;color:#3d4d44;font-size:12px}.profile b{padding:9px 11px;background:#edf1e9;border-radius:100%;font-size:13px}.profile small{display:block;font-size:10px;color:#929c95;margin-top:3px}main{margin-left:230px}header{height:76px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;color:#8a948e;font-size:11px;background:#ffffff80}header span{margin:0 15px}header b{color:#53655b;font-weight:500}.mode{background:#eff2e9;border:1px solid #e0e7d7;padding:6px 10px;border-radius:5px;color:#7a846d;font-size:10px}.content{max-width:1510px;margin:auto;padding:39px 42px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b9e8d}h1{font-size:29px;letter-spacing:-1px;margin:9px 0 10px;font-weight:600}p{color:#8a948e;font-size:12px;margin:0}.primary{background:var(--green);color:white;border-color:var(--green);padding:12px 19px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:29px}.stat{padding:21px 23px;background:white;border:1px solid var(--line);border-radius:10px}.stat-label{color:#7b8981;font-size:11px;display:flex;justify-content:space-between}.stat-label i{font-style:normal;color:#90a095}.stat-value{font-size:31px;margin:9px 0 3px;letter-spacing:-1px;font-weight:500}.stat-value small{font-size:11px;color:#97a096;margin-left:7px;letter-spacing:0}.stat-note{font-size:10px;color:#9ba39e}.positive{color:var(--green)}.week-toolbar{display:flex;align-items:center;justify-content:space-between;margin:24px 0 17px}.week-selector{display:flex;gap:13px;align-items:center}.week-selector strong{font-size:16px;font-weight:500}.week-selector button{padding:4px 10px;background:transparent}.legend{font-size:10px;color:#8c978f;display:flex;gap:16px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px;background:#91ae9a}.dot.amber{background:#c9a267}.dot.gray{background:#c6ccc7}.board{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.day{border-right:1px solid var(--line);min-height:305px;background:#fcfcfa}.day:last-child{border:0}.day-head{padding:16px 12px;border-bottom:1px solid var(--line);font-size:11px;color:#99a199;display:flex;justify-content:space-between;align-items:center;background:#fff}.day-head b{font-size:19px;color:#536558;font-weight:500}.day.today .day-head{background:#eff4ed;color:var(--green)}.day.today .day-head b{background:var(--green);color:#fff;border-radius:50%;font-size:16px;width:29px;height:29px;text-align:center;line-height:29px}.game{margin:11px 7px;padding:13px 10px;border:1px solid #e2e8df;background:white;border-radius:7px;cursor:pointer;transition:transform .15s}.game:hover{transform:translateY(-2px);box-shadow:0 4px 10px #1234120a}.game.ready{border-top:3px solid #487b5b}.game.pending{border-top:3px solid #c9ab77}.time{font-size:10px;color:#8b968c}.game h3{font-size:12px;margin:9px 0 5px;font-weight:600}.game p{font-size:9px;line-height:1.8}.count{margin-top:17px;font-size:20px;font-weight:600}.count small{font-size:10px;font-weight:400;color:#9aa599}.progress{height:4px;background:#eef1e9;border-radius:3px;margin:9px 0}.progress div{height:100%;border-radius:3px;background:#70977a}.pending .progress div{background:#c8ae7f}.badge{display:inline-block;font-size:9px;padding:3px 6px;border-radius:4px;color:#477559;background:#edf4ec}.badge.wait{color:#9d7e43;background:#faf3e6}.avatars{display:flex;margin-top:15px}.avatar{border:2px solid white;background:#eaf0e5;color:#6c856b;border-radius:50%;width:25px;height:25px;text-align:center;line-height:21px;font-size:8px;margin-right:-5px}.add-day{display:block;margin:18px auto;border:0;background:transparent;color:#b5bdb4;font-size:11px}.empty-day{text-align:center;padding:47px 0 0;color:#c6cdc4;font-size:11px}.lower{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:25px}.panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:23px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-title h2{font-size:15px;font-weight:500;margin:0}.panel-title button{padding:0;border:0;color:#7a8e7d;font-size:10px}.notice{display:flex;gap:15px;padding:16px 0;border-top:1px solid #f0f2ed;align-items:center}.notice-icon{background:#f0f4eb;border-radius:7px;padding:9px;font-size:18px;color:#7e9877}.notice b{font-size:12px;font-weight:500}.notice p{font-size:10px;margin-top:6px}.notice .badge{margin-left:auto;white-space:nowrap}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#939e95;font-size:10px;font-weight:400;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #f0f2ed}tbody tr:last-child td{border:0}.name-cell{display:flex;gap:10px;align-items:center}.name-cell .avatar{margin:0;width:29px;height:29px;line-height:25px;font-size:10px}.rank{color:#b09b70;font-size:12px}.points{color:var(--green);font-weight:600}.negative{color:#ad7569}footer{display:flex;gap:14px;align-items:center;margin-top:32px;font-size:9px;letter-spacing:1px;color:#a8b0a6}footer span{letter-spacing:0}footer button{margin-left:auto;background:transparent;border:0;font-size:10px;color:#8a968d;padding:0}.filters{display:flex;gap:10px;margin-bottom:20px}.filters input{max-width:320px}.filters .primary{margin-left:auto}input,select{padding:11px 12px;border:1px solid #dfe5dc;border-radius:6px;background:white;color:#3c5143;width:100%}input:focus,select:focus{outline:2px solid #a8c2ad}label{display:block;font-size:12px;color:#71806f;margin:15px 0 7px}dialog{border:1px solid var(--line);border-radius:12px;padding:26px;width:min(550px,94vw);color:#293e30;max-height:90vh}dialog::backdrop{background:#1e332c66;backdrop-filter:blur(3px)}.modal-head,.modal-foot{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:20px;margin:0}.modal-head button{border:0;font-size:22px;padding:0 7px}.modal-foot{justify-content:flex-end;gap:10px;margin-top:25px}.player-option{display:grid;grid-template-columns:1fr 130px;gap:10px;align-items:center;margin:8px 0;font-size:12px}.player-list{max-height:300px;overflow:auto;margin-top:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.helper{font-size:11px;color:#91a08f;line-height:1.9;margin-top:12px}#toast{position:fixed;bottom:30px;left:55%;background:#254f3c;color:white;padding:12px 24px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .2s}.empty-state{padding:60px;text-align:center;color:#94a08f}.score-summary{font-size:12px;color:#8b988d;margin-bottom:20px}.table-scroll{overflow:auto}@media(min-width:1500px){.board .game{margin:13px 11px;padding:16px}}@media(max-width:1150px){aside{width:185px;padding:30px 15px}.brand{font-size:16px}main{margin-left:185px}.content{padding:30px 24px}header{padding:0 24px}.board{overflow-x:auto;grid-template-columns:repeat(7,minmax(125px,1fr))}.lower{grid-template-columns:1fr}.mode{display:none}}@media(max-width:700px){aside{position:static;width:100%;padding:17px}.brand small,.nav-label,.aside-bottom{display:none}nav{display:flex;margin-top:15px}nav button{flex:1;padding:10px;font-size:12px}main{margin:0}header{display:none}.content{padding:25px 16px}.page-heading{gap:10px}h1{font-size:23px}.page-heading p{font-size:10px;line-height:1.8}.page-heading .primary{white-space:nowrap;font-size:11px;padding:10px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.legend{display:none}.week-selector{gap:8px}.week-selector strong{font-size:13px}.panel{padding:17px}td,th{padding:12px 8px;white-space:nowrap}footer{flex-wrap:wrap}}

.language-switch{position:fixed;top:14px;right:24px;z-index:1000;display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border:1px solid #dce2da;border-radius:10px;box-shadow:0 2px 10px #00000008;font-size:12px}.language-switch select{width:auto;min-width:90px;padding:5px 8px;margin:0;font-size:12px}.language-switch label{margin:0;font-size:11px;color:#647160}main header{padding-right:250px}.auth-layout{padding-top:55px}@media(max-width:760px){.language-switch{top:8px;right:10px}.language-switch label{display:none}main header{padding-right:115px;min-height:65px}.mode{display:none}}

.install-app{position:fixed;right:20px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:800;background:#254f3c;color:white;border:1px solid #426b56;border-radius:24px;padding:12px 18px;box-shadow:0 4px 18px #173b3026;font-size:13px}.install-app[hidden]{display:none}.install-guide{width:min(480px,92vw);padding:24px}.install-heading{display:flex;gap:12px;justify-content:space-between;align-items:center}.install-heading h2{font-size:19px}.install-heading button{font-size:24px;padding:0 8px}.install-guide p,.install-guide li{font-size:14px;line-height:1.9}.install-guide h3{font-size:16px;margin:20px 0 8px}.install-guide ol{padding-left:24px}.install-guide::backdrop{background:#173b3066}footer{padding-bottom:64px}@media(max-width:700px){body{padding-top:env(safe-area-inset-top,0px)}aside{padding-top:18px}.brand{padding-right:115px;font-size:17px;display:block}nav{overflow-x:auto;gap:6px;padding-bottom:6px;-webkit-overflow-scrolling:touch}nav button{flex:0 0 auto;white-space:nowrap;min-height:44px}.aside-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:static;margin-top:8px;padding-top:4px;font-size:0}.aside-bottom>.live-dot,.aside-bottom>.profile{display:none}.aside-bottom .logout-button{width:auto;min-height:36px;font-size:12px;margin:0;padding:5px 8px}.form-row{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters input{max-width:100%}.language-switch{top:calc(8px + env(safe-area-inset-top,0px))}.auth-layout{padding-top:16px;margin:68px 12px 24px}.auth-card{max-height:none;padding:24px 18px}.auth-story{padding:28px 20px}.pending-card{margin:70px 12px;padding:26px 18px}input,select,textarea{font-size:16px}dialog{padding:18px;width:calc(100vw - 24px)}.global-ranking-grid .panel{overflow-x:auto}.attendance-option{grid-template-columns:minmax(80px,1fr) 115px 100px;min-width:330px}.player-list{overflow:auto}.install-app{right:12px;padding:11px 16px}.content{padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}}
