@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@500;600;700;800;900&display=swap');
:root{--home:#e83b32;--away:#50a8d8;--pitch:#2f7c3a;--line:rgba(255,255,255,.82);--blue:#159bed}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#081117;font-family:'Noto Sans KR',sans-serif}.stage{position:absolute;width:1920px;height:1080px;left:0;top:0;transform-origin:top left;background:transparent}.stage.preview{background:radial-gradient(circle at 66% 48%,#344a59,#172630 48%,#091218)}.stage.preview:before{content:"방송 영상 / 아바타 영역";position:absolute;left:53%;top:52%;transform:translate(-50%,-50%);font-size:24px;letter-spacing:6px;color:rgba(255,255,255,.09);font-weight:900}
.access-locked>.stage,.access-locked>.event-toast,.access-locked>.confirm-modal,.access-locked>.access-logout{visibility:hidden!important}.access-gate{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 32%,#173846 0,#0c1b22 42%,#050b0e 100%)}.access-gate[hidden]{display:none}.access-card{width:min(410px,calc(100vw - 40px));padding:34px;border:1px solid #31505d;border-radius:14px;background:rgba(12,27,34,.97);color:#fff;box-shadow:0 25px 80px rgba(0,0,0,.7)}.access-card>small{color:#43c6ff;font-size:10px;font-weight:900;letter-spacing:3px}.access-card h1{margin:9px 0 5px;font-size:29px}.access-card p{margin:0 0 24px;color:#9fb4bd;font-size:13px}.access-card label span{display:block;margin-bottom:7px;color:#c3d5dc;font-size:12px;font-weight:800}.access-card input{width:100%;height:50px;padding:0 14px;border:1px solid #36505b;border-radius:8px;background:#071318;color:#fff;font-size:18px;outline:none}.access-card input:focus{border-color:#21a9e8;box-shadow:0 0 0 3px rgba(33,169,232,.16)}.access-card button{width:100%;height:50px;margin-top:13px;border:0;border-radius:8px;background:#159ddd;color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 4px 0 #0876a8}.access-card button:active{transform:translateY(2px);box-shadow:0 2px 0 #0876a8}.access-card button:disabled{opacity:.6;cursor:wait}.access-status{min-height:20px;margin-top:13px;color:#ff9da7;font-size:12px;text-align:center}.access-logout{position:fixed;z-index:900;right:12px;top:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:rgba(7,18,24,.78);color:#a9c0ca;font-size:10px;cursor:pointer}.access-logout:hover{color:#fff;border-color:#42bfee}
.scoreboard{position:absolute;left:545px;top:38px;width:880px;height:112px;display:grid;grid-template-columns:1fr 190px 1fr;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4));z-index:3}.score-team{height:69px;background:#f9fbfc;display:flex;align-items:center;gap:20px;border-bottom:5px solid var(--home);overflow:hidden}.score-team strong{font-size:31px;letter-spacing:-1.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-home{padding:0 22px 0 10px}.score-away{justify-content:flex-end;padding:0 10px 0 22px;border-color:var(--away)}.team-badge{width:78px;height:58px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--home),#761714);font-weight:900;font-size:20px;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%,10% 50%)}.score-away .team-badge{background:linear-gradient(135deg,#155a91,var(--away));clip-path:polygon(12% 0,100% 0,90% 50%,100% 100%,12% 100%,0 50%)}.score-core{height:112px;background:#f5ca22;text-align:center;z-index:2;box-shadow:0 0 0 3px rgba(255,255,255,.35)}.score-core div{height:69px;display:flex;justify-content:center;align-items:center;gap:18px;font-size:34px;font-weight:900}.score-core b{font-size:37px}.score-core time{height:43px;background:#168fec;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800}
.tactics-stack{position:absolute;left:64px;top:38px;width:365px;display:grid;gap:28px}.tactic-board{height:486px;background:#f2f5f2;border:3px solid rgba(255,255,255,.92);border-radius:5px;box-shadow:0 7px 18px rgba(0,0,0,.4);overflow:hidden}.tactic-board header{height:43px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#14242c,#29404b);color:#fff}.tactic-board header div{display:flex;align-items:center;gap:8px}.tactic-board header strong{font-size:15px}.tactic-board header>b{font-size:12px;color:#d8e4e8}.mini-badge{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--home);font-size:9px;font-weight:900}.away-board .mini-badge{background:var(--away)}.pitch{height:437px;background-color:var(--pitch);position:relative;overflow:hidden;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 44px,transparent 44px,transparent 88px)}.pitch:before{content:"";position:absolute;inset:14px;border:2px solid var(--line);background:linear-gradient(0deg,transparent 49.7%,var(--line) 49.8%,var(--line) 50.2%,transparent 50.3%)}.pitch:after{content:"";position:absolute;width:104px;height:104px;border:2px solid var(--line);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.player{position:absolute;z-index:2;width:68px;height:70px;transform:translate(-50%,-50%);text-align:center;color:#fff;font-weight:900;text-shadow:-1px -1px #111,1px 1px #111;cursor:grab;touch-action:none}.player.dragging{z-index:8;cursor:grabbing;filter:brightness(1.15)}.kit-svg{display:block;width:64px;height:58px;margin:-5px auto 0;overflow:visible;shape-rendering:geometricPrecision;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5))}.kit-svg .kit-number{fill:#fff;stroke:#111820;stroke-width:3.2px;paint-order:stroke;font:900 18px 'Noto Sans KR',sans-serif}.kit-shadow{fill:#000;opacity:.3;transform:translateY(2px)}.player small{position:relative;display:inline-block;max-width:70px;margin-top:-7px;padding:1px 5px 2px;border:1px solid rgba(255,255,255,.22);border-radius:4px;background:linear-gradient(rgba(8,16,19,.78),rgba(8,14,17,.94));box-shadow:0 2px 4px rgba(0,0,0,.45);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.control-toggle{position:absolute;right:24px;bottom:20px;border:1px solid rgba(255,255,255,.3);background:rgba(8,16,22,.8);color:#fff;border-radius:7px;padding:10px 15px;font-size:10px;letter-spacing:2px;cursor:pointer}.controls{position:absolute;z-index:20;right:0;top:0;width:390px;height:1080px;padding:24px;background:#0f1b22;color:#fff;box-shadow:-10px 0 30px rgba(0,0,0,.45);transform:translateX(100%);transition:.25s;overflow-y:auto}.controls.open{transform:none}.controls-head{display:flex;justify-content:space-between;align-items:start}.controls-head small{color:#55c2ff;letter-spacing:2px;font-size:9px}.controls-head h2{margin:4px 0 18px}.controls-head button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.control-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:sticky;top:-24px;z-index:3;padding:10px 0;background:#0f1b22}.control-tabs button,.team-switch button{border:1px solid #2b3c44;background:#15252d;color:#91a4ad;padding:9px 4px;border-radius:5px;font-size:10px}.control-tabs button.active,.team-switch button.active{background:var(--blue);border-color:var(--blue);color:#fff}.tab-panel{display:none;padding-top:10px}.tab-panel.active{display:block}.tab-panel h3{font-size:13px;margin:20px 0 10px;color:#dff5ff}.controls label{display:block;margin:13px 0;font-size:11px;color:#9fb1ba}.controls input,.controls select{display:block;width:100%;padding:10px;margin-top:6px;background:#091217;border:1px solid #2b3a42;border-radius:6px;color:#fff}.score-control{display:grid;grid-template-columns:48px 1fr 48px;height:44px;border:1px solid #2b3a42;border-radius:6px;overflow:hidden;margin:9px 0}.score-control button,.button-row button,.clock-tools button,.event-buttons button,.wide{border:0;background:#1c2b33;color:#fff;cursor:pointer}.score-control span{display:grid;place-items:center;font-size:11px}.clock-tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:12px 0}.clock-tools>*{height:40px!important;margin:0!important}.clock-tools button:first-child{background:var(--blue)}.button-row{display:flex;gap:6px;margin:10px 0}.button-row button{flex:1;padding:10px;border-radius:6px}.danger{background:#55232a!important;color:#ffbec6!important}.team-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hint{font-size:9px;color:#82959f;line-height:1.6}.roster-editor{display:grid;gap:5px}.roster-row{display:grid;grid-template-columns:30px 58px 1fr;gap:5px;align-items:center}.roster-row>span{font-size:9px;color:#71858f}.roster-row input{margin:0;padding:8px}.color-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.color-row label{position:relative;text-align:center;font-size:9px}.color-row input{height:34px;padding:2px 27px 2px 2px}.eyedropper{position:absolute;right:3px;bottom:3px;width:25px;height:28px;border:0;background:#17303c;color:#bdeaff;border-radius:3px;cursor:crosshair}.picker-status{min-height:34px;padding:8px;border-radius:5px;background:#091419;color:#8dd8ff;font-size:9px}.switch input{display:inline;width:auto;margin-right:6px}.obs-link{display:block;padding:11px;margin-top:15px;border:1px solid #237dab;border-radius:6px;color:#8dd8ff;text-align:center;text-decoration:none;font-size:11px}.event-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.event-buttons button{padding:13px;border-radius:6px}.event-log{display:grid;gap:6px;max-height:350px;overflow:auto}.event-item{display:grid;grid-template-columns:42px 1fr 25px;gap:7px;padding:8px;background:#13232b;border-radius:6px;font-size:9px}.event-item time{color:#68caff}.event-item button{border:0;background:none;color:#ff8e99}.wide{width:100%;padding:11px;margin-top:10px;border-radius:6px}
.event-toast{position:absolute;left:50%;top:170px;z-index:10;min-width:410px;transform:translate(-50%,-20px);padding:15px 24px;border-left:5px solid #caff31;border-radius:8px;background:linear-gradient(90deg,rgba(10,24,20,.96),rgba(19,42,35,.94));color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.45);opacity:0;transition:.3s;pointer-events:none}.event-toast.show{opacity:1;transform:translate(-50%,0)}.event-toast b{color:#caff31;margin-right:12px}
body.overlay-mode{background:transparent}.overlay-mode .stage{background:transparent!important}.overlay-mode .stage:before,.overlay-mode .control-toggle,.overlay-mode .controls{display:none!important}
.control-tabs{grid-template-columns:repeat(4,1fr)}.import-primary{background:#087aad!important;color:#fff!important}.quota-status,.import-progress,.legal-warning{margin:10px 0;padding:9px;border-radius:6px;font-size:9px;line-height:1.6}.quota-status{background:#102b35;color:#8bdcff}.import-progress{min-height:38px;background:#091419;color:#b5c7cf}.legal-warning{background:#302516;color:#e8c786;border:1px solid #584522}.import-list{display:grid;gap:5px;max-height:360px;overflow:auto;margin-top:12px}.import-option{display:grid!important;grid-template-columns:20px 1fr auto;align-items:center;gap:7px;margin:0!important;padding:9px;background:#13242c;border:1px solid #263b45;border-radius:6px}.import-option input{width:auto!important;margin:0!important}.import-option span{color:#e7f3f7}.import-option small{color:#6f8995}.import-option.imported{border-color:#287a50}.import-option.imported:after{content:'저장됨';color:#65da96;font-size:8px}.import-actions button{font-size:9px}.roster-row:has(.squad-picker){grid-template-columns:1.45fr 58px 1fr}.roster-row .squad-picker{margin:0;padding:8px;min-width:0;font-size:9px}
.fixture-list{display:grid;gap:6px;max-height:300px;overflow:auto;margin:10px 0}.fixture-option{display:grid!important;grid-template-columns:20px 48px 1fr;gap:7px;align-items:center;margin:0!important;padding:9px;background:#13242c;border:1px solid #263b45;border-radius:6px}.fixture-option:has(input:checked){border-color:#159bed;background:#123244}.fixture-option input{width:auto!important;margin:0!important}.fixture-option time{font-size:9px;color:#67caff}.fixture-option span{font-size:10px;color:#eef7fa}.fixture-option small{display:block;margin-top:3px;color:#758d98}.squad-import-details{margin-top:18px;border-top:1px solid #263b45;padding-top:12px}.squad-import-details summary{cursor:pointer;color:#9fb1ba;font-size:10px}
.team-search-row{display:grid;grid-template-columns:1fr 68px;gap:6px}.team-search-row input{margin:0!important}.team-search-row button{border:0;border-radius:6px;background:#1c2b33;color:#fff;cursor:pointer}.direct-team-option{grid-template-columns:20px 1fr!important}.direct-team-option em{font-style:normal;color:#67caff;font-size:8px;margin-left:6px}
.db-summary{display:flex;align-items:baseline;gap:8px;padding:12px;margin:10px 0;background:#102b35;border-radius:7px;color:#8bdcff}.db-summary b{font-size:24px}.db-summary span{font-size:10px}.db-tool,.lineup-update{margin:14px 0;border:1px solid #263b45;border-radius:7px;padding:10px}.db-tool summary,.lineup-update summary{cursor:pointer;color:#dff5ff;font-size:11px;font-weight:700}.compact{min-height:0}.controls .lineup-update label{margin-top:10px}
.data-transfer{margin:16px 0;border:1px solid #263b45;border-radius:7px;padding:10px}.data-transfer summary{cursor:pointer;color:#dff5ff;font-size:11px;font-weight:700}.restore-file{padding:10px;border:1px dashed #35515e;border-radius:6px;background:#101f26;cursor:pointer}.restore-file input{padding:7px;font-size:9px}.data-transfer .button-row button:disabled{opacity:.45;cursor:not-allowed}
.controls .match-team-row{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;margin:8px 0}.controls .match-team-row span{color:#b8ccd5;font-weight:700}.controls .match-team-row select{margin:0}
.controls .match-group-row{grid-template-columns:76px 1fr}.controls .match-group-row span{line-height:1.25}
.controls .field-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:9px;margin:9px 0}.controls .field-row>span:first-child{color:#b8ccd5;font-weight:700;line-height:1.25}.controls .field-row>input,.controls .field-row>select{margin:0}.gk-select-wrap{position:relative;display:block;min-width:0}.gk-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.gk-select-button{display:grid;grid-template-columns:1fr 52px 18px;align-items:center;gap:7px;width:100%;min-height:39px;padding:8px 9px 8px 12px;border:1px solid #2b3a42;border-radius:6px;background:#091217;color:#fff;text-align:left;cursor:pointer}.gk-select-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gk-select-button>b{font-size:16px;text-align:center;transition:transform .15s}.gk-select-button[aria-expanded="true"]>b{transform:rotate(180deg)}.gk-color-preview,.gk-option-swatch{display:block;width:48px;height:20px;border:1px solid rgba(255,255,255,.55);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.35);pointer-events:none}.gk-option-list{position:absolute;z-index:12;left:0;right:0;top:calc(100% + 4px);max-height:270px;overflow-y:auto;padding:5px;border:1px solid #35505c;border-radius:7px;background:#071116;box-shadow:0 12px 24px rgba(0,0,0,.48)}.gk-option-list button{display:grid;grid-template-columns:1fr 52px;align-items:center;gap:8px;width:100%;padding:9px 8px 9px 11px;border:0;border-radius:4px;background:transparent;color:#fff;text-align:left;cursor:pointer;box-shadow:none}.gk-option-list button:hover,.gk-option-list button.active{background:#176fb8}.gk-option-list button:active{transform:translateY(1px);background:#12598f}
.kit-card .button-row button{min-height:40px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px rgba(255,255,255,.12),0 3px 0 #071015,0 5px 9px rgba(0,0,0,.28)}.kit-card .button-row button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 5px rgba(0,0,0,.4),0 0 0 #071015,0 2px 4px rgba(0,0,0,.2)}.kit-confirm-save{background:#087aad!important}.kit-save-status.pending{color:#ffd37a;background:#302516;border-color:#584522}
.kit-slot-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 14px}.kit-slot-switch button{min-height:38px;border:1px solid #30434d;border-radius:6px;background:#172830;color:#9eb2bc;cursor:pointer}.kit-slot-switch button.active{border-color:#159bed;background:#087aad;color:#fff}.kit-slot-switch button:active{transform:translateY(2px)}
.score-control{grid-template-columns:64px 48px 1fr 48px}.score-control>strong{display:flex;align-items:center;padding-left:13px;color:#dff5ff;font-size:14px}.score-control>b{display:grid;place-items:center;font-size:15px}.score-control>span{display:none}
.team-action-row button{flex:1 1 0;padding-left:6px;padding-right:6px;white-space:nowrap}.team-action-row .compact-delete{flex:0 0 48px}
.confirm-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.confirm-modal[hidden]{display:none}.confirm-dialog{width:min(420px,calc(100vw - 40px));padding:24px;border:1px solid #40535c;border-radius:12px;background:#101d24;color:#fff;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.65)}.confirm-dialog>strong{display:block;font-size:21px}.confirm-dialog p{margin:16px 0 7px;color:#f4f8fa;font-size:16px;font-weight:700}.confirm-dialog small{display:block;color:#ffb7bf;font-size:12px;line-height:1.65}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.confirm-actions button{min-height:44px;border:0;border-radius:7px;background:#20313a;color:#fff;cursor:pointer}
.import-result-dialog{width:min(520px,calc(100vw - 40px));max-height:calc(100vh - 60px);overflow:auto}.import-result-list{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none;text-align:left}.import-result-list li{position:relative;padding:9px 10px 9px 34px;border:1px solid #2b414c;border-radius:7px;background:#0a171d;color:#e8f3f7;font-size:12px;line-height:1.45}.import-result-list li::before{position:absolute;left:11px;top:9px;font-weight:900}.import-result-list li.ok::before{content:'✓';color:#55ef9a}.import-result-list li.warn{border-color:#765d2b;background:#211b0e;color:#ffd98a}.import-result-list li.warn::before{content:'!';color:#ffc14f}.confirm-actions.single{grid-template-columns:1fr}.confirm-actions.single button{background:#159ddd;font-weight:800}
.player small{position:relative;left:50%;display:block;width:100px;max-width:100px;margin:-7px 0 0;transform:translateX(-50%);padding:1px 2px 2px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;font-size:13px;font-weight:900;line-height:1.08;white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance;text-align:center;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 -2px 0 #000,0 2px 0 #000,-2px 0 0 #000,2px 0 0 #000}
.player small{width:var(--player-name-width,100px);max-width:var(--player-name-width,100px);font-size:14px;line-height:1.05;text-wrap:balance}
.record-badge.assist .record-icon{transform:scaleX(-1) rotate(10deg)}
.event-buttons button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:10px 13px}.event-buttons .record-badge{flex:0 0 auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.85))}.event-buttons .record-badge.assist{margin-right:2px}
.record-stack{display:flex;align-items:center}.record-stack .record-badge+ .record-badge{margin-left:-8px}.record-stack.assist-stack .record-badge+ .record-badge{margin-left:-12px}.record-stack.yellow-stack .record-badge+ .record-badge,.record-stack.red-stack .record-badge+ .record-badge{margin-left:-6px}.record-stack .record-badge:nth-child(2){z-index:2}.record-stack .record-badge:nth-child(3){z-index:3}.record-stack .record-badge:nth-child(n+2){top:-2px}
.team-editor-status{min-height:28px;margin:8px 0;padding:7px 9px;border-radius:5px;background:#091419;color:#8dd8ff;font-size:9px}.tab-panel h3 small{float:right;color:#7f98a3;font-size:9px;font-weight:600}.roster-row.manage{grid-template-columns:22px 42px 32px minmax(0,1fr) 27px 27px;gap:4px;align-items:center}.roster-row.manage input{min-width:0}.roster-row.manage button{height:34px;border:0;border-radius:5px;background:#1c2b33;color:#d6e7ee;cursor:pointer}.roster-row.manage button.remove-player{background:#4a2027;color:#ffb3bc}.roster-row.manage button:disabled{opacity:.35;cursor:not-allowed}.drag-handle{height:34px;display:grid;place-items:center;color:#78909b;cursor:grab;user-select:none;font-size:14px;letter-spacing:-5px;padding-right:5px}.drag-handle:active{cursor:grabbing}.drag-spacer{width:22px}.position-chip{display:inline-grid;place-items:center;height:22px;border:1px solid #35515e;border-radius:4px;background:#10232c;color:#8dd8ff;font-size:8px;font-weight:800;letter-spacing:.2px}.roster-row.sortable{transition:transform .12s ease,background .12s ease,opacity .12s ease}.roster-row.sortable.dragging{opacity:.38}.roster-row.sortable.drag-over{background:#183440;box-shadow:inset 0 2px #4fc3f7;border-radius:5px}.add-player{border:1px dashed #3a5967!important;background:#13242c!important;color:#8dd8ff!important}.empty-roster{padding:13px;border:1px dashed #2b424d;border-radius:6px;color:#718791;text-align:center;font-size:9px}
.team-logo-row{align-items:start!important}.team-logo-editor{display:grid;grid-template-columns:64px minmax(0,1fr);gap:9px;align-items:center}.team-logo-preview{width:64px;height:64px;display:grid;place-items:center;padding:5px;border:1px solid #35515e;border-radius:8px;background:#f5f7f8;overflow:hidden}.team-logo-preview img{display:block;width:100%;height:100%;object-fit:contain}.team-logo-preview span{color:#6f7d84;font-size:8px;text-align:center}.team-logo-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.team-logo-upload,.team-logo-actions button{display:grid!important;place-items:center;min-height:38px!important;margin:0!important;padding:7px!important;border:1px solid #30434d!important;border-radius:6px!important;background:#172830!important;color:#dcebf1!important;font-size:10px!important;cursor:pointer}.team-logo-upload input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.team-logo-actions button{box-shadow:inset 0 1px rgba(255,255,255,.08),0 3px 0 rgba(0,0,0,.42),0 4px 8px rgba(0,0,0,.18)}
.new-category-row>div{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:6px}.controls .new-category-row input{margin:0}.new-category-row button{border:1px solid #30434d;border-radius:6px;background:#172830;color:#fff;cursor:pointer}
.team-switch{align-items:start}.team-switch-item{display:grid;min-width:0;gap:6px}.team-switch-item>strong{padding-left:2px;color:#dff5ff;font-size:15px;font-weight:800}.team-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;overflow:hidden;white-space:nowrap;padding:8px 10px;font-size:13px;font-weight:800}.team-switch button img{flex:0 0 28px;width:28px;height:28px;padding:2px;border-radius:5px;background:#f5f7f8;object-fit:contain;box-shadow:0 1px 3px rgba(0,0,0,.35)}.team-switch button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.control-tabs button{min-height:43px;font-size:13px;font-weight:700;letter-spacing:-.2px}
.team-switch-item>strong{padding-left:0;text-align:center}
.player.swap-target{z-index:7;filter:brightness(1.25) drop-shadow(0 0 7px #67d5ff)}.player.swap-target:after{content:"교체";position:absolute;left:50%;top:-15px;transform:translateX(-50%);padding:2px 6px;border-radius:8px;background:#159bed;color:#fff;font-size:9px;font-weight:900;text-shadow:none;box-shadow:0 2px 5px rgba(0,0,0,.45)}
.player.substitution-target{z-index:7;filter:brightness(1.25) drop-shadow(0 0 8px #caff31)}.player.substitution-target:after{content:"선수 교체";position:absolute;left:50%;top:-15px;transform:translateX(-50%);padding:2px 6px;border-radius:8px;background:#5d8f12;color:#fff;font-size:9px;font-weight:900;white-space:nowrap;text-shadow:none;box-shadow:0 2px 5px rgba(0,0,0,.45)}
.player.substituted-in small{color:#caff31}
.team-file-import{margin:12px 0;padding:10px;border:1px solid #2b414c;border-radius:8px;background:#0b171d}.team-file-import summary{cursor:pointer;color:#dff5ff;font-size:12px;font-weight:800}.team-request-target{display:grid!important;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;margin:10px 0!important}.team-request-target span{color:#b8ccd5;font-weight:700}.controls .team-request-target input{margin:0}.team-file-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.team-file-tools button,.team-file-tools label{display:grid!important;place-items:center;min-height:39px;margin:0!important;padding:8px;border:1px solid #30434d;border-radius:6px;background:#172830;color:#dcebf1;font-size:10px;cursor:pointer}.team-file-tools label{background:#087aad;color:#fff;font-weight:800}.team-file-tools input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.team-json-paste{display:block!important;margin:11px 0 7px!important}.team-json-paste span{display:block;margin-bottom:6px;color:#b8ccd5;font-size:11px;font-weight:800}.controls .team-json-paste textarea{box-sizing:border-box;width:100%;min-height:112px;margin:0;padding:10px 11px;resize:vertical;border:1px solid #30434d;border-radius:6px;background:#071319;color:#eaf7fc;font:11px/1.5 Consolas,monospace}.controls .team-json-paste textarea:focus{outline:2px solid #159ddd;outline-offset:1px}.import-pasted-team{margin-top:0!important;background:#087aad!important;color:#fff!important;font-weight:800}
.copy-team-prompt{margin:0!important;background:#172830!important;color:#eaf7fc!important;font-weight:800}
.team-logo-select{position:relative;min-width:0}.team-logo-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.team-logo-select-button{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;min-height:39px;margin:0!important;padding:6px 9px;border:1px solid #2b3a42;border-radius:6px;background:#091217;color:#fff;text-align:left;cursor:pointer}.team-logo-select-button>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.team-logo-select-button>b{text-align:center;transition:transform .15s}.team-logo-select-button[aria-expanded="true"]>b{transform:rotate(180deg)}.team-select-logo{display:grid;place-items:center;width:28px;height:25px;border-radius:4px;background:#f4f5f6;color:#18313c;font-size:9px;font-weight:900;overflow:hidden}.team-select-logo img{display:block;width:25px;height:22px;object-fit:contain}.team-logo-option-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:310px;overflow:auto;padding:5px;border:1px solid #35505c;border-radius:7px;background:#071116;box-shadow:0 12px 24px rgba(0,0,0,.55)}.team-logo-option-list strong{display:block;padding:8px 9px 5px;color:#65cfff;font-size:10px}.team-logo-option-list button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:#fff;text-align:left;cursor:pointer;box-shadow:none}.team-logo-option-list button:hover,.team-logo-option-list button.active{background:#176fb8}.team-logo-option-list button:active{transform:translateY(1px)}.team-logo-option-list button:disabled{opacity:.35;cursor:not-allowed}.team-logo-option-list button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.team-select-placeholder{background:#172830;color:#9bb4bf}
.kit-save-status{margin-top:8px;padding:8px;border-radius:5px;background:#102b35;color:#8bdcff;font-size:9px;line-height:1.5}
.kit-card{padding:0 10px 12px;margin-bottom:14px;border:1px solid #263b45;border-radius:8px;background:#0c171d}.kit-card+ .kit-card{margin-top:14px}.kit-card h3{padding-bottom:8px;border-bottom:1px solid #243740}.kit-card .picker-status{min-height:30px}
.kit-card h3{color:#fff;font-size:14px}.kit-card[data-kit-side="home"] h3{border-left:4px solid var(--home);padding-left:8px}.kit-card[data-kit-side="away"] h3{border-left:4px solid var(--away);padding-left:8px}
button{position:relative;transform:translateY(0);box-shadow:inset 0 1px rgba(255,255,255,.08),0 3px 0 rgba(0,0,0,.42),0 4px 8px rgba(0,0,0,.18);transition:transform 70ms ease,box-shadow 70ms ease,filter 120ms ease}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 4px rgba(0,0,0,.35),0 1px 0 rgba(0,0,0,.5);filter:brightness(.96)}button:focus-visible{outline:2px solid #6dd2ff;outline-offset:2px}button:disabled{box-shadow:none}.controls-head>button,.event-item button{box-shadow:none}.controls-head>button:active,.event-item button:active{transform:scale(.9)}
.clock-setter{display:grid;grid-template-columns:1fr 1fr 92px;gap:6px;align-items:center;margin:10px 0 16px}.clock-setter label{display:grid!important;grid-template-columns:22px 1fr;align-items:center;gap:5px;margin:0!important}.clock-setter label>span{color:#b8ccd5;font-weight:700}.clock-setter input{margin:0!important;text-align:center}.clock-setter button{height:38px;border:0;border-radius:6px;background:#1c2b33;color:#fff;cursor:pointer}
@media (prefers-reduced-motion:reduce){button{transition:none}}
.clock-tools{grid-template-columns:1fr 1fr}
.player-records{position:absolute;left:47px;top:-2px;display:flex;flex-wrap:wrap;align-items:center;width:52px;gap:3px;pointer-events:none}.record-badge{position:relative;display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:#fff;font-style:normal;line-height:1;text-shadow:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.85))}.record-badge .record-icon{display:block;font-size:17px;line-height:20px}.record-badge.assist{width:27px;height:21px}.record-badge.assist .record-icon{width:27px;height:21px;transform:rotate(-8deg)}.boot-icon{display:block;width:27px;height:21px;overflow:visible;fill:rgba(255,255,255,.06);stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 1px 1px #000)}.boot-icon .studs{fill:none;stroke-width:1.7}.record-badge.yellow,.record-badge.red{width:14px;height:20px;border:1px solid rgba(255,255,255,.9);border-radius:2px;transform:rotate(5deg);box-shadow:inset 2px 0 rgba(255,255,255,.22),0 1px 3px #000}.record-badge.yellow{background:linear-gradient(135deg,#fff06a 0,#f4cf18 45%,#dca800 100%)}.record-badge.red{background:linear-gradient(135deg,#ff6a70 0,#df2637 45%,#9d0e20 100%)}.record-badge b{position:absolute;right:-6px;bottom:-5px;display:grid;place-items:center;min-width:13px;height:13px;padding:0 2px;border:1px solid #fff;border-radius:8px;background:#081117;color:#fff;font-size:8px;font-weight:900;line-height:1;transform:none}
.record-badge.assist .record-icon{transform:scaleX(-1) rotate(10deg)}
.team-badge.has-logo,.mini-badge.has-logo{background:#f8f8f8;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 5px rgba(0,0,0,.38)}
.team-badge.has-logo img{display:block;width:56px;height:42px;object-fit:contain;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.38))}
.mini-badge.has-logo img{display:block;width:23px;height:17px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.48))}
.kit-team-logo{filter:drop-shadow(.55px 0 .25px rgba(0,0,0,.72)) drop-shadow(-.55px 0 .25px rgba(0,0,0,.72)) drop-shadow(0 .7px .45px rgba(0,0,0,.8))}
.tactic-board{position:relative;overflow:visible}
.off-pitch-records{position:absolute;z-index:5;left:calc(100% + 8px);top:auto;bottom:8px;width:118px;padding:7px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:rgba(8,18,23,.92);box-shadow:0 4px 10px rgba(0,0,0,.42);color:#fff}
.off-pitch-records>b{display:block;margin-bottom:5px;color:#8dd8ff;font-size:8px;line-height:1.25}
.off-pitch-player{display:flex;align-items:center;gap:5px;padding:5px 0;border-top:1px solid rgba(255,255,255,.12)}
.off-pitch-player>span:first-child{display:block;min-width:0;font-size:13px;font-weight:900;line-height:1.08;word-break:keep-all;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}
.off-pitch-badges{display:flex;flex:none;align-items:center;min-height:22px;margin:0;gap:2px}
.off-pitch-player{cursor:pointer;border-radius:4px}
.off-pitch-player:hover{background:rgba(255,255,255,.08)}
.event-item{align-items:center;padding:11px 10px;font-size:14px;line-height:1.4}
.event-item time{font-size:13px;font-weight:800}.event-item span{font-weight:600}.event-item span b{font-size:14px}.event-item button{font-size:17px;font-weight:800}
.off-pitch-records{width:max-content;min-width:118px;padding:8px}
.off-pitch-records>b{margin-bottom:6px;font-size:11px;line-height:1.3}
.off-pitch-player{width:max-content;min-width:100%;gap:7px;padding:6px 0}
.off-pitch-player>span:first-child{flex:none;white-space:nowrap}
.record-stack .record-badge:nth-child(n+2){top:0}
.off-pitch-badges .record-stack .record-badge+.record-badge{margin-left:-8px}
.off-pitch-badges .record-stack.assist-stack .record-badge+.record-badge{margin-left:-12px}
.off-pitch-badges .record-stack.yellow-stack .record-badge+.record-badge,.off-pitch-badges .record-stack.red-stack .record-badge+.record-badge{margin-left:-6px}
