@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&family=Noto+Serif+KR:wght@800;900&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#302c21;background:#d8d0b9;font-size:17px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:repeating-linear-gradient(0deg,#fff0 0px,#fff0 3px,#79614307 4px);line-height:1.65}button,select{font:inherit;cursor:pointer}button{color:#302c21;background:#fff6d9;border:2px solid #5c593b;border-radius:4px;padding:10px 16px;font-weight:700;box-shadow:2px 3px 0 #b3a783}button:hover{background:#f9d760;transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline:3px solid #af3029;outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}a{color:#1a5c7c}header{max-width:1300px;margin:24px auto 0;background:#f2d660;border:3px solid #594b35;display:flex;align-items:center;padding:17px 30px;gap:30px;box-shadow:5px 5px 0 #a99d7f;position:relative}header:before{content:'';position:absolute;inset:4px;border:1px solid #a33e2f;pointer-events:none}.brand{font-family:'Noto Serif KR',serif;font-size:34px;line-height:1.1;color:#af3d2c;text-decoration:none;font-weight:900;letter-spacing:-2px;text-shadow:1px 1px #fff0c4}.brand b{color:#235d7a}.brand small{display:block;font-family:'Noto Sans KR',sans-serif;font-size:14px;letter-spacing:2px;margin-top:7px;color:#433f2b}.prototype{font-size:15px;color:#5e5432}header button{margin-left:auto;background:#f7f0d7;font-size:15px;z-index:1}main{max-width:1300px;margin:0 auto 24px;padding:30px;background:#f2ebd2;border:3px solid #594b35;border-top:0;box-shadow:5px 5px 0 #a99d7f}.intro{background:#bad5d7;border:2px solid #45666d;display:flex;justify-content:space-between;align-items:center;padding:25px 28px;position:relative;overflow:hidden}.intro:after{content:'⚽';position:absolute;right:33%;bottom:-28px;font-size:130px;opacity:.09;transform:rotate(-20deg)}.eyebrow{font-size:14px;font-weight:800;color:#655c38;letter-spacing:1px}h1{font-family:'Noto Serif KR',serif;font-size:43px;line-height:1.4;font-weight:900;letter-spacing:-2px;margin:13px 0;color:#a43c2a}em{font-style:normal;color:#1b5671}.intro p{font-size:16px;line-height:1.9;color:#35494a;margin-bottom:0}.score{background:#fff4ce;border:3px double #7a6640;padding:18px;text-align:right;min-width:255px;z-index:1;transform:rotate(1deg)}.score>span{font-weight:800;font-size:16px}.score strong{display:block;font-size:34px;letter-spacing:-1px;color:#a7382d}.score small{font-size:15px}.score small b{margin-left:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid #65593c;background:#ffefb1;margin:24px 0}.stats div{padding:15px 20px;border-right:1px solid #9a8756}.stats div:last-child{border:0}.stats span{display:block;font-size:15px;font-weight:600}.stats b{font-size:24px;color:#8d3426;letter-spacing:-1px}.workspace{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.panel{border:2px solid #6a603e;border-radius:3px;padding:22px;background:#fff8e3;box-shadow:3px 4px 0 #c3b795}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}h2{font-family:'Noto Serif KR',serif;font-size:24px;color:#344f43;margin:5px 0 0;font-weight:900;letter-spacing:-1px}.formation-stamp{background:#b44836;color:#fff2cd;padding:6px 10px;border:3px double #fff2cd;outline:1px solid #b44836;white-space:nowrap;font-size:15px;font-weight:800;transform:rotate(3deg)}.squad{background:#e9cf65;border:3px solid #a83f31;padding:20px;position:relative}.pitch{position:relative;height:640px;border:7px solid #f2efd0;outline:2px solid #56583b;background-color:#538447;background-image:radial-gradient(#d7e6a766 1.5px,transparent 1.5px),repeating-linear-gradient(0deg,#fff0 0,#fff0 79px,#173f2716 80px,#173f2716 160px);background-size:20px 20px,100% 100%;box-shadow:inset 0 0 24px #24492455}.outline{position:absolute;inset:16px;border:2px solid #e4eac3aa}.half{position:absolute;left:16px;right:16px;top:50%;border-top:2px solid #e4eac3aa}.circle{position:absolute;width:110px;height:110px;left:calc(50% - 55px);top:calc(50% - 55px);border:2px solid #e4eac3aa;border-radius:50%}.box{position:absolute;left:29%;width:42%;height:68px;border:2px solid #e4eac3aa}.box.top{top:16px}.box.bottom{bottom:16px}.slot{position:absolute;transform:translate(-50%,-50%);width:100px;background:none;border:0;padding:0;text-align:center;box-shadow:none;line-height:1.35}.slot:hover{transform:translate(-50%,-50%);background:none}.shirt{width:56px;height:57px;margin:auto;background:#f8eac3;clip-path:polygon(25% 0,38% 8%,62% 8%,75% 0,100% 22%,85% 43%,77% 36%,77% 100%,23% 100%,23% 36%,15% 43%,0 22%);display:grid;place-items:center;color:#315c3c;font-size:27px;font-weight:900}.slot.empty .shirt{background:#e8edcba6;color:#346743}.slot.selected .shirt{background:#ffdb5b;color:#913a2d}.slot small{display:block;font-size:14px;font-weight:800;color:#fff6d0;margin-top:7px;text-shadow:1px 1px #315633}.slot .level{display:inline-block;background:#f7edc7;color:#315a3e;font-size:13px;border:1px solid #325c3a;border-radius:2px;padding:1px 5px;margin-top:4px}.slot.selected .level{background:#ffdc5f}.slot.broken{filter:grayscale(1);opacity:.65}.pitchfoot{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin:18px 0;color:#4c4e2c;gap:10px}.pitchfoot b{white-space:nowrap}.manager-slot{display:flex;align-items:center;width:100%;gap:12px;text-align:left;background:#fff2bc;margin-bottom:18px}.manager-slot.active{background:#c8d9bc;border-color:#39724e}.manager-slot small{font-size:14px;display:block;color:#675b35}.manager-slot strong{font-size:18px;display:block}.manager-meta{margin-left:auto;text-align:right;font-size:14px;color:#8e352a}.manager-icon{font-size:30px}.finish{width:100%;background:#b54232;color:#fff5d1}.finish:disabled{background:#d6c798;color:#635a3b}aside{display:flex;flex-direction:column;gap:24px}.training{background:#fff9e8}.mode-badge{background:#b34332!important;color:#fff4d4!important}.badge{display:inline-block;font-size:14px;background:#f2d571;color:#504222;font-weight:800;padding:3px 9px;border:1px solid #ad9653;border-radius:2px}.player-title{display:flex;gap:16px;align-items:center;margin:20px 0}.player-title h2{font-size:26px;color:#a63b2c;line-height:1.4;margin:8px 0}.avatar{width:84px;height:100px;flex-shrink:0;background:#e7d495;border:2px dashed #998552;display:grid;place-items:center;font-size:23px;font-weight:800}.portrait{width:90px;height:110px;object-fit:cover;object-position:50% 22%;border:3px solid #fffaf0;outline:1px solid #8a7d59;background:#dcd6b9;box-shadow:2px 3px #c7bea3;flex-shrink:0}.portrait.mini{width:48px;height:57px;border-width:2px}.portrait.slot-photo{display:block;margin:auto;width:57px;height:65px;border:3px solid #f8e8a8;outline:1px solid #334c2c;box-shadow:2px 3px #264c2d66;transform:rotate(-3deg)}.slot.selected .slot-photo{border-color:#ffdc55;outline:2px solid #883626}.muted{font-size:15px;color:#655d42}.progress{display:flex;gap:4px;margin:20px 0}.progress i{height:9px;background:#e2d8b5;flex:1;border:1px solid #baad85}.progress .on{background:#3d7750;border-color:#315e3e}.values{display:flex;justify-content:space-between;gap:12px;border-block:1px dashed #a99b72;padding:15px 0;margin-bottom:18px}.values span{display:block;font-size:15px}.values b{font-size:22px;color:#a43e2f;overflow-wrap:anywhere}.next-player{display:flex;gap:15px;align-items:center;background:#e9ebd5;border:1px solid #a3ae89;padding:12px;margin:14px 0}.next-player strong{display:block;font-size:18px;color:#3a5b41;margin-top:3px}.action{width:100%;font-size:20px;background:#b74633;border-color:#853827;color:#fff6d2;padding:16px 12px;box-shadow:3px 4px #b8a071}.action:hover{background:#a73728}.upgrade-info{display:grid;grid-template-columns:1.2fr 1fr;border:2px solid #b79a4a;background:#fff0af;margin-top:20px}.upgrade-info span{padding:12px 14px;font-size:16px}.upgrade-info span+span{border-left:1px solid #b79a4a}.upgrade-info strong{display:block;font-size:26px;color:#a33226;font-weight:900}.coach-effect{background:#dfebd1;border-left:4px solid #508654;padding:10px 12px;font-size:16px;color:#315d38;font-weight:700;margin:12px 0}.risk{font-size:15px;color:#62533e;line-height:1.9;margin:14px 0}.entity-actions{display:flex;gap:10px}.entity-actions button{flex:1;font-size:15px}.roster-button{width:100%;font-size:16px;background:#d6e3df;color:#285569;margin-top:12px}.shop-summary{font-size:16px;color:#655635}.shop-summary b{color:#ad3627}.item{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px dashed #b9aa83}.item-icon{font-size:25px;color:#9e3b2f}.item h3{font-size:17px;margin:0 0 6px}.item p{font-size:14px;margin:0;color:#6e6144}.item button{font-size:15px;margin-left:auto;padding:8px;white-space:nowrap}.shop-warps h3{font-size:19px;color:#365644;margin-bottom:6px}.shop-warps button{font-size:15px;margin:5px 5px 0 0}.earn{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;font-size:16px;margin-top:20px;background:#e3d480}.earn b{font-size:15px}.shop>small{display:block;font-size:14px;color:#706347;line-height:1.8;margin-top:12px}.history{margin-top:24px;background:repeating-linear-gradient(#fff6dc 0,#fff6dc 35px,#d7c99f 36px)}.history .panelhead{margin-bottom:12px}.history h2 span{font-family:'Noto Sans KR',sans-serif;font-size:14px;background:#bfd2ae;padding:3px 7px;margin-left:9px}.history button{font-size:15px}.log{padding:9px 0;font-size:15px;line-height:1.9}.log time{color:#ae4931;margin-right:14px;font-size:14px;font-weight:800}footer{display:flex;gap:18px;padding:28px 0 0;font-size:14px;align-items:center}footer span:last-child{margin-left:auto}dialog{background:#fcf2d4;color:#38311f;border:4px double #66523a;border-radius:3px;max-width:650px;width:94%;padding:26px;box-shadow:7px 8px #29261944;line-height:1.9;max-height:90vh}dialog::backdrop{background:#2e2b22a6}dialog #close{float:right;font-size:15px;margin:0 0 16px 12px}dialog h2{font-size:27px;margin-bottom:20px}dialog p,dialog li{font-size:16px}dialog ol{padding-left:23px}dialog select{padding:9px;background:#fff8e0;font-size:16px;border:1px solid #88764b}.collection{max-width:1100px}.roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.roster-grid article{padding:12px;background:#fff9e7;border:2px solid #ac9261;box-shadow:3px 4px #d5c59e}.roster-grid article:nth-child(3n+1){border-color:#9c4f3c}.roster-grid .portrait{display:block;width:100%;height:170px;margin-top:14px;outline:none;box-shadow:none}.roster-grid h3{font-size:18px;color:#99402e;margin:12px 0 4px}.roster-grid p{font-size:14px;margin:5px 0}.roster-grid small{font-size:14px}.bag-inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.bag-inventory span{display:flex;justify-content:space-between;gap:9px;padding:10px;background:#e9dfb9;border:1px solid #b0a078;font-size:14px}.recipes>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px dashed #b7a77b;font-size:15px}.recipes button{white-space:nowrap;font-size:15px}.failure-box{background:#f4d8bc;border:2px solid #b96f40;padding:16px;margin-top:18px}.failure-box h3{color:#a43928;font-size:20px}.failure-box p{font-size:16px}.failure-box button{width:100%;margin:7px 0;font-size:16px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#ffeb9c;color:#713724;border:2px solid #a75131;box-shadow:3px 4px #57412855;padding:13px 22px;font-size:17px;font-weight:700;z-index:5;opacity:0;pointer-events:none;transition:.15s}#toast.show{opacity:1}
@media(max-width:1000px){header{margin:12px 12px 0;padding:17px 20px}.prototype{display:none}main{margin:0 12px 20px;padding:22px}.intro{padding:23px;gap:20px}h1{font-size:34px}.score{min-width:210px}.score strong{font-size:27px}.workspace{grid-template-columns:1fr 1fr;gap:18px}.panel{padding:16px}.pitch{height:610px}.slot{width:82px}.slot small{font-size:13px}.values b{font-size:18px}.item{flex-wrap:wrap}.item button{margin-left:auto}.upgrade-info strong{font-size:22px}}
@media(max-width:780px){.workspace{grid-template-columns:1fr}.intro{display:block}.score{margin-top:22px;text-align:left;transform:none}.score strong{font-size:32px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border:0}.stats div:nth-child(-n+2){border-bottom:1px solid #9a8756}.stats b{font-size:22px}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pitch{height:620px}.slot{width:92px}.slot small{font-size:14px}.values b{font-size:22px}.upgrade-info strong{font-size:26px}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}.bag-inventory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){header{padding:14px}.brand{font-size:29px}.brand small{font-size:13px}header button{font-size:14px;padding:9px}main{padding:14px}.intro{padding:19px}h1{font-size:30px}.intro p{font-size:15px}.panel{padding:13px}.squad{padding:13px}.pitch{height:550px;border-width:4px}.slot{width:72px}.slot small{font-size:13px}.slot .level{font-size:12px}.shirt{width:45px;height:49px}.portrait.slot-photo{width:47px;height:57px}.pitchfoot{font-size:13px}.manager-slot{gap:8px;padding:10px}.manager-slot strong{font-size:16px}.manager-slot small,.manager-meta{font-size:13px}.values b{font-size:19px}.player-title h2{font-size:24px}.roster-grid{gap:10px}.roster-grid article{padding:9px}.roster-grid h3{font-size:16px}.roster-grid .portrait{height:135px}.upgrade-info strong{font-size:23px}.upgrade-info span{padding:10px}}

.intro{padding:18px 24px}h1{font-size:35px;margin:9px 0}.intro p{font-size:16px}.score{padding:12px 18px}.score strong{font-size:30px}header{margin-top:14px;padding-block:14px}main{padding-top:23px}@media(max-width:780px){.intro{padding:16px}.intro h1{font-size:30px}.score{margin-top:15px}.stats{margin-block:18px}}

.squad .team-title{font-size:32px;line-height:1.4;margin:0}.brand{font-size:29px;letter-spacing:-1px}.intro h1{font-size:40px;letter-spacing:-1px}@media(max-width:780px){.squad .team-title{font-size:28px}.intro h1{font-size:34px}}@media(max-width:420px){.brand{font-size:22px}.squad .team-title{font-size:25px}.intro h1{font-size:30px}}

/* Portrait cards share the same head-to-waist framing at every size. */
.portrait{display:inline-block;position:relative;overflow:hidden;width:90px;height:120px;vertical-align:middle}.portrait img{position:absolute;max-width:none;object-fit:fill}.portrait.mini{height:64px}.portrait.slot-photo{height:76px}.roster-grid .portrait{height:auto;aspect-ratio:3/4}.roster-grid article{min-width:0}@media(max-width:420px){.roster-grid .portrait{height:auto}.portrait.slot-photo{height:63px}}

.illustrated-kit{background:repeating-linear-gradient(90deg,#e1c45d 0,#e1c45d 15%,#f8e7a1 15%,#f8e7a1 30%);text-align:center;color:#355943}
.illustrated-kit .kit-emblem{display:block;font-size:20px;line-height:1;margin-top:10%}
.illustrated-kit .kit-shirt{display:grid;place-items:center;position:absolute;top:28%;left:15%;width:70%;height:52%;background:#fdf8e5;clip-path:polygon(25% 0,38% 8%,62% 8%,75% 0,100% 22%,85% 43%,77% 36%,77% 100%,23% 100%,23% 36%,15% 43%,0 22%);font-size:clamp(14px,2vw,23px);font-weight:900}
.illustrated-kit .kit-country{position:absolute;bottom:3%;left:0;width:100%;font-size:11px;font-weight:700}
.illustrated-kit.mini .kit-emblem,.illustrated-kit.slot-photo .kit-emblem{font-size:12px}.illustrated-kit.mini .kit-shirt,.illustrated-kit.slot-photo .kit-shirt{font-size:11px}.illustrated-kit.mini .kit-country,.illustrated-kit.slot-photo .kit-country{display:none}

.music-controls{display:flex;align-items:center;gap:18px;padding:14px 18px;margin-top:20px;background:#e4dfbc;border:2px solid #a28c57;flex-wrap:wrap}.music-title span{display:block;font-size:13px;color:#6b5d3e;font-weight:700}.music-title strong{font-size:18px;color:#315d43}.music-controls button{font-size:16px;min-width:145px;background:#fff1b0}.music-controls button[aria-pressed="true"]{background:#bed6b2;border-color:#426b44}.music-controls label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700}.music-controls input{width:120px;accent-color:#376346;cursor:pointer;min-height:32px}.music-controls small{font-size:13px;color:#685d41;margin-left:auto}@media(max-width:600px){.music-controls{gap:12px;padding:12px}.music-controls small{width:100%;margin-left:0}.music-controls label{flex:1}.music-controls input{max-width:100%;width:100px}}
