:root{--bg:#11120f;--panel:#191b18;--panel2:#1f211d;--ink:#e8e5da;--muted:#a5a49a;--amber:#d8ae71;--rust:#8e563d;--edge:#383b32;--glow:#92ad90}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 70% -20%,#2e3026 0,transparent 58%),var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}.grain{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.12;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#000 4px,#000 5px)}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{height:77px;border-bottom:1px solid var(--edge);padding:0 max(22px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-family:Georgia,serif;font-size:29px;letter-spacing:.22em;line-height:1}.brand small{display:block;font:9px system-ui;letter-spacing:.17em;color:var(--muted);padding-top:8px}.sigil{color:var(--amber);font-size:40px}.top-right{display:flex;gap:22px;align-items:center}.connection,.eyebrow,.kicker,.chapter,.choice-title,.side-title,label{letter-spacing:.19em;font-size:10px;font-weight:700}.connection{color:var(--amber);white-space:nowrap}.textbtn{background:none;border:0;color:var(--amber);padding:10px;font-size:10px;letter-spacing:.12em}.textbtn:hover{text-decoration:underline}main{max-width:1280px;padding:42px 22px 60px;margin:auto}.login{min-height:65vh;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:9vw}.rune{height:150px;font:140px Georgia;color:var(--amber);opacity:.7;line-height:1}.login h1,.story h1{font-family:Georgia,'Times New Roman',serif;line-height:1.07;font-size:clamp(43px,5vw,74px);font-weight:400;letter-spacing:-.035em;margin:20px 0}.login h1 em{color:var(--amber);font-weight:400}.login-art p{color:var(--muted);max-width:430px}.login-form,.panel{background:linear-gradient(155deg,#22241e,var(--panel) 65%);border:1px solid var(--edge);box-shadow:0 14px 35px #08090733}.login-form{padding:39px;display:grid;gap:13px}.login-form label,.action-form label{color:var(--amber);display:block}.login-form input,.login-form select,textarea,.search input{background:#11130f;color:var(--ink);border:1px solid #505043;outline:none;border-radius:3px;padding:13px;width:100%;min-width:0}.login-form input:focus,textarea:focus,.search input:focus{border-color:var(--amber);box-shadow:0 0 0 2px #d8ae711c}.primary{background:var(--amber);border:1px solid #ffe0aa;color:#191711;padding:14px 19px;font-weight:800;font-size:11px;letter-spacing:.16em;display:flex;justify-content:space-between;gap:10px;align-items:center}.primary:hover{background:#edc88d}.primary:disabled{opacity:.5;cursor:wait}.login-form .primary{margin-top:14px}.muted{color:var(--muted);font-size:12px}.sectionbar{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--edge);padding:3px 0 15px;margin-bottom:22px;color:var(--muted)}.sectionbar b{color:var(--amber)}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(295px,.75fr);gap:20px}.panel{padding:29px}.story{padding:clamp(22px,3vw,44px)}.chapter{color:var(--amber)}.diamond{padding:0 8px;color:var(--rust)}.story h1{font-size:clamp(34px,3vw,50px);margin:16px 0}.accent-line{height:1px;width:80px;background:var(--amber);margin:23px 0}.scene{white-space:pre-wrap;font-family:Georgia,serif;font-size:19px;line-height:1.75;color:#e0ddd2;min-height:155px}.choice-title{margin-top:32px;color:var(--muted)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 30px}.choice{background:#24251f;color:var(--ink);padding:16px;min-height:76px;border:1px solid #4a473d;text-align:left;display:flex;gap:14px;font-size:13px}.choice:hover{border-color:var(--amber)}.choice>span:first-child{font:22px Georgia;color:var(--amber);line-height:1}.action-form{border-top:1px solid var(--edge);padding-top:22px}.action-form label{margin-bottom:10px}textarea{resize:vertical;min-height:116px}.action-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.action-footer small{font-size:11px;color:var(--muted);max-width:270px}.message{font-size:13px;color:var(--glow)}.sidebar{display:flex;flex-direction:column;gap:18px}.eyebrow,.side-title{color:var(--amber)}.player-name{font:38px Georgia;margin-top:8px}.subtitle{color:var(--muted);font-size:12px;letter-spacing:.16em}.health{margin-top:27px}.health>div:first-child{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.health strong{color:var(--ink)}.hpbar{margin-top:12px;height:6px;background:#3c322d}.hpbar>div{height:100%;background:linear-gradient(90deg,#9f543f,#d6a873);transition:width .3s}.columns{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;margin:25px 0;border-block:1px solid var(--edge);padding:22px 0}.bigstat{font:31px Georgia;margin-top:4px}.smallstat{font-size:12px;margin-top:8px}.side-title{margin:20px 0 10px;border-bottom:1px solid var(--edge);padding-bottom:8px}.inventory{display:flex;flex-wrap:wrap;gap:7px}.inventory span{border:1px solid var(--edge);padding:5px 8px;background:#23251f;color:#d5d2c6;font-size:12px}.player-card ul{color:var(--muted);font-size:13px;padding-left:18px}.fusion-mode{font:21px Georgia;margin:12px 0;color:var(--amber)}.companion p{font-size:13px;color:var(--muted)}.loghead{display:flex;justify-content:space-between;align-items:center}.entries{max-height:300px;overflow:auto}.entry{border-bottom:1px solid var(--edge);padding:11px 0;font-size:12px}.entry small{color:var(--amber);display:block}.entry p{color:var(--muted);margin:5px 0}.search{display:flex;gap:5px;margin-top:14px}.search input{font-size:12px}.search button{background:#33392d;color:var(--ink);border:1px solid var(--edge);font-size:10px;padding:8px}.log{min-width:0}#results{font-size:12px;color:var(--muted);max-height:200px;overflow:auto}footer{font-size:10px;letter-spacing:.13em;color:#88877b;text-align:center;padding:26px}#loginStatus{color:#d9a47d;font-size:13px}[hidden]{display:none!important}@media(max-width:830px){.top{padding:0 17px;height:67px}.brand{font-size:22px;letter-spacing:.14em}.brand small{font-size:7px;letter-spacing:.07em}.connection{font-size:9px}main{padding:24px 12px 55px}.login{grid-template-columns:1fr;gap:26px}.login-art{padding:20px 10px}.rune{font-size:95px;height:92px}.login h1{font-size:49px}.login-form{padding:25px}.layout{grid-template-columns:1fr}.story,.panel{padding:21px}.scene{font-size:17px}.action-footer{align-items:stretch;flex-direction:column}.action-footer button{width:100%}.sectionbar{font-size:9px}.choices{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr}.log{min-width:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Mobile viewport: contain the long Polish heading without horizontal overflow. */
@media(max-width:830px){.login,.login-art,.login-form{min-width:0;max-width:100%}.login h1{font-size:clamp(30px,8.5vw,40px);overflow-wrap:break-word}.login-art p{max-width:100%}}

/* FUSION v2 — campaign library */
.library{max-width:1280px}.hero-library{padding:40px 0 34px;max-width:850px}.hero-library h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,7vw,88px);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:18px 0}.hero-library h1 em{color:var(--amber);font-weight:400}.hero-library p{max-width:680px;color:var(--muted);font-size:16px}.library-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.7fr);gap:20px}.campaigns-panel h2,.new-campaign h2{font:34px Georgia;margin:8px 0 18px}.campaign-cards{display:grid;gap:12px}.campaign-card{border:1px solid var(--edge);background:linear-gradient(145deg,#1e211c,#151713);padding:20px;position:relative;overflow:hidden}.campaign-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--amber),transparent)}.campaign-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.campaign-card h3{font:26px Georgia;margin:6px 0 0}.campaign-card p{font-family:Georgia,serif;color:#c5c2b7;margin:15px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.campaign-status{font-size:9px;letter-spacing:.14em;color:var(--glow);border:1px solid #536253;padding:5px 7px;white-space:nowrap}.campaign-meta{display:flex;justify-content:space-between;gap:12px;color:#7f8077;font-size:10px;border-top:1px solid var(--edge);padding-top:11px}.campaign-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.player-link{text-decoration:none;justify-content:center;text-align:center}.secondary{background:#292c26;border:1px solid #56584f;color:var(--ink);padding:14px 16px;font-weight:700;font-size:10px;letter-spacing:.14em;display:flex;align-items:center;justify-content:center}.secondary:hover{border-color:var(--amber)}.new-campaign{align-self:start;position:sticky;top:18px}.new-campaign form{display:grid;gap:10px;margin-top:23px}.new-campaign input{background:#11130f;color:var(--ink);border:1px solid #505043;padding:13px;width:100%;outline:none}.new-campaign input:focus{border-color:var(--amber)}.new-campaign .rune.small{font-size:66px;height:70px;margin-top:14px}.library-note{margin-top:26px;padding-top:18px;border-top:1px solid var(--edge)}.library-note p{color:var(--muted);font-size:12px}.player-pill{border:1px solid var(--amber);color:var(--amber);padding:6px 9px;font-size:9px;letter-spacing:.16em}.back-library{display:inline-block;margin-top:8px;color:var(--amber);font-size:10px;letter-spacing:.12em;text-decoration:none}.back-library:hover{text-decoration:underline}
@media(max-width:830px){.hero-library{padding:20px 6px 25px}.hero-library h1{font-size:clamp(41px,12vw,58px)}.library-grid{grid-template-columns:1fr}.new-campaign{position:static;order:-1}.campaign-actions{grid-template-columns:1fr}.campaign-card h3{font-size:23px}.campaign-meta{flex-direction:column;gap:2px}.top-right{gap:8px}.player-pill{font-size:8px}.brand small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Mobile containment pass 2 */
@media(max-width:830px){.library,.hero-library,.library-grid,.campaigns-panel,.new-campaign,.campaign-card{min-width:0;width:100%;max-width:100%}.hero-library h1{font-size:clamp(36px,10.5vw,47px);overflow-wrap:anywhere;word-break:normal}.hero-library p,.new-campaign p,.campaign-card p{overflow-wrap:anywhere}.library{overflow-x:hidden}.new-campaign{padding:20px}.campaign-card{padding:17px}}

@media(max-width:830px){html,body{max-width:100%;overflow-x:hidden}.hero-library h1,.hero-library p{width:calc(100vw - 48px);max-width:calc(100vw - 48px)}.new-campaign{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}

.profile-gate{margin-bottom:20px;display:grid;grid-template-columns:1fr 1.2fr;gap:28px;border-color:#6b5a3e}.profile-gate h2{font:38px Georgia;margin:8px 0 10px}.profile-gate p{color:var(--muted)}.profile-gate form{display:grid;gap:10px}.profile-gate input{background:#11130f;color:var(--ink);border:1px solid #505043;padding:10px;width:100%;margin-top:5px}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.stats-grid label{text-align:center}.stats-grid input{text-align:center;padding:8px 4px}.profile-total{font-size:11px;color:var(--muted);letter-spacing:.12em}.profile-total strong{color:var(--glow)}
@media(max-width:830px){.profile-gate{grid-template-columns:1fr;gap:14px}.profile-gate h2{font-size:31px}.stats-grid{grid-template-columns:repeat(3,1fr)}}

/* FUSION 1.1 — new game modes, modules, death/re-entry, feedback */
.new-campaign select,.profile-gate select,.death-gate select,.feedback select,
.profile-gate input,.death-gate input,.feedback textarea{
  width:100%;background:#11130f;color:var(--ink);border:1px solid #505043;padding:12px;outline:none
}
.new-campaign select:focus,.profile-gate select:focus,.death-gate select:focus,.feedback select:focus,
.profile-gate input:focus,.death-gate input:focus,.feedback textarea:focus{border-color:var(--amber)}
.form-help,.muted{color:var(--muted);font-size:12px}
.campaign-tags{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0}
.campaign-tags span{border:1px solid #44483f;background:#171913;padding:5px 7px;font-size:9px;letter-spacing:.08em;color:#a8a99f}
.death-gate{margin-bottom:18px;border-color:#735149;background:linear-gradient(145deg,#251a18,#151412)}
.death-gate h2{font:34px Georgia;margin:8px 0;color:#e3b09b}
.death-gate form,.feedback form{display:grid;gap:10px;margin-top:14px}
.reentry-offer{margin:14px 0;padding:12px;border-left:2px solid var(--amber);background:#11130f;color:#c8c5b9}
.feedback{border-color:#484b42}
.feedback textarea{resize:vertical;min-height:84px}
[hidden]{display:none!important}

.test-gate{margin-bottom:18px;border-color:#6d6044;background:linear-gradient(145deg,#201d15,#141512)}
.test-gate h2{font:28px Georgia;margin:8px 0 14px;color:#e4cf9f}
.test-gate p{margin:8px 0;color:#c9c6b9}
.test-gate .primary{margin-top:10px;width:100%}

.gm-progress{margin:16px 0 6px;padding:14px;border:1px solid #5f543d;background:linear-gradient(180deg,rgba(43,39,29,.94),rgba(23,24,20,.96));box-shadow:inset 0 0 24px rgba(0,0,0,.22)}
.gm-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font:700 12px/1.2 system-ui;letter-spacing:.08em;text-transform:uppercase;color:#e3cf9e}
.gm-progress-track{height:9px;margin:10px 0 8px;background:#0d0e0c;border:1px solid #3e3a2d;overflow:hidden}
.gm-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#8d6d36,#d4b66f,#efe0ae);transition:width .45s ease}
.gm-progress small{display:block;color:#aaa894;line-height:1.35}
