@font-face{font-family:LocalUI;src:local('Segoe UI')}*{box-sizing:border-box}html{background:#101014;color:#eeeef3;font:15px/1.5 LocalUI,system-ui,sans-serif}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b39bff;outline-offset:4px}svg{display:block}.icon{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{padding:31px 20px;border-right:1px solid #27272e;background:#121216;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 10px}.brand img{width:37px;height:37px}.brand strong{display:block;font-size:15px;letter-spacing:1.2px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#92909c}.nav{display:grid;gap:6px}.nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:9px;color:#a6a5b3}.nav a.active{color:#d8ccff;background:#a994ff15}.nav a:hover{background:#ffffff08;color:#fff}.nav-label,.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:#8f8d9f;font-weight:650}.nav-label{padding:0 14px;margin:5px 0}.sidebar-bottom{margin-top:auto;padding:18px 10px 0;border-top:1px solid #27272e}.status{display:flex;align-items:center;gap:8px;font-size:12px;color:#9693a5}.dot{width:6px;height:6px;border-radius:50%;background:#a994ff;box-shadow:0 0 12px #a994ff55}.muted{color:#9794a6}.dim{color:#6c697b}.small{font-size:12px}.main{min-width:0}.topbar{min-height:83px;border-bottom:1px solid #27272e;padding:20px 42px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-left,.actions,.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topbar select{max-width:280px}.content{max-width:1480px;margin:auto;padding:36px 42px 64px}.btn{border:1px solid #34323f;color:#d8d5e2;background:#1b1a22;border-radius:8px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:550;font-size:13px;line-height:1.4;min-height:39px}.btn:hover{background:#25232e;border-color:#61586e}.btn.primary{color:#191321;border-color:#b39bff;background:#b39bff}.btn.primary:hover{background:#c5b2ff}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:#ffffff08}.btn.danger{color:#ffa9a9;border-color:#6c333b;background:#331d24}.btn.slim{padding:7px 11px;min-height:33px;font-size:12px}.btn.peach{color:#231817;background:#eebfa6;border-color:#eebfa6}.input,select,textarea{background:#18171e;border:1px solid #373440;border-radius:8px;color:#e7e2f0;padding:10px 12px;min-width:0}select{cursor:pointer}option{background:#18171e;color:#fff}.input::placeholder{color:#777282}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}h1,h2,h3,p{margin:0}h1{font-weight:650;font-size:30px;letter-spacing:-.8px;line-height:1.2}h2{font-size:21px;font-weight:600;letter-spacing:-.3px}h3{font-size:16px;font-weight:600}.subtitle{color:#9692a5;margin-top:8px;font-size:14px}.hero{border:1px solid #34303f;background:radial-gradient(ellipse at 89% 50%,#44316065,transparent 60%),#19171f;border-radius:14px;padding:36px 38px;position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;min-height:255px;margin-bottom:32px}.hero h1{font-size:42px;letter-spacing:-1.5px;line-height:1.12;margin:13px 0}.hero p{max-width:430px;font-size:14px;color:#a6a0b3}.hero .actions{margin-top:23px}.hero-art{width:315px;min-width:230px;opacity:.85;align-self:center}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #393342;border-radius:5px;color:#a9a0b9;font-size:10px;letter-spacing:1px;padding:4px 8px;text-transform:uppercase}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 17px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.category-card{position:relative;overflow:hidden;border:1px solid #35313f;border-radius:13px;padding:25px;background:#19171f;transition:transform .15s,border-color .15s;min-height:266px}.category-card:hover{transform:translateY(-3px);border-color:#9b83db}.category-card.peach{border-color:#403331;background:#1d1818}.category-card.peach:hover{border-color:#d5a38d}.category-card .number{font-size:11px;letter-spacing:1.3px;color:#a99bbb}.category-card .card-art{position:absolute;right:22px;top:25px;width:150px;height:112px;opacity:.75}.category-card h2{font-size:29px;letter-spacing:-.8px;margin-top:57px}.category-card p{font-size:13px;color:#9990a6;margin-top:7px;max-width:260px}.category-card.peach p{color:#b2998c}.category-card .card-bottom{margin-top:24px;display:flex;align-items:center;justify-content:space-between;color:#c3b0ef}.category-card.peach .card-bottom{color:#e2b098}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:#a994ff16;color:#c1abfc;border-radius:5px;padding:3px 7px;white-space:nowrap}.badge.peach{background:#eebfa615;color:#eebfa6}.badge.gray{background:#ffffff09;color:#9791a3}.badge.warn{background:#ebb56915;color:#e8bb7d}.panel{border:1px solid #302c39;background:#18161e;border-radius:12px;padding:23px}.info{padding:13px 17px;border-radius:8px;background:#a994ff0b;border:1px solid #a994ff24;color:#b3a7cb;font-size:13px;display:flex;gap:12px;align-items:center}.info.warn{background:#eeb6650a;border-color:#eeb66525;color:#c4ae89}.empty{text-align:center;padding:50px 20px;border:1px dashed #393340;border-radius:12px;color:#aaa2b6}.empty .icon{width:36px;height:36px;margin:0 auto 14px;color:#a994ff}.empty h2{color:#e3dbf1;margin-bottom:9px}.empty p{max-width:490px;margin:0 auto 20px;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stat{padding:18px 22px;border:1px solid #2e2a36;border-radius:10px;background:#16141b}.stat strong{font-size:27px;font-weight:550;display:block}.stat span{font-size:12px;color:#9690a3}.mode-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:25px;border:1px solid #3e354f;border-radius:12px;background:linear-gradient(110deg,#251e33,#19151f)}.mode-card h2{margin:10px 0 7px}.mode-card p{max-width:650px;color:#aaa0b8;font-size:13px}.mode-card .actions{justify-content:flex-end}.session-list{display:grid;gap:10px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;border:1px solid #2e2a36;border-radius:9px;background:#17151c}.session-row h3{margin-bottom:5px}.session-row .detail{font-size:12px;color:#92899f}.session-row .actions{flex-shrink:0}.progress{height:4px;border-radius:10px;background:#302a3c;overflow:hidden;margin:10px 0}.progress span{display:block;height:100%;background:#ac90f6}.tournament-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:23px}.tournament-header h1{font-size:24px}.progress-box{min-width:250px;max-width:360px;flex:1}.match-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;color:#978da9;font-size:12px}.match-top strong{font-size:13px;font-weight:550;color:#c9b4f6}.match-grid{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:14px}.vs{font-size:12px;font-weight:650;color:#9680b5;text-align:center;letter-spacing:1px}.player-card{border:1px solid #3c314a;border-radius:12px;overflow:hidden;background:#1b1623;min-width:0}.player-card.right{border-color:#4a3530;background:#201916}.player-area{position:relative;background:#0a090d;aspect-ratio:16/9;display:grid;place-items:center}.player-area video{width:100%;height:100%;display:block;position:absolute;inset:0;object-fit:contain}.player-empty{padding:24px;text-align:center;font-size:13px;color:#877b9a;max-width:300px}.player-error{position:absolute;bottom:42px;left:12px;right:12px;padding:10px;background:#271c27ed;border-radius:6px;font-size:12px;color:#ffbdc4;z-index:2}.player-caption{padding:17px 19px}.player-caption .label{font-size:10px;letter-spacing:1.4px;color:#9785b5}.player-caption h2{font-size:18px;margin:6px 0 8px;line-height:1.35;min-height:49px;overflow-wrap:anywhere}.player-caption .btn{width:100%;margin-top:13px}.file-info{font-size:11px;color:#82758f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keyboard-hint{text-align:center;margin:21px 0;color:#80758f;font-size:12px}kbd{font-family:inherit;background:#24202c;border:1px solid #413449;padding:1px 5px;border-radius:4px;font-size:11px;color:#bdabce}.focus-mode .sidebar,.focus-mode .topbar{display:none}.focus-mode .shell{display:block}.focus-mode .content{max-width:1720px;padding:22px 34px}.focus-mode .match-grid{gap:20px}.tournament-stage:fullscreen{overflow:auto;background:#101014;padding:20px 28px}.tournament-stage:fullscreen .player-area{max-height:65vh;aspect-ratio:16/9}.tournament-stage:fullscreen .keyboard-hint{margin:14px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search{position:relative;flex:1;min-width:200px}.search .icon{position:absolute;left:12px;top:12px;width:17px;color:#877b99}.search input{width:100%;padding-left:38px}.bulkbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;margin-bottom:13px;border:1px solid #544568;background:#251e30;border-radius:8px}.table-wrap{overflow-x:auto;border:1px solid #2d2835;border-radius:10px}.catalog-table{width:100%;border-collapse:collapse;min-width:730px;font-size:13px}.catalog-table th{text-align:left;background:#1c1823;color:#8b7f9b;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:12px 14px;font-weight:600}.catalog-table td{padding:12px 14px;border-top:1px solid #2b2533;vertical-align:middle}.catalog-table tr:hover td{background:#ffffff02}.catalog-table input[type=checkbox]{accent-color:#b39bff;width:15px;height:15px;cursor:pointer}.video-name{display:flex;align-items:center;gap:13px}.thumb{width:62px;height:39px;border-radius:5px;flex-shrink:0;background:linear-gradient(130deg,#342541,#1d1726);display:grid;place-items:center;color:#a993c5;overflow:hidden;border:0;padding:0}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .icon{width:17px;height:17px}.name-text{max-width:460px}.name-text strong{font-weight:550;display:block;line-height:1.4;overflow-wrap:anywhere}.name-text small{display:block;color:#706379;font-size:10px;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.catalog-table select{padding:6px 9px;font-size:12px;min-width:104px}.catalog-table .row-actions{display:flex;gap:5px;justify-content:flex-end}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px;color:#81768d;font-size:12px}.bracket-panel{margin-top:24px}.bracket-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 15px}.bracket-tools select{font-size:12px;padding:8px 10px}.bracket-scroll{overflow:auto;max-height:680px;border:1px solid #2e2639;border-radius:9px;background:#131016;padding:18px}.bracket-grid{display:flex;gap:24px;align-items:flex-start;min-width:min-content}.round-column{width:230px;flex-shrink:0}.round-column h3{font-size:12px;color:#9c88b5;margin:0 0 15px}.round-matches{display:flex;flex-direction:column;gap:14px}.bracket-match{border:1px solid #3a2c45;border-radius:7px;overflow:hidden;background:#1c1523}.bracket-match.current{border-color:#b29af3;box-shadow:0 0 0 1px #b29af325}.bracket-match small{display:flex;justify-content:space-between;font-size:9px;color:#705c85;padding:5px 9px;background:#211829}.bracket-entry{display:flex;gap:8px;align-items:center;padding:8px 9px;border-top:1px solid #33243f;width:100%;background:transparent;border-right:0;border-left:0;border-bottom:0;text-align:left;color:#9885a9;font-size:11px;min-height:35px;line-height:1.4;overflow-wrap:anywhere}.bracket-entry:disabled{opacity:1;cursor:default}.bracket-entry.winner{color:#d7c6ef;background:#b39bff0b}.bracket-entry.loser{color:#6f5a80}.bracket-entry .mark{font-size:9px;color:#b39bff}.champion{padding:29px;border:1px solid #66502a;background:radial-gradient(ellipse at 90% 20%,#7e552d33,transparent 60%),#211b18;border-radius:13px;display:flex;align-items:center;gap:26px;margin:24px 0}.champion .trophy{width:74px;height:74px;display:grid;place-items:center;background:#edba6812;color:#edba68;border:1px solid #edba6822;border-radius:16px;flex-shrink:0}.champion .trophy .icon{width:38px;height:38px}.champion h2{font-size:27px;margin:6px 0 12px;overflow-wrap:anywhere}.result-group{margin-top:25px}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.result-card{border:1px solid #382c43;border-radius:8px;padding:14px;background:#1a141f;text-align:left;color:#cbbbd9;min-height:75px;overflow-wrap:anywhere;font-size:12px}.result-card:hover{border-color:#9377b1}.result-card .badge{margin-bottom:8px}.import-loading{padding:45px;text-align:center}.spinner{width:30px;height:30px;border:2px solid #3b2d4c;border-top-color:#b39bff;border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid #50405f;background:#1a151f;color:#e2d6ee;border-radius:14px;padding:28px;width:min(640px,calc(100vw - 32px));max-height:90vh;overflow:auto;box-shadow:0 35px 110px #0009}dialog::backdrop{background:#07050bcc;backdrop-filter:blur(5px)}dialog h2{margin-bottom:8px}dialog .subtitle{margin-bottom:22px}.form-row{display:grid;gap:7px;margin:17px 0}.form-row label{font-size:12px;color:#a08bb4}.form-row input,.form-row select,.form-row textarea{width:100%}.form-row textarea{resize:vertical;min-height:72px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.dialog-player{width:100%;max-height:49vh;background:#07050b;border-radius:8px;margin:18px 0}.dialog-details{font-size:12px;color:#887295;overflow-wrap:anywhere}.check-row{display:flex;align-items:center;gap:9px;font-size:13px;color:#b6a1c7}.check-row input{accent-color:#b39bff}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.import-summary div{padding:14px;border:1px solid #392c44;border-radius:7px}.import-summary strong{display:block;font-size:24px;font-weight:500}.import-summary span{font-size:11px;color:#9a80ab}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;padding:12px 20px;border:1px solid #655077;background:#292031;color:#e2ccf1;border-radius:9px;box-shadow:0 12px 40px #0008;max-width:min(640px,90vw);font-size:13px;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}.footer-note{font-size:11px;color:#6e617c;margin-top:35px;display:flex;justify-content:space-between;gap:20px}.collection-list{display:grid;gap:12px;margin-top:15px}.collection-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #3b2c46;border-radius:8px;padding:14px}.history-category{font-size:10px;color:#a68bbb;letter-spacing:1px}.no-wrap{white-space:nowrap}.back{display:inline-flex;align-items:center;gap:8px;color:#9984ad;font-size:12px;margin-bottom:20px}.back:hover{color:#c6b0dd}.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}@media(min-width:1600px){.content{padding-top:42px}.hero{min-height:285px}}@media(max-width:1100px){.shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:25px 12px}.brand{padding:0;gap:8px}.brand strong{font-size:12px}.brand small{font-size:8px}.brand img{width:30px;height:30px}.content{padding:26px}.topbar{padding:18px 26px}.hero{padding:27px}.hero h1{font-size:35px}.hero-art{width:230px;min-width:170px}.result-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.shell{display:block}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:15px 18px;gap:20px;border-right:0;border-bottom:1px solid #2e2639}.sidebar .brand small,.sidebar .sidebar-bottom,.nav-label{display:none}.nav{display:flex;gap:3px;margin-left:auto}.nav a{padding:9px}.nav a span{display:none}.content{padding:22px 18px}.topbar{padding:15px 18px;min-height:70px}.topbar .small{display:none}.topbar select{max-width:180px}.hero{min-height:230px;padding:26px}.hero-art{display:none}.hero h1{font-size:34px}.category-card{padding:20px}.category-card .card-art{width:100px;right:12px}.category-card h2{font-size:26px}.mode-card{grid-template-columns:1fr}.mode-card .actions{justify-content:flex-start}.tournament-header{align-items:flex-start;flex-direction:column;gap:15px}.progress-box{width:100%;max-width:none}.match-grid{grid-template-columns:1fr;gap:15px}.vs{display:none}.player-caption h2{min-height:0}.session-row{align-items:flex-start;gap:12px}.session-row .actions{flex-direction:column;align-items:stretch}.focus-mode .content{padding:16px}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:22px}.page-title{flex-wrap:wrap}.champion{padding:20px;gap:15px}.champion h2{font-size:22px}.champion .trophy{width:55px;height:55px}.champion .trophy .icon{width:28px;height:28px}}@media(max-width:480px){.category-grid{grid-template-columns:1fr}.topbar-left select{max-width:145px}.topbar .btn{padding:9px;font-size:11px}.category-card{min-height:225px}.category-card h2{margin-top:45px}.hero h1{font-size:31px}.hero{padding:23px}.result-grid{grid-template-columns:1fr}.import-summary{gap:6px}.import-summary div{padding:10px}.bracket-tools{flex-wrap:wrap}.footer-note{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
