@import "https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,400;7..72,500;7..72,650&family=Manrope:wght@400;500;600&display=swap";:root{color:#e9e2d1;font-synthesis:none;--ink:#181712;--paper:#e9e0ca;--muted:#aaa28f;--gold:#b99759;--red:#87463b;background:#10100e;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 70% -10%,#2b281f 0,#151511 38%,#0d0d0c 100%);min-width:320px;min-height:100vh;margin:0}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #c6a567}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:min(760px,100%);padding:max(32px, env(safe-area-inset-top)) 20px max(48px, env(safe-area-inset-bottom));margin:0 auto}.centered{text-align:center;place-content:center;min-height:100vh;display:grid}.card{background:linear-gradient(145deg,#26241df5,#181713f7);border:1px solid #3c392f;border-radius:4px;padding:clamp(24px,6vw,48px);box-shadow:0 28px 80px #00000061}.gate{max-width:560px}.gate h1,.masthead h1,.page h1{letter-spacing:-.035em;font-family:Literata,Georgia,serif;font-weight:500}.gate h1{margin:8px 0 22px;font-size:clamp(34px,9vw,54px);line-height:1.05}.gate>p:not(.eyebrow){color:#c0b9a8;line-height:1.7}.seal,.loading-mark{color:#c97561;border:1px solid #9b5748;place-items:center;width:64px;height:64px;margin:0 auto 22px;font-family:serif;font-size:30px;display:grid;transform:rotate(-2deg)}.eyebrow{color:var(--gold);letter-spacing:.19em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.consent{text-align:left;color:#d7d0bf;align-items:flex-start;gap:12px;margin:28px 0;line-height:1.45;display:flex}.consent input{width:19px;height:19px;accent-color:var(--red);flex:none}.primary,.secondary{border:1px solid #0000;border-radius:2px;min-height:48px;padding:0 22px;font-weight:600}.primary{color:#191711;background:#e0d4b7}.primary:hover:not(:disabled){background:#f0e5c9}.secondary{color:#d7ceba;background:0 0;border-color:#565041}.secondary:hover:not(:disabled){border-color:#9b8e70}.error{color:#efa593;text-align:left;background:#7b332a33;border-left:2px solid #a95043;padding:10px 12px;font-size:13px}.masthead{justify-content:space-between;align-items:end;margin:10px 0 30px;display:flex}.masthead h1{margin:0;font-size:clamp(40px,10vw,66px)}.world-mark{color:#8e8778;border:1px solid #484439;padding:8px 10px;font-size:11px}.fate-card{padding:clamp(22px,5vw,40px)}.fate-opening{border-bottom:1px solid #403c32;align-items:center;gap:22px;padding-bottom:24px;display:flex}.age{color:#c6a567;font-family:Literata,serif;font-size:64px;line-height:1}.label{color:#8f887a;margin:0;font-size:12px}.fate-opening h2{margin:2px 0;font:500 clamp(20px,5vw,28px)/1.2 Literata,serif}.place{color:#aaa290;margin:5px 0 0}.fate-lead{color:#e8dfca;margin:30px 0;font:500 clamp(20px,4.6vw,27px)/1.45 Literata,serif}.fate-grid{grid-template-columns:repeat(2,1fr);gap:22px 28px;display:grid}.fate-grid div{min-width:0}.fate-grid dt{color:#898273;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:10px}.fate-grid dd{color:#cfc7b6;margin:0;line-height:1.45}.echo{color:#c6b9a6;border-left:1px solid #946057;margin:28px 0 0;padding:5px 0 5px 16px;font:italic 15px/1.6 Literata,serif}.quiet{color:#7f796d;margin-top:25px;font-size:12px}.actions{justify-content:flex-end;gap:10px;margin-top:30px;display:flex}.library{margin-top:40px}.story-row{color:#d8d0bf;text-align:left;background:0 0;border:0;border-top:1px solid #343129;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:17px 2px;display:flex}.story-row>span:first-child{gap:5px;display:grid}.story-row strong{font:500 16px/1.35 Literata,serif}.story-row small{color:#777166}.story-meta{flex:none;justify-items:end;gap:6px;display:grid}.story-meta em{color:#d2b378;letter-spacing:.08em;text-transform:uppercase;border:1px solid #5d513a;padding:3px 7px;font-size:10px;font-style:normal}.reader-shell{width:min(820px,100%);padding:max(20px, env(safe-area-inset-top)) 16px max(48px, env(safe-area-inset-bottom));margin:0 auto}.reader-nav{color:#777166;justify-content:space-between;padding:4px 3px 20px;font-size:12px;display:flex}.text-button{color:#a99f8b;background:0 0;border:0;padding:0}.state-panel{color:#cfc7b6;background:#191814c2;border:1px solid #39362d;margin:0 0 14px}.state-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;list-style:none;display:flex}.state-panel summary::-webkit-details-marker{display:none}.state-panel summary span{gap:2px;display:grid}.state-panel summary small{color:#777166;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.state-panel summary strong{font:500 15px/1.35 Literata,serif}.state-panel summary em{color:#b99759;font-size:11px;font-style:normal}.state-grid{border-top:1px solid #39362d;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.state-grid div{border-bottom:1px solid #302e27;padding:13px 16px}.state-grid div:nth-child(odd){border-right:1px solid #302e27}.state-grid span{color:#777166;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px;font-size:9px;display:block}.state-grid b{color:#c9c1b1;font-size:12px;font-weight:500;line-height:1.5;display:block}.page{background:var(--paper);color:var(--ink);padding:clamp(28px,8vw,76px);position:relative;box-shadow:0 25px 100px #00000061}.page:before{content:"";pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:absolute;inset:0}.page>*{position:relative}.page .eyebrow{color:#876d43}.page h1{color:#242017;margin:8px 0 38px;font-size:clamp(36px,8vw,58px);line-height:1.08}.prose{font:400 clamp(17px,3.8vw,20px)/1.83 Literata,Georgia,serif}.prose p{margin:0 0 1.15em}.prose p:first-child:first-letter{float:left;color:#78483c;padding:.12em .09em 0 0;font-size:4.15em;line-height:.78}.action-echo{color:#655b49;border-left:2px solid #a69574;margin:-18px 0 34px;padding:10px 0 10px 16px;font:italic 14px/1.6 Literata,serif}.action-echo span{color:#8b7654;text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px;font:600 9px/1.4 Manrope,sans-serif;display:block}.outcome-panel{background:#ffffff2e;border:1px solid #b5a789;margin:42px 0 0}.outcome-panel>div{padding:18px 20px}.outcome-panel .eyebrow{margin-bottom:7px}.outcome-panel strong{color:#332c21;font:500 17px/1.55 Literata,serif;display:block}.outcome-panel ul{color:#685e4c;border-top:1px solid #c8bca4;margin:0;padding:14px 20px 16px 38px;font-size:12px;line-height:1.55}.outcome-panel li+li{margin-top:5px}.decision{border-top:1px solid #b9ad93;margin-top:48px;padding-top:26px}.decision>p{font:500 19px/1.5 Literata,serif}.decision textarea{resize:vertical;color:#29241b;background:#ffffff40;border:1px solid #b3a68b;border-radius:2px;outline:none;width:100%;padding:14px;line-height:1.5}.decision textarea:focus{border-color:#7d6547;box-shadow:0 0 0 2px #7d65471f}.turn-footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.turn-footer small{color:#8d836e}.decision .primary{color:#eee3ca;background:#272219}.ink-progress{color:#756a57;background:0 0;height:24px;margin-top:16px;font-size:11px;position:relative;overflow:hidden}.ink-progress:before{content:"";background:#c3b79e;height:2px;position:absolute;top:0;left:0;right:0}.ink-progress span{background:#78483c;width:40%;height:2px;animation:1.6s ease-in-out infinite alternate ink;display:block;position:absolute;top:0}.ink-progress b{padding-top:8px;font-weight:500;display:block}@keyframes ink{0%{transform:translate(-100%)}to{transform:translate(250%)}}.history-return{color:#7d725f;border-top:1px solid #b9ad93;justify-content:space-between;align-items:center;gap:18px;margin-top:42px;padding-top:22px;font-size:13px;display:flex}.history-return p{margin:0}.history-return .secondary{color:#514737;border-color:#a99b7d}.chapter-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:14px;display:grid}.chapter-nav button:last-child{justify-self:end}.chapter-nav span{color:#777166;font-size:11px}.chronicle{color:#9b9485;padding:22px 8px;font-size:13px}.chronicle summary{cursor:pointer}.chronicle li{margin-bottom:8px;line-height:1.5}.loading-mark{animation:1.4s ease-in-out infinite alternate breathe}@keyframes breathe{to{opacity:.45;transform:rotate(2deg)scale(.97)}}.gate-opening{isolation:isolate;color:#e4dbc5;background:#0d0f0e;place-items:center;min-height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.gate-opening:before{content:"";z-index:7;pointer-events:none;opacity:.16;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:absolute;inset:0}.gate-sky{z-index:0;background:radial-gradient(circle at 50% 38%,#b3914f33,#0000 25%),linear-gradient(#111715,#080a09 72%);position:absolute;inset:0}.gate-sky i{background:#c5aa72;border-radius:50%;width:2px;height:2px;animation:5s ease-in-out infinite alternate ember;position:absolute;box-shadow:13vw 7vh #8b7b5c,-18vw 20vh #9a845e,29vw 26vh #77694e,-34vw 34vh #a39069}.gate-sky i:first-child{top:19%;left:35%}.gate-sky i:nth-child(2){animation-delay:-1.8s;top:31%;right:27%}.gate-sky i:nth-child(3){animation-delay:-3.1s;top:12%;left:53%}@keyframes ember{to{opacity:.2;transform:translateY(-13px)}}.gate-mountains{transform-origin:bottom;position:absolute;bottom:0;left:-8%;right:-8%}.gate-mountains-far{z-index:1;opacity:.62;clip-path:polygon(0 72%,10% 55%,17% 66%,29% 32%,38% 62%,48% 42%,57% 66%,69% 28%,79% 58%,88% 39%,100% 66%,100% 100%,0 100%);background:#1c2924;height:56%;animation:7s ease-in-out infinite alternate mountain-breathe}.gate-mountains-near{z-index:2;clip-path:polygon(0 47%,12% 33%,22% 64%,37% 24%,48% 57%,61% 38%,75% 68%,89% 28%,100% 45%,100% 100%,0 100%);background:#090c0b;height:38%}@keyframes mountain-breathe{to{opacity:.58;transform:scaleY(1.025)}}.gate-light{z-index:3;opacity:.65;background:linear-gradient(#0000 3%,#a77f3b 30%,#f0d18b 52%,#8f6a32 80%,#0000);width:2px;transition:width 1.35s cubic-bezier(.2,.7,.1,1),opacity .8s;position:absolute;top:5%;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 22px #e1b75c6b}.gate-leaf{z-index:3;background:linear-gradient(100deg,#1f211ded,#0c0e0cf7);border-top:1px solid #4a4234;width:min(42%,420px);transition:transform 1.45s cubic-bezier(.55,.02,.12,1);position:absolute;top:6%;bottom:-3%;overflow:hidden}.gate-leaf:before{content:"";opacity:.23;background:repeating-linear-gradient(94deg,#0000 0 13%,#94845f2e 13.3%,#0000 14.1% 25%);position:absolute;inset:0}.gate-leaf:after{content:"";opacity:.78;clip-path:polygon(0 68%,12% 42%,24% 64%,38% 29%,51% 59%,65% 38%,78% 70%,90% 35%,100% 57%,100% 100%,0 100%);background:#080b0a;height:34%;position:absolute;bottom:0;left:-12%;right:-12%}.gate-leaf span{z-index:1;background:linear-gradient(#0000,#4d4637 14%,#756143 50%,#4d4637 86%,#0000);width:1px;position:absolute;top:12%;bottom:12%}.gate-leaf-left{border-left:1px solid #39352d;border-right:1px solid #59472d;left:50%;transform:translate(-100%);box-shadow:18px 0 55px #000000b3}.gate-leaf-left span{right:12%}.gate-leaf-right{background:linear-gradient(260deg,#1f211ded,#0c0e0cf7);border-left:1px solid #59472d;border-right:1px solid #39352d;right:50%;transform:translate(100%);box-shadow:-18px 0 55px #000000b3}.gate-leaf-right span{left:12%}.gate-ritual{z-index:4;text-align:center;text-shadow:0 2px 18px #000;width:min(560px,100% - 40px);position:relative}.gate-ritual .eyebrow{margin-top:18px}.gate-ritual h1{letter-spacing:-.035em;color:#eee4ce;max-width:520px;min-height:2.5em;margin:12px auto 30px;font:500 clamp(31px,7vw,52px)/1.16 Literata,Georgia,serif;transition:opacity .35s}.fate-seal{color:#d87864;background:#3114118c;border:2px solid #a55243;place-items:center;width:76px;height:76px;margin:0 auto;font:36px/1 serif;animation:2.2s ease-in-out infinite alternate seal-float;display:grid;transform:rotate(-3deg);box-shadow:0 0 0 5px #70322829,0 10px 40px #00000073}@keyframes seal-float{to{transform:rotate(2deg)translateY(-5px);box-shadow:0 0 0 7px #70322814,0 15px 45px #00000080}}.gate-ritual ol{text-align:left;gap:9px;width:min(430px,100%);margin:0 auto;padding:0;list-style:none;display:grid}.gate-ritual li{color:#645f53;letter-spacing:.015em;align-items:center;gap:11px;font-size:12px;transition:color .45s,transform .45s;display:flex}.gate-ritual li span{border:1px solid #5d5546;flex:none;width:7px;height:7px;transition:border-color .45s,background .45s,box-shadow .45s;transform:rotate(45deg)}.gate-ritual li.done{color:#938874}.gate-ritual li.done span{background:#806640;border-color:#a18350}.gate-ritual li.active{color:#e1d2b5;transform:translate(3px)}.gate-ritual li.active span{background:#c6a567;border-color:#e0c78e;animation:1.2s ease-in-out infinite alternate step-pulse;box-shadow:0 0 12px #d2ad6399}@keyframes step-pulse{to{opacity:.45;transform:rotate(45deg)scale(.76)}}.gate-opening.is-opening .gate-leaf-left{transform:translate(-205%)}.gate-opening.is-opening .gate-leaf-right{transform:translate(205%)}.gate-opening.is-opening .gate-light{opacity:.95;width:36vw}.gate-opening.is-opening .fate-seal{animation:.72s cubic-bezier(.2,.9,.3,1) both seal-stamp}@keyframes seal-stamp{0%{opacity:0;transform:scale(1.55)rotate(-5deg)}55%{opacity:1;transform:scale(.91)rotate(-2deg)}to{transform:scale(1)rotate(-3deg)}}@media (width<=560px){.fate-grid{grid-template-columns:1fr;gap:16px}.actions{flex-direction:column-reverse}.actions button{width:100%}.page{padding:34px 22px 38px}.masthead{align-items:start}.world-mark{margin-top:10px}.story-row{align-items:start}.story-meta{gap:8px}.state-grid{grid-template-columns:1fr}.state-grid div:nth-child(odd){border-right:0}.history-return{flex-direction:column;align-items:stretch}.history-return button{width:100%}.chapter-nav .secondary{padding:0 13px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}
