:root{color-scheme:dark;--bg:#171b17;--panel:#1d221c;--line:#343b30;--ink:#eee9d9;--muted:#a0a492;--copper:#e6ac72;--green:#a9bd82}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif;font-size:14px;background-image:radial-gradient(ellipse at 20% 55%,#32302355,transparent 52%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--copper);outline-offset:5px}button:disabled{cursor:not-allowed}button{touch-action:manipulation}.shell{max-width:1260px;margin:auto;padding:0 48px}header{height:102px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{text-decoration:none;color:var(--ink);font-family:Georgia,serif;font-size:34px;display:flex;align-items:center;gap:10px}.brandmark{color:var(--copper);font-size:36px}.edition{font:9px Arial,sans-serif;letter-spacing:2px;margin-left:12px;border-left:1px solid var(--line);padding-left:21px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:10px}#save-status{color:var(--muted);font-size:11px;margin-right:10px}.small{background:transparent;border:1px solid var(--line);border-radius:7px;padding:10px 13px}.small:hover{background:#30372b}main{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;padding:40px 0 32px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);display:flex;align-items:center;gap:8px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #a9bd8255}.chapter{margin-left:auto;font-size:9px;letter-spacing:1.5px;color:#7f8877}h1{font:normal 47px/1.12 Georgia,serif;letter-spacing:-1.5px;margin:28px 0 15px}h1 em{font-style:normal;color:var(--copper)}.intro,.shop-intro{color:var(--muted);font-size:13px;line-height:1.6}.balance{text-align:center;margin-top:27px}.balance>span{font:54px/1.1 Georgia,serif;letter-spacing:-1px;font-variant-numeric:tabular-nums}.balance>div{color:var(--copper);font-size:9px;letter-spacing:3px;margin-top:10px}.rates{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--muted);font-size:11px;margin-top:16px}.rates b{font-weight:normal;color:var(--ink)}.rates i{height:12px;width:1px;background:var(--line)}.forge-stage{height:289px;position:relative;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 50% 60%,#ae683422,transparent 60%)}#forge{height:270px;width:290px;background:transparent;border:none;z-index:2;transition:transform .1s;user-select:none}#forge:hover{transform:translateY(-3px);filter:brightness(1.13)}#forge:active,#forge.struck{transform:translateY(3px) scale(.96)}#forge svg{width:100%;height:100%;overflow:visible}.flame{transform-origin:160px 180px;animation:flicker 2s ease-in-out infinite alternate}.orbit{position:absolute;border:1px solid #7a714727;border-radius:50%;width:295px;height:110px;top:155px;transform:rotate(-8deg);pointer-events:none}.orbit-two{width:360px;height:146px;top:135px;transform:rotate(8deg);border-style:dashed}.spark{position:absolute;color:var(--copper);opacity:.6;animation:float 3s ease-in-out infinite alternate}.s1{left:26%;top:27%;font-size:18px}.s2{right:20%;top:49%;font-size:23px;animation-delay:-1s}.s3{right:32%;top:14%;font-size:35px}.stage-caption{position:absolute;bottom:0;font-size:10px;letter-spacing:.3px;color:var(--muted)}.key{display:inline-block;border:1px solid #48503d;padding:4px 7px;border-radius:4px;font-size:8px;letter-spacing:1px;margin-right:5px}.milestone{margin-top:30px;padding:18px 21px;background:#20251e;border:1px solid var(--line);border-radius:9px}.milestone>div:first-child{display:flex;justify-content:space-between;font-size:11px}.milestone-count,#milestone-count{color:var(--muted);font-size:10px}.track{height:4px;background:#343b2d;border-radius:4px;margin-top:12px;overflow:hidden}#milestone-fill{height:100%;background:var(--green);transition:width .2s}.milestone p{margin:10px 0 0;font-size:10px;line-height:1.5;color:var(--muted)}aside{border-left:1px solid var(--line);padding-left:40px}.workshop-heading{display:flex;align-items:center;justify-content:space-between;margin-top:4px}h2{font:normal 30px Georgia,serif;margin:12px 0 0}.shop-icon{font-size:27px;color:var(--copper)}.shop-intro{margin:10px 0 24px}.upgrade{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:17px 15px;margin-bottom:10px;display:grid;grid-template-columns:42px 1fr;column-gap:12px;transition:border-color .15s}.upgrade.available{border-color:#6c7654}.item-icon{height:42px;width:42px;background:#2e3428;border:1px solid #464b38;border-radius:9px;display:grid;place-items:center;font-size:24px;color:var(--copper)}.item-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.item-heading h3{font-size:13px;font-weight:normal;margin:1px 0 5px}.owned{font-size:10px;color:var(--muted)}.item-description{color:var(--muted);font-size:10px;margin:0;line-height:1.4}.item-bottom{grid-column:2;display:flex;justify-content:space-between;gap:7px;align-items:center;margin-top:11px}.item-effect{color:var(--green);font-size:10px}.buy{font-size:11px;border:1px solid #5e6b45;background:#333f29;color:#e0e9c9;border-radius:5px;padding:7px 10px;min-width:85px}.buy:hover:enabled{background:#465435}.buy:disabled{background:#282d24;border-color:#353c2f;color:#969b89}.rekindle{margin-top:22px;border-top:1px solid var(--line);padding-top:21px}.rekindle-head{display:flex;gap:10px;align-items:center}.rekindle-head>span{font-size:25px;color:var(--copper)}h3{font-size:14px;font-weight:normal;margin:0}.rekindle p{color:var(--muted);font-size:11px;line-height:1.7;margin:9px 0 15px}#rekindle{width:100%;padding:12px;border:1px solid #73583d;border-radius:6px;background:#4f3927;color:#f4d1a6;font-size:11px}#rekindle:disabled{background:#25291f;color:#939785;border-color:var(--line)}#ash{font-size:9px;text-align:center;color:var(--muted);margin:10px 0}footer{padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#9a9e8d}footer>span:first-child{letter-spacing:1.5px}footer>span:last-child{font:italic 12px Georgia,serif}.gain{position:absolute;left:50%;top:44%;z-index:4;color:#ffcd88;font:24px Georgia,serif;pointer-events:none;animation:gain .8s ease-out forwards}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#e1d9c2;color:#262d21;box-shadow:0 10px 35px #0005;border-radius:8px;padding:14px 22px;max-width:90%;text-align:center;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{width:min(490px,90vw);border:1px solid #596148;background:#20271e;color:var(--ink);border-radius:14px;padding:32px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#090d09ba;backdrop-filter:blur(5px)}dialog p{font-size:13px;line-height:1.8;color:#b6bbaa}.close{float:right;font-size:22px;padding:1px 9px}.dialog-actions{display:flex;gap:10px;margin:20px 0}.primary{background:var(--copper);color:#29281f;border:0;border-radius:7px;padding:11px 15px}.muted{font-size:11px!important}@keyframes flicker{to{transform:scale(.96,1.05);opacity:.8}}@keyframes float{to{transform:translateY(-12px);opacity:.3}}@keyframes gain{to{transform:translateY(-70px);opacity:0}}@media(min-width:1500px){.shell{padding-top:25px}main{padding-top:50px}}@media(max-width:900px){.shell{padding:0 25px}main{gap:30px}aside{padding-left:25px}h1{font-size:38px}.edition{display:none}#save-status{display:none}}@media(max-width:650px){.shell{padding:0 20px}header{height:80px}.brand{font-size:29px}.header-actions{gap:6px}.small{font-size:11px;padding:9px}main{grid-template-columns:1fr;gap:35px;padding-top:25px}h1{font-size:40px}.forge-panel{max-width:460px;width:100%;margin:auto}aside{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.balance{margin-top:25px}.forge-stage{height:275px}footer{flex-wrap:wrap;line-height:1.8}footer>span:last-child{width:100%}.upgrade{padding:18px}.item-description{font-size:11px}.item-heading h3{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.gain{display:none}}
