@font-face{font-family:Huiwen;src:url('assets/huiwen.otf') format('opentype');font-display:swap}*{box-sizing:border-box}html{background:#111917;color:#e9dfc9;font-family:Huiwen,'Songti SC','SimSun',serif}body{margin:0;min-height:100dvh;background:linear-gradient(#0b1111b0,#0b1111b0),url('assets/game-background.webp') center/cover fixed}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.shell{width:min(100%,calc(100dvh * 9 / 16));min-width:min(360px,100%);height:100dvh;margin:auto;overflow-y:auto;overflow-x:hidden;background:#152220 url('assets/game-background.webp') center/100% 100% fixed;box-shadow:0 0 100px #0008;padding:0 18px 20px;scrollbar-width:thin}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:23px 0 18px;border-bottom:1px solid #d9c29150;margin-bottom:20px}.brand{font-family:Georgia,serif;font-size:12px;letter-spacing:2px}.brand span{display:block;font-family:Huiwen,serif;font-size:17px;letter-spacing:4px;margin-top:7px}.home-link{font-size:14px;color:#e9d7ae;border-bottom:1px solid #e9d7ae}.paper{color:#33281e;background:#e7d5a5 url('assets/warm-paper-riso.webp') center/420px;padding:20px 17px;margin:15px 0;box-shadow:0 5px 18px #0004;border-radius:1px}.eyebrow{font-family:Georgia,serif;letter-spacing:3px;font-size:10px;color:#b99b67;margin:0 0 12px}.paper .eyebrow{color:#875d38}h1{font-size:30px;line-height:1.5;letter-spacing:3px;margin:4px 0 15px}h2{font-size:22px;margin:8px 0 14px;line-height:1.5}h3{font-size:18px;margin:5px 0 12px}p{font-size:15px;line-height:1.9;margin:10px 0;overflow-wrap:anywhere}.intro{text-align:center;padding:20px 0 10px}.intro .ornament{font-size:38px;color:#c6a265}.intro h1{font-size:29px}.muted{font-size:12px;opacity:.7}.search{width:100%;border:0;border-bottom:1px solid #725437;background:#fff4dc60;padding:12px;color:#33281e;outline-offset:4px;margin:6px 0 12px;font-size:16px}.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.person{display:block;text-align:center;min-width:0}.portrait{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#b4a481;border:1px solid #8c775260}.person .portrait{box-shadow:2px 3px 0 #6e48272b}.person-name{display:block;margin-top:7px;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.portrait-placeholder{display:grid;place-items:center;font-size:30px;color:#673527;background:#d6bd87}.pagination,.actions,.tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.pagination{justify-content:center;font-size:13px}.tape,button.tape{border:0;background:#a42e21 url('assets/red-strip-2.trim.png') center/100% 100%;color:#fff1d3;padding:12px 16px;min-height:42px;text-align:center;font-size:14px;display:inline-block;mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat}.tape.secondary{background:#d8c79d url('assets/cream-strip-2.trim.png') center/100% 100%;color:#3d2a1f}.tape.full{width:100%}.profile{display:flex;gap:16px;align-items:center}.profile .portrait{width:88px;flex:0 0 88px}.profile h1{font-size:23px;letter-spacing:1px;margin:0;overflow-wrap:anywhere;line-height:1.5}.profile .eyebrow{margin:0 0 7px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;border-top:1px solid #856b4140;padding-top:17px;margin-top:18px}.numbers strong{display:block;font-size:25px}.numbers span{font-size:12px}.badges{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 0}.badge{border:1px solid #913a25;padding:4px 7px;font-size:11px;color:#913a25}.archive-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archive-link{display:block;border:1px solid #a0865940;background:#dbc69a66;padding:16px 10px}.archive-link b{display:block;font-size:17px;margin-bottom:10px}.archive-link span{font-size:12px}.chapter-list{display:grid;gap:10px}.chapter-link{display:flex;gap:15px;align-items:center;border-bottom:1px solid #84673b50;padding:13px 0}.chapter-link i{font:25px Georgia,serif;min-width:40px;text-align:center;color:#9c3124}.chapter-link span{font-size:16px}.chapter-link small{display:block;margin-top:5px;font-size:12px;opacity:.65}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title small{font-size:12px}.back{font-size:13px;display:inline-block;margin:0 0 12px;border-bottom:1px solid}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.collect{border:0;background:transparent;padding:0;min-width:0;color:inherit;text-align:center}.art{width:100%;aspect-ratio:1;object-fit:contain;display:block}.silhouette{background:#aa3225;mask:var(--art) center/contain no-repeat;aspect-ratio:1;width:100%}.art-placeholder{aspect-ratio:1;display:grid;place-items:center;color:#923829;font-size:30px;border:1px solid #9c694440;background:#d8bd8680}.collect .caption{font-size:12px;line-height:1.5;display:block;margin-top:6px;overflow-wrap:anywhere}.collect .status{display:block;opacity:.7;font-size:10px;margin:4px 0}.collect.locked .art-placeholder{background:#a63126;color:#e7d4aa}.collect.event .art,.collect.event .art-placeholder,.collect.event .silhouette{aspect-ratio:3/4}.group-label{margin:24px 0 14px;border-bottom:1px solid #8e69454a;padding-bottom:8px;font-size:17px}.contribution{border-bottom:1px solid #94734650;padding:13px 0}.contribution button{background:none;border:0;padding:0;text-align:left;color:inherit;width:100%}.contribution b{font-size:17px}.contribution span{display:block;font-size:12px;margin-top:6px;opacity:.7}.provider{color:#962e21;border-bottom:1px dotted #962e21}.prose{white-space:pre-wrap;line-height:2;overflow-wrap:anywhere;font-size:16px}.creation{border-top:1px solid #8e694550;padding:18px 0}.creation img{max-width:100%;height:auto;margin:12px 0;display:block}.empty{padding:18px 0;text-align:center;font-size:14px;opacity:.65}.feed-entry{padding:15px 0;border-bottom:1px solid #9c7a4050}.feed-entry .meta{font-size:12px;opacity:.75}.feed-entry blockquote{margin:10px 0 0;padding:8px 12px;border-left:2px solid #a83728;background:#ccb48330;font-size:14px;white-space:pre-wrap;line-height:1.8}.feed-entry details{margin-top:10px}.feed-entry summary{cursor:pointer;font-size:13px;color:#973725}.feed-entry details p{font-size:14px}dialog{border:0;background:#e7d5a5 url('assets/warm-paper-riso.webp') center/420px;color:#33281e;width:min(calc(100% - 24px),440px);max-height:calc(100dvh - 32px);padding:30px 24px;overflow-y:auto;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#07100fd0;backdrop-filter:blur(4px)}dialog .close{position:sticky;top:0;float:right;border:0;background:#a33628;color:white;width:32px;height:32px;font-size:23px;z-index:2}dialog img.hero{display:block;width:80%;max-height:300px;object-fit:contain;margin:12px auto 20px}dialog h2{padding-right:20px}dialog .choice{background:#d6bd8e;padding:12px;font-size:14px;margin:10px 0}dialog .effect{font-size:13px;color:#963b29}footer{font-size:10px;opacity:.65;text-align:center;padding:20px 0 0;line-height:1.8}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:90vw;padding:12px 18px;background:#f4e4bd;color:#573527;box-shadow:0 4px 25px #0006;font-size:14px;z-index:10;display:none}.export-preview{width:100%;display:block}.export-status{font-size:13px}.tabs .tape{padding:9px 12px;font-size:13px}.tabs .selected{outline:1px solid #952b22;outline-offset:3px}.sheet-note{font-size:12px;opacity:.7}.loading{margin-top:100px;text-align:center}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #bd6547;outline-offset:4px}@media(max-width:370px){.shell{padding:0 12px 16px}.paper{padding:18px 13px}.profile .portrait{width:70px;flex-basis:70px}.profile h1{font-size:21px}.roster{gap:15px 10px}.intro h1{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.shell.show-entry{padding:0;overflow:hidden;min-width:0}.show-entry>.topbar,.show-entry>footer{display:none}.show-entry #app{height:100%}.finale-entry{height:100%;width:100%;position:relative;background:#0a1111}.entry-canvas{position:absolute;left:50%;top:50%;width:432px;height:768px;transform:translate(-50%,-50%) scale(var(--entry-scale,1));background:url('assets/entry-logo.jpg') center/100% 100% no-repeat}.entry-card{position:absolute;top:66.666%;left:20px;right:20px;transform:translateY(-50%);display:grid;gap:14px;padding:27px 29px 25px;background:#f1dfba url('assets/warm-paper-riso.webp') 31% 47%/410px 410px;color:#3b3733;mask:url('assets/entry-paper-mask.png') 52% 48%/113% 109% no-repeat;-webkit-mask:url('assets/entry-paper-mask.png') 52% 48%/113% 109% no-repeat;filter:drop-shadow(0 9px 10px #0008)}.entry-copy{font-size:12px;line-height:1.8;text-align:left}.entry-copy p{margin:0}.entry-copy p+p{margin-top:22px}.entry-copy span{color:#b4432d}.entry-title{display:inline-block;white-space:nowrap}.entry-button{width:100%;min-height:58px;font-size:18px;border:0;background:transparent url('assets/entry-red-strip.png') center/100% 100% no-repeat;color:#f1dfba}.shell:not(.show-entry) #app>.paper:first-child{margin-top:18px}
.home-link[hidden]{display:none}.home-link{flex-shrink:0;font-size:12px;letter-spacing:0}.roster-title{font-size:24px;letter-spacing:2px}.income-label{display:inline-flex;align-items:center;justify-content:center;gap:3px}.currency-icon{width:23px;height:23px;object-fit:contain;vertical-align:middle}
/* Use the game's original paper masks; tile texture at a fixed scale rather than stretching its pixels. */
.paper{border:0;border-radius:0;box-shadow:none;padding:26px 22px;background-size:420px 420px;mask:url('assets/paper-mask-square-1.trim.png') center/100% 100% no-repeat;-webkit-mask:url('assets/paper-mask-square-1.trim.png') center/100% 100% no-repeat}
.tape,button.tape,.tape.secondary,.archive-link,.home-link,.back,.chapter-link,.contribution button,.feed-entry summary,dialog .close{border:0;border-radius:0;background-color:transparent;background-image:url('assets/red-strip-2.trim.png');background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff1d3;mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat;-webkit-mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat;box-shadow:none;text-align:center;padding:12px 16px;line-height:1.6}
.archive-link{padding:15px 10px}.archive-link b{margin-bottom:4px;font-size:16px}.archive-link span,.chapter-link i,.chapter-link small{color:inherit}.chapter-link{margin-bottom:10px}.contribution button{padding:14px}.feed-entry summary{display:inline-block;padding:8px 14px}.home-link,.back{padding:7px 13px}.tabs .selected{outline:0;filter:brightness(1.2);text-decoration:underline;text-underline-offset:4px}.tape:disabled{opacity:.5;cursor:default}.entry-button{background-size:cover}
.collect{padding:10px 7px;background:#dcc697 url('assets/warm-paper-riso.webp') center/420px 420px;mask:url('assets/paper-mask-square-2.trim.png') center/100% 100% no-repeat;-webkit-mask:url('assets/paper-mask-square-2.trim.png') center/100% 100% no-repeat}.collect .caption{padding:7px 5px;background:url('assets/red-strip-2.trim.png') center/cover;color:#fff1d3;mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat}.art-placeholder{border:0;mask:url('assets/paper-mask-square-2.trim.png') center/100% 100% no-repeat}.badge,dialog .choice{border:0;background:#d9c08b url('assets/warm-paper-riso.webp') center/420px 420px;mask:url('assets/paper-mask-square-2.trim.png') center/100% 100% no-repeat}.badge{padding:7px 10px}dialog{border-radius:0;mask:url('assets/paper-mask-square-1.trim.png') center/100% 100% no-repeat}dialog .close{padding:0;font-size:23px}
/* Paper remains paper: warm stock with an unstretched grain, separate from red action tape. */
.paper,.collect,.badge,dialog,dialog .choice{background-color:#e4cc98;background-image:url('assets/warm-paper-riso.webp');background-blend-mode:multiply;background-size:420px 420px;color:#342d27}.collect .caption{background:none;mask:none;-webkit-mask:none;color:#342d27;padding:6px 2px}.badge{background-color:#dec58f}.search{background:#edd8ad;border-color:#9b784c}
/* The visitor directory uses the game's 432 × 768 fixed canvas, nine visitors per page. */
.shell.roster-screen{position:fixed;left:50%;top:50%;width:432px;min-width:0;height:768px;min-height:0;padding:0 18px 16px;transform:translate(-50%,-50%) scale(var(--roster-scale,1));transform-origin:center;overflow:hidden;display:flex;flex-direction:column;background-attachment:scroll}.roster-screen .topbar{flex:0 0 76px;padding:15px 0 12px;margin:0 0 10px}.roster-screen #app{flex:1;min-height:0;display:flex}.roster-screen #footer{display:none}.roster-screen #app>.roster-paper{width:100%;height:100%;margin:0;padding:23px 20px 20px;display:flex;flex-direction:column;min-height:0}.roster-screen .roster-title{font-size:24px;margin:0 0 9px;line-height:1.4}.roster-screen label{font-size:14px}.roster-screen .search{flex:0 0 37px;min-height:0;margin:5px 0 4px;padding:7px 10px;font-size:14px}.roster-screen #roster-results{display:flex;flex-direction:column;flex:1;min-height:0}.roster-screen #roster-results>.muted{flex:none;margin:7px 0;font-size:11px}.roster-screen .roster{flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px 12px}.roster-screen .person{display:flex;flex-direction:column;align-items:center;min-height:0}.roster-screen .portrait{width:88px;height:88px;max-width:100%;flex:0 0 88px;object-fit:cover}.roster-screen .person-name{font-size:12px;line-height:1.4;margin-top:5px;max-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.roster-screen .pagination{flex:0 0 40px;flex-wrap:nowrap;margin:12px 0 0;gap:9px;font-size:12px}.roster-screen .pagination button{min-height:36px;padding:7px 14px;font-size:13px}.roster-screen .empty{position:absolute;top:50%;align-self:center}.roster-screen .brand span{font-size:17px}.roster-screen .brand{font-size:12px}
.shell.roster-screen #app>.roster-paper:first-child{margin:0;min-height:0}
.tape,button.tape,.tape.secondary,.archive-link,.home-link,.back,.chapter-link,.contribution button{background-image:var(--tape-image,url('assets/red-strip-2.trim.png'))}
/* Original game's secondary compact button: orange paper, not a tape image. */
.pagination button.tape{border:0;border-radius:0;background-color:#b4432d!important;background-image:url('assets/warm-paper-riso.webp')!important;background-repeat:repeat!important;background-size:340px 340px!important;background-position:center!important;background-blend-mode:multiply!important;color:#fff8e7!important;mask:url('assets/paper-mask-strip-2.trim.png') 54.9675465167% 45.2349969382%/101.1555% 102.6128% no-repeat;-webkit-mask:url('assets/paper-mask-strip-2.trim.png') 54.9675465167% 45.2349969382%/101.1555% 102.6128% no-repeat;filter:drop-shadow(0 2px 1px #000b);font-size:13px;min-height:36px;padding:7px 14px}.pagination button:disabled{opacity:.52;cursor:default}
.shell.profile-screen{position:fixed;left:50%;top:50%;width:432px;min-width:0;height:768px;min-height:0;padding:0 18px 16px;transform:translate(-50%,-50%) scale(var(--roster-scale,1));transform-origin:center;overflow:hidden;display:flex;flex-direction:column;background-attachment:scroll}.profile-screen .topbar{flex:0 0 76px;padding:15px 0 12px;margin:0 0 10px}.profile-screen #footer{display:none}.profile-screen #app{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.shell.profile-screen #app>.paper:first-child{margin:0;flex:none;padding:20px}.profile-screen .profile .portrait{width:66px;height:66px;flex-basis:66px}.profile-screen .profile h1{font-size:21px}.profile-screen .numbers{margin-top:12px;padding-top:12px}.profile-screen .numbers strong{font-size:24px}.profile-pages{flex:1;min-height:0;display:flex;flex-direction:column}.profile-pages>.paper{flex:1;min-height:0;margin:0;padding:24px 22px;overflow:hidden}.profile-pages>.pagination{flex:0 0 42px;flex-wrap:nowrap;margin:12px 0 0}.profile-pages h2{font-size:23px;margin:4px 0 18px}.profile-pages .archive-link{min-height:82px;display:flex;flex-direction:column;justify-content:center}.profile-pages .badges{margin-top:0;gap:4px}.profile-pages .badge{font-size:10px;padding:5px 7px}.profile-pages .tape.full{min-height:52px;padding:14px 12px}
/* All archive screens share the fixed game canvas. Only the bounded content pane scrolls. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}.shell:not(.show-entry){position:fixed;left:50%;top:50%;width:432px;min-width:0;height:768px;min-height:0;padding:0 18px 16px;transform:translate(-50%,-50%) scale(var(--roster-scale,1));transform-origin:center;overflow:hidden;display:flex;flex-direction:column;background-attachment:scroll}.shell:not(.show-entry) .topbar{flex:0 0 76px;padding:15px 0 12px;margin:0 0 10px}.shell:not(.show-entry) #footer{display:none}.detail-screen #app{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.shell.detail-screen #app>.paper:first-child{margin:0;flex:none;padding:20px}.detail-screen .profile .portrait{width:66px;height:66px;flex-basis:66px}.detail-screen .profile h1{font-size:21px}.detail-screen .numbers{margin-top:12px;padding-top:12px}.detail-screen .numbers strong{font-size:24px}.detail-screen .detail-panel{flex:1;min-height:0;margin:0;padding:20px;display:flex;flex-direction:column;overflow:hidden}.detail-panel-head{display:flex;align-items:center;gap:14px;flex:none;margin-bottom:12px}.detail-panel-head h2{margin:0;font-size:22px}.detail-panel-head .back{margin:0;flex:none}.detail-panel-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:0 4px 12px}.detail-panel-body>.group-label:first-child{margin-top:0}
/* Short controls use the game's red fingerprint/paper treatment, not tape artwork. */
.archive-link,.home-link,.back,.chapter-link,.feed-entry summary,.tabs .tape,.actions .tape,dialog .close{background-color:#b4432d!important;background-image:url('assets/warm-paper-riso.webp')!important;background-size:340px 340px!important;background-repeat:repeat!important;background-blend-mode:multiply!important;color:#fff8e7!important;mask:url('assets/paper-mask-strip-2.trim.png') 54.9675% 45.235%/101.1555% 102.6128% no-repeat;-webkit-mask:url('assets/paper-mask-strip-2.trim.png') 54.9675% 45.235%/101.1555% 102.6128% no-repeat}.archive-link{mask-image:url('assets/paper-mask-square-2.trim.png');-webkit-mask-image:url('assets/paper-mask-square-2.trim.png')}.feed-entry summary{font-size:13px;min-height:34px;padding:6px 12px}.feed-entry summary::marker{content:''}.feed-entry summary::-webkit-details-marker{display:none}
.ending-strips{display:flex;flex-direction:column;gap:12px;padding:4px 2px}.ending-strip{display:block;width:100%;min-height:52px;border:0;border-radius:0;padding:12px 18px;font-size:17px;line-height:1.5;background:transparent url('assets/red-strip-2.trim.png') center/100% 100% no-repeat;color:#fff1d3;text-align:center}.ending-strip.unlocked:nth-child(4n+1){background-image:url('assets/red-strip-1.trim.png')}.ending-strip.unlocked:nth-child(4n+3){background-image:url('assets/red-strip-3.trim.png')}.ending-strip.unlocked:nth-child(4n){background-image:url('assets/red-strip-4.trim.png')}.ending-strip.locked{background-image:url('assets/cream-strip-2.trim.png');color:#5a5148;opacity:1;cursor:default}dialog{overflow:hidden;display:none;max-height:calc(100dvh - 32px)}dialog[open]{display:flex;flex-direction:column}dialog .close{align-self:flex-end;flex:none}#dialog-content{min-height:0;overflow:auto;overscroll-behavior:contain}
.detail-panel-body,#dialog-content{scrollbar-color:#b4432d transparent;scrollbar-width:thin}.detail-panel-body::-webkit-scrollbar,#dialog-content::-webkit-scrollbar{width:6px}.detail-panel-body::-webkit-scrollbar-track,#dialog-content::-webkit-scrollbar-track{background:transparent}.detail-panel-body::-webkit-scrollbar-thumb,#dialog-content::-webkit-scrollbar-thumb{background:#b4432d;border-radius:3px}

.export-panel .detail-panel-body{overflow:hidden;padding:0;display:flex;flex-direction:column}.export-options{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.export-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 4px;font-size:13px}.export-checks label{display:flex;align-items:center;gap:4px}.export-checks label:has(:disabled){opacity:.45}.export-options h3{font-size:16px;margin:4px 0}.export-options .tape{min-height:34px;padding:6px 12px;font-size:13px}.export-options .actions{margin:4px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheet-download>b{font-size:14px}.export-options .export-status{min-height:16px;font-size:11px;margin:0;line-height:1.4}.image-choice{display:grid;gap:8px;font-size:14px}.image-choice select{max-width:100%;padding:8px;background:#e4cc98;color:#342d27}.collect .caption{white-space:nowrap;overflow:hidden;overflow-wrap:normal;line-height:1.2;padding:2px 0;margin-top:3px}.collect .status{margin:3px 0 0}.group-label{color:#a33325}.brief-list p{font-size:13px;border-bottom:1px solid #8e694530;padding-bottom:8px}.brief-object{background:none;border:0;color:inherit;padding:0;font:inherit;cursor:pointer}

/* Summary typography and collection symbols. */
.route-arrow{font-family:Arial,system-ui,sans-serif;font-weight:normal;padding:0 3px}.collection-mark{width:15px;height:15px;display:inline-block;vertical-align:middle;fill:none;stroke:#b4432d;stroke-width:2;stroke-linecap:round;flex-shrink:0}.uncollected{color:#b4432d}.brief-row{display:flex;align-items:flex-start;gap:18px;padding:12px 0;border-bottom:1px solid #8e694530;font-size:13px;line-height:1.8}.brief-theme{flex:0 0 76px}.brief-parts{display:flex;flex-wrap:wrap;gap:6px 13px}.brief-object{display:inline-flex;align-items:center;gap:5px;text-align:left}.badge{background:#f4ead2 url('assets/warm-paper-riso.webp') center/340px;background-blend-mode:screen;color:#b4432d;font-size:12px;padding:7px 10px;mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat;-webkit-mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat}.profile-pages .badge{font-size:12px;padding:7px 10px}.badges:empty{display:none}.story-links{display:grid;grid-template-rows:repeat(3,1fr);gap:14px;height:calc(100% - 55px)}.story-links .archive-link{min-height:0;padding:10px;display:flex;flex-direction:column;justify-content:center}.story-links .archive-link b{font-size:18px}.tape,.tape.secondary,.archive-link,.pagination button.tape,.home-link,.back,.chapter-link,.feed-entry summary,.tabs .tape,.actions .tape,dialog .close,.ending-strip.unlocked{color:#f1dfba!important}.provided-story,.provided-object{padding:6px 0 22px;margin-bottom:16px;border-bottom:1px solid #8e694540}.provided-story h3,.provided-object h3{color:#342d27;font-size:19px}.provided-art{max-width:100%;max-height:220px;object-fit:contain;display:block;margin:8px auto}.contribution button{background:none!important;mask:none!important;-webkit-mask:none!important;color:#342d27!important;text-align:left;padding:8px 0}.related-tag{border:0;color:#b4432d;background:#f0e3c4 url('assets/warm-paper-riso.webp') center/340px;padding:7px 12px;font:inherit;font-size:12px;margin-top:12px;mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat;-webkit-mask:url('assets/paper-mask-strip-2.trim.png') center/100% 100% no-repeat}

.summary-endings .ending-strip{background-image:url("assets/cream-strip-2.trim.png");color:#342d27!important;font-size:15px}.summary-endings .ending-strip.locked{color:#b4432d!important}

.badge,.profile-pages .badge{background-color:#e8dfcc;background-image:url('assets/warm-paper-riso.webp');background-size:340px 340px;background-blend-mode:luminosity;color:#b4432d}.shell.is-loading .topbar,.shell.is-loading #footer{display:none}.shell.is-loading #app{position:absolute;inset:0;display:grid;place-items:center}.shell.is-loading .loading{margin:0;padding:0;background:none;color:#fff;font-size:18px;letter-spacing:2px;text-align:center}

.brief-parts>span,.brief-object{display:inline-flex;align-items:center;gap:5px}.brief-parts .collection-mark{flex:0 0 15px;margin:0}.image-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-progress-row [hidden]{display:none}dialog .close{width:auto;height:auto;min-height:32px;font-size:14px;padding:7px 14px;color:#33281e} .shell.is-loading #app{display:block}.shell.is-loading .loading{height:100%;min-height:100%;padding:22px 20px 26px;display:flex;flex-direction:column;justify-content:center;text-align:left;letter-spacing:normal;color:#f7f7f7}.game-loading-eyebrow{margin:0 0 8px;font-size:11px;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:900}.game-loading-title{margin:0;font-size:48px;font-weight:400;line-height:1.5;letter-spacing:.1em;color:#fff}.game-loading-muted{margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.68)}
.shell.is-loading{position:fixed;left:50%;top:50%;width:432px;min-width:0;height:768px;min-height:0;padding:0;transform:translate(-50%,-50%) scale(var(--roster-scale,1));transform-origin:center;background:#0a1111 url("assets/game-background.webp") center/100% 100% no-repeat}.shell.is-loading::after{content:"";position:absolute;inset:-12%;pointer-events:none;opacity:.38;background:radial-gradient(ellipse at 4% 8%,rgba(30,99,243,.2),transparent 24%),radial-gradient(ellipse at 97% 95%,rgba(180,67,45,.17),transparent 25%);mix-blend-mode:screen}body:has(.is-loading){background:#0a1111 url("assets/game-background.webp") center/cover no-repeat}
.entry-card{background-color:#e4cc98;background-blend-mode:multiply;background-size:420px 420px}.entry-copy p{font-size:14px;line-height:1.8;overflow-wrap:normal}.entry-copy p+p{margin-top:0}.entry-copy .entry-thanks{font-size:18px;line-height:1.8;color:#b4432d}

.entry-copy p{font-size:13.3px}
