:root{font-family:DM Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e4e9e6;background:#10181e;font-synthesis:none;color-scheme:dark;--accent:#a8d8cc;--accent-dim:#6c948b;--muted:#829399;--line:#ffffff16;--panel:#172228}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{-webkit-tap-highlight-color:transparent;color:inherit;background:none;border:1px solid transparent;border-radius:4px;padding:10px 14px;cursor:pointer;transition:background .18s,border-color .18s,color .18s}button:hover{background:#a8d8cc12;border-color:#a8d8cc52}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit}.app{min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 75% 25%,#29404426,transparent 42%),#10181e}.topbar{height:82px;display:flex;align-items:center;gap:24px;padding:0 clamp(20px,5vw,76px);border-bottom:1px solid var(--line);flex-shrink:0}.wordmark{display:flex;gap:13px;align-items:center;text-align:left;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:2px;white-space:nowrap}.wordmark:hover{background:transparent;border-color:transparent}.wordmark small{display:block;margin-top:5px;color:var(--muted);font-size:8px;letter-spacing:2.5px}.mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #a8d8cc55;color:var(--accent);font-family:Playfair Display,Georgia,serif;font-size:16px;letter-spacing:-1px}.header-title{color:#c4d0cb;font-family:Playfair Display,Georgia,serif;font-size:17px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.top-actions button,.reader-toolbar button{font-size:11px;color:#a7b5b4}.library-page{width:min(1180px,90vw);margin:0 auto;flex:1}.library-intro{padding:72px 4px 53px;background:radial-gradient(ellipse at 75% 55%,#29404455,transparent 60%)}.eyebrow{color:var(--accent);font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase}.library-intro h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(44px,7vw,78px);font-weight:400;line-height:1.08;letter-spacing:-2px;margin:21px 0}.library-intro p{max-width:510px;color:#aebabc;font-size:13px;line-height:1.8;margin:0}.library-section{padding:0 4px 70px}.section-title{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:19px}.section-title h2{font-family:Playfair Display,Georgia,serif;font-size:21px;font-weight:400;margin:0}.section-title span{font-size:10px;color:var(--muted);letter-spacing:1px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.library-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid #ffffff19;background:#172228;border-radius:5px;min-width:0}.library-card:hover{background:#1b2a30;border-color:#a8d8cc66;transform:translateY(-2px)}.cover{height:164px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#233a3d,#131e23 60%,#28383a);position:relative}.cover:before,.cover:after{content:"";position:absolute;border:1px solid #a8d8cc24;border-radius:50%;width:190px;height:190px;transform:rotate(-25deg) scaleY(.45)}.cover:after{width:270px;height:270px;border-color:#a8d8cc15}.cover span{z-index:1;max-width:75%;font-family:Playfair Display,Georgia,serif;font-size:20px;line-height:1.2;text-align:center;color:#d0ddd6;text-shadow:0 2px 10px #000}.sample-cover{background:linear-gradient(150deg,#324347,#111a20 54%,#31423f)}.sample-cover span{font-size:16px;letter-spacing:3px;color:#bad8ca}.card-info{padding:16px 17px 17px}.card-kicker{font-size:8px;letter-spacing:2px;color:#8fa9a0}.card-info h3{font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:18px;line-height:1.3;margin:8px 0}.card-info p{font-size:11px;line-height:1.5;color:#92a2a3;margin:0 0 18px}.card-continue{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;color:#b8d6c7;font-size:10px;letter-spacing:.3px}.card-continue b{font-size:15px;font-weight:400}.library-empty{color:var(--muted);font-size:12px;padding:15px 0}.library-empty code{color:#c7d9cf}.reader-page{width:min(1200px,94vw);margin:0 auto;flex:1;padding:22px 0 38px}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.reader-toolbar>div{display:flex;gap:4px}.reading-status{color:#a8c5b7;font-size:10px;letter-spacing:1px;text-transform:uppercase}.conversion-note{font-size:11px;line-height:1.6;color:#c4d1ca;background:#1b292e;border-left:2px solid var(--accent);padding:10px 14px;margin:0 0 14px}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:end}.stage-shell{overflow:hidden;border-radius:4px 4px 0 0;background:#05090c;box-shadow:0 20px 60px #0005}.stage{position:relative;width:100%;overflow:hidden;background:#080e12}.stage img{position:absolute;object-fit:fill;-webkit-user-select:none;user-select:none}.dialogue-area{position:relative;z-index:1;margin-top:-1px;min-height:170px;padding:23px 30px 25px;background-color:#101c21ef;background-size:cover;background-position:center;border:1px solid #a8d8cc35;border-top:2px solid #a8d8cc80;border-radius:0 0 4px 4px;box-shadow:0 12px 30px #0003}.speaker{color:#a8d8cc;font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase}.dialogue-area>p{font-family:var(--story-font,"Playfair Display",Georgia,serif);font-size:clamp(16px,1.6vw,21px);line-height:1.6;white-space:pre-wrap;margin:11px 0 18px}.advance{display:block;margin-left:auto;padding:5px 0;color:#b8d9cb;font-size:11px;letter-spacing:.5px}.advance span{margin-left:19px;color:var(--accent)}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px;margin-top:15px}.choices button{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#142328;border-color:#a8d8cc46;padding:13px 16px;font-size:12px;line-height:1.5}.choices button span{color:var(--accent);margin-left:12px}.primary{background:#c5d8c5;border-color:#c5d8c5;color:#172520;font-weight:600}.primary:hover{background:#e0eddb;color:#172520}.reader-foot{display:flex;justify-content:space-between;gap:15px;color:#71868a;font-size:8px;letter-spacing:1.5px;margin-top:12px}.reader-foot span+span{letter-spacing:.3px}footer{display:flex;justify-content:space-between;padding:19px clamp(20px,5vw,76px);border-top:1px solid var(--line);color:#718286;font-size:9px;letter-spacing:1px;gap:15px}.error{background:#49312d;color:#ffd6c8;margin:14px auto;padding:13px;border-radius:4px;font-size:12px;max-width:1000px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#070d10d9;display:grid;place-items:center;padding:18px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.panel{width:min(710px,100%);max-height:min(86svh,850px);overflow:auto;background:#172329;border:1px solid #61736d;border-radius:6px;padding:clamp(18px,4vw,28px);box-shadow:0 22px 90px #000b}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}.panel-heading h2{font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:25px;margin:7px 0 0}.panel-heading>button{font-size:11px;color:#aab8b5}.save-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.save-top p,.save-message{font-size:11px;line-height:1.6;color:#a9b8b5;max-width:380px}.save-top .primary{white-space:nowrap;font-size:11px}.save-message{color:var(--accent);margin:10px 0}.save-list{display:grid;gap:10px;margin-top:13px}.save-card{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:15px;padding:9px;background:#101a1f;border:1px solid var(--line);border-radius:4px}.save-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#080d10;border-radius:2px}.save-card time{color:#a8d8cc;font-size:9px;letter-spacing:.6px}.save-card p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Playfair Display,Georgia,serif;font-size:14px;line-height:1.45;margin:7px 0 10px}.save-actions{display:flex;gap:6px}.save-actions button{padding:6px 9px;font-size:10px}.save-actions button:first-child{border-color:#a8d8cc62;color:#b8d6c7}.empty-saves,.state-hint{color:#9fadaa;font-size:12px;padding:15px 0}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 2px;border-bottom:1px solid var(--line)}.setting-row b{display:block;font-size:12px;font-weight:500}.setting-row small{display:block;margin-top:5px;color:#99aaa8;font-size:10px;line-height:1.5}.setting-row input[type=checkbox],.state-row input[type=checkbox]{width:19px;height:19px;accent-color:#a8d8cc;flex:0 0 auto}.menu-actions{display:grid;gap:8px;padding-top:18px}.menu-actions button{display:flex;justify-content:space-between;text-align:left;background:#101a1f;border-color:#ffffff16;padding:15px}.menu-actions span{color:var(--accent)}.state-list{display:grid}.state-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 2px;border-bottom:1px solid var(--line)}.state-name{font-size:12px;overflow-wrap:anywhere}.state-name small{display:block;color:#a5b5ae;font-size:9px;letter-spacing:.5px;text-transform:uppercase;margin-top:4px}.state-description{display:block;color:#c0c8c3;font-size:11px;line-height:1.45;margin-top:6px}.state-row input:not([type=checkbox]){width:min(230px,42%);background:#10181e;color:#e9e6df;border:1px solid #56635e;border-radius:4px;padding:8px}.state-error{font-size:11px;color:#ffd0c3;background:#49312d;padding:10px;border-radius:4px}.package-skinned{--story-font:PackageStoryFont,"Playfair Display",Georgia,serif}.package-skinned .dialogue-area{border-top-color:#c8ad80b0}.package-skinned .speaker{color:#e0c08c}@media(min-width:1000px)and (orientation:landscape){.reader-page{padding-top:26px}.reading-layout{grid-template-columns:minmax(0,1fr);max-width:1110px;margin:0 auto}.stage-shell{max-height:calc(100svh - 390px);display:grid;place-items:center}.stage{max-height:calc(100svh - 390px);height:auto;max-width:100%}.dialogue-area{padding-left:36px;padding-right:36px;min-height:158px}.reader-toolbar{max-width:1110px;margin:0 auto 15px}.reader-foot{max-width:1110px;margin:12px auto 0}}@media(max-width:700px){.topbar{height:70px;padding:0 15px;gap:8px}.wordmark{font-size:9px;gap:8px;letter-spacing:1.3px}.mark{width:34px;height:34px}.header-title{display:none}.top-actions{gap:0}.top-actions button{padding:8px 9px;font-size:10px}.library-page{width:92vw}.library-intro{padding:56px 2px 40px}.library-intro h1{font-size:52px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px}.cover{height:138px}.reader-page{width:100%;padding:12px 12px 25px}.reader-toolbar{margin-bottom:10px}.reader-toolbar button{padding:7px 8px;font-size:10px}.reader-toolbar>div{gap:0}.reading-status{font-size:8px;letter-spacing:.5px}.dialogue-area{padding:18px 19px 20px;min-height:160px}.dialogue-area>p{font-size:17px}.reader-foot span+span{display:none}.save-top{align-items:flex-start;flex-direction:column}.save-card{grid-template-columns:120px minmax(0,1fr);gap:10px}.save-card p{font-size:12px}.panel{padding:17px}.panel-heading h2{font-size:22px}footer{padding:16px;font-size:8px}}@media(max-width:700px)and (orientation:portrait){.reader-page{flex:1;display:flex;flex-direction:column;padding-bottom:max(18px,env(safe-area-inset-bottom))}.reading-layout{flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:calc(100svh - 160px)}.stage-shell{width:100%;max-height:50svh;display:grid;place-items:center;flex:0 1 auto}.stage{max-height:50svh;width:100%;height:auto}.dialogue-area{flex:0 0 auto;min-height:190px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.reader-foot{margin-top:auto;padding-top:11px}}@media(max-width:700px)and (orientation:landscape){.topbar{height:53px}.reader-page{padding-top:8px}.stage-shell,.stage{max-height:calc(100svh - 250px)}.dialogue-area{min-height:112px;padding:12px 17px}.dialogue-area>p{margin:7px 0 10px;font-size:15px}.speaker{font-size:9px}.reader-foot{margin-top:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.library-card .card-open{display:block;text-align:left;padding:0;border:0;border-radius:0;background:transparent}.library-card .card-open:hover{background:transparent}.library-card .card-info{padding-bottom:8px}.card-actions{margin:0 16px 15px;border-top:1px solid var(--line)}.card-actions button{width:100%;display:flex;align-items:center;gap:7px;text-align:left;padding:11px 0;color:#b8d6c7;font-size:10px}.card-actions button span{color:#859b94}.card-actions button b{margin-left:auto;font-size:15px;font-weight:400}.cover{height:auto;aspect-ratio:3/4}.cover-art{display:block;width:100%;height:100%;object-fit:contain;background:#0b1116}.dialogue-area{background-color:rgba(13,24,29,var(--textbox-opacity,.28))!important;background-image:none!important;position:relative;isolation:isolate}.dialogue-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:var(--textbox-art,none);background-repeat:no-repeat;background-position:center;background-size:100% 100%;opacity:.9;pointer-events:none}.dialogue-area>:not(.dialogue-tools){position:relative;z-index:1}.dialogue-tools{position:absolute;right:22px;top:-18px;z-index:3}.dialogue-save{padding:7px 13px;background:#15242bea;border:1px solid #a8d8cc8a;color:#bdd9ce;font-size:10px;letter-spacing:.7px;box-shadow:0 4px 15px #0007}.setting-row input[type=range]{width:min(230px,42%);accent-color:#a8d8cc}.package-skinned .dialogue-area:before{opacity:.92}@media(orientation:landscape){.top-actions .header-saves{display:none}.dialogue-tools{display:block}}@media(max-width:700px)and (orientation:portrait){.dialogue-tools{display:none}.top-actions .header-saves{display:block}}@media(orientation:portrait){.dialogue-tools{display:none}.top-actions .header-saves{display:block}}@media(min-width:701px)and (orientation:landscape){.reading-layout{position:relative}.stage-shell,.stage{max-height:calc(100svh - 270px)}.dialogue-area{position:absolute;left:4%;right:4%;bottom:5%;margin:0;min-height:150px;background-color:rgba(13,24,29,var(--textbox-opacity,.28))!important;border-radius:3px}}.dialogue-area{padding-bottom:7px;padding-left:max(30px,var(--textbox-inset-left,0%));padding-right:max(6px,var(--textbox-inset-right,0%))}.dialogue-area>p{font-size:clamp(calc(15px * var(--dialogue-text-scale,1)),calc(1.6vw * var(--dialogue-text-scale,1)),calc(21px * var(--dialogue-text-scale,1)));line-height:1.5}@media(max-width:700px){.dialogue-area{padding-left:max(19px,var(--textbox-inset-left,0%));padding-right:max(4px,var(--textbox-inset-right,0%))}}@media(max-width:700px)and (orientation:portrait){.dialogue-area{min-height:170px;padding-bottom:max(5px,env(safe-area-inset-bottom))}}.title-menu{width:min(1180px,90vw);min-height:calc(100svh - 82px);margin:0 auto;display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,.8fr);align-items:center;gap:clamp(28px,7vw,100px);padding:48px 0}.title-art{width:100%;max-height:70svh;aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden}.title-art img{width:100%;height:100%;object-fit:contain}.title-placeholder{font:400 clamp(25px,4vw,48px)/1.15 "Playfair Display",Georgia,serif;text-align:center;color:#d0ddd6;padding:20px}.title-options{max-width:520px;width:100%;margin:auto 0}.title-back{padding:4px 0;color:#a7b5b4;font-size:11px}.title-options h1{font:400 clamp(32px,5vw,58px)/1.1 "Playfair Display",Georgia,serif;margin:22px 0 30px}.title-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:28px}.chapter-select-label{display:grid;gap:8px;color:#b9c5bf;font-size:11px}.chapter-select-label select,.chapter-state-row input:not([type=checkbox]){min-width:0;width:100%;padding:11px;background:#10181e;color:#e4e9e6;border:1px solid #56635e;border-radius:4px}.chapter-state-editor{margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-state-editor summary{cursor:pointer;padding:12px 2px;color:#b9c5bf;font-size:11px}.chapter-state-list{display:grid;gap:3px;padding:0 2px 12px;max-height:35svh;overflow:auto}.chapter-state-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 0;color:#aebbb5;font-size:11px}.chapter-state-row input:not([type=checkbox]){width:min(220px,55%);padding:7px}.chapter-state-row input[type=checkbox]{width:18px;height:18px;accent-color:#a8d8cc}.start-chapter{width:100%;margin-top:18px}@media(max-width:700px){.title-menu{min-height:calc(100svh - 70px);grid-template-columns:1fr;gap:12px;padding:16px 0 28px}.title-art{height:min(36svh,300px);aspect-ratio:auto}.title-options{max-width:none}.title-options h1{font-size:34px;margin:8px 0 20px}.title-actions{margin-bottom:20px}}.volume-control{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;color:#a8d8cc;background:#15242bea;border:1px solid #a8d8cc55;border-radius:4px}.volume-control span{font-size:14px;line-height:1}.volume-control input{width:86px;height:16px;margin:0;accent-color:#a8d8cc;cursor:pointer}.dialogue-tools{display:flex;align-items:center;gap:6px}.header-volume{display:flex;align-items:center}.header-volume .volume-control{background:transparent;border-color:transparent;padding:5px}.header-volume .volume-control input{width:66px}.top-actions{gap:4px}@media(orientation:landscape){.top-actions .header-saves,.header-volume{display:none}}@media(orientation:portrait){.dialogue-tools{display:none}}.title-options>.chapter-state-editor{display:none}.chapter-setup-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:grid;place-items:center;overflow:auto;padding:24px;background:#10181e}.chapter-setup-panel{width:min(620px,100%);max-height:90svh;overflow:auto}.chapter-setup-panel h1{font:400 clamp(34px,6vw,54px)/1.1 "Playfair Display",Georgia,serif;margin:26px 0}.chapter-setup-panel>.title-back{display:block}.chapter-setup-panel>.chapter-state-editor{margin-top:0}.chapter-setup-panel>.start-chapter{margin-top:22px}.chapter-setup-panel>p{color:#aebabc;font-size:12px}@media(orientation:portrait){.package-skinned{--story-font:"Playfair Display",Georgia,serif}.package-skinned .dialogue-area:before{display:none}.package-skinned .dialogue-area{border-top-color:#a8d8cc80}.package-skinned .speaker{color:#a8d8cc}}.walkthrough-sections{display:grid;gap:18px;padding:18px 2px}.walkthrough-sections h3{font:400 18px/1.3 Playfair Display,Georgia,serif;color:#e0c08c;margin:0 0 8px}.walkthrough-sections ol{margin:0;padding-left:22px;color:#d0d9d4;font-size:12px;line-height:1.7}.walkthrough-sections li+li{margin-top:7px}:root{--safe-area-bottom:env(safe-area-inset-bottom,0px)}body{padding-bottom:var(--safe-area-bottom)}.card-actions{display:flex;gap:14px}.card-actions button{width:auto;flex:1;min-width:0}@media(max-width:700px){.reader-page .dialogue-area{margin-left:-12px;margin-right:-12px}}
