@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#121714;--panel:#1b221d;--line:#354033;--ink:#ebe8da;--muted:#a5ae9d;--gold:#d6b777;--green:#c1d29f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Inter,system-ui,sans-serif}a{color:var(--gold);text-underline-offset:4px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.1}h1{font-size:46px;margin:6px 0 28px}h2{font-size:30px;margin:0 0 16px}h3{font-size:24px;margin:8px 0}p{margin:10px 0 18px}.muted,footer{color:var(--muted)}.masthead{padding:24px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.wordmark{font:36px Georgia,serif;letter-spacing:6px;text-decoration:none;color:var(--ink)}.wordmark span{display:block;font:10px Inter,system-ui;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:8px}.shell{display:flex;max-width:1440px;margin:auto;min-height:80vh}aside{width:250px;flex-shrink:0;padding:32px 24px;border-right:1px solid var(--line)}main{padding:40px;flex:1;min-width:0}aside nav{margin:24px 0}.identity h2{margin:10px 0}details{border-top:1px solid var(--line);padding:12px 0}summary{cursor:pointer;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:700;color:var(--muted)}details a{display:block;text-decoration:none;padding:6px 10px;font-size:13px}.tam-link{border-left:2px solid var(--gold);margin-top:6px;background:#d6b7770a}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:700;color:var(--gold);margin:0 0 12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:28px;margin-bottom:24px}.page-heading{display:flex;justify-content:space-between;align-items:center}.badge{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:4px 12px;color:var(--green);white-space:nowrap}.bars{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:8px 0 30px}.bars label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}meter{width:100%;height:10px;accent-color:#9bb47c}meter::-webkit-meter-bar{background:#2b342b;border:0}meter::-webkit-meter-optimum-value{background:#9bb47c}.persistent{padding:12px 18px;border-left:2px solid var(--gold);background:#d6b7770a;margin-bottom:24px;font-size:13px}.jump{display:flex;gap:20px;margin-bottom:26px;font-size:12px}.steps{padding-left:24px}.steps li{padding:8px 0 18px 8px}.done::marker{color:var(--green)}.done{color:#b8c7a8}.locked{border-left:2px solid #596354;color:var(--muted);padding-left:12px;font-size:13px}button,.button{display:inline-block;background:var(--gold);border:1px solid var(--gold);color:#171d17;padding:11px 18px;font:600 12px Inter,system-ui;border-radius:3px;cursor:pointer;text-decoration:none;margin:5px 5px 5px 0;line-height:1.5}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.4;cursor:not-allowed}.secondary{color:var(--ink);background:transparent;border-color:#596354}.danger{color:#e4b1a4;background:transparent;border-color:#795d54}input,select{display:block;background:#141a16;color:var(--ink);border:1px solid #596354;padding:10px;font:inherit;border-radius:3px;width:100%;max-width:460px;margin:5px 0 14px}label{font-size:13px}.errorlist{color:#f2b9a8;font-size:13px}.helptext{display:block;font-size:12px;color:var(--muted)}.auth{max-width:600px;margin:40px auto}.hero{padding:56px 0;max-width:800px;margin:auto}.hero h1{font-size:76px;line-height:1}.hero p{color:var(--muted)}article{padding:18px 0;border-bottom:1px solid var(--line)}.item-list article{display:flex;align-items:center;justify-content:space-between;gap:20px}.entry time{color:var(--gold);font-size:11px}.travel{display:flex;flex-wrap:wrap;gap:8px}.build-note{color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:20px}.toasts{position:fixed;z-index:5;top:15px;right:20px;max-width:510px;max-height:85vh;overflow:auto}.toast{padding:20px 45px 20px 20px;border:1px solid var(--green);background:#263329;box-shadow:0 8px 32px #0008;font-size:13px;margin-bottom:8px;position:relative}.toast.error{border-color:#d49b82;background:#3b2922}.toast button{position:absolute;right:0;top:0;background:transparent;border:0;color:var(--ink);font-size:20px;padding:0 8px}dialog[open]{position:fixed;inset:15vh 0 auto;z-index:4;width:min(600px,90vw);border:1px solid var(--gold);background:#222b23;color:var(--ink);padding:32px;box-shadow:0 0 0 100vmax #000b}.battle-popup{padding:14px;border:1px solid var(--gold)}footer{padding:24px 4%;border-top:1px solid var(--line);font-size:11px}@media(max-width:760px){.masthead{padding:20px}.wordmark{font-size:28px}main{padding:22px 18px}aside{width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}aside .identity{display:none}aside nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:0}aside details a{font-size:12px}.bars{gap:10px;grid-template-columns:repeat(3,1fr)}h1{font-size:38px}.page-heading{align-items:flex-start}.hero{padding:30px 0}.hero h1{font-size:53px}.panel{padding:22px 18px}.item-list article{display:block}.toasts{top:10px;right:10px;left:10px;max-width:none}dialog[open]{top:8vh}.page-heading .badge{white-space:normal;max-width:100px}}

