@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');

:root{font-family:'DM Sans','Noto Sans TC',sans-serif;color:#ecf4ed;background:#0b1411;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #b9f56c;outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.app-shell{min-height:100vh}.topbar{height:82px;border-bottom:1px solid #203029;display:flex;align-items:center;justify-content:space-between;padding:0 46px;background:#0d1712}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:37px;height:37px;display:grid;grid-template-columns:1fr 1fr;gap:4px;transform:rotate(-8deg)}.brand-mark span{background:#b4f46b;border-radius:4px}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:#467b4d}.brand strong{display:block;letter-spacing:.16em;font-size:14px;font-weight:800}.brand small{display:block;color:#7f9686;font-size:10px;letter-spacing:.08em;margin-top:3px}.topbar-right{display:flex;align-items:center;gap:9px;font-size:12px;color:#9bad9f}.status-dot{width:7px;height:7px;border-radius:50%;background:#b2f269;box-shadow:0 0 12px #7bd734}.workspace{display:grid;grid-template-columns:266px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 82px)}.sidebar{border-right:1px solid #203029;padding:42px 25px 25px;display:flex;flex-direction:column;background:#0d1712}.sidebar-heading{font-size:11px;color:#8da293;font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between;align-items:center;padding:0 10px}.sidebar-heading span{font-size:9px;color:#52665a}.sidebar-card{background:#15251c;border:1px solid #294633;border-radius:15px;padding:20px;margin-top:20px;min-height:143px}.eyebrow{font-size:10px;font-weight:800;color:#a9ed68;letter-spacing:.14em}.sidebar-card h2{font-size:18px;line-height:1.35;margin:12px 0 15px;overflow-wrap:anywhere}.text-button{padding:0;border:0;background:none;color:#a9ed68;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.text-button svg{width:14px;height:14px}.sidebar-section{margin-top:42px}.sidebar-label{display:block;font-size:11px;color:#71877a;letter-spacing:.1em;font-weight:700;padding:0 10px;margin-bottom:11px}.sidebar-action{display:flex;align-items:center;gap:13px;width:100%;padding:14px 10px;border:0;border-radius:10px;background:transparent;color:#bbcbc0;text-align:left;font-size:13px}.sidebar-action:hover,.sidebar-action:focus-visible{background:#192a20;color:#e6f5e7}.sidebar-action svg{width:18px;height:18px;color:#8cbf77}.sidebar-action span{flex:1}.sidebar-action .action-arrow{width:15px;height:15px;color:#577361}.sidebar-note{display:flex;gap:12px;background:#16241a;border:1px solid #2d4530;padding:15px;border-radius:13px;margin-top:36px}.note-spark{color:#b9f46e;font-size:18px}.sidebar-note p{font-size:11px;line-height:1.8;color:#9aac9d;margin:0}.sidebar-footer{font-size:10px;color:#597260;border-top:1px solid #223328;margin-top:auto;padding:22px 10px 0;display:flex;justify-content:space-between}.main-content{padding:38px clamp(28px,5vw,76px) 28px;min-width:0;display:flex;flex-direction:column}.breadcrumb{display:flex;align-items:center;gap:12px;color:#697d6e;font-size:11px}.breadcrumb strong{color:#afc4b1;font-weight:500}.breadcrumb-divider{color:#455c4b}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:52px 0 33px}.section-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;color:#9de55d;display:flex;align-items:center;gap:9px}.kicker-line{width:18px;height:2px;background:#9de55d}.title-row{display:flex;align-items:center;gap:12px}.title-row h1{font-size:clamp(30px,3vw,44px);letter-spacing:-.04em;line-height:1.25;margin:12px 0 7px;overflow-wrap:anywhere}.icon-button,.card-icon,.modal-close{border:0;background:transparent;color:#809788;display:grid;place-items:center}.icon-button:hover,.card-icon:hover,.modal-close:hover{color:#b7f46b}.title-edit{width:35px;height:35px;border-radius:8px;margin-top:8px}.title-edit:hover{background:#1a2a20}.title-edit svg{width:17px;height:17px}.page-subtitle{color:#839889;font-size:13px;margin:0}.primary-button{border:1px solid #b8f56b;background:#b8f56b;color:#15221a;border-radius:10px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 4px 24px #a0e6541b}.primary-button:hover{background:#d0ff92;border-color:#d0ff92}.primary-button svg{width:17px;height:17px;stroke-width:2.2}.heading-add{margin-bottom:3px}.overview{position:relative;display:flex;align-items:stretch;background:linear-gradient(105deg,#1b3323,#182c20 72%,#20402a);border:1px solid #34543a;border-radius:16px;min-height:126px;overflow:hidden}.overview-cell{padding:23px 31px;min-width:183px;z-index:1}.overview-cell+.overview-cell{border-left:1px solid #34513a}.overview-label{display:block;font-size:11px;color:#9bb7a1;margin-bottom:13px}.overview-cell>div{display:flex;align-items:baseline;gap:7px}.overview-cell strong{font-size:32px;line-height:1;color:#f0f6e9;letter-spacing:-.04em}.overview-cell div span{font-size:12px;color:#98af9d}.overview-cell.leader-cell{flex:1}.leader-cell>div{align-items:center;gap:10px}.leader-cell svg{width:18px;height:18px;color:#b7ed6f}.leader-cell strong{font-size:19px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-deco{font-size:160px;line-height:.65;color:#a6e7670b;position:absolute;right:35px;bottom:0;font-weight:700;pointer-events:none}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:43px 0 19px}.list-heading>div{display:flex;align-items:baseline;gap:13px}.list-heading h2{font-size:19px;margin:0;letter-spacing:-.02em}.list-heading span{font-size:11px;color:#728878}.subtle-button{border:1px solid #2b3c31;background:#152119;color:#9aaf9e;border-radius:8px;padding:9px 13px;font-size:11px}.subtle-button:hover{border-color:#648b62;color:#e9f7e7}.subtle-button:disabled{opacity:.45;cursor:not-allowed}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:17px}.group-card{background:#121f18;border:1px solid #2a3d30;border-radius:15px;padding:19px 19px 18px;min-width:0;transition:border-color .2s,transform .2s,box-shadow .2s}.group-card:hover{border-color:#547b50;transform:translateY(-2px);box-shadow:0 16px 32px #020a0550}.group-card.is-leader{border-color:#62864d;background:linear-gradient(145deg,#1a2e1e,#14231a 55%)}.card-top{display:flex;justify-content:space-between;align-items:center}.rank-badge{color:#9dc27e;background:#263e29;border:1px solid #385738;padding:5px 8px;border-radius:6px;font-size:10px;letter-spacing:.06em;font-weight:800}.group-card:not(.is-leader) .rank-badge{background:#202d23;border-color:#304334;color:#7f9b83}.card-actions{display:flex;gap:4px}.card-icon{width:28px;height:28px;border-radius:6px}.card-icon:hover{background:#263a2a}.card-icon svg{width:15px;height:15px}.card-icon.delete-group:hover{color:#fa9b8f}.card-main{display:flex;align-items:center;gap:13px;margin:24px 0 27px;min-width:0}.team-avatar{flex:none;width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:#254a2e;color:#b8f56b;font-size:19px;font-weight:800}.group-card:nth-child(4n+2) .team-avatar{background:#294636;color:#a9dcc2}.group-card:nth-child(4n+3) .team-avatar{background:#3a4027;color:#e1e992}.group-card:nth-child(4n+4) .team-avatar{background:#244442;color:#9bdcd5}.team-caption{font-size:9px;font-weight:800;letter-spacing:.18em;color:#65866c}.group-name{font-size:17px;line-height:1.3;margin:4px 0 0;overflow-wrap:anywhere}.score-area{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid #2a3d30;padding:18px 0 17px}.score-caption{display:block;color:#7e9984;font-size:10px;margin-bottom:2px}.score-value{display:block;border:0;background:transparent;color:#ecf7e8;font-size:47px;font-weight:700;letter-spacing:-.07em;line-height:1.05;padding:0;min-width:30px;text-align:left}.score-value:hover{color:#b8f56b}.score-unit{font-size:10px;font-weight:800;letter-spacing:.13em;color:#7d9b7b;margin-bottom:6px}.score-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.score-button{border:1px solid #354b39;border-radius:8px;min-height:39px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700}.score-button svg{width:14px;height:14px;stroke-width:2.3}.score-button.minus{background:#1a2a20;color:#b7c9b8}.score-button.minus:hover{background:#273d2b}.score-button.plus{background:#b8f56b;color:#1c301d;border-color:#b8f56b}.score-button.plus:hover{background:#d1ff93}.empty-state{border:1px dashed #3a5940;border-radius:16px;text-align:center;padding:42px 20px;background:#122019}.empty-state[hidden]{display:none}.empty-symbol{width:54px;height:54px;border:1px solid #5b8c53;background:#213a27;color:#b6f369;border-radius:14px;display:grid;place-items:center;font-size:30px;margin:auto}.empty-state h3{font-size:19px;margin:17px 0 7px}.empty-state p{color:#8ba18e;font-size:12px;margin:0 0 22px}.main-footer{margin-top:auto;padding-top:52px;display:flex;justify-content:space-between;gap:20px;color:#4c6452;font-size:10px;letter-spacing:.09em}.modal{width:min(430px,calc(100% - 32px));padding:26px;background:#17251b;color:#f2f7ef;border:1px solid #4a6946;border-radius:17px;box-shadow:0 30px 80px #000a}.modal::backdrop{background:#030a06b5;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;gap:12px}.modal-head h2{margin:8px 0 0;font-size:22px}.modal-description{font-size:12px;color:#a2b2a3;line-height:1.8;margin:15px 0 21px}.modal label{display:block;font-size:11px;color:#bed0bd;margin-bottom:8px}.modal input{width:100%;padding:12px 14px;background:#0e1a12;color:#f1f7ef;border:1px solid #426045;border-radius:8px;outline:none}.modal input:focus{border-color:#b7f36b}.form-error{color:#f6a595;font-size:11px;min-height:16px;margin:8px 0 2px}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.secondary-button,.danger-button{border-radius:9px;padding:11px 17px;font-size:12px;font-weight:700}.secondary-button{background:transparent;border:1px solid #3e5541;color:#b9c9b8}.secondary-button:hover{background:#26382a}.danger-button{background:#e89b8d;border:1px solid #e89b8d;color:#28120e}.danger-button:hover{background:#ffc0b4}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,18px);background:#c6f59a;color:#15251a;padding:11px 18px;border-radius:9px;font-size:12px;font-weight:700;box-shadow:0 12px 35px #0008;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.topbar{padding:0 24px}.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #203029;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:15px}.sidebar-heading,.sidebar-card,.sidebar-note,.sidebar-footer{display:none}.sidebar-section{margin:0}.sidebar-label{display:none}.sidebar-action{display:inline-flex;width:auto;padding:10px;margin-right:7px;border:1px solid #304334}.sidebar-action .action-arrow{display:none}.main-content{padding:28px 24px}.page-heading{margin-top:36px}.overview-cell{padding:21px;min-width:0;flex:1}.overview-deco{display:none}}
@media(max-width:600px){.topbar{height:67px;padding:0 18px}.brand-mark{width:31px;height:31px}.brand strong{font-size:12px}.brand small{font-size:9px}.topbar-right{font-size:0}.topbar-right .status-dot{width:8px;height:8px}.workspace{min-height:calc(100vh - 67px)}.sidebar{padding:12px 17px}.sidebar-section{display:flex;gap:8px}.sidebar-action{flex:1;justify-content:center;padding:9px 8px;margin:0;font-size:11px;gap:6px}.sidebar-action svg{width:15px;height:15px}.main-content{padding:24px 17px}.page-heading{align-items:flex-start;margin:35px 0 26px;flex-wrap:wrap}.title-row h1{font-size:31px}.page-subtitle{font-size:12px}.heading-add{width:100%;margin-top:4px}.overview{min-height:0;flex-wrap:wrap}.overview-cell{padding:18px 16px;flex:1 1 50%}.overview-cell:nth-child(2){border-left:1px solid #34513a}.overview-cell.leader-cell{flex-basis:100%;border-left:0;border-top:1px solid #34513a}.overview-cell strong{font-size:27px}.leader-cell strong{font-size:16px}.list-heading{margin-top:31px}.list-heading>div{display:block}.list-heading h2{font-size:18px}.list-heading span{display:block;margin-top:5px}.groups-grid{grid-template-columns:1fr}.main-footer{padding-top:35px;font-size:8px}.main-footer span:last-child{text-align:right}}
