:root{font-family:'DM Sans','Gowun Dodum',system-ui,sans-serif;color:#39382f;background:#f7f5ef;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#39382f;--muted:#929087;--line:#eeece5;--paper:#fffefa;--green:#587d55;--green-light:#edf4e9;--gold:#d19a39;--shadow:0 6px 22px #493c1c0a}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app-shell{max-width:1540px;margin:0 auto;padding:0 42px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e6dc}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-width:255px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#627e54;color:white;display:grid;place-items:center;font-size:24px;box-shadow:inset 0 -3px #496442}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:-.5px}.brand small{font-size:9px;color:#aaa291;letter-spacing:1.7px;margin-top:3px;font-weight:700}.player-stats{display:flex;align-items:center;gap:10px}.stat-chip{height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;background:#fffefa;border:1px solid #eeece5;border-radius:12px;box-shadow:0 2px 7px #493c1c05}.stat-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;font-size:12px;font-weight:800}.gold-icon{background:#fff3d7;color:#ba8125}.date-icon{background:#fff1df;font-size:15px}.action-icon{background:#edf3e8;color:#6d915c}.fame-icon{background:#f4eefa;color:#906da8}.stat-copy{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.stat-copy small{font-size:9px;color:#a09d92}.stat-copy strong{font-size:12px}.stat-copy em{font-size:10px;font-style:normal;color:#a6a196}.mobile-menu-button{display:none}.game-layout{display:grid;grid-template-columns:205px minmax(420px,1fr) 252px;gap:28px;padding-top:29px;min-height:calc(100vh - 88px)}.side-nav{position:relative;display:flex;flex-direction:column;padding:12px 0 24px}.nav-heading{font-size:10px;font-weight:800;color:#b0aa9e;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 13px 12px}.side-nav nav{display:grid;gap:5px}.nav-item{width:100%;height:43px;border:0;background:transparent;border-radius:11px;display:grid;grid-template-columns:28px 1fr 12px;align-items:center;text-align:left;padding:0 12px;color:#817e74;font-size:12px;cursor:pointer;transition:.18s}.nav-item>span:first-child{font-size:17px;color:#9a988c}.nav-item b{font-size:18px;font-weight:400;opacity:0}.nav-item:hover{background:#efeee7;color:var(--ink)}.nav-item.active{background:var(--green-light);color:#54744f;font-weight:700}.nav-item.active>span:first-child{color:#54744f}.nav-item.active b{opacity:1}.nav-bottom{margin-top:auto}.side-decoration{height:130px;margin:28px 12px 0;display:flex;align-items:center;justify-content:space-between;color:#d5c9ae;font-size:13px;position:relative}.side-decoration div{position:absolute;left:50%;transform:translateX(-50%);width:1px;height:75px;background:linear-gradient(transparent,#ddd1b7,transparent)}.main-column{min-width:0;padding-bottom:38px}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin:1px 2px 19px}.eyebrow{font-size:10px;color:#ad9469;font-weight:700;letter-spacing:.4px;margin:0 0 5px}.welcome-row h1{font-size:23px;letter-spacing:-.9px;margin:0;font-weight:800}.page-subtitle{color:#99968c;font-size:11px;margin:5px 0 0}.weather-badge{display:flex;align-items:center;gap:7px;border:1px solid #ece9df;background:#fffefa;border-radius:20px;padding:7px 11px;font-size:10px;color:#7f7c72;white-space:nowrap}.weather-badge>span:first-child{font-size:15px}.weather-badge small{color:#aaa69a;font-size:9px}.workshop-card{height:244px;border-radius:17px;overflow:hidden;position:relative;border:1px solid #e9dfca;background:linear-gradient(180deg,#e9f0e8 0%,#f4e6c7 65%,#e7cf9d 100%);box-shadow:var(--shadow);image-rendering:pixelated}.scene-label{position:absolute;top:14px;left:15px;z-index:5;display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #ffffffa8;background:#fffefaad;border-radius:20px;font-size:9px;color:#76776b;font-weight:700}.live-dot{width:6px;height:6px;border-radius:50%;background:#79a868;box-shadow:0 0 0 3px #79a86825}.scene-sun{position:absolute;right:13%;top:23px;width:39px;height:39px;border-radius:50%;background:#ffecb7;box-shadow:0 0 0 9px #fff2cc55}.scene-window{position:absolute;right:11%;top:81px;width:100px;height:79px;border:8px solid #947854;background:#b7d2c3;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;box-shadow:inset 0 0 0 3px #e6d4a7,0 3px #806744}.scene-window i{border:2px solid #ead8af}.scene-shelf{position:absolute;left:12%;top:89px;width:111px;height:9px;background:#9a7449;display:flex;align-items:flex-end;justify-content:space-around}.scene-shelf:before{content:'';position:absolute;top:-8px;left:0;width:100%;height:6px;background:#c29454}.scene-shelf span{font-size:20px;color:#927849;transform:translateY(-7px)}.scene-tools{position:absolute;left:30%;top:102px;display:flex;gap:11px;font-size:18px;color:#7d6950;transform:rotate(-14deg)}.scene-floor{position:absolute;bottom:0;width:100%;height:62px;background:repeating-linear-gradient(0deg,#c79e61 0 12px,#bb9054 12px 14px);border-top:5px solid #a87d4c}.scene-floor:after{content:'';position:absolute;inset:12px 0 auto;height:2px;background:#d3ae75}.scene-fire{position:absolute;left:48%;bottom:61px;width:95px;height:112px;display:grid;place-items:end center}.fire-glow{position:absolute;bottom:9px;width:129px;height:92px;background:radial-gradient(ellipse,#f8ac5740,transparent 68%)}.furnace{z-index:1;position:relative;width:75px;height:71px;background:#af7452;border:5px solid #8e5c43;clip-path:polygon(14% 0,86% 0,100% 20%,94% 100%,6% 100%,0 20%);box-shadow:inset 0 -14px #9d6049}.flame{position:absolute;top:7px;left:26px;font-size:25px;color:#ffd270}.furnace-mouth{position:absolute;bottom:0;left:18px;width:30px;height:21px;background:#653e38;border:4px solid #834e42;border-bottom:0;border-radius:14px 14px 0 0}.smoke{position:absolute;top:0;width:11px;height:19px;border:3px solid #b5b5a5;border-bottom:0;border-left-color:transparent;border-radius:50%;opacity:.55;animation:smoke 3s infinite ease-in-out}.smoke-one{left:40px}.smoke-two{left:51px;top:-13px;animation-delay:1s}@keyframes smoke{50%{transform:translate(5px,-7px);opacity:.2}}.scene-anvil{position:absolute;z-index:2;left:67%;bottom:61px;width:95px;height:82px;display:flex;align-items:center;flex-direction:column}.anvil-hammer{font-size:24px;color:#665e55;transform:rotate(-35deg);position:absolute;top:-4px;left:14px}.anvil-top{position:absolute;top:28px;width:88px;height:23px;background:#626f6d;clip-path:polygon(20% 0,100% 0,91% 75%,62% 100%,33% 100%,0 75%,0 43%);border-bottom:4px solid #4a5554}.anvil-base{position:absolute;top:49px;width:47px;height:27px;background:#626f6d;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.scene-caption{position:absolute;z-index:5;right:15px;bottom:75px;padding:7px 10px;background:#fffefaac;border-radius:9px;color:#8c7656;font-size:9px}.caption-icon{color:#daa844;margin-right:5px}.content-panel{margin-top:19px}.section-card{background:var(--paper);border:1px solid #eeece5;border-radius:15px;padding:17px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.panel-heading h2{font-size:14px;margin:0;letter-spacing:-.3px}.panel-heading p{font-size:10px;color:#aaa69b;margin:4px 0 0}.tiny-tag{font-size:9px;color:#77906d;background:#edf4e9;border-radius:10px;padding:5px 8px}.weapon-stage{min-height:115px;border:1px dashed #e9e3d7;border-radius:12px;background:linear-gradient(135deg,#fbfaf6,#f8f4e9);display:grid;place-items:center;text-align:center}.weapon-illustration{font-size:44px;filter:drop-shadow(0 4px 2px #9a825433);line-height:1.1}.weapon-stage p{font-size:10px;color:#aaa397;margin:7px 0 0}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.action-button{height:43px;border:1px solid #eae8e0;border-radius:10px;background:#fffefa;color:#69675f;font-weight:700;font-size:11px;cursor:pointer;transition:.16s}.action-button:hover:not(:disabled){transform:translateY(-2px);border-color:#c8d7bf;background:#f4f8f0}.action-button.primary{background:var(--green);border-color:var(--green);color:white;box-shadow:0 3px 0 #456643}.action-button.primary:hover:not(:disabled){background:#4c704a}.action-button:disabled{color:#b1aea4;background:#f4f3ee;cursor:not-allowed}.action-button .action-icon-label{margin-right:6px}.result-message{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fbf8ef;color:#92866e;display:flex;gap:8px;align-items:center;font-size:10px}.result-message span:first-child{color:#d0a754;font-size:14px}.right-column{padding-top:9px;display:flex;flex-direction:column;gap:13px}.result-card{background:var(--paper);border:1px solid #eeece5;border-radius:15px;padding:16px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;gap:9px}.heading-icon{width:28px;height:28px;border-radius:9px;background:#fff5dd;color:#c79a47;display:grid;place-items:center;font-size:14px}.section-heading h2{font-size:11px;margin:0}.section-heading p{font-size:9px;color:#a8a49a;margin:3px 0 0}.news-note{position:relative;padding:14px 10px 12px 18px;margin-top:9px;background:#faf8f1;border-radius:10px}.news-note p{margin:0;color:#817c70;font-size:10px;line-height:1.8}.news-note small{display:block;font-size:8px;color:#b8b3a7;margin-top:6px}.note-sparkle{position:absolute;left:7px;top:13px;color:#d6aa52;font-size:9px}.result-divider{height:1px;background:#f0eee8;margin:14px 0}.trophy-icon{background:#f2edf8;color:#9779a9}.rank-progress{margin-top:12px}.rank-progress>div:first-child{display:flex;justify-content:space-between;color:#928e83;font-size:9px;margin-bottom:7px}.progress-track{height:6px;border-radius:8px;background:#f1eee7;overflow:hidden}.progress-track span{display:block;width:12%;height:100%;background:linear-gradient(90deg,#9ab27d,#c4ce83);border-radius:8px}.rank-progress>small{display:block;margin-top:7px;color:#aaa69b;font-size:9px}.ad-slot{height:104px;background:#f0eee7;border:1px dashed #d9d5ca;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;color:#aaa69c;gap:5px;font-size:10px}.ad-slot>small{font-size:9px;color:#b7b3a8}.ad-sparkle{font-size:14px;color:#c3bba8}.ad-tag{position:absolute;top:8px;right:9px;border:1px solid #dcd8ce;padding:2px 4px;border-radius:4px;font-size:7px;color:#aaa69c}.support-card{display:flex;align-items:center;gap:9px;padding:11px;background:#fffefa;border:1px solid #eeece5;border-radius:12px}.support-heart{width:29px;height:29px;background:#f9ece9;color:#d28679;border-radius:9px;display:grid;place-items:center;font-size:19px}.support-card>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.support-card strong{font-size:9px}.support-card small{font-size:8px;color:#aaa69b}.support-card button{font-size:8px;padding:6px 8px;border:0;border-radius:7px;background:#f2f0eb;color:#b4b0a5}.side-footer{margin-top:auto;padding-top:17px;text-align:center;color:#c3bfb4;font-size:8px;letter-spacing:1.2px}.side-footer span{font-size:7px;color:#d1be91}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#39382f;color:white;padding:10px 15px;border-radius:10px;font-size:11px;box-shadow:0 6px 20px #0002;transition:.2s;z-index:20}.toast.visible{opacity:1;transform:translate(-50%,0)}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.menu-tile{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #efede7;border-radius:11px;background:#fffefa;text-align:left;cursor:pointer;min-height:58px;color:var(--ink)}.menu-tile:hover{border-color:#c7d5bd;background:#f8faf5}.tile-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1f4eb;color:#718c61;font-size:17px}.tile-copy{display:flex;flex-direction:column;gap:4px}.tile-copy strong{font-size:10px}.tile-copy small{font-size:8px;color:#a5a196}.placeholder-list{display:grid;gap:8px}.placeholder-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #efede7;border-radius:10px;background:#fffefa}.placeholder-row .tile-icon{flex:none}.placeholder-row strong{display:block;font-size:10px}.placeholder-row small{display:block;font-size:8px;color:#a5a196;margin-top:3px}.placeholder-row .coming-soon{margin-left:auto;color:#aaa69b;background:#f5f3ed;padding:4px 7px;border-radius:8px;font-size:8px;white-space:nowrap}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #f0eee8}.settings-row:last-child{border-bottom:0}.settings-row strong{font-size:10px}.settings-row small{display:block;font-size:8px;color:#aaa69b;margin-top:3px}.segmented{padding:3px;border:1px solid #ece9df;border-radius:9px;background:#f7f5ef;display:flex;gap:2px}.segmented button{border:0;border-radius:6px;background:transparent;color:#88847a;padding:6px 9px;font-size:9px;cursor:pointer}.segmented button[aria-pressed=true]{background:white;color:#587d55;font-weight:700;box-shadow:0 1px 4px #0001}.switch{width:33px;height:19px;border:0;border-radius:12px;background:#91aa7d;position:relative;cursor:pointer}.switch:after{content:'';position:absolute;right:2px;top:2px;width:15px;height:15px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002}.switch[aria-checked=false]{background:#d6d3ca}.switch[aria-checked=false]:after{right:auto;left:2px}.settings-note{margin-top:12px;padding:10px;border-radius:9px;background:#faf8f1;color:#9b927c;font-size:9px;line-height:1.7}
@media(min-width:1440px){.game-layout{grid-template-columns:215px minmax(520px,1fr) 270px;gap:34px}.workshop-card{height:270px}}
@media(max-width:1120px){.app-shell{padding:0 25px}.game-layout{grid-template-columns:175px minmax(360px,1fr) 225px;gap:18px}.fame-chip{display:none}.brand{min-width:220px}.scene-anvil{left:70%}}
@media(max-width:850px){.app-shell{padding:0 19px}.topbar{height:auto;min-height:78px;gap:12px}.brand{min-width:0}.brand-mark{width:38px;height:38px}.player-stats{gap:6px}.stat-chip{padding:0 8px;height:42px}.stat-copy small{font-size:8px}.stat-copy strong{font-size:11px}.game-layout{grid-template-columns:1fr 215px;gap:17px;padding-top:20px}.side-nav{position:fixed;z-index:15;left:12px;top:86px;bottom:12px;width:225px;padding:20px 15px;background:#fffefa;border:1px solid #ece9df;border-radius:15px;box-shadow:0 15px 50px #3b35252b;transform:translateX(calc(-100% - 20px));transition:transform .22s}.side-nav.open{transform:translateX(0)}.mobile-menu-button{display:grid;place-items:center;border:1px solid #ece9df;border-radius:10px;width:40px;height:40px;background:#fffefa;color:#69675f;font-size:17px}.welcome-row h1{font-size:21px}}
@media(max-width:640px){.app-shell{padding:0 13px}.topbar{min-height:71px}.brand{gap:8px}.brand-mark{width:35px;height:35px;border-radius:11px;font-size:21px}.brand strong{font-size:13px}.brand small{font-size:7px;letter-spacing:1.2px}.player-stats{gap:5px}.stat-chip{height:37px;padding:0 6px;gap:5px;border-radius:9px}.stat-icon{width:22px;height:22px;border-radius:7px;font-size:10px}.stat-copy small{font-size:7px}.stat-copy strong{font-size:9px}.stat-copy em{font-size:8px}.stat-chip:nth-child(2){display:none}.fame-chip{display:none}.mobile-menu-button{width:44px;height:44px;flex:none;font-size:15px}.side-nav .nav-item{height:46px}.segmented button{min-height:40px}.switch{width:44px;height:44px}.switch:after{width:22px;height:22px;top:11px;right:3px}.switch[aria-checked=false]:after{left:3px}.support-card button{min-height:38px}.game-layout{display:flex;flex-direction:column;gap:0;padding-top:17px;min-height:auto}.side-nav{top:77px;left:9px;width:min(260px,82vw)}.welcome-row{margin:0 2px 14px}.welcome-row h1{font-size:19px}.eyebrow{font-size:9px}.page-subtitle{font-size:10px}.weather-badge{font-size:9px;padding:6px 8px}.workshop-card{height:208px;border-radius:14px}.scene-window{width:79px;height:64px;right:8%;top:72px}.scene-shelf{left:7%;top:80px;transform:scale(.83);transform-origin:left}.scene-tools{left:25%;top:95px}.scene-fire{left:42%;transform:scale(.82);transform-origin:bottom}.scene-anvil{left:68%;transform:scale(.82);transform-origin:bottom}.scene-caption{right:8px;bottom:67px;font-size:8px}.scene-floor{height:53px}.content-panel{margin-top:14px}.section-card{padding:14px}.action-grid{gap:7px}.action-button{height:46px;font-size:10px}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px 0 20px}.result-card{grid-column:1/-1;padding:13px}.ad-slot{height:89px}.support-card{padding:8px;gap:6px}.support-card strong{font-size:8px}.support-card small{font-size:7px}.support-card button{padding:6px;font-size:7px}.side-footer{grid-column:1/-1;padding-top:2px}.menu-grid{gap:7px}.menu-tile{padding:9px;gap:8px;min-height:54px}.tile-icon{width:30px;height:30px}.tile-copy strong{font-size:9px}.tile-copy small{font-size:7px}}
@media(max-width:370px){.app-shell{padding:0 10px}.stat-chip{padding:0 4px}.stat-copy small{font-size:6px}.brand strong{font-size:12px}.weather-badge{padding:5px 6px}.scene-caption{display:none}.action-button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Replaceable art assets: workshop background, independent sprites, and sliced UI panels. */
.workshop-card{border-color:#76563c;background-color:#28170f;background-image:linear-gradient(180deg,#140d08a6 0%,transparent 28%,transparent 70%,#150c08b3 100%),url('./assets/background/forge.png');background-position:center 58%;background-size:cover;image-rendering:auto;box-shadow:0 8px 24px #3521112b}
#workshop-scene>:not(.scene-label):not(.scene-caption){display:none}
.scene-label{top:13px;left:13px;border:1px solid #e8b26080;background:#1c120edb;color:#ffe4b1;box-shadow:0 2px 9px #0005}
.live-dot{background:#91c878;box-shadow:0 0 0 3px #91c87835}
.scene-caption{right:13px;bottom:13px;background:#1c120edb;color:#ffe4b1;border:1px solid #e8b26066;box-shadow:0 2px 9px #0005}
.section-card{border:0;border-radius:0;background-color:transparent;background-image:url('./assets/ui/parchment-card-large.png');background-repeat:no-repeat;background-position:center;background-size:100% 100%;box-shadow:none;padding:103px 36px 70px}
.result-card{border:0;border-radius:0;background-color:transparent;background-image:url('./assets/ui/parchment-card-small.png');background-repeat:no-repeat;background-position:center;background-size:100% 100%;box-shadow:none;padding:75px 27px 60px}
.section-card .panel-heading h2,.result-card .section-heading h2{color:#4b3826}
.section-card .panel-heading p,.result-card .section-heading p{color:#826e53}
.section-card .tiny-tag{background:#f0dfa7;color:#684a1f}
.weapon-stage{min-height:166px;border:1px solid #d5ad69;border-radius:7px;background:#fff2d96e;box-shadow:inset 0 0 14px #a9742930;align-items:center}
.weapon-preview{width:106px;height:146px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 5px 4px #41290a47)}
.weapon-stage>div>strong{color:#53381c}
.weapon-stage p{color:#806b50}
.weapon-options{gap:7px}
.weapon-option{border-color:#b99961;border-radius:7px;background:#f9e9c9d9;color:#604a2d;min-height:69px}
.weapon-option img{width:33px;height:42px;image-rendering:auto}
.weapon-option[aria-pressed=true]{border-color:#95611f;background:#f5dca5;box-shadow:inset 0 0 0 1px #d0a052}
.action-grid{align-items:center}
.action-button,.action-button.primary{position:relative;display:block;width:min(100%,180px);height:auto;aspect-ratio:1.67;justify-self:center;padding:0;border:0;border-radius:0;background:transparent;color:#4b2c13;box-shadow:none;overflow:visible;transition:transform .16s,filter .16s}
.action-button:hover:not(:disabled),.action-button.primary:hover:not(:disabled){transform:translateY(-2px);border:0;background:transparent;filter:brightness(1.04) drop-shadow(0 4px 4px #4e2d1240)}
.action-button .action-skin{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.action-button .action-label{position:absolute;top:64%;left:50%;transform:translate(-50%,-50%);width:72%;text-align:center;font-size:12px;font-weight:800;color:#503112;text-shadow:0 1px 0 #ffe5a7;white-space:nowrap}
.action-button:focus-visible,.weapon-option:focus-visible{outline:3px solid #7a541d;outline-offset:3px}
.materials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.material-card{min-width:0;min-height:198px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 8px 12px;border:1px solid #c9a46b;border-radius:8px;background:#faefd7d9;text-align:center;box-shadow:inset 0 0 0 2px #fff7e8}
.material-image-frame{width:100%;height:112px;display:grid;place-items:center}
.material-image-frame img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #46351c45)}
.material-card strong{font-size:11px;color:#4e3923}
.material-card small{min-height:24px;font-size:9px;line-height:1.4;color:#897251}
.material-card .coming-soon{margin-top:auto;border-radius:8px;padding:4px 7px;background:#eee0bd;color:#78572c;font-size:8px;white-space:nowrap}
.placeholder-row{border-color:#c6a46f;background:#fff4dce0}
.placeholder-row .tile-icon{background:#e8d5ad;color:#73562d}
.result-card .news-note{background:#fff3d9ba}
.result-card .result-divider{background:#c6a87888}
.progress-track{background:#e6d5ae}
.progress-track span{background:linear-gradient(90deg,#67864c,#a2af58)}
.ad-slot{border:0;border-radius:0;background-color:transparent;background-image:url('./assets/ui/green-label.png');background-size:100% 100%;background-position:center;background-repeat:no-repeat;color:#fff0c6;text-shadow:0 1px 2px #14261a}
.ad-slot>small{color:#d9dfbf}
.ad-tag{border-color:#e1c879;color:#fff2c9;background:#18362299}
.support-card{border:0;border-radius:0;background-color:transparent;background-image:url('./assets/ui/heart-wood-badge.png');background-size:100% 100%;background-position:center;background-repeat:no-repeat;min-height:92px;padding:16px 14px 14px 45px}
.support-heart{visibility:hidden;flex:none}
.support-card>div:nth-child(2){margin-left:-20px}
.support-card strong{color:#fff0d0;text-shadow:0 1px 2px #24160c}
.support-card small{color:#e6d1a6}
.support-card button{color:#ead6aa;background:#553920;border:1px solid #b58b4a}
@media(min-width:1440px){.workshop-card{height:330px}}
@media(max-width:640px){
  .workshop-card{height:208px;background-position:center center}
  .section-card{padding:75px 27px 52px;background-image:url('./assets/ui/parchment-card-small.png')}
  .result-card{padding:70px 23px 58px}
  .weapon-stage{min-height:132px;gap:10px}
  .weapon-preview{width:82px;height:114px}
  .weapon-option{min-height:62px;padding:4px 2px;font-size:7px}
  .weapon-option img{width:27px;height:35px}
  .action-button .action-label{font-size:10px}
  .materials-grid{gap:6px}
  .material-card{min-height:178px;padding:8px 4px 9px;gap:5px}
  .material-image-frame{height:88px}
  .material-card strong{font-size:9px}
  .material-card small{font-size:7px;min-height:27px}
  .material-card .coming-soon{font-size:7px;padding:4px 5px}
  .support-card{min-height:78px;padding-left:29px}
  .support-card>div:nth-child(2){margin-left:-13px}
}
@media(max-width:370px){
  .section-card{padding:70px 23px 48px}
  .materials-grid{gap:4px}
  .material-image-frame{height:78px}
  .action-button .action-label{font-size:9px}
}

/* Stage-one weapon previews use replaceable transparent weapon assets. */
.weapon-stage{display:flex;justify-content:center;gap:16px;padding:12px;text-align:left;background:linear-gradient(135deg,#fbf7eb,#f4ecda);border-color:#dfd0b3;box-shadow:inset 0 0 0 2px #fff9ed}
.weapon-stage>div{display:flex;flex-direction:column;gap:5px;justify-content:center}
.weapon-stage>div>strong{font-size:12px;color:#67553b}
.weapon-stage p{margin:0;font-size:9px;color:#aaa08d}
.weapon-preview{width:82px;height:88px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 2px #6956382e)}
.weapon-picker{margin-top:10px}
.picker-label{display:block;margin:0 0 6px 2px;color:#9b907a;font-size:9px;font-weight:700}
.weapon-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.weapon-option{min-width:0;min-height:56px;padding:5px 3px;border:1px solid #eae3d5;border-radius:9px;background:linear-gradient(180deg,#fffefa,#faf7f0);display:flex;align-items:center;justify-content:center;gap:3px;flex-direction:column;color:#817964;font-size:8px;cursor:pointer;transition:.16s}
.weapon-option img{width:28px;height:29px;object-fit:contain;image-rendering:pixelated}
.weapon-option span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.weapon-option:hover{border-color:#c6b181;transform:translateY(-1px)}
.weapon-option[aria-pressed=true]{border-color:#b8914e;background:linear-gradient(180deg,#fff9e8,#f7efd9);color:#755e37;box-shadow:inset 0 0 0 1px #dfc58c}
.section-card,.result-card,.support-card{border-color:#e8dfcc}
@media(max-width:640px){.weapon-stage{min-height:105px;padding:9px}.weapon-preview{width:70px;height:78px}.weapon-option{min-height:60px;font-size:7px}.weapon-option img{width:30px;height:31px}}

/* Keep the illustrated weapon sprites crisp and large after the base preview rules. */
.weapon-stage{min-height:166px;align-items:center;background:#fff2d96e;border:1px solid #d5ad69;box-shadow:inset 0 0 14px #a9742930}
.weapon-preview{width:106px;height:146px;image-rendering:auto;filter:drop-shadow(0 5px 4px #41290a47)}
.weapon-option img{width:33px;height:42px;image-rendering:auto}
.result-card .rank-progress>small{color:#806c50}
@media(max-width:640px){
  .weapon-stage{min-height:132px}
  .weapon-preview{width:82px;height:114px}
  .weapon-option img{width:27px;height:35px}
}

/* Clean casual-management UI: keep the forge artwork, simplify every card and control. */
.workshop-card{border:1px solid #806347;border-radius:14px;box-shadow:0 4px 14px #4b36211a}
.scene-label,.scene-caption{border:1px solid #dac7a8;border-radius:8px;background:#fbf7edeb;color:#514632;box-shadow:0 1px 4px #24180d30;text-shadow:none}
.section-card,.result-card,.ad-slot,.support-card{border:1px solid #d8c7ad;border-radius:14px;background:#fbf8f1;background-image:none;box-shadow:0 2px 8px #46341f0d}
.stat-chip,.weather-badge{border-color:#dfd1bb;background:#fbf8f1;box-shadow:none}
.section-card{padding:24px}
.result-card{padding:18px}
.section-card .panel-heading{align-items:center;margin-bottom:18px}
.section-card .panel-heading h2,.result-card .section-heading h2{font-size:15px;color:#3f392f;letter-spacing:-.2px}
.section-card .panel-heading p,.result-card .section-heading p{font-size:11px;color:#81786b}
.section-card .tiny-tag{background:#eee5d5;color:#6c5c45}
.weapon-stage{min-height:158px;gap:20px;border:1px solid #dfd1bb;border-radius:11px;background:#f5efe4;box-shadow:none}
.weapon-preview{width:104px;height:138px;filter:drop-shadow(0 3px 3px #46351d20)}
.weapon-stage>div>strong{font-size:14px;color:#433b31}
.weapon-stage p{font-size:11px;color:#7c7469}
.picker-label{font-size:10px;color:#716657}
.weapon-options{gap:8px}
.weapon-option{min-height:68px;border:1px solid #dfd2bd;border-radius:9px;background:#fffdf8;color:#655d52;font-size:9px}
.weapon-option img{width:31px;height:38px;filter:none}
.weapon-option[aria-pressed=true]{border-color:#98794e;background:#f1e8d8;color:#4e4131;box-shadow:inset 0 0 0 1px #d7c4a6}
.action-grid{gap:10px;margin-top:16px}
.action-button,.action-button.primary,.action-button.craft-button,.action-button.enhance-button,.action-button.sell-button{width:100%;height:48px;aspect-ratio:auto;justify-self:stretch;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:0 10px;color:white;font-size:13px;font-weight:700;box-shadow:none;overflow:hidden;transition:filter .15s,transform .15s}
.action-button.craft-button{background:#3f6848}
.action-button.enhance-button{background:#365f8c}
.action-button.sell-button{background:#98703c}
.action-button:hover:not(:disabled),.action-button.primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08);border:0;box-shadow:0 3px 8px #38281724}
.action-button:focus-visible,.weapon-option:focus-visible{outline:3px solid #6c8d68;outline-offset:2px}
.result-message{margin-top:16px;border:1px solid #e4d8c5;border-radius:9px;background:#f6f1e8;color:#635b50;line-height:1.5}
.materials-grid{gap:12px}
.material-card{min-height:195px;border:1px solid #dfd1bb;border-radius:11px;background:#f8f3e9;box-shadow:none;padding:12px 9px}
.material-image-frame{height:112px}
.material-image-frame img{filter:none}
.material-card strong{font-size:12px;color:#433b31}
.material-card small{font-size:10px;color:#746b5f}
.material-card .coming-soon{background:#eee6d9;color:#6c6255}
.placeholder-row{border:1px solid #dfd1bb;border-radius:10px;background:#f8f3e9}
.placeholder-row .tile-icon{background:#eee7da;color:#665844}
.placeholder-row strong{font-size:11px;color:#443d34}
.placeholder-row small{font-size:9px;color:#776e63}
.result-card .news-note{border-left:2px solid #b89562;border-radius:8px;background:#f5efe4;color:#62594d}
.result-card .news-note p{color:#62594d}
.result-card .news-note small,.rank-progress>small{color:#7e7568}
.result-card .result-divider{background:#e5dac9}
.result-card .rank-progress>div:first-child{color:#635a4e}
.progress-track{background:#e7dece}
.progress-track span{background:#78946b}
.ad-slot{height:104px;gap:5px;color:#62594d;text-shadow:none;border-style:dashed;border-color:#cdbb9e}
.ad-slot>small{color:#81786b}
.ad-tag{border:1px solid #dfd1bb;background:#f5efe4;color:#776b59}
.support-card{min-height:76px;padding:11px;gap:10px}
.support-heart{visibility:visible;width:34px;height:34px;flex:none;border-radius:10px;background:#eee5d5;color:#7f6a4d;font-size:20px}
.support-card>div:nth-child(2){margin:0;gap:4px}
.support-card strong{font-size:10px;color:#443d34;text-shadow:none}
.support-card small{font-size:9px;color:#776e63}
.support-card button{border:1px solid #d8c7ad;border-radius:8px;background:#f2ecdf;color:#6c6255}
.section-card .settings-row{border-bottom-color:#e5dac9}
.section-card .settings-note{background:#f5efe4;color:#6f665b}
@media(max-width:640px){
  .section-card{padding:19px 16px}
  .result-card{padding:16px}
  .weapon-stage{min-height:132px;gap:10px}
  .weapon-preview{width:78px;height:110px}
  .weapon-options{gap:5px}
  .weapon-option{min-height:64px;padding:4px 2px;font-size:8px}
  .weapon-option img{width:27px;height:34px}
  .action-grid{gap:7px}
  .action-button,.action-button.primary,.action-button.craft-button,.action-button.enhance-button,.action-button.sell-button{height:48px;font-size:11px}
  .materials-grid{gap:8px}
  .material-card{min-height:174px;padding:9px 5px}
  .material-image-frame{height:88px}
  .material-card strong{font-size:10px}
  .material-card small{font-size:8px;min-height:26px}
  .right-column{gap:10px}
  .result-card{padding:15px}
  .support-card{padding:8px;gap:6px}
}
@media(max-width:370px){
  .section-card{padding:17px 13px}
  .weapon-stage{gap:7px}
  .weapon-preview{width:68px;height:102px}
  .action-grid{gap:5px}
  .action-button,.action-button.primary,.action-button.craft-button,.action-button.enhance-button,.action-button.sell-button{font-size:10px}
  .materials-grid{gap:5px}
  .material-image-frame{height:78px}
  .material-card{padding:8px 3px}
  .brand strong{white-space:nowrap;font-size:11px}
  .brand small{display:none}
  .player-stats{gap:3px}
}

/* Focused component polish: preserve the current palette and keep content in distinct rows. */
.action-button:hover:not(:disabled),.action-button.primary:hover:not(:disabled){filter:brightness(1.035);transform:translateY(-1px);box-shadow:0 2px 5px #3828171c}
.action-button.craft-button:hover:not(:disabled){background:#3f6848}
.action-button.enhance-button:hover:not(:disabled){background:#365f8c}
.action-button.sell-button:hover:not(:disabled){background:#98703c}
.action-button:disabled,.action-button[aria-disabled=true]{background:#e9e3d9!important;color:#6b6358!important;border:1px solid #d4cabc!important;cursor:not-allowed;filter:none!important;transform:none!important;box-shadow:none!important;opacity:1}
.action-button:disabled:hover,.action-button[aria-disabled=true]:hover{background:#e9e3d9!important;color:#6b6358!important;filter:none!important;transform:none!important;box-shadow:none!important}
.weapon-stage{display:grid;grid-template-columns:88px minmax(0,190px);justify-content:center;align-items:center;gap:16px;text-align:left}
.weapon-preview{justify-self:center;object-fit:contain}
.weapon-stage>div{min-width:0;gap:6px}
.weapon-stage>div>strong{line-height:1.3}
.weapon-stage p{line-height:1.45;max-width:24ch}
.weapon-option{height:72px;min-height:72px;padding:5px 3px;gap:4px}
.weapon-option img{flex:0 0 38px;width:31px;height:38px;object-fit:contain}
.weapon-option span{line-height:1.2}
.material-card{display:grid;grid-template-rows:104px auto minmax(30px,auto) 30px;align-content:start;justify-items:center;gap:7px;min-height:0;height:218px;padding:12px 10px}
.material-image-frame{width:100%;height:104px;min-height:104px;padding:5px;overflow:hidden;border-radius:8px;background:#f1eadc}
.material-image-frame img{width:100%;height:100%;object-fit:contain}
.material-card strong{max-width:100%;line-height:1.25;overflow-wrap:anywhere}
.material-card small{width:100%;min-height:0;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.material-action{align-self:stretch;min-width:0;min-height:30px;padding:4px 7px;border:1px solid #d9cebd;border-radius:8px;background:#eee8de;color:#6c6255;font-size:9px;font-weight:700;white-space:nowrap;cursor:not-allowed}
.material-action:disabled{opacity:1}
.result-message{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #dcd2c3;border-left:3px solid #9a876b;border-radius:9px;background:#f3eee6;color:#4e483f;font-size:11px}
.message-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#e7dfd1;color:#645b4d;font-size:12px;font-weight:800}
.message-text{min-width:0;line-height:1.45}
.result-message[data-message-type=success]{border-color:#bfd1ba;border-left-color:#56804e;background:#edf4e9;color:#354c32}
.result-message[data-message-type=success] .message-icon{background:#d9e8d3;color:#42683b}
.result-message[data-message-type=failure]{border-color:#dfc0b9;border-left-color:#a34e43;background:#f8eeeb;color:#684039}
.result-message[data-message-type=failure] .message-icon{background:#f0dcd7;color:#8b4037}
.result-message[data-message-type=info]{border-color:#dcd2c3;border-left-color:#9a876b;background:#f3eee6;color:#4e483f}
.result-card{padding:19px;line-height:1.45}
.result-card .section-heading{gap:12px}
.result-card .news-note{margin-top:14px;padding:14px 15px;line-height:1.5}
.result-card .result-divider{margin:18px 0}
.result-card .rank-progress{margin-top:14px}
.ad-slot{padding:13px;line-height:1.45}
.support-card{padding:13px;gap:11px;line-height:1.4}
@media(max-width:640px){
  .weapon-stage{grid-template-columns:72px minmax(0,170px);gap:11px;min-height:132px}
  .weapon-option{height:66px;min-height:66px}
  .weapon-option img{flex-basis:34px;width:27px;height:34px}
  .material-card{height:198px;grid-template-rows:88px auto minmax(30px,auto) 30px;padding:9px 5px;gap:6px}
  .material-image-frame{height:88px;min-height:88px}
  .material-card strong{font-size:10px}
  .material-card small{font-size:8px}
  .result-card{padding:16px}
}
@media(max-width:370px){
  .weapon-stage{grid-template-columns:64px minmax(0,155px);gap:8px}
  .weapon-option{height:64px;min-height:64px}
  .material-card{height:188px;grid-template-rows:78px auto minmax(30px,auto) 30px;padding:8px 3px;gap:5px}
  .material-image-frame{height:78px;min-height:78px}
  .material-action{font-size:8px;padding-inline:3px}
}
