:root{font-family:"MS PGothic","ＭＳ Ｐゴシック","Yu Gothic",sans-serif;color:#161616;background:#b7b5b0;font-size:14px;--face:#d4d0c8;--navy:#0a246a;--line:#848484;--blue:#0a4ca4}
*{box-sizing:border-box}body{margin:0;min-width:300px}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;color:#858585}button:focus-visible,a:focus-visible{outline:2px dotted #173c72;outline-offset:3px}a{color:#365f7f}h1,h2,p{margin-top:0}button{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button.win-button{background:linear-gradient(#f4f3ef,#d6d5d1);border:1px solid;border-color:#fff #555 #555 #fff;box-shadow:inset -1px -1px #acaaa4,inset 1px 1px #fff;min-height:36px;padding:7px 20px}.win-button:active:not(:disabled){background:#c9c7c0;border-color:#555 #fff #fff #555;box-shadow:inset 1px 1px #888}.win-button.primary{font-weight:bold;outline:1px solid #1e3968;outline-offset:-4px}.win-button:disabled{outline:0}
.page{max-width:1020px;margin:24px auto;background:#fff;min-height:calc(100svh - 48px);border:1px solid #858585;box-shadow:1px 1px #f9f9f9;padding:0 40px 20px}.web-top{height:28px;border-bottom:1px solid #ddd;color:#717170;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.audio-button{background:#e8e7e2;border:1px solid #888;padding:4px 10px;white-space:nowrap;font-size:12px;min-height:28px}.audio-button[aria-pressed="true"]{color:#173b71}.brand-cg{width:100%;aspect-ratio:2.88;overflow:hidden;background:#fff;position:relative}.brand-cg img{display:block;width:100%;height:auto;image-rendering:pixelated}.entry-brand{margin:14px 0 3px}.entry-tag{text-align:center;color:#666;margin:0 0 24px;font-size:13px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.web-box{border:1px solid #a9afba;background:#fff;margin-bottom:17px}.web-box h2{background:linear-gradient(90deg,#e6eaf1,#f8f8f9);border-bottom:1px solid #a9afba;font-size:15px;color:#46556d;letter-spacing:2px;margin:0;padding:8px 13px}.web-box-body{padding:16px 18px;line-height:1.9;font-size:13px}.web-box-body p:last-child{margin-bottom:0}.lead{font-weight:bold;font-size:16px;line-height:1.7}.steps{padding-left:1.4em;margin:10px 0 0}.mail-preview{border-left:3px solid #d9d9d2;padding:0 0 0 12px;color:#555;font-size:12px;line-height:1.9}.mail-subject{font-size:11px;color:#757575;margin-bottom:7px}.entry-start{text-align:center;margin:9px 0 17px}.entry-start .win-button{min-width:250px;font-size:17px;min-height:44px}.small-note{font-size:11px;color:#777;margin:9px 0 0;line-height:1.7}.web-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ccc;color:#777;font-size:11px;padding-top:12px;gap:10px}.link-button{border:0;background:none;color:#456b79;text-decoration:underline;padding:5px 0;font-size:12px}
.software-wrap{max-width:1190px;margin:18px auto;padding:0 12px}.window{background:var(--face);border:1px solid;border-color:#fff #404040 #404040 #fff;box-shadow:1px 1px #000;padding:3px}.titlebar{background:linear-gradient(90deg,#0a246a,#4984c0);height:28px;display:flex;align-items:center;justify-content:space-between;padding:2px 4px;color:white;font-weight:bold;letter-spacing:.2px}.title-left{display:flex;align-items:center;gap:7px;min-width:0}.app-icon{width:19px;height:21px;display:inline-block;position:relative;background:#d0c293;border:1px solid #fff;transform:rotate(-7deg);box-shadow:inset 3px 0 #9e8a5d}.app-icon:after{content:"";position:absolute;left:5px;top:5px;width:10px;height:9px;background:linear-gradient(140deg,#96c1e9 55%,#71904b 56%)}.window-controls{display:flex;gap:3px}.window-controls span{display:flex;align-items:center;justify-content:center;color:#111;background:#d4d0c8;border:1px solid;border-color:#fff #444 #444 #fff;width:20px;height:20px;font-weight:bold;font-family:Arial,sans-serif}.menu-bar{display:flex;align-items:center;gap:0;min-height:29px;border-bottom:1px solid #888;box-shadow:0 1px white;position:relative;padding:0 4px}.menu-bar>button:not(.audio-button){background:none;border:1px solid transparent;padding:4px 11px;font-size:12px}.menu-bar>button:not(.audio-button):hover{border-color:#fff #888 #888 #fff}.menu-bar .audio-button{margin-left:auto;font-size:11px;min-height:25px;padding:2px 8px}.dropdown{position:absolute;top:27px;left:4px;z-index:20;background:#d4d0c8;border:2px outset #eee;min-width:170px;padding:3px;box-shadow:2px 2px 0 #666}.dropdown button{display:block;width:100%;padding:7px 13px;border:0;background:none;text-align:left;font-size:12px}.dropdown button:hover{background:#0a246a;color:#fff}.toolbar{padding:7px 9px;display:flex;gap:6px;border-bottom:1px solid #8b8880;align-items:center;min-height:42px}.toolbar .tool{border:1px solid transparent;padding:4px 8px;background:transparent;font-size:12px}.toolbar .tool:hover{border-color:#fff #777 #777 #fff}.folder-icon{display:inline-block;background:#efc653;border:1px solid #b28c28;width:17px;height:12px;position:relative;border-radius:1px;margin-right:7px;flex-shrink:0}.folder-icon:before{content:"";position:absolute;top:-4px;left:0;width:8px;height:4px;background:#f0cf70;border:1px solid #b28c28;border-bottom:0}.toolbar-status{margin-left:auto;color:#555;font-size:12px}.statusbar{height:25px;padding:4px 8px;font-size:11px;display:flex;justify-content:space-between;border-top:1px solid #888;margin-top:3px;box-shadow:inset 0 1px #fff;gap:8px;overflow:hidden;white-space:nowrap}.statusbar span:first-child{overflow:hidden;text-overflow:ellipsis}
.login-window{min-height:560px;display:flex;flex-direction:column}.login-main{display:flex;align-items:center;justify-content:center;flex:1;padding:28px}.splash{width:min(680px,100%);background:#f7f6f1;border:1px solid;border-color:#888 #fff #fff #888;padding:12px}.splash .brand-cg{background:#fff;aspect-ratio:2.88}.splash-subtitle{font-family:"MS Mincho","Yu Mincho",serif;text-align:center;font-size:20px;margin:6px 0 18px;letter-spacing:3px}.profile-form{border:1px solid #9a9d9f;background:#f5f4ef;margin:0 12px 5px;padding:0 20px 18px}.profile-form h2{font-size:16px;color:#43546d;background:#e0e6ed;border-bottom:1px solid #a2acb7;margin:0 -20px 18px;padding:9px 13px}.profile-row{display:flex;align-items:center;gap:16px;margin-bottom:13px}.profile-row label{white-space:nowrap}.profile-row input{border:2px inset #eee;padding:6px 8px;background:#fff;min-width:0;width:100%;font-size:16px}.profile-row p{margin:0}.profile-check{font-size:12px;display:block;margin:17px 0}.login-actions{border-top:1px solid #c1c1bb;padding-top:15px;display:flex;gap:15px;justify-content:center}.login-actions .win-button{min-width:125px}
.workspace{display:grid;grid-template-columns:158px minmax(0,1fr);min-height:535px;background:#fff;border:2px inset #eee}.sidebar{border-right:2px groove #eee;background:#fbfbfa}.sidebar-heading{font-size:12px;font-weight:bold;padding:10px 9px;background:#e7e7e6;border-bottom:1px solid #aaa;margin-bottom:12px}.sidebar button{display:flex;align-items:center;gap:3px;width:100%;text-align:left;background:none;border:0;font-size:12px;padding:11px 12px;white-space:nowrap}.sidebar button.current{background:#dbe7f7;color:#173766;font-weight:bold;box-shadow:inset 3px 0 #3872b7}.sidebar button:hover:not(.current){background:#ededeb}.sidebar button .bin-icon{width:17px;margin-right:7px;text-align:center}.sidebar-bottom{margin:30px 13px 0;border-top:1px solid #ddd;padding-top:13px;color:#777;font-size:11px;line-height:1.8}.folder-content{min-width:0;display:flex;flex-direction:column}.folder-header{height:42px;border-bottom:1px solid #bcbcbc;background:linear-gradient(#fff,#efefed);padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.folder-header h1{font-size:16px;margin:0;font-weight:normal}.folder-header span{font-size:12px;color:#666;white-space:nowrap}.compare-layout{padding:18px 18px 0}.pair-date{font-size:11px;color:#777;margin:0 0 10px}.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-card{display:block;width:100%;text-align:left;border:1px solid #b4b4af;background:#f8f8f5;padding:5px;min-width:0;position:relative}.photo-card:hover{border-color:#5576a2;background:#eef3fa}.photo-card.selected{border-color:#0a56c7;background:#dae8fc;box-shadow:0 0 0 2px #2673d5}.photo-card .filename{display:block;text-align:center;font-size:12px;padding-top:8px;padding-bottom:3px}.photo-card .selected-mark{display:none;position:absolute;top:11px;left:11px;background:#0b4cab;color:#fff;padding:3px 7px;font-size:11px}.photo-card.selected .selected-mark{display:block}.photo-sprite{background-image:url('assets/photos.png');background-size:400% 300%;background-repeat:no-repeat;aspect-ratio:1.125;width:100%;background-color:#d5d0c5;position:relative}.sprite-0{background-position:0% 0%}.sprite-1{background-position:33.333333% 0%}.sprite-2{background-position:66.666667% 0%}.sprite-3{background-position:100% 0%}.sprite-4{background-position:0% 50%}.sprite-5{background-position:33.333333% 50%}.sprite-6{background-position:66.666667% 50%}.sprite-7{background-position:100% 50%}.sprite-8{background-position:0% 100%}.sprite-9{background-position:33.333333% 100%}.sprite-10{background-position:66.666667% 100%}.sprite-11{background-position:100% 100%}.selection-details{margin:17px 0 0;display:grid;grid-template-columns:1fr 1.05fr;gap:15px;min-height:115px}.metadata{font-size:12px;line-height:1.9;color:#555;padding:6px 3px}.metadata strong{font-size:14px;color:#222;font-weight:normal;display:block}.comment-panel{background:#faf7e8;border:1px solid #d4caa1;padding:9px 12px;min-height:96px}.comment-panel h2{font-size:11px;color:#6d674f;margin:0 0 9px;font-weight:normal;letter-spacing:1px}.comment-panel p{font-size:14px;line-height:1.8;margin:0;white-space:pre-line}.comment-empty{color:#8a877d;font-size:12px!important}.action-tray{padding:13px 18px;background:#e5e4e0;border-top:1px solid #aaa;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:12px}.action-tray .win-button{min-width:115px}.action-tray .win-button.primary{min-width:175px}.selection-caption{font-size:11px;color:#777;text-align:center;margin:6px 0 10px;min-height:16px}.gallery{padding:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:start}.gallery-item{min-width:0}.gallery-item p{font-size:11px;margin:7px 0 5px;text-align:center}.gallery-item button{font-size:11px;min-height:28px;padding:4px 10px;width:100%}.empty-state{padding:55px 20px;text-align:center;font-size:13px;line-height:1.9;color:#666}.ready-box{margin:25px auto;padding:30px 25px;text-align:center;border:1px solid #bdbbb3;max-width:480px;background:#fafaf6}.ready-box h2{font-size:20px;font-family:"MS Mincho","Yu Mincho",serif;font-weight:normal}.ready-box p{font-size:13px;color:#555;line-height:1.8}.ready-box .win-button{margin-top:6px;min-width:220px}.ready-box .folder-graphic{font-size:32px;margin-bottom:16px;color:#b99331}.gallery-note{text-align:center;padding:0 15px 18px;color:#777;font-size:12px}.toast{background:#fffde4;border:1px solid #b0a67d;color:#585238;padding:8px 14px;text-align:center;font-size:12px;min-height:33px}
.completion{min-height:540px;background:#fff;padding:20px 25px;text-align:center}.completion h1{font-size:18px;font-weight:normal;border-bottom:1px solid #ccc;padding-bottom:13px;margin-bottom:20px}.completion-photo{max-width:620px;margin:0 auto;border:5px solid white;outline:1px solid #aaa}.completion-caption{display:flex;justify-content:space-between;gap:15px;max-width:620px;margin:12px auto;color:#555;font-size:12px;text-align:left}.completion .win-button{margin-top:15px;min-width:180px}.completion-note{min-height:20px;color:#777;font-size:11px;margin:5px 0}.completion-photo.is-changing{animation:photo-flicker .8s steps(2,end)}@keyframes photo-flicker{0%{filter:brightness(1)}40%{filter:brightness(.75)}55%{filter:brightness(1.1)}70%{filter:brightness(.85)}100%{filter:none}}
.novel{height:100svh;min-height:480px;background:#08111f;position:relative;overflow:hidden;cursor:pointer;color:#edf0f5;isolation:isolate}.novel-background{position:absolute;inset:0;background-image:linear-gradient(#061027aa,#071328da),url('assets/novel-bad.png');background-size:cover;background-position:center;opacity:.64;z-index:-3;transform:scale(1.03)}.novel.good .novel-background{background-image:linear-gradient(#172432b0,#111b2bdf),url('assets/novel-good.png');filter:saturate(.45);opacity:.9}.novel:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,transparent 20%,#040b19a8 100%);pointer-events:none}.novel-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;font-size:11px;color:#8e9aac}.novel-toolbar .audio-button{background:#152134;color:#b7c7dc;border:1px solid #48576c;font-size:11px;min-height:30px}.novel-content{width:min(800px,82vw);margin:clamp(42px,13vh,160px) auto 0;font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho",serif;font-size:clamp(18px,2.1vw,27px);line-height:2.25;letter-spacing:.08em;white-space:pre-line;min-height:300px;text-shadow:0 1px 3px #000}.novel-next{position:absolute;right:7vw;bottom:8vh;font-size:16px;color:#d5dfed}.novel-hint{position:absolute;bottom:23px;left:0;width:100%;text-align:center;font-size:11px;letter-spacing:.15em;color:#8a98ae}.novel-leave{border:0;background:transparent;color:#b2bfd0;text-decoration:underline;font-size:11px;padding:6px}.typing-cursor{display:inline-block;width:4px;height:1em;background:#c6d1e0;margin-left:7px;vertical-align:middle;animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.novel.good{background:#111d29}
.ending-page{min-height:100svh;background:#111b2a;color:#d6e1ed;display:flex;align-items:center;justify-content:center;padding:35px 22px}.ending-card{max-width:660px;width:100%;text-align:center}.ending-code{font-size:11px;letter-spacing:4px;color:#8699b0;margin-bottom:26px}.ending-card h1{font-family:"Yu Mincho","MS Mincho",serif;font-size:clamp(27px,5vw,42px);font-weight:normal;letter-spacing:.19em;margin-bottom:30px}.ending-card>p{font-size:13px;line-height:2;color:#9aaec5}.ending-card .win-button{color:#1a2939;min-width:180px;margin:20px 5px 0}.ending-collection{border-top:1px solid #344154;border-bottom:1px solid #344154;margin:35px 0 24px;padding:14px;display:flex;justify-content:center;gap:24px;color:#8499b0;font-size:12px}.ending-collection .found{color:#d8e1eb}.ending-card .hint{font-size:12px;color:#b0bdcc}.ending-card footer{font-size:10px;color:#6d829b;margin-top:45px;line-height:1.9}.ending-card .link-button{color:#b0c4db}.overlay{position:fixed;inset:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{max-width:600px;width:100%;background:#d4d0c8;border:2px outset #eee;box-shadow:2px 3px 10px #0006;padding:3px;color:#161616}.dialog .titlebar{font-size:13px}.dialog-body{padding:22px;max-height:70svh;overflow:auto;line-height:1.9;font-size:13px}.dialog-body h2{font-size:16px}.dialog-body p:last-child{margin-bottom:0}.dialog-actions{display:flex;justify-content:center;gap:12px;padding:0 18px 18px}.dialog-actions .win-button{min-width:100px}.error-banner{background:#fff1dc;border:1px solid #bd9b65;padding:10px;margin:10px;font-size:12px}
@media(min-width:1500px){.software-wrap{margin-top:35px}.workspace{min-height:600px}.compare-layout{padding-top:24px}.selection-details{margin-top:22px}}
@media(max-width:760px){.page{margin:10px;min-height:calc(100svh - 20px);padding:0 22px 16px}.entry-grid{gap:12px}.web-box-body{padding:13px;font-size:12px}.lead{font-size:14px}.software-wrap{margin:8px auto;padding:0 7px}.workspace{grid-template-columns:122px minmax(0,1fr);min-height:480px}.sidebar button{font-size:11px;padding:11px 9px}.sidebar-heading{font-size:11px;padding-left:8px}.compare-layout{padding:14px 12px 0}.pair-grid{gap:10px}.selection-details{grid-template-columns:1fr;gap:4px;min-height:0}.metadata{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;line-height:1.7}.metadata strong{font-size:12px}.comment-panel{min-height:90px}.comment-panel p{font-size:13px}.action-tray{gap:9px;padding:12px 10px}.action-tray .win-button{min-width:80px;padding:8px 10px;font-size:12px}.action-tray .win-button.primary{min-width:145px}.toolbar .tool{font-size:11px;padding:3px}.gallery{grid-template-columns:repeat(2,1fr);gap:11px;padding:13px}.completion{min-height:480px;padding:20px}.login-main{padding:20px}.splash{padding:8px}.profile-form{margin:0 5px 5px}.novel-content{width:84vw;margin-top:11vh;line-height:2.15;font-size:21px}.novel-toolbar{padding:14px}}
@media(max-width:520px){:root{font-size:13px}.page{margin:0;min-height:100svh;border:0;padding:0 16px 15px;box-shadow:none}.web-top{font-size:10px;height:37px}.entry-brand{margin-top:20px;margin-left:-8px;width:calc(100% + 16px)}.entry-tag{font-size:11px;margin:6px 0 20px}.entry-grid{display:block}.web-box{margin-bottom:14px}.web-box h2{font-size:13px;padding:7px 11px}.web-box-body{padding:12px 15px;line-height:1.8}.lead{font-size:14px}.steps{margin-top:6px}.mail-preview{font-size:11px}.entry-start{margin-top:18px}.entry-start .win-button{min-height:43px;font-size:15px;width:85%;max-width:290px}.small-note{font-size:10px}.web-footer{font-size:10px}.software-wrap{margin:0;padding:0}.window{border:0;padding:2px;box-shadow:none;min-height:100svh}.titlebar{height:27px;font-size:12px}.app-icon{width:16px;height:18px}.window-controls span{width:18px;height:18px}.menu-bar{min-height:30px}.menu-bar>button:not(.audio-button){padding:5px 8px;font-size:11px}.toolbar{padding:5px 6px;min-height:35px}.toolbar .tool{font-size:10px}.toolbar-status{font-size:10px}.workspace{display:flex;flex-direction:column;min-height:calc(100svh - 125px);border-width:1px}.sidebar{border-right:0;border-bottom:1px solid #888;background:#eeede9;display:flex;overflow:auto;flex-shrink:0}.sidebar-heading,.sidebar-bottom{display:none}.sidebar button{width:auto;min-width:max-content;display:flex;gap:0;padding:10px 9px;font-size:10px;min-height:35px}.sidebar button.current{box-shadow:inset 0 -2px #3872b7}.sidebar .folder-icon{width:13px;height:10px;margin-right:5px}.sidebar .bin-icon{margin-right:4px;width:13px}.folder-content{flex:1;min-height:0}.folder-header{height:34px;padding:7px 10px}.folder-header h1{font-size:13px}.folder-header span{font-size:10px}.compare-layout{padding:12px 9px 0}.pair-date{font-size:10px;margin-bottom:8px}.pair-grid{gap:8px}.photo-card{padding:3px}.photo-card .filename{font-size:10px;padding:6px 0 3px}.photo-card .selected-mark{font-size:9px;padding:3px 5px;top:7px;left:7px}.selection-details{margin-top:12px;gap:6px}.metadata{font-size:10px;min-height:37px;padding:2px 0;gap:5px 10px}.metadata strong{font-size:11px}.comment-panel{padding:9px 11px;min-height:92px}.comment-panel h2{font-size:10px;margin-bottom:6px}.comment-panel p{font-size:13px;line-height:1.8}.selection-caption{font-size:10px;margin:8px 0 9px}.action-tray{gap:7px;padding:12px 7px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.action-tray .win-button{min-width:71px;font-size:11px;min-height:38px;padding:8px 9px}.action-tray .win-button.primary{min-width:156px;flex:1;max-width:220px}.statusbar{height:24px;font-size:10px}.login-window{min-height:100svh}.login-main{padding:24px 9px;align-items:flex-start;padding-top:70px}.splash{padding:7px;width:100%}.splash-subtitle{font-size:15px;letter-spacing:1px;margin-bottom:16px}.profile-form{padding:0 12px 15px;margin:0}.profile-form h2{margin:0 -12px 17px;font-size:14px}.profile-row{gap:9px;font-size:12px;flex-wrap:wrap}.profile-row input{font-size:16px;padding:7px;flex:1;min-width:150px}.profile-check{font-size:11px;line-height:1.6;margin:18px 0}.login-actions{gap:12px}.login-actions .win-button{min-width:110px}.ready-box{margin:25px 13px;padding:27px 16px}.ready-box h2{font-size:18px}.ready-box p{font-size:12px}.gallery{grid-template-columns:repeat(2,1fr);gap:14px;padding:15px 10px}.gallery-item button{font-size:10px}.toast{font-size:10px}.completion{padding:22px 13px;min-height:calc(100svh - 95px)}.completion h1{font-size:16px;margin-bottom:24px}.completion-caption{font-size:10px;flex-wrap:wrap}.completion .win-button{margin-top:25px}.completion-note{font-size:10px}.novel{min-height:100svh}.novel-content{width:86vw;margin-top:10vh;font-size:17px;letter-spacing:.045em;line-height:2.3;min-height:360px}.novel-toolbar{font-size:10px}.novel-hint{font-size:10px;bottom:24px}.novel-next{bottom:10vh;font-size:14px}.novel-background{background-position:55% center}.ending-card h1{font-size:29px}.ending-card>p{font-size:12px}.ending-collection{gap:14px;font-size:11px}.ending-card .win-button{min-width:150px}.ending-card footer{font-size:9px}.dialog-body{padding:17px;font-size:12px}.dialog-body h2{font-size:14px}}
.pair-grid{max-width:660px;margin-left:auto;margin-right:auto}
.metadata span{display:block}
.novel-background{background:#0b1931;opacity:.72;filter:saturate(.2)}
.novel-background>.photo-sprite{position:absolute;left:50%;top:50%;width:max(100vw,112.5svh);height:max(88.889vw,100svh);aspect-ratio:unset;transform:translate(-50%,-50%)}
.novel-background:after{content:"";position:absolute;inset:0;background:linear-gradient(#06102788,#071328d9)}
.novel.good .novel-background{background:#122033;filter:saturate(.4)}
.novel-content{margin-top:clamp(30px,8vh,100px);font-size:clamp(18px,2vw,25px);line-height:2.12}
@media(max-width:520px){.novel-content{margin-top:7vh;font-size:17px;line-height:2.1;min-height:0}.completion-photo{max-width:370px}.completion-photo .photo-sprite{aspect-ratio:1.125}}
@media(max-width:520px) and (max-height:700px){.comment-panel{min-height:70px;padding:7px 10px}.comment-panel p{font-size:12px;line-height:1.65}.selection-details{margin-top:8px;gap:4px}.metadata{gap:1px 8px;line-height:1.5;min-height:30px}.selection-caption{margin:4px 0 6px}.action-tray{padding-top:8px;padding-bottom:8px}.pair-date{margin-bottom:5px}.novel-content{font-size:15px;line-height:1.95;margin-top:4vh;letter-spacing:.03em}.novel-hint{bottom:16px}.novel-toolbar{padding:10px 12px}.completion-photo{max-width:270px}.completion{padding-top:14px}.completion h1{margin-bottom:14px}.completion .win-button{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
/* Folder-browser prototype: the photos live in a scrollable file pane. */
body[data-stage="app"] .window{height:calc(100svh - 38px);display:flex;flex-direction:column;min-height:500px}
body[data-stage="app"] .titlebar,body[data-stage="app"] .menu-bar,body[data-stage="app"] .toolbar,body[data-stage="app"] .statusbar{flex-shrink:0}
.folder-workspace{flex:1;min-height:0}
.folder-workspace .folder-content{min-height:0;overflow:hidden}
.folder-browser{overflow:hidden}
.browser-inspector{min-height:0}
.folder-browser{display:grid;grid-template-columns:minmax(0,1fr) 245px;flex:1;min-height:0}
.folder-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;background:#fff;scrollbar-color:#a8a6a0 #e7e5e0;scrollbar-width:auto}
.file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 12px;padding:16px;align-content:start}
.photo-file{min-width:0;padding:4px;border:1px solid transparent;background:white;align-self:start}
.photo-file:hover{border-color:#a0b7d4;background:#f0f4f9}
.photo-file.selected{background:#d9e7fa;border-color:#2765b5;box-shadow:inset 0 0 0 1px #2765b5}
.file-label{display:block;font-size:11px;text-align:center;margin:7px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scenery-photo{background-image:url('assets/scenery.png')}
.photo-ghost{position:absolute;inset:0;display:block;background-image:url('assets/photos.png');background-size:400% 300%;background-repeat:no-repeat;transition:opacity 1.8s ease;pointer-events:none}
.browser-inspector{border-left:2px groove #eee;background:#f4f3ee;padding:13px;overflow:auto}
.inspect-filename{font-size:12px;margin:12px 0;overflow-wrap:anywhere}
.browser-inspector dl{font-size:11px;line-height:1.7;margin:0 0 15px}
.browser-inspector dt{color:#777;margin-top:9px}.browser-inspector dd{margin:0;min-height:19px}
.browser-inspector .comment-panel{min-height:110px;padding:10px}.browser-inspector .comment-panel p{font-size:13px}
.inspector-empty{font-size:11px;color:#888;padding:20px 4px;line-height:1.9}
.browser-selection{font-size:10px;padding:5px 12px;border-top:1px solid #ddd;color:#666;height:24px;flex-shrink:0}
.browser-actions{margin-top:0;flex-shrink:0;justify-content:flex-start;padding:11px 13px;gap:9px}
.browser-actions .win-button{min-width:90px;padding:7px 12px;font-size:12px}
.browser-actions .win-button.primary{min-width:105px}
.browser-actions .finish-album{margin-left:auto;min-width:125px}
.sort-control{margin-left:auto;font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.sort-control select{font-family:inherit;font-size:11px;border:2px inset #ddd;background:#fff;max-width:150px;padding:3px 4px}
.multiple-control{font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:3px}
.multiple-control input{margin:0}
.photo-viewer{max-width:390px;margin:auto}.photo-viewer .photo-sprite{width:100%}.viewer-meta{font-size:10px;line-height:1.7;margin:10px 0}.photo-viewer .comment-panel{min-height:0}.photo-viewer .comment-panel p{font-size:13px}
@media(max-width:900px){.folder-browser{grid-template-columns:minmax(0,1fr) 205px}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}.browser-inspector{padding:9px}.browser-actions .win-button{min-width:72px;padding:7px 9px;font-size:11px}.browser-actions .win-button.primary{min-width:83px}.browser-actions .finish-album{min-width:105px}.browser-actions{gap:7px}}
@media(max-width:650px){.folder-browser{grid-template-columns:1fr}.browser-inspector{display:none}.file-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.folder-workspace .sidebar{width:120px}.browser-actions .win-button{min-width:60px}.browser-actions .win-button.primary{min-width:70px}.browser-actions .finish-album{min-width:90px}.browser-toolbar{flex-wrap:wrap}.sort-control{margin-left:0}.multiple-control{margin-left:auto}}
@media(max-width:520px){body[data-stage="app"] .window{height:100svh;min-height:0}.folder-workspace .sidebar{width:100%}.folder-workspace{min-height:0}.folder-workspace .folder-content{min-height:0}.browser-toolbar{min-height:57px;gap:5px 10px;padding:6px}.browser-toolbar .tool{font-size:11px;min-height:24px}.multiple-control{font-size:10px}.sort-control{font-size:10px;flex-basis:100%;justify-content:flex-end}.sort-control select{font-size:10px;padding:2px 4px;max-width:145px}.folder-scroll{min-height:0}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 9px;padding:10px}.file-label{font-size:10px}.browser-actions{padding:10px 7px calc(10px + env(safe-area-inset-bottom));gap:6px;flex-wrap:nowrap}.browser-actions .win-button,.browser-actions .win-button.primary{min-width:0;flex:1;padding:8px 5px;font-size:11px;max-width:none;white-space:nowrap}.browser-actions .finish-album{min-width:0;margin-left:0;flex:1.2}.browser-selection{height:22px;font-size:10px;padding:4px 9px}.folder-workspace .sidebar button{font-size:9px;padding:10px 7px}.folder-workspace .sidebar .folder-icon{width:11px;margin-right:4px}.dialog-body .photo-viewer{max-width:310px}.dialog-body .photo-viewer .photo-sprite{max-width:270px;margin:auto}.dialog-body .photo-viewer .comment-panel p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.photo-ghost{transition:none}}
.photo-ghost,.erased-photo{background-image:url('assets/photos-erased.png')}
.erasure-0{clip-path:inset(6% 7% 0 18%)}
.erasure-2{clip-path:inset(0 61% 0 0)}
.erasure-4{clip-path:inset(0 0 0 54%)}
.erasure-6{clip-path:inset(0 26% 0 0)}
.erasure-8{clip-path:inset(0 22% 0 0)}
.erasure-10{clip-path:inset(0 0 0 72%)}
/* The final-review reveal uses separate frames; no erasure runs while sorting. */
.relationship-photo{background-image:url('assets/relationship.png')}
.erased-relationship-photo{background-image:url('assets/relationship-erased.png')}
.folder-progress{display:flex;justify-content:space-between;gap:10px;padding:6px 13px;border-bottom:1px solid #ddd;background:#f7f7f4;color:#6b6b63;font-size:10px;flex-shrink:0}
.folder-header h1{min-width:0;overflow-wrap:anywhere}
.sidebar button:disabled{color:#999;opacity:.65;cursor:default}
.sidebar button:disabled:hover{background:transparent}
.final-review-workspace .folder-header{height:auto;min-height:48px}
.final-review-workspace .folder-header h1{font-size:16px;line-height:1.6}
.final-review-note{padding:8px 13px;margin:0;background:#f4f4ec;border-bottom:1px solid #d4d4c8;color:#666;font-size:11px}
.final-review-workspace .action-tray{justify-content:flex-end}
.final-review-workspace .finish-album{flex:none;max-width:none;margin-left:10px}
.reopening-message{min-height:560px;display:flex;align-items:center;justify-content:center;background:#f4f3ef;color:#666;font-size:13px}
.login-error{border:1px solid #bca79d;background:#fff4e8;color:#783a2d;font-size:12px;line-height:1.9;padding:11px;margin:13px 0}
.bbs-page{padding-top:0;display:flex;flex-direction:column}
.bbs-heading{text-align:center;font-size:23px;font-family:'MS Mincho','Yu Mincho',serif;letter-spacing:3px;font-weight:normal;margin:28px 0 17px}
.bbs-topic{font-size:12px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background:#f0f1ec;padding:10px 13px;margin:0 0 15px}
.bbs-thread{overflow:auto;max-height:58svh;border:1px solid #bbb;padding:12px;background:#f5f5ee;scrollbar-color:#bbb #eee}
.bbs-post{border:1px solid #aaa;background:#fff;margin-bottom:12px}
.bbs-post:last-child{margin-bottom:0}
.bbs-post header{background:#e7ebed;padding:9px 12px;border-bottom:1px solid #b5bdc2;line-height:1.6;font-size:12px}
.bbs-post header b{display:block;font-size:14px;color:#314b64;font-weight:normal}
.bbs-post header span{font-size:10px;color:#6d6f71}
.bbs-post p{padding:14px 16px;font-size:13px;line-height:2;margin:0;white-space:normal}
.bbs-attachment{font-size:12px;padding:4px 16px 15px;color:#486b8f;text-decoration:underline}
.bbs-actions{text-align:center;margin:16px 0 20px}
.bbs-actions .win-button{margin-top:11px;min-width:230px;min-height:39px}
.bbs-page .web-footer{margin-top:auto}
@media(max-width:760px){.folder-workspace .sidebar{width:auto}.folder-progress{font-size:10px}.final-review-workspace .folder-header h1{font-size:14px}}
@media(max-width:520px){.folder-workspace .sidebar{width:100%}.folder-workspace .sidebar button{font-size:9px;padding:10px 8px}.folder-header h1{font-size:12px}.folder-progress{padding:5px 9px;font-size:10px}.browser-actions .finish-album{font-size:10px;flex:1.45}.final-review-workspace .action-tray .win-button{font-size:11px}.final-review-workspace .finish-album{flex:1.4;margin-left:0}.final-review-workspace .folder-header{min-height:54px}.final-review-note{font-size:10px;padding:7px 10px}.bbs-heading{font-size:19px;margin:22px 0 17px;letter-spacing:1px}.bbs-topic{font-size:10px;line-height:1.7;padding:8px 10px}.bbs-thread{max-height:61svh;padding:7px}.bbs-post header{padding:8px 10px}.bbs-post header b{font-size:12px}.bbs-post header span{font-size:9px}.bbs-post p{padding:12px 10px;font-size:12px;line-height:1.9}.bbs-attachment{font-size:11px;padding:0 10px 12px}.bbs-actions{margin:14px 0 18px}.bbs-actions .win-button{min-width:200px;font-size:12px}.reopening-message{min-height:calc(100svh - 90px)}.login-error{font-size:11px;padding:9px}}
@media(max-width:520px){.browser-actions [data-browser-action="advance-folder"],.browser-actions [data-browser-action="back-current"]{white-space:normal;line-height:1.3}}

/* Persistent request and visible selection controls. */
.request-brief{display:flex;align-items:center;gap:14px;padding:9px 13px;background:#fffbe4;border:1px solid #b4a77d;flex-shrink:0}
.request-brief>span{font-size:11px;white-space:nowrap;color:#76633d}
.request-brief strong{display:block;font-size:14px;color:#49361b;line-height:1.5}.request-brief small{font-size:11px;color:#655e4f}
.bbs-request{display:inline-block;background:#fff5cc;color:#49361b;padding:1px 5px;border-bottom:1px solid #ba9b4d}
.multiple-control{border:1px solid #9b9b94;background:#eeeae2;padding:6px 9px;min-height:32px;font-size:12px;cursor:pointer}
.multiple-control.enabled{background:#e0eaf6;border-color:#6882a3;color:#193d6b;font-weight:bold}.multiple-control input{width:17px;height:17px;accent-color:#174b8c;margin-right:4px;cursor:pointer}
.photo-file{position:relative}.selection-tick{position:absolute;top:9px;left:9px;width:23px;height:23px;background:#fffffff2;border:1px solid #717d89;color:#fff;line-height:21px;font-family:Arial,sans-serif;font-size:18px;font-weight:bold;box-shadow:1px 1px 0 #0003;pointer-events:none}
.photo-file.selected .selection-tick{background:#164d93;border-color:#082d60}
.browser-selection{display:flex;align-items:center;justify-content:space-between;gap:5px;height:auto;min-height:31px;padding:4px 10px;font-size:11px;flex-shrink:0}
.browser-selection b{color:#1b4273}.selection-clear{font-size:10px;border:1px solid #aaa;background:#eee;padding:4px 6px;white-space:nowrap}
.browser-actions .win-button.primary{min-width:118px}
/* Empty rooms and paper: no human portraits in either text sequence. */
.novel-background,.novel.good .novel-background{background:#0c1827;filter:none;opacity:1;transform:none}
.novel-room{position:absolute;inset:0;background:linear-gradient(#0c162cce,#081020ef),url('assets/photos.png') 33.333333% 0% / 400% 300% no-repeat;filter:saturate(.1)}
.novel.good .novel-room{background:linear-gradient(#152437d6,#0c1728ed),url('assets/scenery.png') 100% 100% / 400% 300% no-repeat;filter:saturate(.3)}
.novel-content{max-height:calc(100svh - 170px);overflow:auto;scrollbar-width:thin}
@media(max-width:520px){.request-brief{gap:8px;padding:7px 8px}.request-brief>span{font-size:9px;width:34px;white-space:normal;line-height:1.5}.request-brief strong{font-size:12px;line-height:1.5}.request-brief small{font-size:10px}.multiple-control{padding:5px 6px;font-size:10px;min-height:32px}.multiple-control input{width:16px;height:16px}.browser-selection{font-size:9px;min-height:31px}.selection-clear{font-size:9px}.browser-actions .win-button.primary{min-width:0}.selection-tick{width:22px;height:22px;line-height:20px;top:8px;left:8px}.sort-control{flex-basis:auto;margin-left:auto}.browser-toolbar{min-height:72px}.novel-content{max-height:calc(100svh - 140px)}}

/* A small, ordinary 2000s community rather than a standalone message board. */
.old-sns{background:#fffdf7;border-color:#cdbd9e;padding:0 26px 16px;max-width:1020px}
.sns-masthead{display:flex;align-items:center;justify-content:space-between;height:75px;border-bottom:4px solid #e8a657}
.sns-logo{font:bold 38px Georgia,serif;letter-spacing:-2px;color:#b57427}.sns-logo small{display:block;font:10px 'MS PGothic',sans-serif;letter-spacing:1px;color:#877c68;margin-top:2px}
.sns-navigation{display:flex;justify-content:flex-end;background:#f7ecd7;border-bottom:1px solid #d9c59e;font-size:11px;color:#70532c}.sns-navigation span{padding:9px 18px;border-left:1px solid #deccac}.sns-navigation .sns-current{background:#efdab2;font-weight:bold}
.sns-location{font-size:10px;color:#8c806b;padding:15px 2px}
.sns-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:22px}.sns-sidebar{border:1px solid #ddc8a3;background:#fffaf0;padding:13px 12px;font-size:12px;height:max-content;text-align:center}
.sns-profile-icon{display:grid;place-items:center;background:#eadbbf;border:1px solid #c9b387;width:65px;height:65px;margin:0 auto 10px;color:#9c8562;font:italic 21px Georgia,serif}
.sns-sidebar p{margin:6px 0 10px}.sns-sidebar small{font-size:10px;line-height:1.8;color:#85765f}.sns-sidebar h2{font-size:10px;background:#f0e3cb;border-top:1px solid #ddc8a3;border-bottom:1px solid #ddc8a3;padding:7px 0;margin:18px -12px 10px;font-weight:normal}.sns-community-link{color:#a26d31;font-size:11px;line-height:1.8}.sns-community-detail{font-size:10px;color:#96876d;line-height:1.8;border-top:1px dotted #caba9a;padding-top:10px}
.sns-topic{min-width:0}.sns-community-name{padding:9px 12px;background:#f5e6c9;border:1px solid #dac29b;font-size:12px;color:#6c5230}
.old-sns .bbs-heading{text-align:left;letter-spacing:0;font-family:inherit;font-size:18px;font-weight:bold;margin:0;padding:18px 12px;border:1px solid #deceaf;border-top:0;background:#fff}
.old-sns .bbs-thread{padding:0;border:0;background:#fff;max-height:52svh;border-left:1px solid #deceaf;border-right:1px solid #deceaf}
.old-sns .bbs-post{border:0;border-bottom:1px solid #deceaf;margin:0}.old-sns .bbs-post header{display:flex;align-items:center;gap:10px;border:0;background:#faf5e9;padding:10px 13px}.old-sns .bbs-post header b{font-size:12px;color:#9b6a32;font-weight:normal}.old-sns .bbs-post header span{font-size:10px;color:#95876e}.sns-avatar{display:grid;place-items:center;width:35px;height:35px;background:#e9e0d1;border:1px solid #d0c2a9;font-size:10px}.sns-avatar.kaho{background:#e7eadc;color:#788254!important}
.old-sns .bbs-post p{font-size:12px;line-height:2;padding:15px 17px}.old-sns .bbs-attachment{font-size:11px;color:#9b6a32}.old-sns .bbs-actions{margin:15px 0 22px}.old-sns .bbs-actions .small-note{font-size:11px}.old-sns .web-footer{border-color:#d8c7a7;color:#ad9a7b}
.request-brief{background:#f4f3ef;border:0;border-bottom:1px solid #bbb;gap:10px;padding:7px 12px}.request-brief>span{color:#777}.request-brief strong{font-size:12px;font-weight:normal;color:#444}.request-brief small{font-size:10px;color:#888}.request-brief div{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px}
.drinks-photo{background-image:url('assets/drinks.png');background-size:200% 200%;aspect-ratio:1.5}.drinks-photo.sprite-0{background-position:0 0}.drinks-photo.sprite-1{background-position:100% 0}.drinks-photo.sprite-2{background-position:0 100%}.drinks-photo.sprite-3{background-position:100% 100%}.erased-drinks-photo{background-image:url('assets/drinks-erased.png')}
.ending-collection{flex-wrap:wrap}
.photo-file>.file-label{width:100%;border:0;background:transparent;font-family:inherit;color:inherit;cursor:pointer;min-height:28px;padding:6px 1px;display:block;text-align:center}.photo-file{cursor:pointer}
.cast-portrait{position:relative;width:88px;aspect-ratio:1;overflow:hidden;background:#c7c2b8;border:2px inset #eee;flex-shrink:0}.cast-portrait>.photo-sprite{position:absolute;width:var(--portrait-zoom);left:50%;top:50%;transform:translate(calc(0% - var(--portrait-x)),calc(0% - var(--portrait-y)))}
.dialog:has(.cast-list){max-width:700px}.cast-guide{font-size:12px;color:#666;margin:0 0 18px}.cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cast-grid article{display:flex;gap:12px;align-items:center;border:1px solid #b5b0a5;background:#eeece6;padding:12px;min-width:0}.cast-grid article>div:last-child{min-width:0}.cast-grid h2{font:normal 15px 'MS PGothic','Yu Gothic',sans-serif;margin:0 0 6px}.cast-grid p{font-size:11px;line-height:1.7;margin:0;color:#6b665e}.cast-grid .cast-relation{color:#333;margin-bottom:5px}
@media(max-width:520px){.cast-grid{grid-template-columns:1fr;gap:10px}.cast-grid article{padding:10px}.cast-portrait{width:78px}.cast-guide{font-size:11px}}
.selection-tools{display:flex;gap:6px;align-items:center;flex-shrink:0}.selection-compare{font:inherit;font-size:10px;background:#e2ebf6;border:1px solid #6c839f;color:#193c68;padding:4px 7px;white-space:nowrap}
.inspect-stage{position:relative;width:100%;margin:auto}.inspect-point{position:absolute;transform:translate(-50%,-50%);min-width:32px;min-height:32px;border:1px solid #887958;background:#fff6dce8;color:#5a4722;font:18px/1 'MS PGothic',sans-serif;padding:0;box-shadow:1px 1px 0 #0004;z-index:4}
.inspect-point:hover,.inspect-point:focus-visible{background:#e2ebf6;color:#254c79}.inspect-point.examined{background:#e4eddb;color:#536d37}
.detail-guide{font-size:11px;color:#6d6658;line-height:1.7;margin:10px 0}.detail-observation,.compare-observation{background:#faf6e8;border:1px solid #c1b78f;padding:10px 12px;font-size:12px;line-height:1.9;margin:10px 0}
.dialog:has(.photo-comparison){max-width:920px}.compare-guide{font-size:12px;color:#666}.comparison-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.comparison-pair article{min-width:0}.comparison-pair h2{font-size:12px;font-weight:normal;line-height:1.6;margin:10px 0 2px;overflow-wrap:anywhere}.comparison-pair article>p{font-size:11px;margin:0 0 10px;color:#686868}.comparison-pair .comment-panel{min-height:0;padding:9px}.comparison-pair .comment-panel h3{font-size:10px;font-weight:normal;margin:0 0 6px;color:#746d55}.comparison-pair .comment-panel p{font-size:12px;line-height:1.8}.photo-comparison>button{display:block;margin:14px auto 0;font-size:12px}
.photo-notebook h2{font-family:'MS Mincho','Yu Mincho',serif;font-weight:normal}.photo-notebook article{background:#faf6e9;border:1px solid #c9bea1;margin:12px 0;padding:12px 15px}.photo-notebook h3{font-size:13px;margin:0 0 7px;color:#625033}.photo-notebook p{font-size:12px;line-height:1.9;margin:0 0 9px}.photo-notebook small{font-size:10px;color:#8b8171;overflow-wrap:anywhere}
@media(max-width:520px){.browser-toolbar{flex-wrap:wrap}.browser-toolbar .sort-control{display:none}.photo-viewer .inspect-stage{max-width:270px}.comparison-pair{grid-template-columns:1fr;gap:18px}.comparison-pair .photo-sprite{max-width:300px;margin:auto}.comparison-pair article+article{padding-top:15px;border-top:1px solid #aaa}.selection-compare{font-size:9px;padding:4px 6px}.selection-tools{gap:4px}.detail-guide{font-size:10px}.detail-observation,.compare-observation{font-size:11px;padding:8px 10px}.photo-notebook article{padding:10px}.photo-notebook p{font-size:12px}}
.request-brief>span{width:auto;white-space:nowrap;flex-shrink:0}.request-brief>div{min-width:0}
@media(max-width:520px){.browser-toolbar{min-height:42px;flex-wrap:wrap;gap:4px;padding:5px}.browser-toolbar .sort-control{display:none}.browser-toolbar .multiple-control{margin-left:auto}.browser-toolbar .tool{padding:3px 4px;white-space:nowrap}.folder-header{height:34px;padding-top:6px;padding-bottom:6px}.browser-actions{padding-top:8px;padding-bottom:8px}.browser-selection>span{min-width:0}.request-brief{min-height:38px}}
@media(max-width:650px){.sns-layout{grid-template-columns:105px minmax(0,1fr);gap:12px}.old-sns{padding-left:15px;padding-right:15px}.sns-navigation span{padding:8px 12px}}
@media(max-width:520px){.old-sns{padding:0 12px 14px}.sns-masthead{height:61px}.sns-logo{font-size:31px}.sns-logo small{font-size:9px}.sns-layout{display:block}.sns-sidebar{display:none}.sns-navigation{justify-content:center}.sns-navigation span{padding:9px 13px;font-size:10px}.sns-location{font-size:9px;line-height:1.8;padding:10px 0}.old-sns .bbs-heading{font-size:15px;padding:14px 11px}.old-sns .bbs-thread{max-height:49svh}.old-sns .bbs-post p{font-size:12px;padding:12px}.old-sns .bbs-actions{margin:12px 0 18px}.old-sns .bbs-actions .small-note{line-height:1.8;font-size:10px}.sns-community-name{font-size:11px}.request-brief{padding:6px 8px}.request-brief strong{font-size:11px}.request-brief small{font-size:9px}.request-brief>span{font-size:9px;width:30px}.ending-collection{flex-direction:column;gap:9px}}

/* Names belong to the information pane, never on the photograph. */
.photo-people{margin:12px 0 16px;padding:10px 0;border-top:1px solid #d6d2c8;border-bottom:1px solid #d6d2c8}
.photo-people h2{font-size:11px;font-weight:normal;color:#777;margin:0 0 9px;letter-spacing:0}
.photo-people-list{display:flex;flex-wrap:wrap;gap:9px 14px}.photo-person{display:flex;align-items:center;gap:8px;font-size:12px;min-width:80px}.photo-person .cast-portrait{width:40px}.photo-person span{white-space:nowrap}
.no-photo-person{font-size:11px;color:#888;margin:0}.photo-viewer .photo-people,.photo-comparison .photo-people{margin:12px 0}.photo-viewer .photo-person .cast-portrait{width:38px}
/* Early-CG empty room; story inserts are readable foreground objects, never face backgrounds. */
.novel-room,.novel.good .novel-room{background:linear-gradient(90deg,#07101b9c,#08101e0a),url('assets/novel-room-v09.png') center/cover no-repeat;filter:none}
.novel.good .novel-room{background-image:linear-gradient(90deg,#132235a8,#15233118),url('assets/novel-room-v09.png')}
.novel:after{background:linear-gradient(#040b1922,#040b1955)}
.novel-background:after{background:none}
.novel-content{position:absolute;top:clamp(70px,14svh,130px);bottom:70px;left:0;right:0;margin:0 auto;max-height:none;min-height:0;padding-right:8px}.novel-writing{min-width:0}.novel-content.has-evidence{width:min(1080px,88vw);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:45px;align-items:start;align-content:start;font-size:clamp(18px,1.65vw,24px)}
#novel-evidence{display:none;white-space:normal;font:12px/1.8 'MS PGothic','Yu Gothic',sans-serif;letter-spacing:0;text-shadow:none;opacity:0;transform:translateY(6px);transition:opacity .8s,transform .8s}.has-evidence #novel-evidence{display:block}#novel-evidence.visible{opacity:1;transform:none}
.trace-photo{margin:0;background:#d5d0c7;padding:9px;border:1px solid #aaa49a;box-shadow:3px 5px 15px #0008}.trace-empty-seat{width:100%;aspect-ratio:1.125;background:url('assets/photos-erased.png') 66.666667% 50%/400% 300% no-repeat}.trace-photo figcaption{font-size:10px;color:#555;margin:7px 0 2px}
.trace-sns{background:#fffdf7;border:1px solid #cbb692;color:#443c2b;box-shadow:3px 5px 15px #0008}.trace-sns>header{padding:12px 16px 10px;border-bottom:4px solid #e8a657;color:#b57427;font:bold 28px Georgia,serif}.trace-sns header small{font:9px 'MS PGothic',sans-serif;display:block;color:#85745a;margin-top:2px}.trace-sns-body{padding:14px}.trace-sns h2{font-size:13px;border-bottom:1px solid #ded0b6;padding:0 0 9px;margin:0 0 12px}.trace-account{background:#f5f0e6;border:1px inset #eee;padding:6px 9px;font-size:12px}.trace-account b{font-weight:normal}.trace-login-error{font-size:12px;color:#842c26;border:1px solid #c4a69b;background:#f7eee9;padding:10px}.trace-topic{margin-top:18px;border:1px solid #ddc9a5;font-size:11px}.trace-topic h3{font-size:11px;font-weight:normal;background:#f1e3c9;padding:7px;margin:0}.trace-topic p{padding:0 9px;margin:8px 0}.trace-empty-author{color:#928570;border-bottom:1px dotted #ddd;padding-bottom:6px!important}.trace-empty-author span{display:inline-block;min-width:70px;min-height:12px}
.trace-mail{background:#eeeae1;border:2px outset #eee;color:#333;box-shadow:3px 5px 15px #0008}.trace-mail>header{padding:5px 9px;color:#fff;background:linear-gradient(90deg,#173f79,#5c88b8);font-size:12px}.trace-mail dl{margin:12px;display:grid;grid-template-columns:48px 1fr;font-size:11px;gap:8px}.trace-mail dt{color:#777}.trace-mail dd{margin:0;border-bottom:1px solid #c3bfb4;min-height:19px}.trace-mail>p{margin:0;background:#fffef7;padding:20px 15px;font-size:13px;line-height:2.2}
@media(max-width:760px){.novel-content.has-evidence{gap:20px;font-size:18px;line-height:2}.novel-content.has-evidence{grid-template-columns:1fr}.has-evidence #novel-evidence{width:min(360px,100%);margin:0 auto 12px}.trace-photo{max-width:280px;margin:auto}.trace-sns>header{padding:7px 12px;font-size:24px}.trace-sns-body{padding:10px}.trace-topic{margin-top:10px}.trace-mail>p{padding:12px}.novel-room{background-position:65% center}}
#novel-evidence[hidden]{display:none}
@media(prefers-reduced-motion:reduce){#novel-evidence{transition:none;transform:none}}
.comparison-features{border:1px solid #aaa59a;margin:16px 0 10px;padding:10px;display:flex;flex-wrap:wrap;gap:8px}.comparison-features legend{font-size:12px;color:#555;padding:0 6px}.comparison-features .win-button{font-size:12px;min-width:80px;flex:1;white-space:nowrap}.comparison-features .matched{background:#dce6d3;border:1px solid #75895f}.notebook-guide{color:#6f695e}.notebook-sources{border-bottom:1px solid #b9b0a0;padding:0 0 20px;margin:18px 0}.notebook-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-notebook .notebook-source{padding:5px;margin:0;background:#eeece6}.notebook-source>p{font-size:10px;margin:5px 0;overflow-wrap:anywhere}.notebook-source>div:last-child{display:flex;gap:4px}.notebook-source .win-button{font-size:10px;padding:5px;min-height:28px;white-space:nowrap;flex:1}.notebook-source [aria-pressed="true"]{background:#d6e4f4;border-color:#708aa8}.photo-notebook .notebook-picks{font-size:11px;margin:12px 0 8px;min-height:20px}.notebook-entry>small:first-child{display:block;margin-bottom:6px}.notebook-return{display:block;margin:16px auto 0}
@media(max-width:520px){.notebook-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-features{gap:6px;padding:9px}.comparison-features .win-button{min-width:40%;font-size:11px}.photo-notebook .notebook-source{padding:4px}}
.old-sns .bbs-copy{display:grid;cursor:pointer}.bbs-reserve,.bbs-typed{grid-area:1/1;white-space:pre-line;min-width:0}.bbs-reserve{visibility:hidden}.bbs-typed[data-typing="true"]:after{content:"";display:inline-block;width:1px;height:1em;margin-left:3px;vertical-align:-1px;background:#96754c;animation:bbs-caret 1s steps(1) infinite}
.old-sns .bbs-attachment[hidden]{display:block;visibility:hidden}

/* The reply is an ordinary draft in the old software, grounded in retained photos. */
.comment-panel .photo-reply{border-top:1px dotted #c2bda9;margin-top:9px;padding-top:8px;color:#5d6156;font-size:11px}.photo-reply b{font-weight:normal;color:#59704d}
.interpretation-choices{display:grid;gap:8px}.interpretation-choices .win-button{text-align:left;white-space:normal;line-height:1.8;min-width:0;padding:10px 12px}.compare-followup{font-size:12px;margin-top:12px}.compare-followup .win-button{white-space:normal;line-height:1.6}
.reply-draft{border:1px solid #aba998;background:#eeece3;padding:16px;margin:0 0 25px}.reply-draft h2{margin:0 0 8px;font-size:17px}.reply-draft h3{font-size:12px;margin-top:17px}.reply-letter{background:#fffefa;border:1px solid #c7c3b3;padding:13px}.reply-letter>p{margin-top:10px}.reply-attachments{display:flex;gap:9px}.photo-notebook .reply-attachments article{flex:1;min-width:0;margin:0;padding:4px;background:#eeece6}.reply-attachments .photo-sprite{aspect-ratio:3/2}.reply-attachments span{display:block;font-size:10px;overflow-wrap:anywhere;padding:4px}.reply-state{font-size:11px!important;color:#576d46;margin:8px 0 0!important}.reply-state.missing{color:#914c3c}.reply-choice{display:block;width:100%;text-align:left;white-space:normal;line-height:1.7;font-size:12px;margin:7px 0;padding:8px 10px}.reply-draft>.link-button{font-size:11px;margin-top:12px}.reply-alternative{border-top:1px dotted #a8a48c;margin-top:18px;padding-top:14px}.reply-alternative .win-button{white-space:normal;line-height:1.8;font-size:12px;width:100%}.reorganize-review h3{font-size:13px}.reorganize-review p{overflow-wrap:anywhere}.reply-receipt p{font-size:12px;line-height:1.9}.reply-receipt small{display:block;font-size:10px;overflow-wrap:anywhere}
@media(max-width:520px){.reply-draft{padding:10px}.reply-letter{padding:9px}.interpretation-choices .win-button{font-size:12px}.dialog:has(.reorganize-review) .dialog-actions{gap:8px;padding:0 10px 12px}.dialog:has(.reorganize-review) .dialog-actions .win-button{min-width:0;white-space:normal;line-height:1.6;flex:1}}
.new-memory img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.trace-reply .trace-message-context{font-size:11px;color:#8b806c;border-bottom:1px solid #ddd2bf;padding:0 0 10px}.trace-reply .trace-message-copy{font-size:15px;line-height:2.2;padding:14px 0 20px;color:#38352f}
/* Each conclusion has its own place and light; END01 keeps its original night room. */
.novel.reunion .novel-background,.novel.happy .novel-background{opacity:1;filter:none}
.novel.reunion .novel-room{background-image:linear-gradient(90deg,#271c16d9,#33211155),url('assets/ending-cafe-bg-v14.png');background-position:center}
.novel.reunion:after{background:linear-gradient(#29190b0a,#29190b33)}
.novel.happy{background:#dce7ca;color:#243b29}.novel.happy .novel-room{background-image:linear-gradient(90deg,#f5f9e6dd,#f5f9e633),url('assets/ending-park-v14.png');background-position:center}
.novel.happy:after{background:linear-gradient(#f7f7db0a,#e7edcf22)}.novel.happy .novel-content{text-shadow:0 1px 2px #ffffffe0}.novel.happy .novel-hint,.novel.happy .novel-next{color:#37513a}.novel.happy .novel-leave{color:#2b462e;border-color:#627957;background:#f2f6e3b8}
.ending-page.reunion-ending{background:linear-gradient(#271d17d9,#271d17e8),url('assets/ending-cafe-bg-v14.png') center/cover no-repeat}
.ending-page.happy-ending{background:linear-gradient(#f4f8e4d9,#edf3dfed),url('assets/ending-park-v14.png') center/cover no-repeat;color:#2b442d}.happy-ending .ending-code,.happy-ending .ending-card>p,.happy-ending .ending-card footer,.happy-ending .ending-card .link-button{color:#53694e}.happy-ending .ending-collection{border-color:#9bac8e;color:#788871}.happy-ending .ending-collection .found{color:#2e482d}
@media(max-width:760px){.novel.reunion .novel-room{background-position:65% center}.novel.happy .novel-room{background-position:62% center}.novel.happy .novel-room{background-image:linear-gradient(#f6f9e8cf,#f6f9e8b8),url('assets/ending-park-v14.png')}}
/* Keep navigation separate from photo operations, with a visible reason when unavailable. */
.folder-advance{margin-left:auto;display:grid;gap:5px;min-width:245px;max-width:340px}.browser-actions .folder-next{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:44px;padding:9px 16px;background:linear-gradient(#477eb7,#285a92);border:2px outset #91b1d2;color:#fff;font-weight:bold;font-size:14px;line-height:1.5;text-shadow:none}.browser-actions .folder-next:hover:not(:disabled){background:linear-gradient(#568fc8,#316ba5)}.browser-actions .folder-next:focus-visible{outline:2px solid #153f70;outline-offset:3px}.browser-actions .folder-next:disabled{background:#e1eaf4;border-color:#b8cadd;color:#536b83;opacity:1;text-shadow:none}.folder-next-arrow{font-size:21px;line-height:1}.folder-advance small{font-size:10px;color:#646b70;line-height:1.6;text-align:center;white-space:normal}.folder-advance[data-ready="true"] small{color:#315b3e}
@media(max-width:760px){.folder-advance{min-width:210px}.browser-actions .folder-next{font-size:13px;padding:9px 10px}}
@media(max-width:520px){.browser-actions:has(.folder-advance){flex-wrap:wrap;gap:7px}.browser-actions .folder-advance{flex:0 0 100%;width:100%;max-width:none;min-width:0;margin:0;gap:3px}.browser-actions .folder-next{flex:none;min-height:44px;font-size:14px;white-space:normal;padding:8px 12px}.folder-advance small{font-size:10px}.browser-actions:has(.folder-advance)>button{min-height:34px}}
.dialog:has(.deletion-feedback){max-width:490px}.deletion-feedback{text-align:center}.deletion-feedback h2{font-size:18px;line-height:1.7;font-weight:normal;margin:0 0 12px}.deletion-feedback>p{font-size:12px;color:#62645d}.deletion-feedback .deletion-next-note{margin:19px 0 0;padding:13px;background:#f4f3ee;border:1px inset #eee;line-height:1.9;color:#364e65;text-align:left}.dialog:has(.deletion-feedback) .dialog-actions{flex-wrap:wrap;padding:0 18px 20px}.dialog:has(.deletion-feedback) .win-button{white-space:normal;line-height:1.6;min-height:42px;font-size:13px}.dialog:has(.deletion-feedback) .primary{background:linear-gradient(#477eb7,#285a92);border:2px outset #91b1d2;color:#fff;font-weight:bold}
@media(max-width:520px){.dialog:has(.deletion-feedback) .dialog-actions{flex-direction:column;gap:9px}.dialog:has(.deletion-feedback) .win-button{width:100%;min-height:44px}.deletion-feedback h2{font-size:16px}.deletion-feedback .deletion-next-note{padding:10px;margin-top:14px}}
.photo-received{border:1px solid #b7c4ca;background:#e9eef0;color:#405868;padding:8px;font-size:11px;line-height:1.8;margin:10px 0}.photo-received small{display:block;color:#71828c;font-size:10px}
.photo-sprite.group-photo-v16{background-image:url('assets/group-0042-v16.png');background-size:cover;background-position:center;aspect-ratio:3/2}.photo-sprite.erased-group-photo-v16{background-image:url('assets/group-0042-erased-v16.png')}
.block-dissolve{position:fixed;inset:0;overflow:hidden;z-index:90;pointer-events:none;mask-size:100% 100%;mask-repeat:no-repeat;mask-mode:alpha}
.burning-scene{height:100svh;min-height:0;background:radial-gradient(ellipse at center,#342b20,#14120f 75%);color:#c8bca7;display:flex;flex-direction:column;align-items:center;overflow:hidden}.burning-toolbar{width:100%;display:flex;justify-content:flex-end;padding:17px 22px}.burning-caption{font:15px 'Yu Mincho','MS Mincho',serif;letter-spacing:.25em;margin:20px 0 0}#burn-canvas{display:block;width:min(100%,1000px);height:min(70svh,680px);min-height:0;flex:1}.burn-skip{border:1px solid #726551;background:#252019;color:#bfb39e;font-size:11px;padding:8px 18px;margin:8px 0 22px;min-height:36px}.burn-skip:focus-visible{outline:2px solid #dbc49c;outline-offset:3px}
@media(max-width:520px){.burning-toolbar{padding:12px}.burning-caption{font-size:13px;margin-top:10px}.burn-skip{margin-bottom:18px}}
.photo-sprite.hq-photo{aspect-ratio:3/2;background-size:calc(200% + 4px) auto;background-repeat:no-repeat}
/* The final deletion happens on the existing photographs, inside the software. */
.deleting-review .browser-actions,.deleting-review .browser-selection{display:none}
.deleting-review .folder-scroll{overflow:hidden}
.deleting-review .selection-tick{visibility:hidden}
.review-photo-changing.hq-photo{position:relative;background-image:none!important;background-color:transparent!important;isolation:isolate;overflow:visible}
.review-photo-effect{position:absolute;left:0;bottom:0;width:100%;height:155%;pointer-events:none;z-index:2}
.review-deletion-status{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:2px groove #eee;background:#eeece6;font-size:12px;min-height:56px}
.review-deletion-status .win-button{font-size:11px;min-height:34px;padding:6px 12px}
.deleting-review .photo-file{cursor:default}
@media(max-width:520px){.review-deletion-status{padding:8px 10px calc(8px + env(safe-area-inset-bottom));min-height:52px;font-size:11px}.review-deletion-status .win-button{font-size:10px;padding:6px 9px}.deleting-review .file-grid{gap:22px 9px}}
.effect-preview-note{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.effect-preview-note nav{display:flex;gap:17px}.preview-burned .file-grid .hq-photo,.preview-burned .browser-inspector>.hq-photo{visibility:hidden}
.final-review-workspace .folder-browser{position:relative}
.deleting-review-inline-3d .review-photo-changing{isolation:auto}
.paper-inline-canvas{background:transparent;pointer-events:none}
.deleting-review-inline-3d .file-grid{position:relative}
.folder-burn-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;background:transparent}
.folder-burn-mirror{height:100%;background:transparent}
.mobile-photo-info{display:none}
.mobile-folder-hint{display:none}
@media(max-width:650px){
 .mobile-folder-hint{display:block;flex-shrink:0;margin:0;padding:3px 9px;background:#e9eef5;color:#435b77;font-size:10px;line-height:14px;border-bottom:1px solid #c4ccd6}
 .mobile-photo-info{display:block;flex-shrink:0;height:84px;min-width:0;padding:6px 10px;background:#f4f3ee;border-top:2px groove #eee;overflow:hidden}
 .mobile-info-filename{font-size:10px;color:#666;margin:0 0 5px;line-height:14px}
 .mobile-photo-info .photo-people{display:flex;align-items:center;gap:10px;margin:0;padding:0;border:0;min-width:0}
 .mobile-photo-info .photo-people h2{font-size:10px;line-height:1.5;margin:0;flex:0 0 32px;color:#6b665e}
 .mobile-photo-info .photo-people-list{flex:1;min-width:0;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:4px}
 .mobile-photo-info .photo-person{flex-shrink:0;gap:6px;font-size:12px;min-width:0}
 .mobile-photo-info .photo-person .cast-portrait{width:46px}
 .mobile-info-empty{margin:0;display:flex;align-items:center;height:100%;font-size:11px;line-height:1.7;color:#777}
 .mobile-photo-info .no-photo-person{font-size:11px;line-height:46px}
 .deleting-review .mobile-photo-info{display:none}
}
@media(max-width:650px) and (max-height:700px){
 .mobile-photo-info{height:72px;padding:4px 8px}
 .mobile-info-filename{margin-bottom:3px;font-size:9px;line-height:12px}
 .mobile-photo-info .photo-person .cast-portrait{width:40px}
 .mobile-photo-info .photo-person{font-size:11px}
 .mobile-photo-info .photo-people-list{padding-bottom:2px}
 .folder-header{height:28px;padding-top:3px;padding-bottom:3px}
 .folder-progress{padding-top:3px;padding-bottom:3px}
 .browser-actions:has(.folder-advance){padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom));gap:4px}
 .browser-actions:has(.folder-advance)>button{min-height:32px;padding-top:5px;padding-bottom:5px}
 .browser-actions .folder-next{min-height:36px;padding-top:5px;padding-bottom:5px}
 .folder-advance small{display:none}
}
@media(max-width:520px) and (max-height:700px){
 .browser-toolbar{flex-wrap:nowrap;overflow-x:auto;min-height:43px}
 .browser-toolbar .tool{flex-shrink:0;min-height:28px}
 .browser-toolbar .multiple-control{order:-1;flex-shrink:0;margin-left:0}
 .browser-toolbar [data-action="request"]{order:1}
 .folder-workspace:not(.final-review-workspace) .folder-header{display:none}
}
