@font-face{font-family:"Jacquard 24";src:url(./jacquard24-latin-BWfeLXqY.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pixelify Sans;src:url(./pixelifysans-latin-D1rQrCZP.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:VT323;src:url(./vt323-latin-EhPR265H.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Chiffres;src:url(./vt323-latin-EhPR265H.woff2) format("woff2");unicode-range:U+0030-0039;size-adjust:125%;font-display:swap}:root{color-scheme:light;--forest: #2F4229;--forest-2: #344A2E;--parchment: #F0E6C8;--parchment-2: #E4DCC0;--ink: #2E241C;--ink-soft: #6E645E;--wine: #8A3424;--wine-dark: #5E2A1E;--gold: #C8A048;--moss: #6E7C4C;--sky: #B8CCE8;--display: "Jacquard 24", "UnifrakturMaguntia", Georgia, serif;--body: "Chiffres", "Pixelify Sans", "Courier New", monospace;--px: 4px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--forest);background-image:linear-gradient(45deg,rgba(0,0,0,.06) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.06) 75%),linear-gradient(45deg,rgba(0,0,0,.06) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.06) 75%);background-size:16px 16px;background-position:0 0,8px 8px;color:var(--parchment);font-family:var(--body);font-size:16px;line-height:1.35;padding:32px 16px 64px}.sprite{image-rendering:crisp-edges;image-rendering:pixelated;display:block}header.page{max-width:1180px;margin:0 auto 36px;display:grid;gap:14px}header.page h1{font-family:var(--display);font-weight:400;margin:0;font-size:clamp(64px,12vw,128px);line-height:.9;letter-spacing:2px;color:var(--parchment);text-shadow:4px 4px 0 var(--wine-dark),8px 8px 0 rgba(0,0,0,.25)}header.page p{margin:0;max-width:62ch;color:var(--parchment-2);font-size:17px}.palette{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.palette span{width:18px;height:18px;box-shadow:0 0 0 2px #00000059}.palette-label{font-size:13px;color:#c8b890;letter-spacing:.5px;text-transform:uppercase}.screens{max-width:1180px;margin:0 auto;display:grid;gap:40px 28px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}figure{margin:0;display:grid;gap:14px;justify-items:center}figcaption{max-width:340px;width:100%;font-size:14px;color:var(--parchment-2)}figcaption b{display:block;font-family:var(--display);font-weight:400;font-size:30px;color:var(--gold);line-height:1;margin-bottom:4px}.px{box-shadow:0 calc(var(--px) * -1) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(var(--px) * -1) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}.phone{width:100%;max-width:340px;min-height:640px;background:var(--parchment);color:var(--ink);margin:var(--px);display:flex;flex-direction:column;box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),0 12px #0000004d,8px 8px #0000004d;position:relative}.statusbar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;background:var(--ink);color:var(--parchment-2)}.statusbar .year{color:var(--gold);letter-spacing:1px}.body{padding:16px 16px 20px;display:flex;flex-direction:column;gap:14px;flex:1}.scene{width:100%;height:auto;border-bottom:4px solid var(--ink)}h2.anno{font-family:var(--display);font-weight:400;font-size:44px;line-height:.95;margin:0;color:var(--wine);text-wrap:balance}h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;margin:0;color:var(--ink);text-wrap:balance}p{margin:0}.muted{color:var(--ink-soft);font-size:14px}.dropcap:first-letter{font-family:var(--display);float:left;font-size:50px;line-height:.8;color:var(--wine);padding:4px 6px 0 0}.btn{font-family:var(--body);font-weight:700;font-size:18px;letter-spacing:.5px;border:0;cursor:pointer;width:calc(100% - 8px);margin:4px auto 0;display:block;padding:14px 12px 12px;color:var(--parchment);background:var(--wine);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset 0 -6px 0 0 var(--wine-dark),inset 0 4px #a44628;transition:transform .06s}.btn:hover{background:#a44628}.btn:active{transform:translateY(3px);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset 0 -2px 0 0 var(--wine-dark),inset 0 4px #a44628}.btn:focus-visible{outline:3px dashed var(--gold);outline-offset:8px}.btn.ghost{background:var(--parchment-2);color:var(--ink);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset 0 -6px #c8b890,inset 0 4px #f5edc0}.btn.ghost:hover{background:#e8dfc4}.spacer{flex:1}.card{background:var(--parchment-2);padding:12px;margin:var(--px)}.who{display:flex;gap:12px;align-items:center}.portrait{width:64px;height:64px;background:var(--sky);padding:4px;margin:var(--px);flex:none}.portrait canvas{width:56px;height:56px}.who h3{font-size:32px}.who .meta{font-size:14px;color:var(--ink-soft)}.fama{display:flex;flex-wrap:wrap;gap:10px;padding:2px 4px}.tag{font-size:13px;font-weight:500;padding:3px 8px 2px;color:var(--parchment);background:var(--moss);margin:2px;box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.tag.bad{background:var(--wine)}.tag.gold{background:var(--gold);color:var(--ink)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.stat{display:grid;grid-template-columns:16px 1fr;gap:3px 6px;align-items:center}.stat canvas{width:16px;height:16px;grid-row:span 2}.stat .label{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px}.bar{display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.bar i{height:7px;background:#d4cca4;box-shadow:inset 0 0 0 1px #2e241c40}.bar i.on{box-shadow:none}.log{display:grid;gap:8px;font-size:14px}.log div{display:grid;grid-template-columns:40px 1fr;gap:8px}.log b{color:var(--wine);font-weight:700;font-variant-numeric:tabular-nums}.habits{display:grid;gap:4px;font-size:13px}.habits div{display:flex;justify-content:space-between;border-bottom:2px dotted #C8B890;padding:3px 0}.habits span:last-child{color:var(--wine);font-weight:500}.tabs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink)}.tabs span{text-align:center;font-size:12px;padding:10px 0 9px;color:#c8b890}.tabs span.on{color:var(--parchment);background:var(--wine-dark);box-shadow:inset 0 -3px 0 var(--gold)}.dice-zone{display:grid;justify-items:center;gap:10px;padding:12px;text-align:center}.dice{width:96px;height:96px}.dice.rolling{animation:shake .08s steps(2) infinite}@keyframes shake{0%{transform:translate(-3px) rotate(-6deg)}to{transform:translate(3px,-2px) rotate(6deg)}}.need{font-size:15px;text-align:center}.need b{color:var(--wine)}.result{min-height:44px;text-align:center;font-size:15px;font-weight:500}.result.ok{color:var(--forest-2)}.result.dead{color:var(--wine)}.age-track{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.age-track span{text-align:center;font-size:12px;padding:4px 0 3px;background:#d4cca4;color:var(--ink-soft)}.age-track span.done{background:var(--moss);color:var(--parchment)}.age-track span.now{background:var(--gold);color:var(--ink);font-weight:700}.choices{display:grid;gap:14px}.choice{font-family:var(--body);font-size:15px;text-align:left;color:var(--ink);background:var(--parchment-2);border:0;padding:10px 12px;cursor:pointer;margin:0 4px;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),inset 0 -4px #c8b890;display:flex;justify-content:space-between;gap:10px;align-items:center}.choice:hover{background:#f5edc0}.choice:focus-visible{outline:3px dashed var(--wine);outline-offset:6px}.choice .tag{flex:none;font-size:11px}.grave{display:grid;justify-items:center;gap:6px;text-align:center}.grave canvas{width:128px;height:144px}.grave h2{font-family:var(--display);font-weight:400;font-size:40px;line-height:.95;margin:0;color:var(--ink)}.grave .dates{color:var(--wine);font-size:15px;letter-spacing:1px}.moments{display:grid;gap:6px;font-size:14px;padding-left:0;margin:0;list-style:none}.moments li{padding-left:18px;position:relative}.moments li:before{content:"";position:absolute;left:2px;top:6px;width:8px;height:8px;background:var(--gold);box-shadow:0 0 0 2px var(--ink)}.btn-row{display:grid;gap:16px}@media (prefers-reduced-motion: reduce){.dice.rolling{animation:none}.btn{transition:none}}html,body{height:100%}body{padding:24px 12px 40px}#root{display:flex;justify-content:center}.app-title{font-family:var(--display);font-size:44px;color:var(--parchment);text-shadow:3px 3px 0 var(--wine-dark);text-align:center;margin:0 0 14px;line-height:1}.game{width:100%;max-width:380px}.game .phone{max-width:none;width:calc(100% - 8px);min-height:680px}@media (max-width: 420px){body{padding:8px 4px 24px}.app-title{font-size:34px;margin-bottom:10px}}.tabs button{font-family:var(--body);font-size:12px;padding:10px 0 9px;color:#c8b890;background:transparent;border:0;cursor:pointer}.tabs button.on{color:var(--parchment);background:var(--wine-dark);box-shadow:inset 0 -3px 0 var(--gold)}.tabs button:focus-visible{outline:2px dashed var(--gold);outline-offset:-4px}.log{max-height:210px;overflow-y:auto}.log div.new span{color:var(--wine)}.log .empty{color:var(--ink-soft);font-size:14px;display:block}.year-news{display:grid;gap:4px;font-size:14px;padding:8px 10px;background:#f5edc0;border-left:4px solid var(--gold)}.habit-row{display:grid;gap:6px}.habit-row .hlabel{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.habit-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.habit-opts button{font-family:var(--body);font-size:13px;padding:8px 4px;border:0;cursor:pointer;color:var(--ink);background:var(--parchment-2);margin:2px;box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.habit-opts button.on{background:var(--wine);color:var(--parchment)}.habit-opts button:disabled{opacity:.45;cursor:not-allowed}.family{display:grid;gap:6px;font-size:14px}.family div{display:flex;justify-content:space-between;gap:8px;border-bottom:2px dotted #C8B890;padding:3px 0}.family .dead{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:1px}.family .rel{color:var(--ink-soft);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.choice:disabled{opacity:.5;cursor:not-allowed}.outcome{font-size:15px;padding:12px;background:#f5edc0;border-left:4px solid var(--wine)}.d20{position:relative;width:120px;height:120px}.d20 canvas{width:120px;height:120px}.d20 span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--body);font-weight:700;font-size:30px;color:var(--ink);padding-top:6px}.d20.rolling{animation:shake .08s steps(2) infinite}.btn:disabled{opacity:.6;cursor:default}.note{font-size:12px;color:var(--ink-soft)}.source{font-size:11px;color:var(--ink-soft);font-style:italic}.factors{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12.5px;color:var(--ink-soft)}.factors li{padding-left:14px;position:relative}.factors li:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;background:var(--wine)}.d20 span{font-size:26px}:root{--num: "VT323", "Courier New", monospace}.num,.statusbar .year,.log b,.d20 span,.grave .dates,.age-track span,.need b,.money b{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:.5px}.statusbar .year{font-size:18px;line-height:1}.log b{font-size:19px;line-height:1;font-weight:400}.d20 span{font-size:40px;font-weight:400;padding-top:4px}.grave .dates{font-size:20px}.age-track span{font-size:18px;padding:2px 0 1px}.need b{font-size:21px;font-weight:400}.luck{display:flex;align-items:center;gap:12px;font-size:14px;padding:8px 10px;background:var(--parchment-2)}.luck b.num{font-size:20px;font-weight:400}.luck strong{color:var(--wine)}.luck-die{position:relative;width:48px;height:48px;flex:none}.luck-die canvas{width:48px;height:48px}.luck-die span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:22px;color:var(--ink);padding-top:2px}.money{font-size:14px;color:var(--ink-soft)}.money b{color:var(--ink);font-size:19px;font-weight:400}.work{display:grid;gap:14px}.ledger{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-top:8px;font-size:14px}.ledger b{font-size:18px;font-weight:400;text-align:right}.work-action{flex-direction:column;align-items:flex-start}.work-action span{display:grid;gap:4px}.work-action small{font-size:12.5px;color:var(--ink-soft);line-height:1.3}.work-result{display:grid;gap:10px;padding:12px;background:#f5edc0;border-left:4px solid var(--wine)}.tabs{grid-template-columns:repeat(5,1fr)}.tabs button{font-size:11px}.money{display:grid;gap:2px;padding:8px 10px;background:var(--parchment-2)}.money .money-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.money b{font-family:var(--body);font-size:17px;font-weight:700;color:var(--ink)}.money small{font-size:12.5px;color:var(--ink-soft);line-height:1.35}.ledger b{font-family:var(--body);font-size:14px;font-weight:700}.choice-main{display:grid;gap:3px}.choice small.cost{font-size:12px;color:var(--wine)}.choice small.gain{font-size:12px;color:var(--moss)}.phone.religious{--parchment: #E6E8E2;--parchment-2: #D3DAE0;--wine: #3E4E6E;--wine-dark: #2A3550;--gold: #9CB0D8;background:var(--parchment)}.phone.religious .statusbar,.phone.religious .tabs{background:#2a3550}.phone.religious h2.anno,.phone.religious .dropcap:first-letter{color:#3e4e6e}.phone.norse{--parchment: #E4DCC0;--parchment-2: #D4CCA4;--wine: #344A2E;--wine-dark: #2E3A26;--gold: #C8A048;background:var(--parchment)}.phone.norse .statusbar,.phone.norse .tabs{background:#2e3a26}.phone.norse h2.anno,.phone.norse .dropcap:first-letter{color:#344a2e}.site-footer{text-align:center;margin-top:18px;font-size:12px}.site-footer a{color:#c8b890}.title-screen .tagline{margin:-8px 0 0;font-family:var(--display);font-size:26px;color:var(--ink-soft)}.intro-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14.5px}.intro-list li{padding-left:18px;position:relative}.intro-list li:before{content:"";position:absolute;left:2px;top:7px;width:8px;height:8px;background:var(--gold);box-shadow:0 0 0 2px var(--ink)}.intro-list b{color:var(--wine)}.roll-label{display:block;font-style:normal;font-weight:700;color:var(--ink);margin-bottom:2px}.section-title{margin:6px 0 0;font-family:var(--display);font-weight:400;font-size:24px;color:var(--wine)}.relative{display:grid;gap:6px;padding:8px 0;border-bottom:2px dotted #C8B890}.relative-head{display:flex;justify-content:space-between;gap:8px}.bar.affection{max-width:160px}.talk-opts{display:flex;flex-wrap:wrap;gap:8px}.talk-opts button{font-family:var(--body);font-size:12px;padding:5px 8px;border:0;cursor:pointer;background:var(--parchment-2);color:var(--ink);margin:2px;box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.talk-opts button:hover{background:#f5edc0}.ribbons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ribbon{font-family:var(--display);font-size:22px;color:var(--parchment);background:var(--wine);padding:4px 14px 2px;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.collection{font-size:13px;background:var(--parchment-2);padding:8px 10px}.collection summary{cursor:pointer;font-weight:700;color:var(--wine)}.collection ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.collection li{color:var(--ink-soft)}.collection li.done{color:var(--ink);font-weight:500}.family .relative{display:grid;gap:6px;padding:10px 0;border-bottom:2px dotted #C8B890;justify-content:stretch}.family .relative-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border:0;padding:0}.family .bar.affection{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;max-width:180px;border:0;padding:0}.family .talk-opts{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;border:0;padding:0}
