/* Reading surfaces share Snowtrace's --dl-* tokens from dl-paywall.css.
   warm.css owns Bodoni headings, DM Sans controls and mono metadata.
   The night scene and the creator's Lyssajudron colours belong to the artwork. */
.is-reading .tn-monitor{width:min(920px,calc(100vw - 64px));height:min(560px,calc(100svh - 190px));border-radius:2px;box-shadow:0 24px 100px #0006}
.tn:not(.is-spatial) .tn-screen,.is-reading .tn-screen{background:linear-gradient(145deg,white,var(--dl-panel));color:var(--dl-ink);box-shadow:inset 0 1px white;border-radius:2px}
.is-reading .tn-screen-bar{padding:12px 30px;border-color:var(--dl-line)}
.is-reading .tn-screen-bar h1{font-size:12px}
.is-reading .tn-screen-content{padding:28px 30px 32px;scrollbar-color:var(--dl-accent-edge) transparent}
.is-reading #tn-subscribe{visibility:hidden}
.is-reading .tn-terminal{display:none}
.is-reading .tn-scene-controls{bottom:36px}
#tn-profile-subscribe,.tn .tn-get{min-height:52px;padding:14px 20px;font:500 13px/1.3 var(--sans);border-radius:2px;border:1px solid var(--dl-accent-edge);background:var(--dl-ink);color:var(--dl-accent-light);box-shadow:none}
#tn-profile-subscribe{margin-left:auto;min-height:44px;padding:10px 16px;flex-shrink:0}
.is-spatial:not(.is-reading) #tn-profile-subscribe{display:none}
#tn-profile-subscribe:hover,.tn .tn-get:hover{color:white;background:var(--dl-ink);border-color:var(--dl-accent)}
.is-reading .tn-discover{margin-bottom:20px}
.tn-search input{color:var(--dl-ink);border-color:var(--dl-line);font-family:var(--sans)}
.tn-search input::placeholder{color:var(--dl-ink2)}
.is-reading .tn-search input{font:13px/1.4 var(--sans)}
.is-reading #tn-results{font-size:11px;color:var(--dl-ink2)}
.is-reading .tn-projects{display:grid;grid-template-columns:1fr;gap:24px}
.is-reading .tn-project-open{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:100px;background:none;color:var(--dl-ink);border:0;border-radius:2px;box-shadow:none;gap:24px;align-items:center}
.is-reading .tn-project-open:hover{background:var(--dl-panel2)}
.is-reading .tn-cover{width:160px;height:100px;border-radius:2px;background:var(--dl-panel2);overflow:hidden}
.is-reading .tn-cover::after{display:none}
.is-reading .tn-cover-image{width:100%;height:100%;object-fit:cover}
.is-reading .tn-project-body{padding:8px 0}
.is-reading .tn-project h3{font:26px/1.1 var(--serif);color:var(--dl-ink)}
.is-reading .tn-project p,.is-reading .tn-project .tn-project-meta{display:none}
.is-reading .tn-project-meta span:last-child{color:var(--dl-accent-ink)}
.tn-screen .tn-collection-open{min-height:44px;margin:24px 0 0;padding:8px 0;background:none;color:var(--dl-ink);border:0;border-radius:2px}
.tn-screen .tn-collection-open strong{font:26px/1.1 var(--serif)}
.tn-screen .tn-collection-open:hover{background:var(--dl-panel2)}
.tn-screen .tn-empty,.tn-screen .tn-item{color:var(--dl-ink2);border-color:var(--dl-line)}
.tn-screen .tn-text strong{color:var(--dl-ink);font-family:var(--serif)}
/* One material, edge, focus and close treatment for every opened surface. */
.tn :is(#tn-access-dialog,#tn-project-dialog,#tn-traits-dialog,#slot-dialog){color:var(--dl-ink);background:linear-gradient(145deg,white,var(--dl-panel));border:1px solid var(--dl-line);border-radius:2px;box-shadow:0 24px 100px #0006}
.tn :is(#tn-access-dialog,#tn-project-dialog,#tn-traits-dialog,#slot-dialog)::backdrop{background:color-mix(in srgb,var(--dl-ink) 60%,transparent);backdrop-filter:blur(8px)}
.tn :is(#tn-access-close,#tn-project-close,#tn-traits-close),.tn #slot-dialog .dialog-close{position:absolute;right:8px;top:8px;float:none;margin:0;width:44px;height:44px;padding:0;border:0;border-radius:2px;background:var(--dl-panel);box-shadow:none;color:var(--dl-ink2);font:26px/1 var(--sans);z-index:3}
.tn #tn-project-close{position:sticky;float:right;margin:8px 8px -52px 0}
.tn :is(#tn-access-close,#tn-project-close,#tn-traits-close):hover{color:var(--dl-ink);background:var(--dl-panel2)}
#tn-access-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100svh - 32px)}
#tn-access-dialog .tn-membership{padding:40px 32px 24px}
#tn-access-context{font:11px/1.5 var(--mono);color:var(--dl-ink2)}
#tn-access-title{position:static;margin:16px 0 24px;font:400 38px/1.05 var(--serif);letter-spacing:-.035em;color:var(--dl-ink);text-shadow:none;-webkit-text-stroke:0;transform:none;overflow-wrap:anywhere}
#tn-access-subject{margin:0 0 20px;color:var(--dl-accent-ink);font:13px/1.5 var(--sans)}
.tn-plans{padding:0;border:0;margin:0 0 24px;display:grid;gap:12px}
.tn-plans legend{margin:0 0 12px;padding:0;font:12px/1.5 var(--sans);color:var(--dl-ink2)}
.tn-plan{display:grid;grid-template-columns:16px 1fr auto;gap:12px;align-items:center;min-height:68px;padding:12px 16px;border:1px solid var(--dl-line);border-radius:2px;cursor:pointer;font:13px/1.4 var(--sans);background:color-mix(in srgb,white 60%,transparent)}
.tn-plan:has(input:checked){border-color:var(--dl-accent-edge);background:var(--dl-panel2)}
.tn-plan input{margin:0;accent-color:var(--dl-accent-ink);width:16px;height:16px}
.tn-plan strong{font:400 24px/1.2 var(--serif);white-space:nowrap}
.tn-plan small{font:11px/1.4 var(--sans);color:var(--dl-ink2)}
.tn-monthly-offer{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin-bottom:20px;font:13px/1.5 var(--sans)}
.tn-monthly-offer p{margin:0}
#tn-access-tier,#tn-access-inventory{color:var(--dl-ink2)}
#tn-access-payment{color:var(--dl-ink)}
#tn-access-inventory{grid-column:1/-1;font-size:12px}
#tn-creator-join{width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--dl-line);border-radius:2px;background:var(--dl-panel2);color:var(--dl-ink2);font:500 13px/1.4 var(--sans);opacity:1;cursor:not-allowed}
#tn-access-note{font:12px/1.6 var(--sans);text-align:center;margin:12px 0 0;color:var(--dl-ink2)}
#tn-access-return{display:block;margin:16px auto 0;color:var(--dl-accent-ink);font:13px/1.5 var(--sans)}
#tn-access-return[hidden]{display:none}
#tn-project-dialog:not(:has(.tn-character-sheet)){max-width:760px}
#tn-project-dialog .tn-detail-cover{max-height:260px}
#tn-project-detail .tn-tags{display:none}
#tn-project-detail .tn-trace-empty{padding:0;border:0;background:none;font-size:13px}
.tn-reader pre,.tn-turn,.tn-turn>header{background:var(--dl-panel2);color:var(--dl-ink);border-color:var(--dl-line)}
.tn-turn pre{background:transparent}
.tn-text-action,#tn-trait-state,#tn-trait-swatches li,#tn-traits-dialog small{color:var(--dl-ink2)}
#tn-traits-dialog h2{color:var(--dl-ink);font-style:normal}
#tn-save-traits{color:var(--dl-accent-ink);border-color:var(--dl-line);font-family:var(--sans)}
.tn :is(button,a,input):focus-visible{outline:2px solid var(--dl-accent-ink);outline-offset:4px}
.is-reading .tn-foot{font-size:11px;opacity:1;color:var(--dl-accent-light)}
@media(max-width:700px){
 .is-reading .tn-monitor{width:calc(100vw - 24px);height:min(560px,calc(100svh - 170px))}
 .is-reading .tn-screen-bar{padding:12px 20px;gap:12px}.is-reading .tn-screen-bar h1{font-size:11px}
 .is-reading .tn-screen-content{padding:24px 20px}
 .is-reading .tn-project-open{grid-template-columns:88px minmax(0,1fr);gap:16px;min-height:100px;align-items:start}
 .is-reading .tn-cover{width:88px;height:100px}.is-reading .tn-project-body{padding:4px 0}
 .is-reading .tn-project h3{font-size:23px}
 .is-reading .tn-discover{gap:12px}.is-reading #tn-results{white-space:nowrap;font-size:10px}
 #tn-access-dialog .tn-membership{padding:40px 24px 24px}#tn-access-title{font-size:36px}
 .tn-plan{padding:12px;gap:8px}.tn-plan strong{font-size:23px}
}
