*{box-sizing:border-box}body{margin:0;background:#0c0b11;color:#eeebf5;font:15px/1.6 'Segoe UI',sans-serif;display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:#121019;border-right:1px solid #272331;padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:13px;color:#ba98ef;font-size:32px;line-height:1}.brand span{font-size:22px;letter-spacing:4px}.brand .subbrand{display:block;font-size:10px;letter-spacing:5px;margin-top:8px}.caption{font-size:12px;color:#867e97;margin:25px 0}button{font:inherit;color:#dcd4e9;background:#211b2d;border:1px solid #3b304d;border-radius:9px;padding:10px 15px;cursor:pointer}button:hover{background:#342744}button:disabled{opacity:.5;cursor:wait}nav{display:grid;gap:9px;margin:10px 0 35px}nav button{text-align:left;border-color:transparent;background:transparent}.eyebrow{letter-spacing:2px;font-size:10px;color:#b293dc;font-weight:600}#sessions{overflow:auto}#sessions button{width:100%;text-align:left;background:none;border:none;font-size:12px;margin:4px 0}footer{margin-top:auto;padding-top:24px;font-size:11px;color:#898292}#health{color:#c4afd9}main{padding:25px 6%;max-width:1500px;width:100%}header{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;letter-spacing:2px;color:#a59caf;margin-bottom:35px}.pill{border:1px solid #3c314b;padding:5px 10px;border-radius:20px;font-size:9px;color:#bba4d5}.hero{padding:40px;border:1px solid #443052;border-radius:20px;background:radial-gradient(ellipse at 90% 20%,#55347688,transparent 60%),linear-gradient(120deg,#18121f,#20172d);position:relative;overflow:hidden}.hero h1{font:44px/1.18 Georgia,serif;margin:18px 0}.hero p{position:relative;z-index:1;color:#a99bb9}.hero em{color:#c7a2ff;font-style:normal}.sigil{position:absolute;right:5%;top:0;font-size:220px;line-height:1.5;color:#b787ff55;text-shadow:0 0 70px #b45ef8}.sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 20px}.sectionTitle span,.muted{color:#92899f;font-size:13px}h1{font:38px Georgia,serif}h2{font:25px Georgia,serif;margin:0}#cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}.card{background:#17131e;border:1px solid #302739;border-radius:15px;overflow:hidden}.cover{height:110px;background:radial-gradient(ellipse at 70% 10%,#9671b966,transparent),linear-gradient(135deg,#251d39,#49324f);display:flex;align-items:center;justify-content:center;font-size:60px;color:#c5a6e7}.card:nth-child(even) .cover{background:linear-gradient(140deg,#17353d,#374055);color:#98c7d3}.cardBody{padding:22px}.cardBody p{color:#afa3bc;font-size:13px;min-height:45px}.actions{display:flex;gap:8px}.primary{background:#b994ea;color:#160d23;border-color:#b994ea;font-weight:600}.primary:hover{background:#d0b3f7}label{display:block;color:#cbbedd;font-size:13px;margin:18px 0 8px}textarea,input{width:100%;margin-top:7px;border:1px solid #3b304a;border-radius:9px;background:#15111d;color:#f3edf9;padding:12px;font:15px/1.6 'Segoe UI',sans-serif}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #ad87df;outline-offset:1px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}section[hidden]{display:none}#notice{color:#e5ba87;white-space:pre-wrap;margin-bottom:14px}details{background:#17131e;border:1px solid #302739;padding:12px 18px;border-radius:12px}summary{cursor:pointer;color:#c5addf}.message{padding:24px;margin:20px 0;border-left:2px solid #8a62b2;background:#17131e;border-radius:0 12px 12px 0}.message.user{border-color:#4e6678;background:#141920;margin-left:8%}.speaker{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#bd9bdf;margin-bottom:12px}.message p{white-space:pre-wrap;margin:0;line-height:1.85}#chatForm{padding:10px 0 30px}.composerBottom{display:flex;gap:10px;align-items:center;justify-content:flex-end}.composerBottom span{margin-right:auto;font-size:11px;color:#9a8ca8}@media(max-width:760px){body{display:block}aside{position:static;height:auto;padding:18px}nav{display:flex;flex-wrap:wrap;margin:15px 0}aside .caption,aside footer,aside .eyebrow{display:none}#sessions{display:flex;max-height:80px}#sessions button{min-width:160px}main{padding:20px}.hero{padding:25px}.hero h1{font-size:34px}.sigil{opacity:.45}.columns{grid-template-columns:1fr}.sectionTitle{align-items:flex-start}.sectionTitle span{display:none}}

select{max-width:100%;padding:10px 14px;border:1px solid #3b304a;border-radius:9px;background:#15111d;color:#f3edf9;font:inherit}select:focus{outline:2px solid #ad87df}

#characterCards{flex-wrap:wrap;margin-bottom:20px}.actions{flex-wrap:wrap}

body.access{display:block}body.access main{max-width:640px;margin:5vh auto}body.access input{font-size:16px}body.access aside[hidden]{display:none}@media(max-width:760px){textarea,input,select{font-size:16px}.message{padding:16px}.message.user{margin-left:3%}button{min-height:44px}.composerBottom{flex-wrap:wrap}.composerBottom span{flex-basis:100%}header{letter-spacing:1px}.pill{max-width:70%;overflow-wrap:anywhere}}

.toggle{display:flex;align-items:center;gap:10px}.toggle input{width:auto;margin:0}#categoryFilter{margin-bottom:4px}#storyForm select{display:block;margin-top:7px}

/* Keep long journeys and libraries within their own scroll areas. */
#messages{max-height:55dvh;min-height:180px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:10px;border-block:1px solid #302739;overflow-wrap:anywhere}
#cards{max-height:65dvh;overflow-y:auto;overscroll-behavior:contain;padding:4px 10px 12px 0;align-items:start}
#chat .sectionTitle{margin-top:12px}.storyScrollActions{margin:16px 0 8px}#chatForm{padding-bottom:12px}#editor textarea{min-height:120px}#storyFields textarea[name=lore],#storyFields textarea[name=cast]{min-height:240px}
.creditBalance{font-size:12px;color:#d6b3ff;border:1px solid #483257;border-radius:10px;padding:10px;margin-top:20px}
#mediaCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0}.mediaCard{padding:14px;background:#17131e;border:1px solid #443052;border-radius:12px}.mediaCard img{width:100%;height:160px;object-fit:contain}.mediaCard code{display:block;overflow-wrap:anywhere}.mediaCard button{margin:4px}.sceneImage{display:block;max-width:100%;max-height:440px;object-fit:contain;margin:18px auto;border-radius:12px}
[role=tab][aria-selected=true]{background:#b994ea;color:#160d23}button:focus-visible,#messages:focus-visible{outline:2px solid #c7a2ff;outline-offset:3px}@media(max-width:760px){#messages{max-height:50dvh}#cards{max-height:60dvh}.creditBalance{margin-top:8px}#editor textarea{min-height:150px}}

.fieldLimit{display:block;color:#a99bb9;font-size:12px;font-weight:normal}

#messages{max-height:76dvh;min-height:320px}#cards{max-height:76dvh}#sessions .journeyRow{display:flex;align-items:center;gap:3px}#sessions .deleteJourney{width:32px;flex:none;text-align:center;color:#e5a4b5;font-size:20px}.message{position:relative;padding-left:110px}.pinMessage{position:absolute;left:8px;top:20px;font-size:11px;padding:6px}.creditBalance{text-align:left}#publishedCards,#adminUsers{display:grid;gap:16px;margin-top:24px}.adminAccount{border:1px solid #443052;border-radius:12px;padding:20px}.adminAccount input{max-width:240px}.adminAccount button{margin-right:8px}#adminLibrary pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}#adminLibrary details{margin:12px 0}.withCommunity{grid-template-columns:220px minmax(0,1fr) 320px}.withCommunity main{padding:25px 4%;max-width:none;min-width:0}#announcementPanel{position:sticky;top:0;height:100dvh;padding:20px;background:#121019;border-left:1px solid #302739;display:flex;flex-direction:column;min-width:0}#announcementPanel[hidden]{display:none}#announcementPanel .sectionTitle{margin:8px 0}#announcementMessages{overflow-y:auto;flex:1;min-height:0;overflow-wrap:anywhere}.announcement{border:1px solid #403048;border-radius:12px;padding:12px;margin:12px 0}.announcement p{white-space:pre-wrap}.announcement small{color:#ac98bd;font-size:11px}#announcementToggle,#closeAnnouncements{display:none}#announcementForm textarea{max-height:180px}#announcementForm{flex-shrink:0}button[hidden]{display:none!important}
@media(max-width:1200px){.withCommunity{grid-template-columns:220px minmax(0,1fr)}#announcementPanel{position:fixed;right:0;top:0;width:min(360px,92vw);z-index:30;transform:translateX(101%);transition:transform .2s ease;box-shadow:-15px 0 45px #0008}#announcementPanel.drawerOpen{transform:translateX(0)}#announcementToggle{display:block;position:fixed;right:0;top:45%;z-index:20;padding:10px 7px;writing-mode:vertical-rl}#closeAnnouncements{display:block}.withCommunity main{padding-right:38px}}
@media(max-width:760px){.withCommunity{display:block}#messages{max-height:72dvh;min-height:260px}.message{padding-left:16px;padding-top:56px}.pinMessage{top:10px;left:14px}#sessions .journeyRow{min-width:180px}#sessions .journeyRow>button:first-child{min-width:0}#sessions .deleteJourney{min-width:32px}.withCommunity main{padding:20px 38px 20px 16px}}
@media(prefers-reduced-motion:reduce){#announcementPanel{transition:none}}

.appearanceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 24px}.appearanceGrid label{min-width:0}.appearanceGrid input[type=color]{height:44px;padding:4px;width:100%}.appearanceGrid input[type=range]{padding:0;accent-color:#b994ea}.appearanceGrid output{display:block;color:#ab9abf;font-size:12px}.appearanceGrid select{display:block;width:100%;margin-top:7px}
#messages,#appearancePreview{background:var(--background,#0c0b11);scrollbar-color:var(--scrollThumb,#8a62b2) var(--scrollTrack,#211b2d);scrollbar-width:var(--firefoxWidth,auto)}#messages{max-height:var(--chatHeight,76dvh);min-height:min(260px,var(--chatHeight,76dvh))}
#appearancePreview{height:260px;overflow-y:scroll;padding:8px 12px;border:1px solid #443052;border-radius:12px;scrollbar-gutter:stable;overscroll-behavior:contain}#appearancePreview .message{padding:22px}#appearancePreview .message:first-child{margin-top:4px}
:is(#messages,#appearancePreview,.adminJourneyReader) .message{background:var(--narrator,#17131e);border-color:var(--accent,#bd9bdf);border-radius:var(--radius,12px);max-width:var(--messageWidth,100%);margin-block:var(--spacing,20px)}:is(#messages,#appearancePreview,.adminJourneyReader) .message.user{background:var(--player,#141920);margin-left:auto;width:92%}:is(#messages,#appearancePreview,.adminJourneyReader) .message p{font-family:var(--chat-font,'Segoe UI',sans-serif);font-size:var(--fontSize,16px);line-height:var(--lineHeight,1.85);color:var(--text,#eeebf5)}:is(#messages,#appearancePreview,.adminJourneyReader) .speaker{color:var(--accent,#bd9bdf)}
@supports selector(::-webkit-scrollbar){#messages,#appearancePreview{scrollbar-width:auto;scrollbar-color:auto}:is(#messages,#appearancePreview,.adminJourneyReader)::-webkit-scrollbar{width:var(--scrollWidth,12px)}:is(#messages,#appearancePreview,.adminJourneyReader)::-webkit-scrollbar-track{background:var(--scrollTrack,#211b2d);border-radius:var(--scrollRadius,10px)}:is(#messages,#appearancePreview,.adminJourneyReader)::-webkit-scrollbar-thumb{background:var(--scrollThumb,#8a62b2);border-radius:var(--scrollRadius,10px);border:2px solid var(--scrollTrack,#211b2d)}}

.brand span{font-size:20px;letter-spacing:2px}.pageTabs{margin:0 0 22px}.pageTabs button{min-height:44px}.actionText{color:var(--actionColor,#88808f);font-family:var(--actionFont,Georgia,serif)}.thoughtText{font-family:var(--thoughtFont,Georgia,serif);font-style:italic;opacity:.88}.dialogueText{font-family:var(--dialogueFont,'Segoe UI',sans-serif)}.symbolText{font-family:var(--symbolFont,'Segoe UI Symbol',sans-serif)}.codeText{font-family:Consolas,monospace;background:#8882;border-radius:4px;padding:1px 4px}
#announcementMessages{scrollbar-color:var(--announcementThumb,#8a62b2) var(--announcementTrack,#211b2d);scrollbar-width:var(--announcementStandardWidth,auto)}@supports selector(::-webkit-scrollbar){#announcementMessages{scrollbar-color:auto;scrollbar-width:auto}#announcementMessages::-webkit-scrollbar{width:var(--announcementWidth,12px)}#announcementMessages::-webkit-scrollbar-thumb{background:var(--announcementThumb,#8a62b2);border-radius:10px;border:2px solid var(--announcementTrack,#211b2d)}#announcementMessages::-webkit-scrollbar-track{background:var(--announcementTrack,#211b2d)}}
.newAnnouncement{animation:announcementDrop .3s ease-out}@keyframes announcementDrop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}#siteNotifications{position:sticky;top:8px;z-index:35;max-height:40dvh;overflow:auto}.siteNotification{background:#30213f;border:1px solid #b994ea;border-radius:12px;padding:14px;margin-bottom:10px;box-shadow:0 6px 22px #0006}.siteNotification p{white-space:pre-wrap;overflow-wrap:anywhere}.siteNotification strong{font-size:12px}.activityStatus{color:#c9b0ef;background:#221b2c;padding:8px;border-radius:8px}.adminAccount details{margin-top:16px}.adminJourneyReader{max-height:70dvh;overflow:auto;overscroll-behavior:contain;padding:12px;background:var(--background,#0c0b11);margin:16px 0;border:1px solid #443052;border-radius:12px}.adminJourneyReader .message{padding:20px}.adminJourneyReader .speaker{font-size:11px;letter-spacing:.5px}#adminLibrary>select{margin:16px 0;width:100%}
img.sceneImage{cursor:zoom-in}img.sceneImage:focus-visible{outline:3px solid #b994ea}#imageViewer{max-width:96vw;max-height:95dvh;padding:16px;background:#15111d;color:#eee;border:1px solid #8a62b2;border-radius:14px}#imageViewer::backdrop{background:#000c}#imageViewer img{display:block;max-width:88vw;max-height:78dvh;object-fit:contain;margin:12px auto}#imageViewer p{margin:0;text-align:center}#closeImageViewer{display:block;margin-left:auto}
@media(prefers-reduced-motion:reduce){.newAnnouncement{animation:none}}

#storiesPage>#library>.hero{display:none}#storiesPage>#communityPage{margin-bottom:36px}#storiesPage>#communityPage>h1{font:28px Georgia,serif}.homeTagline{color:#c7a2ff;font-size:18px}.cover.hasImage{height:210px}.cover img{height:100%;width:100%;object-fit:cover}.publishedCover{display:block;width:100%;height:210px;object-fit:cover;border-radius:10px;margin-bottom:16px}#publishedCards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-height:70dvh;overflow:auto;padding-right:8px;align-items:start}.coverEditor{border:1px solid #443052;border-radius:12px;padding:18px;margin-top:22px}#coverPreview{display:block;width:100%;max-width:360px;max-height:240px;object-fit:contain;margin:14px 0}#coverPreview[hidden]{display:none}

#storyForm input:not([type="file"]):not([type="hidden"]){min-height:52px}#storyForm textarea{min-height:150px;resize:vertical}#storyFields>.columns{grid-template-columns:1fr}

/* Clean reading layout; scrolling remains available by touch, wheel and keyboard. */
*{scrollbar-width:none!important;scrollbar-gutter:auto!important}*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
[hidden]{display:none!important}
body.inJourney{grid-template-columns:220px minmax(0,1fr)}body.inJourney main{max-width:none;padding:24px 4%}body.inJourney.journeySettingsOpen{grid-template-columns:220px minmax(0,1fr) 330px}
#journeySettings{position:sticky;top:0;height:100dvh;overflow:auto;padding:22px;background:#14101c;border-left:1px solid #392c49}#journeySettings h2{margin-bottom:16px}#journeySettings details{margin-top:22px;padding:12px}#journeySettings select{width:100%}
#appearanceFields{display:block}#appearanceFields fieldset{border:1px solid #443052;border-radius:14px;margin:24px 0;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}#appearanceFields legend{color:#d5b7f5;font-size:19px;padding:0 10px}#appearanceFields label{margin:0}#appearancePreview{margin-top:24px}#appearanceForm>.actions{position:sticky;bottom:0;background:#15111df5;padding:14px;border-radius:12px;z-index:2}
#storiesPage{max-width:1200px;margin:auto}#storiesPage>h1{margin-bottom:8px}#storiesPage>.homeTagline{margin-top:0}#storiesPage>.pageTabs{display:none}#cards,#publishedCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-height:none;overflow:visible;padding:0;align-items:stretch}.card{display:flex;flex-direction:column;min-width:0}.cardBody{flex:1;display:flex;flex-direction:column}.cardBody>.actions{margin-top:auto}.cardBody>p{overflow-wrap:anywhere}.cover,.cover.hasImage,.publishedCover{height:190px;flex-shrink:0}.card h2{overflow-wrap:anywhere}.sectionTitle{flex-wrap:wrap}#storiesPage #providerNotice{font-size:12px}
@media(max-width:1000px){body.inJourney.journeySettingsOpen{grid-template-columns:220px minmax(0,1fr)}#journeySettings{position:fixed;right:0;top:0;width:min(360px,94vw);z-index:40;box-shadow:-20px 0 50px #0009}}
@media(max-width:760px){body.inJourney,body.inJourney.journeySettingsOpen{display:block}#cards,#publishedCards{grid-template-columns:1fr}#appearanceFields fieldset{grid-template-columns:1fr}body.inJourney main{padding:18px}}

.emptyCover{display:grid;place-items:center;background:linear-gradient(135deg,#251d39,#49324f);color:#c5a6e7;font-size:60px}.cardBody p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cardBody>button{margin-top:auto}#storiesPage>.homeTagline{margin-bottom:30px}

.npcPortrait{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:12px}#journeySettings article{padding:12px 0;border-bottom:1px solid #443052}#journeySettings article p{white-space:pre-wrap}#chatForm>select{margin-bottom:10px}#adminPage>form{padding:20px;background:#17131e;border-radius:14px;margin:20px 0}

#messages,.storyReader{overflow-anchor:none}.storyReader{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:start}.storyReader .storyScrollActions{display:flex;flex-direction:column;position:sticky;top:12px;margin:0}.storyReader .storyScrollActions button{font-size:10px;padding:10px 3px;width:48px;overflow-wrap:anywhere}.customCommand{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}#journeySettings textarea[readonly]{font-size:12px}
