@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Libre+Baskerville:wght@400;700&display=swap";:root{font-family:Avenir Next,Noto Sans SC,ui-sans-serif,system-ui,sans-serif;color:#1d2926;background:#f6f4ee;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1d2926;--ink-soft: #68736f;--paper: #f6f4ee;--white: #fffefa;--pine: #214d45;--pine-deep: #153a34;--ice: #d7e8e8;--ice-deep: #9ebfc0;--signal: #b74838;--gold: #ad7c36;--line: rgba(29, 41, 38, .15);--shadow: 0 18px 55px rgba(21, 49, 43, .14)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{margin:0;min-height:100vh;background:var(--paper)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.eyebrow,.field-label,.wordmark,.entry-meta,.entry-rule,.story-moment,.composer-hint,.note-label,.worldline-drawer small{font-family:DM Mono,ui-monospace,monospace;letter-spacing:0;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--pine);font-size:10px;font-weight:500}.library-shell{min-height:100vh;background:var(--paper)}.library-header{display:flex;align-items:center;justify-content:space-between;height:70px;border-bottom:1px solid var(--line);padding:0 clamp(24px,5vw,72px);background:#f6f4eef5}.library-intro,.library-progress,.library-worlds{width:min(1180px,calc(100% - 48px));margin-inline:auto}.library-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);align-items:end;gap:50px;padding:76px 0 64px;border-bottom:1px solid var(--line)}.library-intro .eyebrow{grid-column:1 / -1}.library-intro h1{margin:-12px 0 0;font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:400;line-height:1.18}.library-intro p{margin:0 0 6px;color:var(--ink-soft);font-family:Songti SC,Georgia,serif;font-size:15px;line-height:1.9}.library-progress{padding:46px 0 12px}.library-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:20px}.library-section-heading h2{margin:0;font-family:Songti SC,Georgia,serif;font-size:26px;font-weight:400}.library-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.library-progress-list>button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;border:0;border-bottom:1px solid var(--line);padding:20px 18px 20px 0;background:transparent;color:var(--ink);text-align:left}.library-progress-list>button:nth-child(odd){margin-right:26px}.library-progress-list>button:nth-child(2n){margin-left:26px}.library-progress-list>button:hover,.library-progress-list>button.is-current{color:var(--pine)}.library-progress-list strong{grid-column:1;overflow:hidden;font-family:Songti SC,Georgia,serif;font-size:17px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.library-progress-list small{grid-column:1;overflow:hidden;color:var(--ink-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.library-progress-list svg{grid-column:2;grid-row:1 / span 3;align-self:center}.progress-world{color:var(--gold);font:9px DM Mono,monospace}.library-worlds{padding:62px 0 84px}.world-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,70px)}.world-catalog-item{min-width:0;border-top:2px solid var(--ink);padding-top:15px}.world-cover{position:relative;display:block;width:100%;aspect-ratio:16 / 10;overflow:hidden;border:0;padding:0;background:#213b38;color:#fff;text-align:left}.world-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,25,23,.58),transparent 58%)}.world-cover .snowline-scene{transition:transform .5s ease,filter .5s ease}.world-cover:hover .snowline-scene{transform:scale(1.025);filter:saturate(.9) contrast(1.04)}.world-cover>span{position:absolute;z-index:1;left:18px;bottom:16px;font:9px DM Mono,monospace}.world-catalog-copy{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding-top:22px}.world-index{color:var(--signal);font:11px DM Mono,monospace}.world-catalog-copy h3{margin:0;font-family:Songti SC,Georgia,serif;font-size:30px;font-weight:400}.world-catalog-copy p{margin:13px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.75}.world-catalog-copy .world-subtitle{margin-top:5px;color:var(--ink);font-family:Songti SC,Georgia,serif;font-size:15px}.world-highlights{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:18px;color:var(--gold);font-size:10px}.world-highlights span+span:before{content:"/";margin-right:13px;color:var(--line)}.world-open-action{display:inline-flex;align-items:center;gap:8px;margin-top:24px;border:0;border-bottom:1px solid var(--pine);padding:0 0 5px;background:transparent;color:var(--pine);font-size:11px}.turn-right{transform:rotate(180deg)}.library-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:21px clamp(24px,5vw,72px);color:#87918c;font:9px DM Mono,monospace}.auth-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.72fr);height:100vh;overflow:hidden;background:var(--paper)}.auth-visual{position:relative;min-height:0;overflow:hidden;background:#294a46}.auth-visual .snowline-scene{object-position:center 40%}.auth-visual-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0f2622c7,#0f26220a 64%)}.auth-title{position:absolute;z-index:1;left:8%;right:8%;bottom:9%;color:#f8f7f1}.auth-title .eyebrow{color:#edf3ee}.auth-title h1{margin:20px 0 9px;font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:68px;font-weight:400;line-height:1.08}.auth-title p{margin:0;color:#f8f9f3d6;font-family:Songti SC,Georgia,serif;font-size:17px}.auth-form-panel{display:flex;height:100vh;min-height:0;overflow-y:auto;flex-direction:column}.auth-form-inner{width:min(390px,calc(100% - 72px));margin:0 auto;padding:clamp(52px,9vh,88px) 0 45px}.auth-form-panel .entry-footer{margin-top:auto}.auth-form-inner h2{margin:19px 0 34px;font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:31px;font-weight:400}.auth-mode-switch{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:38px;border-bottom:1px solid var(--line)}.auth-mode-switch button{border:0;border-bottom:2px solid transparent;padding:12px 8px;background:transparent;color:var(--ink-soft);font-size:12px}.auth-mode-switch button.active{border-bottom-color:var(--pine);color:var(--pine);font-weight:600}.auth-form-inner input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0;padding:10px 0 12px;background:transparent;color:var(--ink);font-family:Songti SC,Georgia,serif;font-size:17px}.auth-form-inner input:focus{border-color:var(--pine)}.auth-spaced-label{margin-top:27px}.auth-error{display:flex;align-items:flex-start;gap:8px;margin-top:18px;color:var(--signal);font-size:11px;line-height:1.55}.auth-error svg{flex:0 0 auto;margin-top:1px}.entry-account-tools{display:flex;align-items:center;gap:16px}.entry-account-button{display:inline-flex;align-items:center;gap:7px;max-width:150px;border:0;padding:6px 0;background:transparent;color:var(--ink-soft);font-size:10px}.entry-account-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-account-button:hover{color:var(--pine)}.account-dialog .drawer-head{margin-bottom:25px}.account-dialog form>label{margin-top:19px}.account-actions{display:grid;border-top:1px solid var(--line)}.account-actions button{display:flex;align-items:center;gap:11px;width:100%;border:0;border-bottom:1px solid var(--line);padding:15px 4px;background:transparent;color:var(--ink);text-align:left}.account-actions button:hover{color:var(--pine)}.account-actions .account-delete-link{margin-top:20px;color:var(--signal)}.provider-dialog{width:min(600px,100%)}.provider-loading,.provider-empty{display:grid;place-items:center;gap:9px;min-height:170px;color:var(--ink-soft);font-size:11px}.provider-empty strong{color:var(--ink);font-family:Songti SC,Georgia,serif;font-size:17px;font-weight:400}.provider-current{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;margin-bottom:22px;border-top:1px solid var(--pine);border-bottom:1px solid var(--line);padding:15px 2px}.provider-current>span{display:inline-flex;grid-row:span 2;align-items:center;gap:6px;color:var(--pine);font:10px DM Mono,monospace}.provider-current strong{overflow:hidden;font-family:Songti SC,Georgia,serif;font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.provider-current small{color:var(--ink-soft);font:9px DM Mono,monospace;overflow-wrap:anywhere}.provider-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.provider-select{position:relative;border:1px solid rgba(29,41,38,.2);background:var(--white)}.provider-select select{width:100%;appearance:none;border:0;outline:0;padding:12px 32px 12px 13px;background:transparent;color:var(--ink);font-size:12px}.provider-select:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px #214d4512}.provider-select svg{position:absolute;top:50%;right:10px;pointer-events:none;color:var(--pine);transform:translateY(-50%)}.provider-notice{display:flex;align-items:center;gap:7px;margin-top:17px;color:var(--pine);font-size:11px}.provider-actions{margin-top:24px}.provider-remove{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:23px;border-top:1px solid var(--line);padding-top:18px;color:var(--signal);font-size:11px}.provider-remove>button,.provider-remove div button{display:inline-flex;align-items:center;gap:6px;border:0;padding:7px 0;background:transparent;color:var(--ink-soft);font-size:10px}.provider-remove div{display:flex;gap:15px}.provider-remove>button:hover,.provider-remove div .is-danger{color:var(--signal)}.usage-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--pine);border-bottom:1px solid var(--line)}.usage-overview>div{display:grid;gap:7px;min-width:0;padding:17px 12px 16px 2px}.usage-overview span,.usage-token-line>span{color:var(--ink-soft);font:9px DM Mono,monospace}.usage-overview strong{color:var(--ink);font-family:Libre Baskerville,Georgia,serif;font-size:25px;font-weight:400}.usage-token-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:baseline;padding:20px 2px 13px}.usage-token-line strong{font:500 13px DM Mono,monospace}.usage-token-line small{color:var(--signal);font-size:9px}.usage-role-list{border-bottom:1px solid var(--line)}.usage-role-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 120px;align-items:center;min-height:44px;border-top:1px solid var(--line)}.usage-role-row>span{font-family:Songti SC,Georgia,serif;font-size:14px}.usage-role-row strong{color:var(--pine);font:500 12px DM Mono,monospace}.usage-role-row small{color:var(--ink-soft);font:9px DM Mono,monospace;text-align:right}.entry-shell{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);min-height:100vh;overflow:hidden}.entry-visual{position:relative;min-height:720px;overflow:hidden;background:#294a46}.entry-library-back{position:absolute;z-index:3;top:26px;left:28px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);background:#12262347;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.entry-library-back:hover{background:#1226239e}.entry-scene-wrap{position:absolute;inset:0}.entry-scene-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0f262214,#0f26220a 48%,#0f26229e)}.snowline-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.72) contrast(1.04)}.entry-scene-wrap .snowline-scene{object-position:center 40%}.entry-caption{position:absolute;z-index:1;left:8%;right:8%;bottom:9%;color:#f8f7f1}.entry-caption .eyebrow{color:#eef4ef}.entry-caption h1{margin:22px 0 10px;font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:76px;line-height:1.05;font-weight:400;letter-spacing:0}.entry-caption p{max-width:530px;margin:0;color:#f8f9f3db;font-family:Songti SC,Georgia,serif;font-size:18px;line-height:1.7}.entry-meta{display:flex;flex-wrap:wrap;gap:23px;margin-top:34px;color:#f1f6f1d1;font-size:10px}.entry-meta span{display:inline-flex;align-items:center;gap:7px}.entry-form{display:flex;height:100vh;min-height:100vh;overflow-y:auto;flex-direction:column;background:var(--paper)}.wordmark{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 36px;color:var(--pine);font-size:11px}.wordmark-brand{display:flex;align-items:center;gap:10px}.wordmark-mark{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid var(--pine);font-family:Libre Baskerville,serif;font-size:15px}.entry-back{display:inline-flex;align-items:center;gap:6px;border:0;border-bottom:1px solid transparent;padding:6px 0;background:transparent;color:var(--ink-soft);font-size:10px}.entry-back:hover{border-bottom-color:var(--pine);color:var(--pine)}.entry-form-inner{width:min(430px,calc(100% - 72px));margin:auto;padding:50px 0 58px}.entry-form h2{margin:20px 0 13px;font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:31px;font-weight:400;letter-spacing:0}.entry-description{margin:0 0 35px;color:var(--ink-soft);font-size:14px;line-height:1.85}.resume-stories{margin:20px 0 31px;border-top:1px solid var(--pine);border-bottom:1px solid var(--line);padding:20px 0 8px}.resume-story-heading h2{margin:10px 0 15px;font-size:26px}.resume-story-list{max-height:250px;overflow-y:auto}.resume-story-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-top:1px solid var(--line)}.resume-story-row.is-current{box-shadow:inset 2px 0 var(--signal)}.resume-story-main{display:flex;align-items:center;gap:12px;min-width:0;border:0;padding:13px 10px 13px 12px;background:transparent;color:var(--ink);text-align:left}.resume-story-main:hover:not(:disabled){background:#214d450e}.resume-story-main>svg{flex:0 0 auto;color:var(--pine)}.resume-story-copy{display:grid;gap:5px;min-width:0;flex:1}.resume-story-copy strong{overflow:hidden;font-family:Songti SC,Georgia,serif;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.resume-story-copy small{overflow:hidden;color:var(--ink-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.resume-story-tools{display:flex;align-items:center;padding-right:4px}.resume-story-tools button{display:grid;place-items:center;width:31px;height:31px;border:0;background:transparent;color:var(--ink-soft)}.resume-story-tools button:hover:not(:disabled){background:#214d4512;color:var(--pine)}.resume-story-tools button:last-child:hover:not(:disabled){color:var(--signal)}.entry-divider{display:flex;align-items:center;gap:12px;margin:0 0 23px;color:#87918c;font:9px DM Mono,monospace}.entry-divider:before,.entry-divider:after{content:"";height:1px;flex:1;background:var(--line)}.entry-divider span{white-space:nowrap}.field-label{display:block;margin-bottom:9px;color:var(--ink-soft);font-size:10px}.entry-form input,.entry-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0;padding:10px 0 12px;background:transparent;color:var(--ink);font-family:Songti SC,Georgia,serif;font-size:18px}.entry-form textarea{resize:vertical;font-size:14px;line-height:1.65}.entry-form input:focus,.entry-form textarea:focus{border-color:var(--pine)}.persona-description-label{margin-top:24px}.relationship-label{margin-top:30px}.relationship-select{position:relative;border-bottom:1px solid var(--line)}.relationship-select select{width:100%;appearance:none;border:0;outline:0;padding:11px 30px 11px 0;background:transparent;color:var(--ink);font-size:15px}.relationship-select svg{position:absolute;top:50%;right:2px;pointer-events:none;color:var(--pine);transform:translateY(-50%)}.relationship-note{min-height:43px;margin:11px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.65}.character-entry{margin:25px 0 5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0 17px}.character-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.character-import-button{display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid var(--pine);padding:3px 0;color:var(--pine);font-size:10px;cursor:pointer}.character-import-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.character-profile-list{display:grid;max-height:178px;overflow-y:auto;margin-top:13px;border-top:1px solid var(--line)}.character-profile-list>button,.character-profile-option{border:0;border-bottom:1px solid var(--line);background:transparent}.character-profile-list>button{display:grid;gap:2px;width:100%;padding:11px 7px;color:var(--ink-soft);text-align:left}.character-profile-option{display:grid;grid-template-columns:minmax(0,1fr) 32px}.character-profile-option>button{display:grid;gap:2px;min-width:0;border:0;padding:11px 7px;background:transparent;color:var(--ink-soft);text-align:left}.character-profile-option>button:last-child{place-items:center;padding:0;color:#8e9692}.character-profile-option>button:last-child:hover{color:var(--signal)}.character-profile-list button.active,.character-profile-option.active,.character-profile-option.active>button{background:#214d450e;color:var(--pine)}.character-profile-list span{font-family:Songti SC,Georgia,serif;font-size:13px}.character-profile-list small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.character-warning,.character-trust-note{margin:11px 0 0;color:var(--ink-soft);font-size:9px;line-height:1.6}.character-warning{color:var(--gold)}.opening-entry{margin:17px 0 5px;border-bottom:1px solid var(--line);padding-bottom:18px}.opening-list{display:grid;max-height:190px;overflow-y:auto;border-top:1px solid var(--line)}.opening-list button{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;border:0;border-bottom:1px solid var(--line);padding:11px 7px;background:transparent;color:var(--ink-soft);text-align:left}.opening-list button.active{background:#214d450e;box-shadow:inset 2px 0 var(--pine);color:var(--pine)}.opening-list span{font:9px DM Mono,monospace}.opening-list small{overflow:hidden;font-family:Songti SC,Georgia,serif;font-size:11px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.worldbook-entry{margin:17px 0 5px;border-bottom:1px solid var(--line);padding:0 0 18px}.worldbook-entry .field-label{display:inline-flex;align-items:baseline;gap:7px;margin:0}.worldbook-entry .field-label small{color:#939b97;font:8px DM Mono,monospace}.worldbook-list{display:grid;max-height:210px;overflow-y:auto;margin-top:13px;border-top:1px solid var(--line)}.worldbook-option{display:grid;grid-template-columns:minmax(0,1fr) 32px;border-bottom:1px solid var(--line)}.worldbook-option>button{border:0;background:transparent}.worldbook-option>button:first-child{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 7px;color:var(--ink-soft);text-align:left}.worldbook-option>button:first-child:disabled{cursor:not-allowed;opacity:.45}.worldbook-option>button:last-child{display:grid;place-items:center;padding:0;color:#8e9692}.worldbook-option>button:last-child:hover{color:var(--signal)}.worldbook-option.active{background:#214d450e;box-shadow:inset 2px 0 var(--pine)}.worldbook-option.active>button:first-child{color:var(--pine)}.worldbook-check{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid var(--line);color:#87948e}.worldbook-option.active .worldbook-check{border-color:var(--pine);background:var(--pine);color:#fff}.worldbook-copy{display:grid;gap:3px;min-width:0}.worldbook-copy strong{overflow:hidden;font-family:Songti SC,Georgia,serif;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.worldbook-copy small{overflow:hidden;color:var(--ink-soft);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.worldbook-empty{margin:13px 0 0;border-left:2px solid var(--line);padding:4px 0 4px 11px;color:var(--ink-soft);font-size:10px;line-height:1.65}.primary-action{display:flex;align-items:center;gap:10px;width:100%;margin-top:25px;border:0;padding:16px 17px;background:var(--pine);color:#f9f7f0;font-size:13px;font-weight:600;transition:background .2s ease,transform .2s ease}.primary-action:hover:not(:disabled){background:var(--pine-deep);transform:translateY(-1px)}.action-arrow{margin-left:auto;font-size:19px}.entry-footer{display:flex;justify-content:space-between;gap:20px;padding:19px 36px;border-top:1px solid var(--line);color:#87918c;font:10px DM Mono,monospace}.entry-error{position:fixed;z-index:20;right:20px;bottom:20px;display:flex;align-items:center;gap:8px;border:1px solid rgba(183,72,56,.3);padding:11px 13px;background:#fff5ef;color:var(--signal);font-size:12px;box-shadow:var(--shadow)}.game-shell,.game-main{min-height:100vh}.game-shell{background:var(--paper)}.game-main{display:flex;height:100vh;min-width:0;flex-direction:column}.game-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 68px;border-bottom:1px solid var(--line);padding:0 28px;background:#fffefadb}.header-leading,.header-world,.header-status{display:flex;align-items:center}.header-leading{gap:9px;min-width:0}.header-world{gap:11px}.world-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--pine);color:var(--pine)}.app-mark{position:relative;display:inline-flex;align-items:flex-end;gap:2px;width:25px;height:23px}.app-mark span{display:block;width:5px;background:currentColor;transform:skew(-24deg)}.app-mark span:nth-child(1){height:10px;opacity:.55}.app-mark span:nth-child(2){height:17px;opacity:.78}.app-mark span:nth-child(3){height:23px}.world-mark .app-mark{transform:scale(.72)}.header-world strong{display:block;font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:15px;font-weight:700}.header-world small{display:block;margin-top:3px;color:var(--ink-soft);font-size:10px}.header-status{gap:8px;color:var(--ink-soft)}.story-moment{margin-right:7px;font-size:9px}.header-icon-button,.icon-button{display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;color:var(--ink-soft)}.header-icon-button:hover,.icon-button:hover{background:#214d4514;color:var(--pine)}.home-button{margin-left:-12px;border-right:1px solid var(--line)}.scene-strip{display:flex;min-height:94px;flex:0 0 94px;border-bottom:1px solid var(--line);background:var(--ice)}.scene-strip-image{width:170px;overflow:hidden}.scene-strip-image .snowline-scene{min-width:170px}.scene-strip-copy{display:grid;align-content:center;gap:5px;padding:16px 24px}.scene-strip-copy strong{font-family:Songti SC,Libre Baskerville,Georgia,serif;font-size:20px;font-weight:400}.scene-strip-copy>span:last-child{color:#536763;font-size:11px}.narrative-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.narrative-feed{width:min(820px,calc(100% - 48px));margin:0 auto;padding:45px 0 34px}.narrative-entry{padding:0 0 45px}.narrative-entry+.narrative-entry{border-top:1px solid var(--line);padding-top:34px}.opening-entry{padding-bottom:40px}.entry-rule{display:flex;align-items:center;gap:13px;margin-bottom:20px;color:#87938e;font-size:9px}.entry-rule span:nth-child(2){color:var(--pine)}.player-line{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:14px;margin:0 0 24px}.player-line p{margin:0;color:#42534e;font-size:14px;line-height:1.7}.player-edit-button{display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:#87938e}.player-edit-button:hover:not(:disabled),.player-edit-button:focus-visible{color:var(--pine);outline:1px solid var(--line)}.player-line.is-cocreate{border-left:2px solid var(--gold);padding:9px 0 9px 14px;background:#ad7c360d}.player-line.is-cocreate p{color:#665743;font-style:italic}.player-tag{padding-top:3px;color:var(--signal);font:10px DM Mono,monospace}.player-line.is-cocreate .player-tag{color:var(--gold)}.narrative-copy{max-width:720px}.narrative-copy p{margin:0 0 20px;color:#2f3e39;font-family:Songti SC,"Noto Serif SC",Libre Baskerville,Georgia,serif;font-size:17px;line-height:2.02}.opening-entry .narrative-copy p:first-child:first-letter{float:left;margin:9px 8px 0 0;color:var(--pine);font-family:Libre Baskerville,serif;font-size:47px;line-height:.75}.narrative-copy .ending-line{border-left:2px solid var(--signal);padding-left:15px;color:var(--signal);font-size:15px}.entry-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:28px;opacity:.7}.narrative-entry:hover .entry-actions{opacity:1}.entry-more{position:relative}.entry-more-toggle{width:32px;height:32px;justify-content:center;padding:0}.entry-more-menu{position:absolute;z-index:8;right:0;bottom:calc(100% + 7px);min-width:126px;border:1px solid var(--line);padding:4px;background:var(--white);box-shadow:0 8px 24px #1a352f1f}.entry-more-menu button{display:flex;align-items:center;gap:8px;width:100%;border:0;padding:9px 10px;background:transparent;color:var(--ink-soft);font-size:11px;text-align:left}.entry-more-menu button:hover,.entry-more-menu button:focus-visible{background:#214d450f;color:var(--pine);outline:0}.correction-entry{display:flex;align-items:center;gap:9px;margin:0 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 2px;color:var(--ink-soft);font-family:Songti SC,Georgia,serif;font-size:12px}.correction-entry svg{color:var(--pine)}.pending-turn{min-height:126px;border-top:1px solid var(--line);padding:30px 0 34px}.pending-turn .player-line{margin-bottom:12px}.pending-narrative{color:var(--ink)}.pending-narrative p:last-child:after{content:"";display:inline-block;width:5px;height:1em;margin-left:3px;border-radius:1px;background:#294f4373;vertical-align:-.12em;animation:pending-pulse 1.15s ease-in-out infinite}.pending-turn-status{display:flex;align-items:center;gap:7px;margin-left:60px;color:#8c9792;font-size:10px}.pending-turn-status>span{width:5px;height:5px;border-radius:50%;background:var(--pine);animation:pending-pulse 1.15s ease-in-out infinite}@keyframes pending-pulse{0%,to{opacity:.28;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.ghost-action{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:8px 10px;background:transparent;color:var(--ink-soft);font-size:10px}.ghost-action:hover{border-color:var(--pine);color:var(--pine)}.retcon-note{display:flex;align-items:center;gap:7px;margin-top:20px;border-left:2px solid var(--pine);padding:7px 0 7px 10px;color:var(--ink-soft);font-size:10px}.retcon-note svg{color:var(--pine)}.retcon-note button{margin-left:auto;border:0;border-bottom:1px solid var(--line);padding:3px 0;background:transparent;color:var(--pine);font-size:10px}.composer-area{flex:0 0 auto;border-top:1px solid var(--line);padding:11px max(24px,calc((100% - 820px)/2)) 13px;background:#fffefaf5}.story-prompts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:-11px 0 10px;border-bottom:1px solid var(--line)}.story-prompts button{display:flex;align-items:center;gap:8px;min-width:0;min-height:42px;border:0;border-right:1px solid var(--line);padding:8px 12px;background:transparent;color:#52635d;font-family:Songti SC,"Noto Serif SC",Georgia,serif;font-size:12px;text-align:left;transition:background .16s ease,color .16s ease}.story-prompts button:last-child{border-right:0}.story-prompts button:hover,.story-prompts button:focus-visible{background:#214d450e;color:var(--pine);outline:0}.story-prompts button svg{flex:0 0 auto;color:var(--signal)}.story-prompts button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.mode-switch{display:inline-grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);padding:2px;background:#eceee9}.mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:76px;height:30px;border:0;background:transparent;color:var(--ink-soft);font-size:11px}.mode-switch button.active{background:var(--white);color:var(--pine);box-shadow:0 1px 5px #1a352f1a}.mode-switch button:last-child.active{color:#7c5b2c}.composer-location{color:#929a96;font-size:10px}.composer{display:flex;align-items:flex-end;gap:10px}.composer textarea{width:100%;min-height:66px;max-height:150px;resize:none;border:1px solid rgba(29,41,38,.2);border-radius:0;outline:0;padding:12px 14px;background:var(--white);color:var(--ink);font-size:13px;line-height:1.55}.composer textarea:focus{border-color:var(--pine);box-shadow:0 0 0 3px #214d4512}.composer.is-cocreate textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ad7c3614}.send-button{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border:0;background:var(--pine);color:#fff}.continue-button{display:grid;place-items:center;width:42px;height:50px;flex:0 0 42px;border:1px solid var(--line);background:transparent;color:var(--pine)}.continue-button:hover:not(:disabled),.continue-button:focus-visible{border-color:var(--pine);background:#214d450e;outline:0}.composer.is-cocreate .send-button{background:#765c35}.send-button:hover:not(:disabled){background:var(--pine-deep)}.composer-hint{display:flex;justify-content:space-between;gap:15px;margin-top:6px;color:#969e9a;font-size:9px;text-transform:none}.approval-card{display:flex;gap:17px;width:min(820px,calc(100% - 48px));margin:0 auto 35px;border-left:3px solid var(--signal);padding:22px;background:#f6ebe3}.approval-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(183,72,56,.42);color:var(--signal)}.approval-copy{flex:1}.approval-copy h3{margin:9px 0 6px;font-family:Songti SC,Libre Baskerville,serif;font-size:21px;font-weight:400}.approval-copy p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.65}.approval-options{display:grid;gap:7px;margin-top:17px}.approval-options button{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid rgba(183,72,56,.22);padding:10px 12px;background:#ffffff61;color:var(--ink);text-align:left}.approval-options button:hover{border-color:var(--signal);background:#fffaf5}.approval-options button span:first-child{display:grid;gap:3px}.approval-options strong{font-size:12px}.approval-options small{color:var(--ink-soft);font-size:10px}.option-arrow{color:var(--signal);font-size:18px}.approval-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;color:#7d756e;font-size:9px}.approval-footer button{display:inline-flex;align-items:center;gap:5px;border:0;padding:6px 0;background:transparent;color:var(--signal);font-size:10px}.notice-bar{display:flex;align-items:center;gap:8px;width:min(820px,calc(100% - 48px));margin:0 auto 20px;border:1px solid rgba(183,72,56,.3);padding:10px 12px;color:var(--signal);font-size:11px}.notice-bar button{display:grid;place-items:center;margin-left:auto;border:0;background:transparent;color:inherit}.composer-area>.notice-bar{width:100%;margin:0 0 10px}.repair-card{width:min(820px,calc(100% - 48px));margin:0 auto 35px;border-top:1px solid rgba(183,72,56,.32);border-bottom:1px solid rgba(183,72,56,.22);padding:24px 0}.repair-heading{display:flex;align-items:flex-start;gap:14px}.repair-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(183,72,56,.4);color:var(--signal)}.repair-heading h3{margin:8px 0 4px;font-family:Songti SC,Libre Baskerville,serif;font-size:18px;font-weight:400}.repair-heading p{margin:0;color:var(--ink-soft);font-size:11px}.repair-draft{margin:20px 0;border-left:2px solid var(--ice-deep);padding:4px 0 4px 17px}.repair-draft p{margin:0 0 12px;color:#465650;font-family:Songti SC,Georgia,serif;font-size:15px;line-height:1.9}.repair-draft p:last-child{margin-bottom:0}.repair-actions{display:flex;flex-wrap:wrap;gap:8px}.repair-actions button,.memory-correction button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:9px 11px;background:var(--white);color:var(--pine);font-size:11px}.repair-actions button:hover:not(:disabled),.memory-correction button:hover:not(:disabled){border-color:var(--pine)}.repair-actions .discard-action{margin-left:auto;color:var(--signal)}.repair-actions .discard-action:hover:not(:disabled){border-color:var(--signal)}.drawer-backdrop{position:fixed;z-index:30;inset:0;background:#101f1c52}.worldline-drawer,.story-notes-drawer{width:min(460px,94vw);height:100%;overflow-y:auto;border-right:1px solid var(--line);padding:31px;background:var(--paper);box-shadow:22px 0 60px #10262129;animation:slide-in-left .23s ease-out}.notes-backdrop{display:flex;justify-content:flex-end}.story-notes-drawer{border-right:0;border-left:1px solid var(--line);box-shadow:-22px 0 60px #10262129;animation:slide-in-right .23s ease-out}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between}.drawer-head>div{min-width:0}.drawer-head h2{margin:13px 0 0;font-family:Songti SC,Libre Baskerville,serif;font-size:26px;font-weight:400;letter-spacing:0}.drawer-intro{margin:25px 0 23px;color:var(--ink-soft);font-size:12px;line-height:1.75}.drawer-tree{position:relative}.drawer-tree:before{content:"";position:absolute;top:15px;bottom:15px;left:9px;width:1px;background:#aec0b6}.drawer-node-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center}.drawer-node{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 25px;align-items:center;gap:10px;width:100%;border:0;padding:12px 0;background:transparent;text-align:left}.drawer-node-line{z-index:1;display:grid;place-items:center}.drawer-dot{width:8px;height:8px;border:2px solid #8ca49a;border-radius:50%;background:var(--paper)}.drawer-node.active .drawer-dot{border-color:var(--signal);background:var(--signal)}.drawer-node-copy{display:grid;gap:4px;min-width:0}.drawer-node-title{display:flex;align-items:center;gap:8px;min-width:0}.drawer-node-copy strong{overflow:hidden;min-width:0;color:var(--ink);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.drawer-node-title em{flex:none;color:var(--signal);font: 9px DM Mono,monospace}.drawer-node.has-siblings:not(.active) .drawer-dot{border-style:dashed}.drawer-node-copy small{overflow:hidden;color:var(--ink-soft);font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;text-transform:none}.drawer-node-time{color:var(--ink-soft);font:9px DM Mono,monospace;text-align:right}.drawer-node-label{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:#88948f}.drawer-node-label:hover:not(:disabled),.drawer-node-label.is-named{color:var(--signal)}.drawer-node-label.is-named svg{fill:currentColor}.drawer-node-row.is-deprecated{opacity:.56}.drawer-node-row.is-deprecated .drawer-dot{border-style:dashed;background:#d9ddd8}.note-now{margin-top:30px;border-left:2px solid var(--signal);padding-left:16px}.note-label{color:var(--signal);font-size:9px}.note-section{padding:22px 0;border-bottom:1px solid var(--line)}.note-section p{margin:9px 0 0;color:#4d5d58;font-family:Songti SC,Georgia,serif;font-size:13px;line-height:1.8}.note-section-head{display:flex;align-items:center;gap:8px;color:var(--pine)}.note-section-head h3{margin:0;font-size:12px;font-weight:600}.note-people{display:grid;gap:15px;margin-top:15px}.note-people div{display:grid;gap:4px}.note-people strong{font-family:Songti SC,Georgia,serif;font-size:13px}.note-people span{color:var(--ink-soft);font-size:11px;line-height:1.5}.note-section ul{margin:13px 0 0;padding-left:18px;color:#4d5d58;font-family:Songti SC,Georgia,serif;font-size:13px;line-height:1.85}.memory-correction button{margin-top:14px;background:transparent}.retcon-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:24px;background:#101f1c6b}.retcon-dialog{width:min(680px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--line);padding:27px;background:var(--paper);box-shadow:0 24px 80px #10262138}.retcon-dialog label{display:block;margin:25px 0 9px;color:var(--ink-soft);font-size:10px}.retcon-dialog textarea{width:100%;min-height:330px;resize:vertical;border:1px solid rgba(29,41,38,.2);outline:0;padding:16px;background:var(--white);color:#2f3e39;font-family:Songti SC,"Noto Serif SC",Georgia,serif;font-size:15px;line-height:1.85}.retcon-dialog textarea:focus{border-color:var(--pine);box-shadow:0 0 0 3px #214d4512}.player-edit-dialog textarea{min-height:150px}.compact-dialog{width:min(480px,100%)}.compact-dialog input{width:100%;border:1px solid rgba(29,41,38,.2);outline:0;padding:13px 14px;background:var(--white);color:var(--ink);font-family:Songti SC,Georgia,serif;font-size:16px}.compact-dialog input:focus{border-color:var(--pine);box-shadow:0 0 0 3px #214d4512}.dialog-description{margin:24px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.75}.compact-dialog .drawer-head h2,.correction-preview{overflow-wrap:anywhere}.correction-preview{margin:16px 0 5px;border-left:2px solid var(--ice-deep);padding:5px 0 5px 28px;color:var(--ink);font-family:Songti SC,Georgia,serif;font-size:13px;line-height:1.8}.retcon-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.retcon-save{display:inline-flex;align-items:center;gap:6px;border:0;padding:9px 13px;background:var(--pine);color:#fff;font-size:11px}.retcon-save:hover:not(:disabled){background:var(--pine-deep)}.danger-action{display:inline-flex;align-items:center;gap:6px;border:0;padding:9px 13px;background:var(--signal);color:#fff;font-size:11px}.danger-action:hover:not(:disabled){background:#95372b}.loading-screen,.error-screen{display:grid;place-items:center;align-content:center;gap:12px;min-height:100vh;background:var(--paper);color:var(--pine)}.loading-screen span{color:var(--ink-soft);font:10px DM Mono,monospace}.error-screen strong{font-family:Songti SC,Libre Baskerville,serif;font-size:21px;font-weight:400}.error-screen span{color:var(--ink-soft);font-size:12px}.error-screen button{border:1px solid var(--pine);padding:9px 14px;background:transparent;color:var(--pine);font-size:11px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-in-left{0%{transform:translate(-18px);opacity:.5}to{transform:translate(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(18px);opacity:.5}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:840px){.library-intro{grid-template-columns:1fr;gap:22px;padding:54px 0 48px}.library-intro .eyebrow{grid-column:auto}.library-intro h1{margin:0}.world-catalog{gap:30px}.auth-shell{display:block}.auth-visual{height:min(44vh,380px);min-height:330px}.auth-title{left:24px;bottom:28px}.auth-title h1{font-size:48px}.auth-shell{height:auto;min-height:100vh;overflow:visible}.auth-form-panel{height:auto;min-height:auto;overflow:visible}.auth-form-inner{width:calc(100% - 48px);padding:44px 0 54px}.entry-shell{display:block;overflow:visible}.entry-visual{min-height:420px}.entry-scene-wrap:after{background:linear-gradient(0deg,#132b27f5,#132b27c7 44%,#132b270a 78%)}.entry-caption{left:24px;right:22px;bottom:30px}.entry-caption h1{margin-top:15px;font-size:50px}.entry-caption p{font-size:14px}.entry-meta{gap:12px;margin-top:22px;font-size:8px}.entry-form{height:auto;min-height:auto;overflow:visible}.wordmark{padding:19px 24px}.entry-form-inner{width:calc(100% - 48px);padding:45px 0}.entry-form h2{font-size:27px}.entry-footer{padding:16px 24px;font-size:8px}}@media(max-width:680px){.library-header{height:62px;padding-inline:20px}.library-intro,.library-progress,.library-worlds{width:calc(100% - 40px)}.library-intro{padding:44px 0 40px}.library-intro h1{font-size:36px}.library-intro p{font-size:13px}.library-progress{padding-top:36px}.library-progress-list,.world-catalog{grid-template-columns:1fr}.library-progress-list>button:nth-child(n){margin:0}.library-worlds{padding:48px 0 58px}.world-catalog{gap:44px}.world-cover{aspect-ratio:4 / 3}.world-catalog-copy{grid-template-columns:32px minmax(0,1fr);gap:8px}.world-catalog-copy h3{font-size:27px}.library-footer{flex-direction:column;gap:5px;padding-inline:20px}.game-header{flex:0 0 64px;padding:0 17px}.header-leading{gap:5px}.home-button{margin-left:-8px}.world-mark{width:31px;height:31px}.header-world small{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-moment,.entry-account-button span{display:none}.header-status{gap:3px}.scene-strip{min-height:84px;flex-basis:84px}.scene-strip-image{width:108px}.scene-strip-image .snowline-scene{min-width:108px}.scene-strip-copy{padding:12px 15px}.scene-strip-copy strong{font-size:17px}.scene-strip-copy>span:last-child{font-size:10px}.narrative-feed{width:calc(100% - 38px);padding:30px 0 20px}.narrative-entry{padding-bottom:33px}.narrative-entry+.narrative-entry{padding-top:27px}.player-line{grid-template-columns:38px minmax(0,1fr) 28px;gap:8px}.pending-turn-status{margin-left:46px}.narrative-copy p{margin-bottom:18px;font-size:16px;line-height:1.95}.opening-entry .narrative-copy p:first-child:first-letter{font-size:42px}.entry-actions{flex-wrap:wrap;opacity:1}.approval-card,.repair-card,.notice-bar{width:calc(100% - 38px)}.approval-card{padding:17px}.repair-actions{display:grid}.repair-actions .discard-action{margin-left:0}.composer-area{padding:9px 17px 11px}.story-prompts{display:flex;overflow-x:auto;margin:-9px -17px 9px;padding:0 17px;scrollbar-width:none}.story-prompts::-webkit-scrollbar{display:none}.story-prompts button{flex:0 0 auto;min-height:39px;padding:7px 13px}.mode-switch button{min-width:70px;height:29px}.composer-location{display:none}.composer textarea{min-height:58px}.composer-hint span:first-child{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worldline-drawer,.story-notes-drawer{width:94vw;padding:25px 21px}.approval-footer{align-items:flex-start;flex-direction:column}.retcon-backdrop{align-items:end;padding:0}.retcon-dialog{width:100%;max-height:88vh;padding:22px 19px}.retcon-dialog textarea{min-height:300px}.provider-model-grid{grid-template-columns:1fr;gap:0}.provider-dialog{max-height:92vh}.usage-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-overview>div:nth-child(n+3){border-top:1px solid var(--line)}.usage-role-row{grid-template-columns:minmax(0,1fr) 34px 100px}}
