@keyframes test-mode-toast{0%{opacity:0;transform:translate(-50%)translateY(6px)}12%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(0)}}.test-mode-toast{color:#fff;z-index:10000;pointer-events:none;white-space:nowrap;background:#141414e0;border-radius:6px;padding:8px 18px;font-family:monospace;font-size:14px;animation:2.5s forwards test-mode-toast;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.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}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Thin.otf)format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Light.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Semibold.otf)format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Black.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Posterama;src:url(/reader/Fonts/Posterama/Posterama-1927-Ultra.otf)format("opentype");font-weight:950;font-style:normal;font-display:swap}:root{box-sizing:border-box;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background-color:var(--page-background-color,var(--primary-background));color:var(--text-color,var(--accent));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-text:#184524;--primary-background:#def4e0;--accent:#2e6945;--accent-dark:#2f6b47;--accent-light:#5cca88;--accent-extra-light:#7ef5ae;--accent-transparent:#48a06722;--accent-text:white;--primary-button:#ade1c2;--primary-button-hover:#d0f6df;--button-text-on-light:#184524;--primary-surface:#f7fff4;--secondary-surface:#f4fff5;--surface-neutral:#d5f3e394;--primary-error:red;--status-complete-bg:#b6f5c8;--status-complete-text:#1a5c30;--status-in-progress-bg:#fde9a2;--status-in-progress-text:#6b4a00;font-family:Avenir,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex;overflow:hidden}body:before{content:"";opacity:.6;z-index:-1;filter:grayscale(20%);background-image:url(/reader/RollingHills.png);background-position:50%;background-size:cover;position:fixed;inset:0}body.plain-page-background:before{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}}#root{text-align:center;box-sizing:border-box;width:100%;height:100vh;margin:0 auto;padding:2rem;overflow:auto}@media (min-height:900px){#root{padding-top:var(--nav-height)}}h1{color:var(--text-color,var(--accent));margin-top:20px;margin-bottom:0;font-family:Posterama,sans-serif;font-size:3.5rem;font-weight:700}.home-subtitle{color:var(--accent-dark);margin-block:0;font-family:Avenir,sans-serif;font-size:1.5rem;font-weight:400}.all-categories{flex-direction:column;gap:20px;padding:6px;display:inline-flex}.sublist{text-align:start;margin-inline:0;border-radius:16px;gap:1rem;margin-top:15px;padding:8px 8px 15px}.story-list{--card-width:360px;grid-template-columns:repeat(1, var(--card-width));justify-content:start;align-items:start;gap:1rem;display:grid}@media (min-width:800px){.story-list{grid-template-columns:repeat(2, var(--card-width))}}@media (min-width:1120px){.story-list{grid-template-columns:repeat(3, var(--card-width))}}@media (min-width:1460px){.story-list:not([data-variant=demo]){grid-template-columns:repeat(4, var(--card-width))}}.story-card{background-color:var(--primary-surface);color:var(--text-color,var(--accent));-webkit-text-decoration:unset;text-decoration:unset;border-radius:10px;flex-direction:column;max-height:calc(6em + 9px);padding:12px;transition:max-height .3s ease-out;display:flex;position:relative;overflow:hidden}.story-card[data-variant=tall]{max-height:calc(11em + 9px)}.story-card[data-variant=tall]:hover{max-height:calc(15em + 9px)}.story-card:after{content:"";background:linear-gradient(transparent, var(--primary-surface));pointer-events:none;border-radius:0 0 10px 10px;height:2em;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.story-card:hover{max-height:calc(12em + 9px)}.story-card:hover:after{opacity:0}.story-card[data-unavailable]:hover{max-height:calc(6em + 9px)}.story-card[data-variant=tall][data-unavailable]:hover{max-height:calc(11em + 9px)}.story-header{align-items:center;gap:8px;width:100%;display:flex}.story-header h3{margin:0}.story-icon{filter:brightness(.28)sepia()hue-rotate(97deg)saturate(3);border-radius:6px;flex-shrink:0;width:35px;height:35px}.story-card[data-unavailable]{cursor:default}.story-card[data-unavailable]:after,.story-card[data-unavailable]:hover:after{opacity:.52;border-radius:inherit;background:#fff;height:auto;inset:0}.coming-soon-pill{background-color:var(--accent-extra-light);color:var(--primary-text);z-index:1;border-radius:0 10px 0 8px;padding:.2rem .6rem;font-size:.83rem;font-weight:600;position:absolute;top:0;right:0}.story-status-pill{z-index:1;border-radius:0 10px 0 8px;padding:.2rem .6rem;font-size:.83rem;font-weight:600;position:absolute;top:0;right:0}.story-status-pill[data-status=complete]{background-color:var(--status-complete-bg);color:var(--status-complete-text)}.story-status-pill[data-status=in-progress]{background-color:var(--status-in-progress-bg);color:var(--status-in-progress-text)}h2{margin-top:10px;margin-bottom:5px;font-size:1.8rem}h3{margin-top:0;margin-bottom:5px;font-size:1.5rem}.story-description{-webkit-line-clamp:999;line-clamp:999;-webkit-box-orient:vertical;margin:4px 0 0;line-height:1.5;display:-webkit-box;overflow:hidden}.story-card:hover .story-description{-webkit-line-clamp:7;line-clamp:7}.skills{flex-wrap:wrap;gap:5px;margin-top:0;margin-bottom:8px;display:flex}.skill-tag{background-color:var(--accent-transparent);border:2px solid var(--accent);color:var(--accent);border-radius:12px;padding-block:1px;padding-inline:6px}.loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:40vh;padding:3rem 1rem;display:flex}.loading-spinner{border:4px solid #00000026;border-top-color:currentColor;border-radius:50%;width:3rem;height:3rem;animation:.9s linear infinite loading-spin}.loading-label{font-size:1.1rem}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:3s}}.login-page{justify-content:center;align-items:center;max-height:95vh;display:flex;position:fixed;inset:0;overflow-y:auto}.login-card{background-color:var(--primary-surface);border-radius:16px;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:3rem 2.5rem;display:flex;box-shadow:0 4px 12px #0000001a}.login-title{color:var(--text-color,var(--accent));margin:0 0 .25rem;font-family:Posterama,sans-serif;font-size:2.5rem;font-weight:700}.login-subtitle{color:var(--text-color,var(--accent-dark));margin:0 0 1.5rem;font-size:1.2rem}.login-error{color:var(--primary-error);text-align:center;margin:0 0 .5rem;font-size:1.1rem}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.login-field{flex-direction:column;align-items:start;gap:.35rem;display:flex}.login-field label{color:var(--text-color,var(--accent-dark));font-size:1.1rem;font-weight:600}.login-field input{box-sizing:border-box;border:2px solid var(--accent-light);background-color:var(--secondary-surface);width:100%;color:var(--primary-text);border-radius:8px;outline:none;padding:.7rem .75rem;font-family:Avenir,sans-serif;font-size:1rem;transition:border-color .2s}.login-field input:focus{border-color:var(--accent)}.login-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--secondary-surface) inset;-webkit-text-fill-color:var(--primary-text)}.login-field input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--secondary-surface) inset;-webkit-text-fill-color:var(--primary-text)}.login-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--secondary-surface) inset;-webkit-text-fill-color:var(--primary-text)}.password-input-wrapper{width:100%;position:relative}.password-input-wrapper input{padding-right:3.5rem}.show-password-toggle{right:.5rem;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-block:auto;padding:.25rem .4rem;font-family:Avenir,sans-serif;font-size:.85rem;font-weight:600;position:absolute;inset-block:0}.show-password-toggle:hover{color:var(--accent-dark);background-color:#2e69451f}.login-field input.input-error{border-color:var(--primary-error)}.error-message{color:var(--primary-error);font-size:.85rem}.login-button{background:linear-gradient(to bottom, var(--primary-button) 0%, var(--primary-button-hover) 100%);color:var(--button-text-on-light);border:2px solid var(--accent);cursor:pointer;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:1.5rem;font-weight:500;transition:background .2s}.login-button:hover:not(:disabled){background:var(--primary-button-hover)}.login-button:disabled{opacity:.5;border-color:var(--accent-light);cursor:not-allowed}.demo-button{width:40%;color:var(--button-text-on-light);cursor:pointer;background:linear-gradient(to bottom, var(--primary-button) 0%, var(--primary-button-hover) 100%);border:2px solid var(--accent);border-radius:8px;margin-top:2rem;padding:.5rem 1rem;font-size:1.4rem;text-decoration:none}.demo-button:hover{background:var(--primary-button-hover);color:var(--button-text-on-light)}.background-layer{background-position:50%;background-repeat:no-repeat;background-size:cover;width:101%;height:101%;position:absolute;top:-1px;left:-1px;box-shadow:inset 0 0 15px 5px #42445a}.background-previous,.background-current{opacity:1}.background-current.fade-in{animation:2s ease-in-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--animation-duration:1s}.character{pointer-events:none;height:90%;position:absolute;bottom:0}.character img{object-fit:contain;width:auto;height:100%;transition:filter .3s,opacity .3s}.character.dimmed img{filter:brightness(.7)}.character-left{left:0}.character-left.entering{animation:slideInFromLeft var(--animation-duration) ease-out forwards}.character-left.exiting{animation:slideOutToLeft var(--animation-duration) ease-in forwards}.character-right{right:0}.character-right.entering{animation:slideInFromRight var(--animation-duration) ease-out forwards}.character-right.exiting{animation:slideOutToRight var(--animation-duration) ease-in forwards}.character.speaking img{filter:drop-shadow(0 0 10px #fffc)}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutToLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutToRight{0%{transform:translate(0)}to{transform:translate(100%)}}.dialogue-panel{background-color:var(--primary-surface);width:var(--story-container-width);inset-inline:0;box-sizing:border-box;border-top:5px solid var(--accent);z-index:1;border-radius:.7rem;flex-direction:column;height:calc(100% - 500px);margin-inline:auto;display:flex;position:absolute;top:500px;overflow:hidden;box-shadow:0 0 10px #00000080}.dialogue-nameplate{background-color:var(--text-color,var(--accent));color:var(--primary-surface,var(--accent-text));flex-shrink:0;padding:6px 16px;font-size:1.4rem;font-weight:700}.dialogue-content{scrollbar-width:auto;scrollbar-gutter:stable;scrollbar-color:var(--primary-text) var(--primary-background);flex:1;margin-inline:5px;padding:.6rem;position:relative;overflow-y:scroll;-webkit-mask-image:linear-gradient(#000 85%,#0000 100%);mask-image:linear-gradient(#000 85%,#0000 100%)}.dialogue-text{color:var(--text-color,var(--primary-text));text-align:start;padding-inline:.4rem;font-size:1.4rem;line-height:1.5}.dialogue-loading{justify-content:center;align-items:center;gap:.4rem;width:fit-content;height:fit-content;margin:auto;display:flex;position:absolute;inset:0}.dialogue-loading span{background-color:var(--text-color,var(--accent));border-radius:50%;width:16px;height:16px;animation:1.2s ease-in-out infinite dialogue-loading-bounce;display:block}.dialogue-loading span:nth-child(2){animation-delay:.2s}.dialogue-loading span:nth-child(3){animation-delay:.4s}@keyframes dialogue-loading-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.start-button{box-sizing:border-box;z-index:10;box-shadow:none;background:linear-gradient(to bottom, var(--dialogue-button-gradient-top,var(--primary-button)) 0%, var(--dialogue-button-gradient-bottom,var(--primary-button-hover)) 100%);width:90%;height:60px;color:var(--text-color,var(--primary-text));border:5px solid var(--accent);cursor:pointer;border-radius:11px;margin-block:auto;margin-inline:5%;font-size:1.7rem;position:absolute;inset-block:0}.start-button:hover{background:var(--dialogue-button-gradient-bottom,var(--primary-button-hover))}.end-game-button{width:100%;color:var(--text-color,var(--primary-text));border:2px solid var(--accent);background:linear-gradient(to bottom, var(--dialogue-button-gradient-top,var(--primary-button)) 0%, var(--dialogue-button-gradient-bottom,var(--primary-button-hover)) 100%);cursor:pointer;border-radius:8px;margin-top:1rem;padding:.5rem 1rem;font-size:1.4rem;text-decoration:none}.end-game-button:hover{background:var(--dialogue-button-gradient-bottom,var(--primary-button-hover))}.choices{flex-direction:column;flex:1;justify-content:start;align-items:start;gap:.5rem;width:100%;display:flex}.choice-instruction{color:var(--text-color,var(--accent));margin:0 0 .5rem;font-size:1.3rem}.choice{box-sizing:border-box;width:100%;color:var(--text-color,var(--primary-text));border:2px solid var(--accent);background:linear-gradient(to bottom, var(--dialogue-button-gradient-top,var(--primary-button)) 0%, var(--dialogue-button-gradient-bottom,var(--primary-button-hover)) 100%);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:1.4rem;font-weight:300;text-decoration:none}.choice:hover:not(:disabled){background:var(--dialogue-button-gradient-bottom,var(--primary-button-hover));color:var(--text-color,var(--primary-text))}.choice:focus-visible{outline:3px solid var(--accent-dark);outline-offset:0px;box-shadow:inset 0 2px 10px -3px #484ca0cc}.choice:disabled{opacity:.4;cursor:not-allowed}.continue-group{flex:1;grid-template-columns:100px 1fr 100px;align-items:center;gap:.2rem;height:100%;display:grid}.continue-button{width:90px;height:90px;color:var(--text-color,var(--accent));cursor:pointer;background-color:#0000;border:none;grid-column:3}.continue-button:hover{color:var(--text-color,var(--primary-text));transition:transform .2s ease-in-out;transform:scale(1.2)}.continue-button:disabled{opacity:.4;cursor:not-allowed}.continue-instruction{color:var(--text-color,var(--accent));grid-column:2;font-size:1.7rem}.how-to-play h2{margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.how-to-play p{margin-top:0;margin-bottom:.5rem}.how-to-play ul{margin-top:0;margin-bottom:.5rem;padding-left:1.5rem}.how-to-play li{margin-bottom:.25rem}.how-to-play-divider{border:none;border-top:1px solid #ccc;margin:1rem 0}.dialogue-chunk:not(:last-child){border-bottom:1px solid var(--accent)}.log-speaker{margin-bottom:0;font-size:1.3rem;font-weight:800}.log-text{margin-top:2px;font-size:1.2rem}.silent-focus-target{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--story-container-width:940px;--story-container-height:calc(100vh - 50px);--story-container-max-height:780px}.story-container{height:calc(100vh - 50px);max-height:var(--story-container-max-height);inset-inline:0;width:var(--story-container-width);border:5px solid var(--accent);box-shadow:0 0 3px 0 var(--accent);z-index:10;border-radius:16px;margin-inline:auto;position:absolute;top:20px}.story-container.story-container--fullscreen{top:calc(var(--nav-height) + 10px);transform-origin:top;transform:scale(var(--fullscreen-scale,1));transition:transform .2s}.stage{inset-inline:0;width:var(--story-container-width);aspect-ratio:16/9;background-color:#1b1b1b;border-top-left-radius:11px;border-top-right-radius:11px;margin-inline:auto;position:absolute;top:0;overflow:hidden}.stage--plain-white{background-color:#fff}.pause-overlay{z-index:5;opacity:0;pointer-events:none;background-color:#0009;border-radius:11px;transition:opacity .3s;position:absolute;inset:-1px}.pause-overlay.is-paused{opacity:1;pointer-events:auto}.story-title{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.save-restore-message{z-index:15;background-color:var(--accent);color:var(--accent-text);border-bottom-right-radius:11px;border-bottom-left-radius:11px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:.95rem;display:flex;position:absolute;bottom:0;left:0;right:0}.save-restore-message p{margin:0}.save-restore-message button{border:2px solid var(--accent-text);color:var(--accent-text);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:.3rem 1rem;font-family:Avenir,sans-serif;font-size:.95rem;font-weight:600}.save-restore-message button:hover{background-color:#fff3}.narration-unavailable-banner{z-index:20;background-color:var(--primary-surface);color:var(--primary-text);border-top:2px solid var(--accent);border-bottom-right-radius:11px;border-bottom-left-radius:11px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.95rem;display:flex;position:absolute;bottom:0;left:0;right:0}.narration-unavailable-message{flex:1}.narration-continue-button{background-color:var(--accent);width:44px;height:44px;color:var(--accent-text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.narration-continue-button:hover{background-color:var(--accent-dark)}@media (min-height:900px){.story-container{top:calc(var(--nav-height) + 20px);height:calc(100vh - var(--nav-height) - 40px)}.story-title{clip:auto;white-space:normal;width:auto;height:auto;top:calc(var(--nav-height) + 5px);text-align:center;font-size:2rem;font-weight:700;inset-inline:0;overflow:visible}}.story-error-boundary{background-color:var(--primary-background);border-radius:inherit;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.story-error-boundary-content{text-align:center;color:var(--primary-text);flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.story-error-boundary-content h2{color:var(--accent-dark);margin:0;font-size:1.5rem}.story-error-boundary-content p{margin:0;font-size:1rem}.story-error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.story-error-boundary-action-link,.story-error-boundary-home-link{border-radius:8px;padding:.5rem 1.5rem;font-weight:600;text-decoration:none;display:inline-block}.story-error-boundary-action-link{background-color:var(--accent);color:var(--accent-text)}.story-error-boundary-action-link:hover{background-color:var(--accent-dark)}.story-error-boundary-home-link{color:var(--primary-text);border:1px solid var(--primary-text);background-color:#0000}.story-error-boundary-home-link:hover{background-color:color-mix(in srgb, var(--primary-text) 10%, transparent)}.not-found-page{z-index:1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.not-found-card{background-color:var(--primary-surface);border-radius:16px;flex-direction:column;align-items:center;min-width:400px;min-height:220px;padding:3rem 2.5rem;display:flex;position:relative;box-shadow:0 4px 12px #0000001a}.not-found-title{color:var(--accent);margin:0 0 .25rem;font-family:Posterama,sans-serif;font-size:5rem;font-weight:700}.not-found-subtitle{color:var(--accent-dark);margin:0 0 1.5rem;font-size:1.9rem}.not-found-link{color:var(--button-text-on-light);cursor:pointer;background:linear-gradient(to bottom, var(--primary-button) 0%, var(--primary-button-hover) 100%);border:2px solid var(--accent);border-radius:8px;width:80%;padding:.5rem 1.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;position:absolute;bottom:20px}.not-found-link:hover{background:var(--primary-button-hover)}.settings-section{margin-bottom:1.25rem}.settings-section:last-child{margin-bottom:0}.settings h3{color:var(--accent);margin-top:0;margin-bottom:.75rem;font-size:1.1rem;font-weight:700}.settings-subsetting{margin-left:2.75rem}.settings-color-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.settings-color-row label{font-size:1.1rem}.settings-color-controls{align-items:center;gap:.75rem;display:flex}.settings-color-input{border:2px solid var(--accent);cursor:pointer;background:0 0;border-radius:8px;width:48px;height:36px;padding:0}.settings-color-input:disabled{opacity:.4;cursor:not-allowed}.settings-reset-button{border:2px solid var(--accent);background:linear-gradient(to bottom, var(--primary-button) 0%, var(--primary-button-hover) 100%);color:var(--button-text-on-light);cursor:pointer;border-radius:8px;padding:.3rem .9rem;font-size:1rem}.settings-reset-button:hover:not(:disabled){background:var(--primary-button-hover)}.settings-reset-button:disabled{opacity:.4;cursor:not-allowed}:root{--nav-height:70px}.app-main{min-height:100vh}.app-nav{height:var(--nav-height);z-index:1;background-color:#0000;justify-content:space-between;align-items:center;padding:0 16px;transition:background-color .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}.app-nav--scrolled{background-color:var(--secondary-surface);z-index:20;box-shadow:0 2px 8px #0000004d}.app-home-link{align-items:center;gap:.75rem;text-decoration:none;transition:opacity .2s;display:flex}.app-home-link--hidden{visibility:hidden}.app-home-link:hover{color:var(--accent-dark);transition:color .2s,transform .2s;transform:scale(1.1)}.app-home-logo{height:50px}.app-home-text{flex-direction:column;justify-content:center;align-items:start;display:flex}.app-home-title{color:var(--primary-text);margin-bottom:0;font-size:1.5rem;font-weight:100}.app-home-subtitle{color:var(--primary-text);margin-block:0;font-size:.95rem;font-weight:400}.app-watermark-link{z-index:0;position:fixed;bottom:16px;right:20px}.app-watermark{opacity:.8;height:40px;display:block}.nav-right-slot{align-items:center;gap:.75rem;display:flex}.app-auth-button{border:2px solid var(--text-color,var(--accent));color:var(--text-color,var(--accent-dark));cursor:pointer;background:0 0;border-radius:11px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-family:Avenir,sans-serif;font-size:1.3rem;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s;display:flex}.app-auth-button:hover{border-color:var(--text-color,var(--accent-dark));background-color:#2e69451f}.demo-hero{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.demo-content{text-align:left;max-width:1120px;margin:0 auto}.how-it-works{padding:2rem 0}.how-it-works-heading{color:var(--accent-dark);margin:0 0 1.5rem;font-family:Posterama,sans-serif;font-size:2.2rem;font-weight:300}.how-it-works-steps{counter-reset:how-it-works;grid-template-columns:1fr;gap:1rem;max-width:850px;margin:0;margin-inline:auto;padding:0;list-style:none;display:grid}@media (min-width:600px){.how-it-works-steps{grid-template-columns:1fr 1fr}}.how-it-works-step{background:var(--primary-surface);border:2px solid var(--accent);counter-increment:how-it-works;border-radius:11px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex;box-shadow:0 0 10px #2f1f6f26}.how-it-works-step:before{content:counter(how-it-works);background:var(--accent);width:32px;height:32px;color:var(--accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.how-it-works-step p{color:var(--primary-text);margin:0;font-size:1.05rem;line-height:1.5}.how-it-works-step strong{color:var(--accent-dark)}.how-it-works-footer{text-align:center;color:var(--primary-text);margin-top:2rem;padding:1.5rem 0;font-size:1.3rem;line-height:1.6}.how-it-works-footer a{color:var(--accent);font-weight:600;text-decoration:none}.how-it-works-footer a:hover{text-decoration:underline}.demo-stories-heading{color:var(--accent-dark);cursor:pointer;align-items:center;gap:.25rem;margin-top:40px;margin-bottom:15px;font-family:Posterama,sans-serif;font-size:2.2rem;font-weight:300;display:flex}.sublist:first-of-type{margin-top:0;padding-top:0}h4{margin-top:0;margin-bottom:5px;font-size:1.5rem}.game-start-menu{background:var(--primary-surface);border:2px solid var(--accent);border-radius:11px;max-width:800px;margin:0 auto;padding:1.5rem;overflow-y:auto;box-shadow:0 0 10px #2f1f6f80}.game-start-menu h1{color:var(--primary);margin-block:.3rem;font-family:Posterama,sans-serif}.preview-image{object-fit:cover;border-radius:11px;width:100%;max-height:300px;box-shadow:0 2px 8px #0000004d}.progress-section{align-items:center;gap:1rem;display:flex}.progress-track{background-color:var(--surface-neutral,#e0e0e0);height:16px;box-shadow:inset 0px 0px 0px 2px var(--accent);border-radius:6px;flex-grow:1;overflow:hidden}.progress-fill{background-color:var(--accent);z-index:100;border-radius:6px;height:100%;transition:width .3s}.progress-label{color:var(--text-secondary,#666);align-items:center;gap:.4rem;font-size:1.1rem;display:flex}.progress-label[data-state=complete]{color:var(--primary);font-weight:600}.game-start-menu .story-description{color:var(--text-primary,inherit);margin-bottom:1rem;font-size:1.15rem;line-height:1.6;text-wrap:pretty!important}.start-menu-actions{gap:.75rem;width:100%;margin-top:1rem;display:flex}.start-menu-actions button{cursor:pointer;border:2px solid var(--accent);background-color:var(--primary-surface);color:var(--primary);border-radius:11px;flex:1;margin:0 auto;font-size:1.1rem;font-weight:600;transition:background-color .15s,color .15s;box-shadow:2px 3px 6px -2px #0006}.start-menu-actions button:hover{background-color:var(--accent);color:var(--accent-text)}.start-menu-actions .continue-game-button{border:3px solid var(--accent);flex:1.7;box-shadow:2px 3px 6px -2px #0009}.vignette-dots{flex-grow:1;align-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.vignette-dot{background-color:var(--surface-neutral,#e0e0e0);border:2px solid var(--accent);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:background-color .3s,color .3s;display:flex}.vignette-dot[data-visited=true]{background-color:var(--accent);color:var(--accent-text)}.game-start-menu .skills{margin:0;padding:0;list-style:none}.game-start-menu .skill-tag{margin-top:1rem;padding-block:1px;font-size:1.15rem}
