@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900;1,800;1,900&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#0b1016;--panel:#131b24;--panel2:#19232e;--line:#2a3541;--lime:#bdfb39;--text:#eef2f4;--muted:#92a0ad;--blue:#81c4f4;--orange:#f49264;font-family:'Noto Sans KR',sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.35;letter-spacing:-1px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:17px}small,.small{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}.lime{color:var(--lime)}.orange{color:var(--orange)}.condensed{font-family:'Barlow Condensed',sans-serif}.eyebrow{font-family:'Barlow Condensed',sans-serif;letter-spacing:2px;font-size:13px;font-weight:700}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 22px 24px;background:#0d131a;z-index:20}.brand{color:white;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:900;font-size:27px;line-height:.92;letter-spacing:-.3px}.brand span{display:block;color:var(--lime);font-size:35px}.brand-caption{font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:12px}.season-chip{margin-top:35px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.season-chip b{color:var(--lime);font-size:13px}.side-nav{display:flex;flex-direction:column;gap:8px;margin-top:16px}.nav-item{background:none;text-align:left;padding:14px 15px;display:flex;align-items:center;gap:13px;color:var(--muted);border-radius:5px;font-size:15px;font-weight:600}.nav-item.active{background:#bdfb3911;color:var(--lime);box-shadow:inset 3px 0 var(--lime)}.nav-item:hover{background:#ffffff06;color:white}.side-bottom{margin-top:auto;padding-top:60px}.crest{width:44px;height:48px;color:var(--lime);display:grid;place-content:center;clip-path:polygon(0 0,100% 0,100% 66%,50% 100%,0 66%);background:var(--lime);font-family:'Barlow Condensed';font-size:23px;font-weight:900;color:#0b1016}.club-mark{display:flex;gap:12px;align-items:center}.club-mark b{font-size:15px;display:block}.club-mark small{display:block;font-size:12px;margin-top:4px}.side-help{margin-top:24px;width:100%;display:flex;gap:10px;align-items:center;background:none;color:var(--muted);font-size:14px}.main{grid-column:2;min-width:0}.topbar{height:80px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.topbar .day{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:10px}.topbar .day b{color:white;font-family:'Barlow Condensed';font-size:22px;letter-spacing:.5px}.resources{display:flex;gap:26px;align-items:center}.resource{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.resource strong{font-family:'Barlow Condensed';font-size:23px;font-weight:600;color:white}.resource svg{width:18px;color:var(--lime)}.icon-btn{display:grid;place-content:center;background:none;color:var(--muted);width:40px;height:40px}.content{padding:30px 36px 40px;max-width:1550px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.page-header p{font-size:14px;color:var(--muted);margin-top:8px}.header-actions{display:flex;align-items:center;gap:12px}.button{padding:12px 18px;min-height:46px;border:1px solid var(--line);background:var(--panel2);color:white;border-radius:5px;font-size:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:9px;transition:background .2s,transform .2s}.button:hover{background:#283746}.button.primary{color:#11180a;border-color:var(--lime);background:var(--lime)}.button.primary:hover{background:#d0ff66}.button.ghost{background:none}.button.wide{width:100%}.button.small-btn{min-height:36px;padding:8px 13px;font-size:13px}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:3px;background:#ffffff0a;color:var(--muted);font-size:12px}.tag.green{color:var(--lime);background:#bdfb3911;border:1px solid #bdfb3930}.tag.blue{color:var(--blue);background:#81c4f411}.tag.orange{color:var(--orange);background:#f4926414}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.dashboard-main{min-width:0}.hero{height:262px;position:relative;overflow:hidden;border:1px solid #364550;border-radius:7px;background:#132033 url('assets/team-hero.png') center 42%/cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b111deb 0%,#0b111db0 32%,transparent 65%),linear-gradient(0deg,#09121a88,transparent 65%)}.hero-content{position:relative;padding:27px 28px;max-width:390px;z-index:1}.hero .eyebrow{color:var(--lime);margin-bottom:14px}.hero h2{font-size:36px;letter-spacing:-1.5px;font-weight:900;line-height:1.35}.hero h2 em{font-style:normal;color:var(--lime)}.hero p{font-size:14px;color:#ccd4da;margin:12px 0 20px}.hero-bottom{position:absolute;bottom:18px;right:20px;color:#fff8;font-size:11px;letter-spacing:2px;font-family:'Barlow Condensed';text-align:right}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px;gap:10px}.section-title h2{display:flex;gap:10px;align-items:baseline}.section-title h2 small{font-weight:500}.text-btn{background:none;color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center;min-height:36px}.text-btn:hover{color:var(--lime)}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.athlete-card{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:0;text-align:left;transition:transform .2s,border-color .2s}.athlete-card:hover{transform:translateY(-3px);border-color:#94bb50}.portrait{background-image:url('assets/athlete-grid.png');background-size:300% 200%;background-repeat:no-repeat;background-position:var(--px) var(--py);aspect-ratio:1/1;width:100%;position:relative}.portrait:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#111a25)}.card-portrait{height:173px;aspect-ratio:auto}.card-top{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:6px;z-index:1}.card-top .tag{background:#09121ac9;color:#dfe5eb;border:1px solid #ffffff18}.card-top .tag.green{color:var(--lime)}.athlete-info{padding:0 13px 14px;position:relative;margin-top:-11px;z-index:2}.athlete-name{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.athlete-name b{font-size:20px}.athlete-name .level{font-family:'Barlow Condensed';font-size:18px;color:var(--lime)}.athlete-info p{font-size:12px;color:var(--muted);margin-bottom:13px}.mini-stat{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:8px}.mini-stat strong{color:white;font-family:'Barlow Condensed';font-size:16px}.bar{height:5px;background:#26323e;border-radius:5px;overflow:hidden;flex:1}.bar>span{display:block;height:100%;background:var(--lime);border-radius:5px}.blue-bar>span{background:var(--blue)}.orange-bar>span{background:var(--orange)}.mini-stat .bar{max-width:75px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:21px}.panel+.panel{margin-top:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-heading h2{font-size:17px}.panel-heading .eyebrow{color:var(--muted);font-size:11px}.next-match{background:linear-gradient(140deg,#1c2a35,#121b24);position:relative;overflow:hidden}.match-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.match-label .eyebrow{color:var(--lime);font-size:12px}.next-match h3{font-size:24px;letter-spacing:-.8px}.next-match .location{font-size:12px;color:var(--muted);margin-top:8px}.versus{display:flex;align-items:center;justify-content:space-between;margin:24px 0}.team-logo{font-family:'Barlow Condensed';font-style:italic;font-weight:900;font-size:35px;color:var(--lime);line-height:1}.team-logo small{display:block;font-size:11px;letter-spacing:4px;color:var(--muted);font-style:normal;margin:7px 0 0 3px}.opponent-logo{font-family:'Barlow Condensed';font-size:24px;font-weight:800;text-align:right;line-height:1.1;color:#c5d1dd;max-width:100px}.vs{font-family:'Barlow Condensed';font-size:18px;font-style:italic;color:#64717c}.match-meta{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:var(--muted);padding:12px 0 18px;border-top:1px solid var(--line)}.match-meta strong{color:#dfe5eb}.daily-row{display:flex;align-items:center;gap:11px;margin:13px 0}.avatar{width:43px;height:43px;border-radius:4px;flex-shrink:0;aspect-ratio:1/1}.avatar:after{display:none}.daily-row div:nth-child(2){flex:1}.daily-row b{font-size:14px;display:block}.daily-row small{font-size:12px;margin-top:3px;display:block}.daily-row .tag{font-size:11px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mood-panel{margin-top:18px;background:var(--panel);padding:17px 20px;border-radius:5px;border:1px solid var(--line);display:flex;align-items:center;gap:14px;font-size:14px}.mood-panel svg{color:var(--lime)}.mood-panel .bar{max-width:200px}.mood-panel strong{font-family:'Barlow Condensed';font-size:22px;color:var(--lime)}.journal{display:grid;grid-template-columns:70px 1fr;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:13px;line-height:1.7}.journal small{font-family:'Barlow Condensed';font-size:14px}.bottom-nav{display:none}.footer{font-size:11px;color:#657380;text-align:center;letter-spacing:1px;margin-top:30px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{padding:0 0 13px;background:none;color:var(--muted);font-size:14px;border-bottom:2px solid transparent;font-weight:700}.tab.active{color:var(--lime);border-bottom-color:var(--lime)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-tile{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:16px 18px}.stat-tile small{display:block}.stat-tile strong{display:block;font-family:'Barlow Condensed';font-size:30px;font-weight:600;margin-top:5px}.training-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.training-card{display:flex;gap:17px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.training-card .avatar{width:80px;height:95px;background-size:300% 200%;aspect-ratio:auto}.training-card-content{flex:1;min-width:0}.training-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.training-card-head b{font-size:18px}.training-card-head small{color:var(--lime)}.training-meta{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-bottom:12px}.training-meta strong{color:var(--text)}select,input{background:#0d151e;border:1px solid #36434f;color:var(--text);padding:10px 12px;min-height:44px;border-radius:4px;max-width:100%}select{cursor:pointer;font-size:14px;width:100%}label{font-size:13px;color:var(--muted);display:block;margin:8px 0 6px}.training-controls{display:grid;grid-template-columns:1fr 100px;gap:8px}.training-recipe{color:var(--muted);font-size:12px;line-height:1.65;margin-top:10px}.notice{padding:14px 17px;background:#81c4f40a;border:1px solid #81c4f426;border-radius:4px;font-size:13px;line-height:1.8;color:#b8cad6;margin-bottom:20px}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);padding:18px 22px;margin-top:22px;background:var(--panel);border-radius:5px}.action-bar p{font-size:13px;color:var(--muted);margin-top:5px}.action-bar h3{font-size:16px}.league-track{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.league{border:1px solid var(--line);padding:16px 20px;background:var(--panel);border-radius:5px;display:flex;gap:14px;align-items:center;color:var(--muted)}.league.active{border-color:#bdfb3970;background:#bdfb3909;color:var(--lime)}.league svg{width:30px;height:30px}.league h3{font-size:15px;color:white}.league small{display:block;font-size:12px;margin-top:4px}.competition-grid{display:grid;grid-template-columns:1fr 310px;gap:22px}.round-card{padding:18px;margin-bottom:14px;background:var(--panel);border:1px solid var(--line);border-radius:5px;display:flex;gap:20px}.round-number{font-family:'Barlow Condensed';font-size:39px;color:#50606f;font-weight:700;line-height:1}.round-content{flex:1;min-width:0}.round-content .row{margin-bottom:10px}.round-content .row h3{font-size:17px}.round-content select{margin-bottom:10px}.routine-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.routine-option{background:#0d151e;padding:10px 12px;text-align:left;border:1px solid var(--line);border-radius:4px;font-size:13px}.routine-option b{display:block}.routine-option small{display:block;font-size:11px;margin-top:5px;line-height:1.6}.routine-option.active{border-color:var(--lime);background:#bdfb3908}.routine-option.active b{color:var(--lime)}.lineup-preview{display:flex;gap:8px;margin:15px 0}.lineup-preview .portrait{height:83px;flex:1;aspect-ratio:auto;border-radius:4px}.lineup-preview .portrait span{position:absolute;bottom:7px;left:9px;z-index:2;font-size:12px}.tactics{display:flex;gap:7px;margin:18px 0 10px}.tactics button{flex:1;padding:11px 8px;border:1px solid var(--line);background:#0d151e;border-radius:4px;font-size:14px;font-weight:600}.tactics button.active{border-color:var(--lime);color:var(--lime)}.tactics-description{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px;min-height:40px}.history-row{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:13px 0;font-size:14px}.history-row strong{font-family:'Barlow Condensed';font-size:22px}.history-row b{display:block;font-size:14px}.history-row small{display:block;font-size:12px;margin-top:3px}.operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.operation-grid .panel+.panel{margin:0}.operation-tile{padding:23px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.operation-tile svg{color:var(--lime);width:29px;height:29px;margin-bottom:15px}.operation-tile h3{font-size:19px;margin-bottom:10px}.operation-tile p{font-size:14px;color:var(--muted);line-height:1.9;min-height:70px}.operation-tile .button{margin-top:17px}.save-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.empty{color:var(--muted);font-size:14px;padding:25px 0;text-align:center}.meter-row{display:grid;grid-template-columns:55px 1fr 32px;gap:13px;align-items:center;margin:15px 0;font-size:14px}.meter-row strong{text-align:right;font-family:'Barlow Condensed';font-size:20px}.meter-row .bar{height:7px}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-header h2{font-size:21px}dialog{color:var(--text);background:#141e29;border:1px solid #405163;border-radius:8px;padding:26px;width:calc(100% - 32px);max-width:650px;max-height:90vh;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#03070cd9;backdrop-filter:blur(7px)}.player-detail{display:grid;grid-template-columns:45% 1fr;gap:24px}.player-detail .portrait{height:310px;aspect-ratio:auto;border-radius:5px;background-size:300% 200%}.player-detail h3{font-size:28px;display:flex;justify-content:space-between;align-items:center}.player-detail .bio{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0 20px}.player-detail .trait{color:var(--lime);border:1px solid #bdfb3940;background:#bdfb3907;border-radius:4px;padding:12px;font-size:13px;margin:17px 0}.dialog-actions{display:flex;gap:10px;margin-top:22px}.dialog-actions .button{flex:1}.result-card{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line);align-items:center}.result-card>div:nth-child(2){flex:1}.result-card b{display:block;font-size:14px}.result-card small{display:block;margin-top:4px}.result-deltas{display:flex;gap:13px;font-size:13px;flex-wrap:wrap}.result-deltas strong{color:var(--lime)}.result-deltas span{color:var(--orange)}#toast{position:fixed;bottom:30px;left:calc(50% + 100px);transform:translate(-50%,20px);padding:13px 22px;background:#dde8ed;color:#111b23;font-size:14px;border-radius:5px;box-shadow:0 10px 40px #0009;z-index:100;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 30px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.rules-content p{font-size:14px;line-height:1.9;color:#b6c4d0;margin:10px 0 20px}.rules-content h3{font-size:16px;color:var(--lime)}.rules-content a{display:block;margin:10px 0;font-size:13px;line-height:1.7}.live-stage{position:relative;height:370px;border:1px solid #445765;border-radius:7px;overflow:hidden;background:#0d1b2b url('assets/team-hero.png') center/cover}.live-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08121ff2,transparent 95%),#0b162544}.live-stage .live-athlete{width:230px;height:230px;position:absolute;top:45px;left:50%;transform:translateX(-50%);border-radius:50%;border:2px solid #bdfb3966;box-shadow:0 0 70px #81c4f430;animation:athlete-entrance .6s ease-out}.live-stage .portrait:after{display:none}.stage-round{position:absolute;top:18px;left:20px;z-index:2;color:var(--lime)}.stage-text{position:absolute;bottom:25px;left:20px;right:20px;text-align:center;z-index:2}.stage-text h3{font-size:24px}.stage-text p{font-size:14px;color:#bbcedb;margin-top:8px}.live-progress{display:flex;gap:6px;margin:14px 0}.live-progress div{height:4px;flex:1;border-radius:3px;background:var(--line)}.live-progress div.done{background:var(--lime)}.live-status{display:flex;gap:20px;align-items:center;justify-content:center;margin-bottom:15px}.live-status b{font-family:'Barlow Condensed';font-size:30px}.scoreboard{padding:20px;text-align:center;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.result-word{font-family:'Barlow Condensed';font-style:italic;font-size:72px;font-weight:900;color:var(--lime);line-height:1.1}.score-total{font-family:'Barlow Condensed';font-size:57px;font-weight:700;letter-spacing:5px;margin:10px 0}.score-total span{color:var(--muted);font-size:28px}.reward-row{display:flex;gap:12px;margin:22px 0}.reward{background:#bdfb3908;padding:15px 20px;border:1px solid #bdfb3933;border-radius:5px;flex:1}.reward strong{font-family:'Barlow Condensed';font-size:28px;display:block;color:var(--lime)}.recap{font-size:13px;color:var(--muted);line-height:1.8;margin-top:10px}.draft-warning{color:var(--orange);font-size:13px;line-height:1.7;margin-bottom:14px}.help-step{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}.help-step b{display:block;color:var(--lime);margin-bottom:4px}.mobile-brand{display:none}.save-note{font-size:12px;line-height:1.8;margin-top:12px;color:var(--muted)}.league-divider{height:1px;background:var(--line);margin:18px 0}.training-summary{display:flex;gap:12px;flex-wrap:wrap}.training-summary .tag{font-size:13px}.skeleton-fallback{background:#0b111d}.rename{display:flex;gap:10px;margin-top:14px}.rename input{flex:1;min-width:0}.recruit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recruit-grid .athlete-card{cursor:default}.recruit-grid .athlete-card:hover{transform:none}.recruit-grid .athlete-info .button{margin-top:10px}.record-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-stats div{padding:12px;border:1px solid var(--line);border-radius:4px;background:#0d151e;font-size:12px;color:var(--muted)}.record-stats b{display:block;color:white;font-family:'Barlow Condensed';font-size:23px;margin-top:4px}.inline-link{padding:0;border:0;background:none;color:var(--blue);font-size:13px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.filter{border:1px solid var(--line);background:none;padding:7px 12px;min-height:36px;border-radius:4px;color:var(--muted);font-size:13px}.filter.active{color:var(--lime);border-color:#bdfb3970}.round-card small{line-height:1.7}
@keyframes athlete-entrance{from{opacity:0;transform:translate(-50%,15px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(min-width:1500px){.card-portrait{height:215px}.hero{height:310px}.hero-content{padding:38px}.dashboard{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1150px){.shell{grid-template-columns:180px 1fr}.sidebar{width:180px;padding:28px 16px}.brand{font-size:24px}.brand span{font-size:31px}.content{padding:24px}.topbar{padding:0 24px}.dashboard{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.card-portrait{height:140px}.athlete-info{padding:0 10px 12px}.athlete-name b{font-size:18px}.training-list{grid-template-columns:1fr}.hero h2{font-size:29px}.hero-content{padding:25px 22px}.competition-grid{grid-template-columns:1fr 265px}.resources{gap:16px}.resource{font-size:12px}.resource strong{font-size:20px}}
@media(max-width:950px){.dashboard{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-side .panel+.panel{margin:0}.card-portrait{height:200px}.competition-grid{grid-template-columns:1fr}.competition-side{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.competition-side .panel+.panel{margin:0}.resource span{display:none}.hero{height:250px}}
@media(max-width:700px){.shell{display:block}.sidebar{display:none}.main{display:block}.topbar{height:70px;padding:0 18px;gap:10px}.mobile-brand{display:block;font-family:'Barlow Condensed';font-weight:900;font-style:italic;color:var(--lime);font-size:26px}.topbar .day{font-size:11px;gap:6px}.topbar .day svg{display:none}.topbar .day b{font-size:19px}.resources{gap:11px}.resource{gap:4px}.resource svg{width:16px;height:16px}.resource strong{font-size:20px}.topbar .icon-btn{display:none}.content{padding:22px 18px 110px}.page-header{margin-bottom:20px;align-items:flex-start}.page-header h1{font-size:25px}.page-header p{font-size:13px;line-height:1.7;margin-top:6px}.page-header .button{min-height:40px;padding:10px 12px;font-size:12px}.page-header .button svg{width:17px}.hero{height:auto;min-height:255px;background-position:56% center}.hero-content{padding:23px 22px 46px;max-width:310px}.hero h2{font-size:27px;word-break:keep-all}.hero p{font-size:12px;max-width:200px;line-height:1.7}.hero-content .button{font-size:13px;padding:10px 15px;min-height:40px}.hero:before{background:linear-gradient(90deg,#0b111de8,#0b111d85 50%,#0b111d20)}.hero .eyebrow{font-size:12px;margin-bottom:14px}.hero-bottom{font-size:9px;right:14px;bottom:13px}.dashboard{gap:18px}.dashboard-side{grid-template-columns:1fr}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-portrait{height:auto;aspect-ratio:1/1}.athlete-info{padding:0 12px 13px}.athlete-info p{font-size:12px}.athlete-name b{font-size:19px}.mini-stat .bar{max-width:90px}.section-title{margin-top:23px}.section-title h2{font-size:18px}.section-title h2 small{font-size:12px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#0d151cf5;backdrop-filter:blur(15px);border-top:1px solid #34404b;padding:8px 12px max(9px,env(safe-area-inset-bottom));z-index:30}.bottom-nav .nav-item{flex:1;display:flex;flex-direction:column;text-align:center;gap:4px;padding:6px 0;font-size:11px;border-radius:0;min-height:50px;font-weight:500}.bottom-nav .nav-item.active{box-shadow:none;background:none;position:relative}.bottom-nav .nav-item.active:before{content:'';position:absolute;top:-9px;width:35px;height:2px;background:var(--lime)}.bottom-nav svg{width:23px;height:23px}.mood-panel{font-size:13px;padding:15px;gap:10px}.mood-panel .bar{max-width:none}.training-card{padding:14px;gap:12px}.training-card .avatar{width:61px;height:80px}.training-card-head b{font-size:17px}.training-controls{grid-template-columns:1fr 85px}.training-controls select{font-size:12px;padding:9px 7px}.training-meta{gap:10px;font-size:11px}.training-recipe{font-size:11px}.stat-strip{gap:8px;grid-template-columns:repeat(2,1fr)}.stat-tile{padding:12px 15px}.stat-tile strong{font-size:26px}.stat-tile small{font-size:12px}.action-bar{padding:16px;display:block}.action-bar .button{width:100%;margin-top:14px}.action-bar p{line-height:1.8;font-size:12px}.notice{font-size:12px;padding:12px 14px}.league-track{gap:7px;margin-bottom:20px}.league{padding:12px 8px;gap:7px;display:block;text-align:center}.league svg{width:23px;height:23px;margin-bottom:7px}.league h3{font-size:12px;line-height:1.5}.league small{font-size:10px}.round-card{gap:12px;padding:15px}.round-number{font-size:33px}.round-content .row h3{font-size:15px}.round-content .row .tag{font-size:11px;padding:3px 5px}.routine-options{gap:7px}.routine-option{padding:9px;font-size:11px}.routine-option small{font-size:10px}.competition-side{grid-template-columns:1fr}.operation-grid{grid-template-columns:1fr;gap:15px}.operation-tile p{min-height:0}.player-detail{gap:15px;grid-template-columns:40% 1fr}.player-detail .portrait{height:240px}.player-detail h3{font-size:23px}.player-detail .bio{font-size:12px;margin:8px 0 14px}.meter-row{grid-template-columns:40px 1fr 25px;gap:8px;font-size:12px;margin:11px 0}.meter-row strong{font-size:17px}.player-detail .trait{font-size:11px;padding:9px}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{font-size:13px}dialog{padding:20px;max-height:85dvh}.dialog-header h2{font-size:20px}.result-deltas{gap:8px;font-size:11px}.result-card{gap:10px}#toast{left:50%;bottom:95px;font-size:13px;width:max-content;max-width:calc(100% - 36px)}.live-stage{height:340px}.stage-text h3{font-size:20px}.stage-text p{font-size:12px;line-height:1.8}.live-status{gap:14px}.live-status b{font-size:24px}.live-status small{font-size:11px}.result-word{font-size:62px}.score-total{font-size:50px}.history-row{grid-template-columns:56px 1fr auto;gap:8px;font-size:12px}.history-row b{font-size:12px}.history-row strong{font-size:20px}.recruit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{gap:18px}.tab{font-size:13px}.rename{flex-wrap:wrap}.rename input{width:100%}.record-stats b{font-size:21px}.resource:nth-child(3){display:none}.footer{font-size:9px}.help-step{font-size:13px}.rules-content p{font-size:13px}.training-summary .tag{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.recruit-portrait{background-image:url(assets/recruit-grid.png)}.player-detail .portrait{height:auto;aspect-ratio:1/1;align-self:start}.training-card .avatar{height:80px;aspect-ratio:1/1}.player-detail .trait svg{width:16px;height:16px;vertical-align:middle}.card-portrait{height:auto;aspect-ratio:1/1}@media(max-width:700px){.training-card .avatar{height:61px}}

.action-sprite{position:absolute;top:0;left:50%;transform:translateX(-50%);height:100%;aspect-ratio:1/1;max-width:100%;background-image:url(assets/match-sprites.png);background-size:300% 300%;background-position:0% var(--sy);animation:movement-frames 1.2s steps(1) infinite}.live-stage .live-athlete{width:49px;height:49px;top:48px;right:15px;left:auto;transform:none;animation:none;z-index:2;border-color:#bdfb39aa;box-shadow:none}.live-stage:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#08121ff5);pointer-events:none}.stage-round{font-size:12px}.live-stage .stage-text{z-index:3}.action-sprite:after{display:none}@keyframes movement-frames{0%,100%{background-position-x:0%}33%{background-position-x:50%}66%{background-position-x:100%}}@media(max-width:700px){.action-sprite{height:auto;width:100%;aspect-ratio:1/1}.live-stage .live-athlete{width:40px;height:40px;top:44px;right:12px}.stage-round{font-size:10px;left:14px}.stage-text{bottom:19px}}

@media(min-width:951px) and (max-width:1499px){.hero{height:300px}}@media(min-width:701px) and (max-width:950px){.hero{height:275px}}
