:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2c2a26;background:#e8dfd0;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,#fffaf0 0,#e8dfd0 60%)}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}.setup-screen,.game-main{width:min(100% - 28px,720px);margin:0 auto}.setup-screen{padding:28px 0 64px}.hero-card,.profile-card,.point-card,.resume-card,.game-card{background:#fffdf8f5;border:1px solid #d6cab7;border-radius:22px;box-shadow:0 16px 50px #483a271a}.hero-card{padding:28px;margin-bottom:18px}.hero-card h1{font-size:clamp(36px,10vw,58px);letter-spacing:-.05em;margin-bottom:14px}.hero-card p:last-child{color:#5d574e;line-height:1.75}.eyebrow,.share-kicker{color:#a34f3d;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.resume-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:18px;margin-bottom:18px}.resume-card p{margin:4px 0 0;color:#756b5e}.resume-card .text-button{grid-column:2}.notice{padding:12px 16px;border-radius:12px;background:#fff0d5;color:#764a0c}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:16px;background:#ffffff94;margin:22px 0}.mode-tabs button{border:0;border-radius:12px;padding:12px;background:transparent;color:#6a6258;font-weight:700}.mode-tabs button.active{background:#2c2a26;color:#fffaf0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{margin-bottom:4px}.section-heading p{margin-bottom:0;color:#70685d}.section-heading>button{border:1px solid #bcae99;border-radius:12px;background:#fffaf0;padding:9px 13px}.profile-grid{display:grid;gap:14px}.profile-card{padding:20px}.profile-card small{color:#766d62}.profile-card h3{font-size:23px;margin:10px 0 16px}.identity-line{color:#76594f;line-height:1.5}.budget-warning{padding:11px 13px;border-left:4px solid #b44335;border-radius:8px;background:#fff0e8;color:#7d3027!important;font-weight:700;line-height:1.55}.ability-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.ability-list span{display:flex;justify-content:space-between;background:#f5efe2;border-radius:10px;padding:8px 10px}.profile-card>p{margin:14px 0;color:#615a51}.primary,.secondary{border-radius:13px;padding:12px 16px;font-weight:800}.primary{border:0;background:#cd5b45;color:#fff}.primary:hover{background:#b74e3b}.secondary{border:1px solid #9e907d;color:#39342e;background:transparent}.text-button{border:0;background:transparent;color:#8a4739;text-decoration:underline}.full{width:100%;margin-top:12px}.point-card{padding:22px}.point-row{display:grid;grid-template-columns:1fr 44px 52px 44px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e5dccf}.point-row button{height:38px;border:1px solid #b9ab97;border-radius:10px;background:#fffaf0;font-size:20px}.point-row strong{text-align:center;font-size:20px}.valid,.positive{color:#287552}.invalid,.negative{color:#b44335}.family-select{display:grid;gap:7px;margin:18px 0;font-weight:700}.family-select select{border:1px solid #b9ab97;border-radius:12px;padding:11px;background:#fffdf8}.app-shell{min-height:100vh;padding-bottom:52px}.stat-bar{position:sticky;z-index:10;top:0;display:grid;grid-template-columns:auto repeat(8,1fr);align-items:center;gap:6px;padding:10px max(12px,calc((100vw - 700px)/2));background:#2c2a26f0;color:#fffaf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-bar>div{display:grid;justify-items:center;font-size:12px}.stat-bar span{color:#cfc5b7}.stat-bar strong{font-size:14px}.stat-bar .week-pill{display:block;background:#cd5b45;border-radius:999px;padding:8px 10px;font-weight:800}.game-main{padding-top:24px}.quest-panel{width:min(100% - 28px,720px);margin:16px auto 0;overflow:hidden;border:1px solid #baaa92;border-radius:18px;background:#f6eddc;box-shadow:0 12px 35px #483a2714}.quest-panel-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;padding:14px 16px;background:transparent;color:#302c27;text-align:left}.quest-panel-toggle>span:first-child{display:grid;gap:2px}.quest-panel-toggle b{font-size:16px}.quest-panel-toggle small{color:#796e60}.quest-panel-toggle>span:last-child{color:#984c3c;font-size:12px;font-weight:800}.quest-list{display:grid;gap:10px;padding:0 12px 12px}.quest-item{position:relative;overflow:hidden;border:1px solid #d8cbb8;border-radius:14px;padding:14px;background:#fffdf8e0}.quest-item:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#b9aa94}.quest-item.active:before{background:#cd5b45}.quest-item.complete:before{background:#287552}.quest-item header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.quest-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eee2cf}.quest-item h2{margin:0 0 4px;font-size:16px;letter-spacing:-.01em}.quest-item header p{margin:0;color:#746a5e;font-size:12px;line-height:1.5}.quest-item header>small{border-radius:999px;padding:4px 7px;background:#eee6d9;color:#766b5e;font-weight:800;white-space:nowrap}.quest-item.active header>small{background:#ffe0d6;color:#943e30}.quest-item.complete header>small{background:#dceee5;color:#246a4a}.quest-meter{height:5px;margin:12px 0;overflow:hidden;border-radius:999px;background:#e3dacd}.quest-meter span{display:block;height:100%;border-radius:inherit;background:#cd5b45;transition:width .25s ease}.quest-item.complete .quest-meter span{background:#287552}.quest-stages{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.quest-stages span{flex:0 0 auto;border:1px solid #ddd2c2;border-radius:999px;padding:5px 8px;color:#8a8073;background:#faf5eb;font-size:11px}.quest-stages span.current{border-color:#cd5b45;color:#8d3f31;background:#fff0e8}.quest-stages span.done{border-color:#8fb7a1;color:#246a4a;background:#edf7f1}.quest-stages span.future{color:#aaa197;border-style:dashed}.quest-next{margin:10px 0 0;color:#62594f;font-size:12px;line-height:1.5}.game-card{padding:clamp(22px,6vw,38px)}.game-card h1{font-size:clamp(30px,8vw,48px);letter-spacing:-.04em}.event-body{color:#5c554c;font-size:17px;line-height:1.75}.choice-list{display:grid;gap:12px;margin-top:26px}.choice-list button{width:100%;display:grid;gap:5px;text-align:left;border:1px solid #bcae99;border-radius:15px;background:#fffaf0;padding:15px 16px;color:#302c27;font-weight:750}.choice-list button:hover:not(:disabled),.action-grid button:hover{border-color:#cd5b45;transform:translateY(-1px)}.choice-list small{color:#82776a;font-weight:500}.locked-reason{font-size:12px;color:#8a6157;margin:6px 8px 0}.roll-result{display:grid;gap:4px;border-radius:16px;padding:16px;margin:18px 0;background:#f1eadf}.roll-result strong{font-size:23px}.roll-result.critical,.roll-result.success{border-left:5px solid #287552}.roll-result.failure,.roll-result.fumble{border-left:5px solid #b44335}.change-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.change-chips span{border-radius:999px;padding:6px 10px;background:#eee6d9;font-weight:750}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.action-grid button{display:grid;gap:5px;border:1px solid #bcae99;border-radius:14px;background:#fffaf0;padding:17px 10px;font-weight:760;transition:.16s ease}.action-grid button small{color:#82776a;font-weight:500}.muted{color:#83796d;font-size:13px;margin:18px 0 0}.ledger{display:grid;gap:10px;margin:24px 0}.ledger div{display:flex;justify-content:space-between;padding:12px;border-radius:12px;background:#f3ecdf}.ending-choice h2{margin-top:34px}.locked-endings{display:grid;gap:10px}.locked-endings div{padding:14px;border-radius:13px;background:#eee8df;color:#6f675d}.locked-endings p{margin:6px 0}.ending-review{font-size:20px;color:#6d554c;line-height:1.6}.ending-summary{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.ending-summary span{background:#f3ecdf;border-radius:999px;padding:7px 11px}.ending-gaps{margin:18px 0}.ending-gaps summary{cursor:pointer;font-weight:800;margin-bottom:12px}.generated-image img{width:100%;border-radius:14px;border:1px solid #c8baa5;margin-top:18px}.restart-link{display:block;margin:18px auto 0;border:0;background:transparent;color:#76594f;text-decoration:underline}.modal-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#1f1c18ad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.season-modal{width:min(100%,440px);padding:28px;border:1px solid #d6cab7;border-radius:22px;background:#fffdf8;box-shadow:0 25px 80px #00000040}.season-modal h2{font-size:32px;margin-bottom:12px}.season-modal p:not(.eyebrow){color:#5d574e;line-height:1.7}.capture-shell{position:fixed;left:-10000px;top:0;width:1080px;pointer-events:none}.share-card{width:1080px;min-height:1720px;padding:96px;background:#f5efe2;color:#2c2a26}.share-card h2{font-size:74px;margin:18px 0;letter-spacing:-.04em}.share-card .share-kicker{font-size:24px}.share-review{max-width:820px;font-size:34px;line-height:1.45;color:#76594f}.share-persona{display:inline-block;margin:14px 0 20px;border:2px solid #c5b7a3;border-radius:999px;padding:12px 18px;font-size:24px}.share-card canvas{display:block;margin:16px auto}.resource-row,.share-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resource-row span,.share-data-grid span{background:#fffaf0;border-radius:14px;padding:17px;text-align:center;font-size:22px;font-weight:800}.share-timeline{margin:42px 0}.share-timeline h3{font-size:30px}.share-timeline p{font-size:22px;border-left:5px solid #cd5b45;padding-left:16px;line-height:1.45}.share-data-grid{grid-template-columns:repeat(2,1fr)}.share-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:55px;border-top:2px solid #cdbfa9;padding-top:30px;font-size:26px}.share-card footer img,.qr-placeholder{width:180px;height:180px}@media(max-width:520px){.resume-card{grid-template-columns:1fr}.resume-card .text-button{grid-column:1}.action-grid{grid-template-columns:1fr}.stat-bar{grid-template-columns:repeat(4,1fr);padding:8px}.stat-bar .week-pill{grid-row:span 2;align-self:stretch;display:grid;place-items:center}.stat-bar strong{font-size:12px}}