/* Persistent bar identity at every fill level. Palette is provisional. */
.bar-health{--bar-color:#ed7e84}.bar-stamina{--bar-color:#b1d16c}.bar-mana{--bar-color:#77b7f7}.bar-cunning{--bar-color:#c6a0f6}.bar-morale{--bar-color:#edbe61}
.bar label{color:var(--bar-color)}.bar meter{height:15px;accent-color:var(--bar-color)}.bar meter::-webkit-meter-optimum-value{background:var(--bar-color)}.bar meter::-moz-meter-bar{background:var(--bar-color)}
.focus-choice{display:inline-flex;align-items:center;gap:8px;margin:8px 18px 8px 0}.focus-choice input{width:auto;margin:0}.stat-list article{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-list p{margin:0}fieldset{border:1px solid var(--line);margin:20px 0;padding:15px}@media(max-width:760px){.stat-list article{display:block}}

.skin-menu{display:inline-block;position:relative;border:0;margin-right:16px}.skin-menu form{position:absolute;right:0;top:35px;width:250px;background:var(--panel);border:1px solid var(--line);padding:20px;z-index:6;box-shadow:0 10px 30px #0005}.skin-menu summary{color:var(--gold);font-size:12px;text-transform:none;letter-spacing:0}
/* Prototype approximation: replace with reference-matched tokens when supplied. */
body[data-skin="prototype"]{--bg:#eee4cb;--panel:#fcf5e4;--line:#b9ab89;--ink:#30291f;--muted:#655b4c;--gold:#784624;--green:#3e5c32;font-family:Georgia,serif}
body[data-skin="prototype"] h1,body[data-skin="prototype"] h2,body[data-skin="prototype"] h3{font-family:Georgia,serif}
body[data-skin="prototype"] .masthead{background:#493327}body[data-skin="prototype"] .masthead .wordmark,body[data-skin="prototype"] .masthead a,body[data-skin="prototype"] .masthead .muted,body[data-skin="prototype"] .skin-menu summary{color:#f7e4bb}body[data-skin="prototype"] .skin-menu form{color:var(--ink)}
body[data-skin="prototype"] button,body[data-skin="prototype"] .button{background:#784624;color:#fff6e4}body[data-skin="prototype"] .secondary{background:transparent;color:var(--ink)}body[data-skin="prototype"] input,body[data-skin="prototype"] select{background:#fffaf0;color:var(--ink)}body[data-skin="prototype"] .toast{background:#f1f6e6;color:#283a22}body[data-skin="prototype"] .toast.error{background:#ffe8de;color:#633422}body[data-skin="prototype"] dialog{background:#fcf5e4;color:var(--ink)}
body[data-skin="prototype"] .bar-health{--bar-color:#b52936}body[data-skin="prototype"] .bar-stamina{--bar-color:#4c6e1c}body[data-skin="prototype"] .bar-mana{--bar-color:#246fa8}body[data-skin="prototype"] .bar-cunning{--bar-color:#8045a2}body[data-skin="prototype"] .bar-morale{--bar-color:#956500}

.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.equipment-grid article{border:1px solid var(--line);padding:16px}.equipment-grid p{font-size:12px}.equipment-grid h3{font-size:23px}@media(max-width:760px){.equipment-grid{grid-template-columns:1fr}}
