@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#20251f;--muted:#7f857c;--paper:#f7f7f2;--green:#456e4c;--line:#dfe2d9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(calc((100vw - 1000px)/2),24px);gap:22px}.brand{text-decoration:none;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:-1px}.brand span{color:var(--green)}.date,.eyebrow,small,.status>span,footer{font-family:'DM Mono',monospace;letter-spacing:1px}.date{font-size:10px;color:var(--muted);margin-left:auto}.help{border:1px solid var(--line);background:transparent;border-radius:50%;width:29px;height:29px;color:var(--muted)}main{max-width:540px;margin:66px auto 40px;padding:0 24px}.eyebrow{color:var(--green);font-size:10px;font-weight:500}.intro h1{font-size:43px;line-height:1.13;letter-spacing:-2px;margin:16px 0 12px}.intro h1 em{font-family:'Playfair Display',serif;color:var(--green);font-weight:600}.intro p{color:var(--muted);font-size:14px;margin:0 0 32px}.route{border:1px solid var(--line);border-radius:14px;background:#fff;padding:23px 25px}.point{display:flex;align-items:center;gap:14px}.dot{width:11px;height:11px;border-radius:50%;flex:none}.start{background:#56845c;box-shadow:0 0 0 5px #edf3ed}.goal{background:#d99555;box-shadow:0 0 0 5px #fbf1e8}.point small{font-size:9px;color:var(--muted)}.point h2{font-size:18px;margin:4px 0 0;letter-spacing:-.4px}.connector{height:34px;margin-left:5px;border-left:1px dashed #c6ccc1;display:flex;align-items:center;padding-left:13px;color:#a4a99f;font-size:13px}.status{display:flex;align-items:center;gap:12px;margin:23px 0}.status>span{font-size:9px;color:var(--muted)}#steps{display:flex;gap:6px;flex:1}.step{height:4px;border-radius:3px;background:#e1e4dd;flex:1}.step:first-child{background:#6c936f}.status b{font-size:10px;color:var(--muted);font-weight:500}.play{width:100%;padding:16px 18px;border:0;border-radius:9px;background:var(--green);color:#fff;font:600 14px 'DM Sans';cursor:pointer;display:flex;justify-content:space-between}.play span{font-size:18px;line-height:15px}.play:hover{background:#365c3c}.note{text-align:center;font-size:11px;color:var(--muted);margin-top:14px}footer{text-align:center;color:#9a9e95;font-size:9px;margin-top:58px;letter-spacing:.3px}@media(max-width:600px){main{margin:48px auto 30px}.intro h1{font-size:36px}.route{padding:20px}}
.game-overlay{position:fixed;inset:0;background:rgba(24,30,24,.52);z-index:10;display:flex;justify-content:center;align-items:stretch;padding:18px}.game-shell{width:min(850px,100%);background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 70px #1114}.game-head{padding:17px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);height:auto}.game-head small{font-size:9px;color:var(--green)}.game-head h2{font-size:17px;margin:4px 0 0}.icon-btn{border:0;background:#f2f3ef;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer;color:var(--muted)}.game-meta{padding:10px 22px;background:#f8f9f6;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.game-meta b{color:var(--green)}.article-wrap{overflow:auto;padding:26px 34px;flex:1;font-family:Arial,sans-serif;line-height:1.65;color:#202122}.article-wrap article{max-width:680px;margin:auto;font-size:15px}.article-wrap h1,.article-wrap h2,.article-wrap h3{font-family:Georgia,serif;line-height:1.25;border-bottom:1px solid #eaecf0;padding-bottom:5px;margin-top:1.3em}.article-wrap h1{font-size:28px}.article-wrap h2{font-size:22px}.article-wrap h3{font-size:18px}.article-wrap p{margin:.6em 0}.article-wrap .infobox{float:right;margin:0 0 15px 20px;max-width:270px;background:#f8f9fa;border:1px solid #a2a9b1;padding:8px;font-size:12px}.article-wrap .infobox img{max-width:100%;height:auto}.article-wrap img{max-width:100%;height:auto}.article-wrap table{max-width:100%;font-size:12px;border-collapse:collapse}.article-wrap td,.article-wrap th{padding:4px;border:1px solid #c8ccd1}.article-wrap a.wiki-link{color:#36c;text-decoration:none;cursor:pointer}.article-wrap a.wiki-link:hover{text-decoration:underline}.article-wrap a.disabled-link{color:#54595d;text-decoration:none}.game-message{border-top:1px solid var(--line);padding:13px 22px;font-size:12px;color:var(--muted);background:#fcfcfa}.game-message.success{color:#27632f;background:#f0f7ef;font-weight:600}.game-message.failure{color:#8a4e21;background:#fbf1e8}.small-error{font-size:10px;color:#999}@media(max-width:600px){.game-overlay{padding:0}.game-shell{border-radius:0}.article-wrap{padding:20px 18px}.game-meta,.game-head{padding-left:17px;padding-right:17px}.article-wrap .infobox{float:none;margin:0 auto 14px;max-width:100%}}
.step.used{background:#6c936f}
.result-card{margin:22px 0 0;padding:18px 20px;border:1px solid #cfe0cc;border-radius:12px;background:#f0f7ef;color:#315d38;display:grid;gap:7px;font-size:14px}.result-card[hidden]{display:none}.result-title{font-weight:700;font-size:18px}.result-card small{font-size:10px;color:#748275;letter-spacing:.1px}.play:disabled{opacity:.75;cursor:default}.game-message{position:relative;z-index:3}.article-wrap{position:relative}.article-wrap article.game-finished a.wiki-link{pointer-events:none;cursor:default}.article-wrap article.game-finished{user-select:text}
.in-game-result{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0}.article-wrap article.game-finished a.wiki-link{pointer-events:none;color:#6b7280;cursor:text}
.target-info{margin:7px 0 0;padding:0;border:0;background:none;color:var(--green);font:600 11px 'DM Sans',sans-serif;cursor:pointer}.target-info:hover{text-decoration:underline}.target-preview{max-width:390px;margin-top:10px;padding:12px 14px;border:1px solid #d8e3d5;border-radius:9px;background:#f3f8f1;color:#415744;font-size:12px;line-height:1.45}.target-preview[hidden]{display:none}
.result-content{display:grid;gap:12px}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-metrics>div{background:#fff;border:1px solid #d8e3d5;border-radius:8px;padding:10px;display:grid;gap:4px}.result-metrics b{font-size:19px}.result-metrics small{font:9px 'DM Mono',monospace;color:#768576}.community-rank{margin:0;font-size:12px;line-height:1.45}.community-heading{font:10px 'DM Mono',monospace;letter-spacing:1px;margin-top:7px;color:#708270}.community-row{display:grid;grid-template-columns:66px 1fr 26px;gap:9px;align-items:center;font-size:11px}.community-row i{display:block;height:8px;background:#83a888;border-radius:8px}.community-row b{text-align:right;font-size:11px}
.share-result{width:100%;padding:12px 15px;border:0;border-radius:8px;background:var(--green);color:#fff;font:600 13px 'DM Sans',sans-serif;cursor:pointer;text-align:center}.share-result:hover,.tutorial-start:hover{background:#365c3c}.tutorial-overlay{position:fixed;inset:0;z-index:30;background:rgba(24,30,24,.58);display:grid;place-items:center;padding:18px}.tutorial-card{position:relative;width:min(450px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:30px;background:var(--paper);border-radius:16px;box-shadow:0 24px 70px #1114}.tutorial-card>small{color:var(--green);font-size:10px}.tutorial-card h2{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:13px 28px 20px 0}.tutorial-card ol{margin:0;padding-left:22px;display:grid;gap:15px;font-size:14px;line-height:1.5}.tutorial-card li::marker{color:var(--green);font-weight:700}.tutorial-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:20px 0}.tutorial-close{position:absolute;right:18px;top:14px;border:0;background:none;color:var(--muted);font-size:26px;cursor:pointer}.tutorial-start{width:100%;padding:14px;border:0;border-radius:8px;background:var(--green);color:#fff;font:600 14px 'DM Sans',sans-serif;cursor:pointer}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-actions .share-result{width:auto}.copy-result{padding:11px 12px;border:1px solid #b8ceb8;border-radius:8px;background:#fff;color:var(--green);font:600 12px 'DM Sans',sans-serif;cursor:pointer}.copy-result:hover{background:#e8f2e7}@media(max-width:420px){.result-actions{grid-template-columns:1fr}}
