/* 1. 공통 색상: 이 변수로 전체 분위기를 바꿀 수 있습니다. */
html:root{font-family:"Pretendard Variable","Malgun Gothic","Apple SD Gothic Neo",sans-serif}
:root{--bg:#241d19;--paper:#382b23;--ink:#f0e4d1;--muted:#bba58e;--line:#66503c;--accent:#d8ae70;--lime:#d8ae70;--dark:#221a15;font-family:"Malgun Gothic","Apple SD Gothic Neo","Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
body{background:repeating-linear-gradient(91deg,#ffffff03 0 1px,transparent 1px 11px),repeating-linear-gradient(0deg,transparent 0 132px,#110b0770 133px 135px),linear-gradient(120deg,#33271f,#211b17 70%,#30231b);color:var(--ink)}
h1,h2,h3,h4,.brand,.slot-banner strong,.final-card>h2{font-family:inherit;font-weight:800;letter-spacing:-.6px}
button,input,select{font-family:inherit}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,[data-carousel]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.game-main,.info-page{background:#2b211bcc;box-shadow:none}.game-main{max-width:950px;min-height:65vh}#app{scroll-margin-top:12px;outline:none}h1{font-size:28px;margin-bottom:20px}.intro,.fineprint,.section-label,.eyebrow,.info-page section p{color:var(--muted)}
.primary{background:var(--accent);color:#251c14;border-color:var(--accent)}.primary:hover{background:#eac78f}.secondary{background:#493628;color:var(--ink);border-color:#9b7952}.secondary:hover{background:#604630}.text-button{color:var(--ink)}
/* 2. 공통 PHP 헤더/푸터 */
header.site-header{background:#261d17f5;border-bottom:1px solid var(--line);min-height:64px;padding:10px max(20px,calc((100vw - 1100px)/2));position:relative;z-index:10}.brand small{display:none}.brand-icon{font-size:24px;color:var(--accent)}.site-header .brand{font-size:23px}.site-header nav a[aria-current],.site-header nav a:hover{color:var(--accent);border-color:var(--accent)}.mobile-menu{display:none}.site-footer{background:#211a16;color:var(--muted);border-top:1px solid var(--line);padding:20px max(20px,calc((100vw - 1100px)/2))}.footer-game-actions{display:flex;gap:20px;margin-bottom:12px}.footer-links{margin-bottom:10px}.site-footer p{line-height:1.7}
/* 3. 보스 선택: 작은 가로 선택 목록 + 한 장의 선택된 왕조 */
.boss-screen{max-width:680px;margin:auto}.boss-list{display:flex;overflow-x:auto;gap:10px;padding:4px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}.boss-option,.boss-option:last-child{flex:0 0 132px;display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:98px;padding:10px 8px;background:#382b23;scroll-snap-align:center;border:1px solid var(--line);box-shadow:none;border-radius:8px}.boss-option strong,.boss-option:last-child strong{font-size:12px;line-height:1.35}.boss-option.selected,.boss-option:hover{background:#513d2b;border-color:var(--accent);transform:none;box-shadow:none}.boss-option .team-badge{width:38px;height:38px;font-size:11px}.boss-preview{min-height:0;margin-top:8px;padding:24px;background:radial-gradient(ellipse at top,#654a32,#302319 80%);border:1px solid #937046}.dynasty-mark{font-size:80px;font-weight:900;line-height:1.3;color:var(--accent);text-align:center;letter-spacing:-5px}.boss-preview .boss-caption{margin:12px 0 20px;text-align:center}.boss-preview .boss-caption h2{font-size:25px;margin:5px 0}.boss-preview .boss-caption p{font-size:13px;margin:0;color:var(--muted)}
/* 4. 소환과 로스터 */
.opponent-banner{display:flex;gap:9px;margin:0 0 16px;padding:10px 13px;background:#3b2c20;border-left:3px solid var(--accent)}.opponent-banner strong{font-size:14px}.opponent-banner small{display:none}.draft-heading{display:flex;align-items:center;justify-content:space-between}.draft-heading h1{margin:0}.draft-heading small{font-size:15px;color:var(--accent);margin-left:8px}.draft-meta{font-size:12px;color:var(--muted);margin:4px 0 14px}.player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.player-card{background:linear-gradient(135deg,#4a382b,#352820);border:1px solid #745638;border-top:3px solid var(--accent);box-shadow:none;border-radius:10px;padding:18px}.player-card h2{color:var(--ink);font-size:23px;min-height:58px;margin:18px 0 10px;justify-content:flex-start;text-align:left}.card-top,.player-card .position-label,.real-primary span,.player-role{color:var(--muted)}.tier-chip{color:#eed9b2;background:#614728;border-color:#a8804a}.real-primary{justify-content:space-between}.real-primary b{color:var(--ink)}.player-role{min-height:40px}.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-card{background:linear-gradient(135deg,#4a382b,#352820);border-color:var(--line);border-top-color:var(--accent);border-radius:10px;padding:18px;min-width:0;display:flex;flex-direction:column}.role-person{display:flex;align-items:center;gap:12px;padding:16px 0}.role-person h2{font-size:20px;margin:0 0 5px}.role-person small,.role-person p{color:var(--muted);font-size:11px;margin:7px 0}.role-position{background:#62492f;color:var(--ink)}.role-card>button{margin-top:auto}.carousel-position{display:none}.roster-panel{background:#271f19;border:1px solid var(--line);padding:12px;margin-top:16px;width:100%}.roster-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.roster-row{display:flex;flex-direction:column;gap:6px;padding:0 4px;border:0;text-align:center;min-width:0}.roster-index{color:var(--accent);font-size:11px}.roster-row strong,.roster-row.filled strong{font-size:11px;color:var(--ink);line-height:1.35;overflow-wrap:anywhere}.roster-row:not(.filled){opacity:.45}
/* 5. 전략 선택: 펼쳤을 때만 전체 설명 노출 */
.strategy-screen{max-width:650px;margin:auto}.strategy-picker{margin:20px 0;background:#382a20;border:1px solid var(--line);border-radius:8px;overflow:hidden}.strategy-picker>summary{cursor:pointer;padding:18px;font-weight:800;list-style:none;display:flex;justify-content:space-between}.strategy-picker>summary::-webkit-details-marker{display:none}.strategy-options{display:grid;grid-template-columns:1fr;gap:0}.strategy-choice{text-align:left;display:flex;flex-direction:column;gap:5px;background:transparent;border:0;border-top:1px solid var(--line);padding:12px 16px;min-height:52px}.strategy-choice small{font-size:11px;line-height:1.5;color:var(--muted)}.strategy-choice.selected,.strategy-choice:hover{background:#574029}
/* 6. 일곱 경기 스코어보드: 높이를 미리 확보해 화면 점프 방지 */
.game-logs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.game-log{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px;background:#392b21;border:1px solid var(--line);border-radius:6px;min-height:74px}.game-log .game-number{grid-column:1/-1;color:var(--muted);font-size:10px}.game-log>strong{font-size:23px;white-space:nowrap}.game-log>strong span{color:var(--muted)}.game-log .outcome{font-size:10px;padding:5px;align-self:center}.game-log:last-child{grid-column:1/-1}.game-log.waiting{opacity:.5}.game-log.waiting>span{font-size:10px;align-self:center}.game-log.unplayed{opacity:.25}.outcome{background:#6b3630;color:#ffe2d4}.outcome.win{background:#42563e;color:#e2f2d5}.series-progress{padding:14px;font-size:20px;min-height:76px}.series-progress>span{margin-top:6px}.game-seven{margin-top:6px;padding:7px;font-size:18px;line-height:1.4}.final-card,.final-card.won{margin:18px auto;background:linear-gradient(135deg,#493320,#241e17);padding:22px;border:2px solid #9a7747}.final-label{margin-top:12px}.final-score{font-size:68px;line-height:1.15}.final-score>span{padding:0 15px}.final-card>h2{font-size:23px}.series-mvp{margin-top:12px;padding:15px 0}.series-mvp>strong{font-size:25px;margin-top:7px}.mvp-average{color:#dbc49e;font-size:12px;line-height:1.6;margin:8px 0 0}.final-five{margin-top:12px}.final-five>div{padding:8px 0}.result-details{margin-top:28px}.total{background:#4b3929}.analysis-card dt{color:var(--muted)}.box-table{overflow-x:auto}.box-list details,.analysis-card{background:#30251e}.share-actions small{display:none}.history-list article{background:#382b23}.history-list small{color:var(--muted)}
dialog{background:#34271e;color:var(--ink);border-color:#997449}dialog h2{font-size:23px}.dialog-close{color:var(--ink)}#share-description{color:var(--muted)}.dialog-actions [data-share=native]{background:#fee500;color:#251c14;border-color:#fee500}.data-warning{color:#3d2816}
.final-card,.final-card.won{color:var(--ink)}.final-score{font-family:inherit}.boss-list{scrollbar-width:none}.boss-list::-webkit-scrollbar{display:none}.candidate-arrive:not(.is-current){animation:none}
/* 7. 모바일 우선 배치: 카드 넘김만 가로 스크롤 */
@media(max-width:760px){
 header.site-header{display:flex;min-height:50px;height:50px;padding:0 14px;gap:8px}.site-header .brand{font-size:20px;justify-content:flex-start}.brand-icon{font-size:21px;margin-right:0}.site-header>nav{display:none}.mobile-menu{display:block;margin-left:auto}.mobile-menu>summary{list-style:none;cursor:pointer;font-size:23px;padding:10px;line-height:26px}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:12px;top:49px;min-width:190px;display:flex;flex-direction:column;gap:0;margin:0;padding:8px 14px;background:#34271f;border:1px solid var(--line);box-shadow:0 12px 25px #0005;align-items:stretch}.mobile-menu nav a{padding:0 8px;min-height:44px;font-size:13px}
 main.game-main{padding:16px 12px 24px}h1{font-size:23px;margin:0 0 15px}.boss-option,.boss-option:last-child{flex-basis:112px;min-height:92px}.boss-preview{padding:18px}.dynasty-mark{font-size:72px}.boss-preview .boss-caption h2{font-size:23px}.opponent-banner{margin-bottom:12px;padding:8px 10px}.opponent-banner>span{font-size:9px}.opponent-banner>strong{font-size:12px}.draft-heading h1{font-size:22px}.draft-heading .text-button{font-size:11px}.draft-meta{font-size:10px;margin-bottom:10px}
 [data-carousel]{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:8px 12% 12px;scroll-padding-inline:12%;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch;-webkit-overflow-scrolling:touch}[data-carousel]::-webkit-scrollbar{display:none}[data-carousel]>.player-card,[data-carousel]>.role-card{flex:0 0 100%;scroll-snap-align:center;transform:scale(.94);opacity:.5;transition:opacity .2s,transform .2s;min-width:0}[data-carousel]>.is-current{transform:scale(1);opacity:1}.player-card{padding:16px}.player-card h2{font-size:25px;min-height:60px;margin:13px 0 8px;line-height:1.2}.player-card .position-label{min-height:0;font-size:11px;margin:0 0 10px}.card-top{font-size:10px}.tier-chip{font-size:9px}.real-primary{padding:10px 0;gap:8px}.real-primary b{font-size:26px}.player-role{font-size:11px;min-height:34px;margin:12px 0}.player-card .secondary{font-size:12px;min-height:44px}.carousel-position{display:block;text-align:center;color:var(--muted);font-size:10px;min-height:18px}.roster-panel{padding:12px 3px;margin-top:10px}.roster-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px}.roster-row{padding:0 3px;gap:5px}.roster-row strong{font-size:10px}.role-card{padding:14px}.role-person{padding:12px 0;gap:8px}.role-person h2{font-size:19px}.role-person small,.role-person p{font-size:10px;line-height:1.6}.role-position{width:28px;height:28px;font-size:10px}.role-card>.secondary{margin-top:14px}.strategy-picker{margin:16px 0}.strategy-choice{padding:10px 13px}.strategy-choice strong{font-size:13px}.strategy-choice small{font-size:10px}.game-log{padding:9px;min-height:68px}.game-log>strong{font-size:22px}.game-main:has(.series-stream) .intro{font-size:11px;line-height:1.5;margin-bottom:12px}.game-main:has(.series-stream) h1{margin-bottom:9px}.game-main:has(.series-stream) .section-label{margin-bottom:9px}.final-brand{font-size:14px}.final-score{font-size:62px}.final-card{padding:18px}.series-mvp>strong{font-size:22px}.mvp-average{font-size:11px}.site-footer{padding:16px}.site-footer .footer-links a{font-size:11px}.info-page{padding:24px 18px}.info-page section p{color:var(--muted)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
