#glossary-notice{position:fixed;z-index:950;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));max-width:min(380px,75vw);padding:14px 18px;background:#20282ef2;color:#fff;border:1px solid #7a898f;border-radius:6px;box-shadow:0 8px 26px #0005;pointer-events:none;font-size:14px;line-height:1.7}#glossary-notice[hidden]{display:none}.glossary-overlay{position:fixed;inset:0;z-index:1300;background:#080d12f5;color:#eff2f4;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:"Noto Sans JP",sans-serif}.glossary-overlay header{flex:none;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #58656b}.glossary-overlay h2{font-size:20px;color:#fff;margin:0}.glossary-overlay header button{min-height:44px;padding:8px 24px;color:#fff;background:#273239;border:1px solid #73838a;border-radius:5px}.glossary-scroll{overflow:auto;padding:16px 6vw;flex:1;min-height:0;overscroll-behavior:contain}.glossary-scroll h3{font-size:15px;color:#b9cbd3;margin:24px auto 4px;max-width:900px}.glossary-scroll section{max-width:900px;margin:auto;padding:16px 0;border-bottom:1px solid #ffffff25}.glossary-scroll h4{font-size:17px;margin:0 0 8px}.glossary-scroll p{font-size:16px;line-height:1.9;margin:0}.kisumi-social-stage{position:absolute;inset:16px 8% 200px;overflow:auto;background:#edf0f2;color:#20262c;border-radius:8px;overscroll-behavior:contain}.kisumi-social{max-width:680px;background:#fff;margin:auto;min-height:100%;font:16px/1.8 "Noto Sans JP",sans-serif}.kisumi-social>header{padding:12px 20px;font-weight:700;border-bottom:1px solid #d8dfe3;position:sticky;top:0;background:#fffffff5}.kisumi-social>article{padding:18px 22px;border-bottom:1px solid #e0e5e8}.kisumi-account{display:flex;gap:12px;align-items:center}.kisumi-account>span:last-child{margin-left:auto}.kisumi-avatar{display:flex;flex:0 0 42px;height:42px;align-items:center;justify-content:center;background:#e0e8df;color:#3b5242;border-radius:50%;font-weight:700}.kisumi-social small{display:block;font-size:12px;color:#62717b}.kisumi-social p{margin:12px 0}.kisumi-count{border-top:1px solid #e2e7ea;margin-top:14px;padding-top:12px;font-size:13px;color:#52626a}.kisumi-social h3{font-size:16px;margin:12px 22px 0;color:#27343b}.kisumi-social .reply-context{font-size:13px;color:#66737b;margin:6px 22px 14px}.kisumi-reply{display:flex;gap:12px}.kisumi-reply .kisumi-avatar{background:#e9edf0;color:#60717d}.kisumi-reply .official{background:#e0e8df;color:#3b5242}.reply-metrics{font-size:12px;color:#75838b}@media(max-height:500px) and (orientation:landscape){.kisumi-social-stage{inset:8px 12px 146px}.kisumi-social{font-size:15px}.kisumi-social>article{padding:12px 16px}.glossary-scroll{padding:10px 20px}.glossary-overlay header{padding:4px 14px}}
#app .kisumi-social>header{color:#20262c}
.glossary-overlay[role="dialog"]{z-index:1500}

/* Keep tools anchored while the text grows sentence by sentence. */
.novel-game .novel-dialogue{display:flex;flex-direction:column;height:220px;min-height:0;max-height:calc(100dvh - 50px)}
.novel-game .novel-text{flex:1 1 0;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}
.novel-game .novel-controls{flex:0 0 auto;margin-top:auto;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:2px}
.novel-game .novel-controls>span{flex-shrink:0}
.novel-game .novel-controls button{flex-shrink:0}
@media(max-width:1024px),(max-height:700px){.novel-game .novel-dialogue{height:var(--mobile-dialogue,220px)}}
@media(orientation:landscape) and (max-height:500px){.novel-game.bad-story{--mobile-dialogue:clamp(126px,34dvh,152px)}.novel-game .novel-controls>span{display:none}}
.introduction-tabs{display:flex;gap:8px;padding:10px 6vw;flex-shrink:0}
.introduction-tabs button{min-height:40px;padding:8px 24px;border:1px solid #657179;border-radius:5px;background:#141a20;color:#d9dfe3;font:inherit}
.introduction-tabs button[aria-selected=true]{background:#e5e9ec;color:#172129;border-color:#e5e9ec;font-weight:600}
.introduction-tabs button:focus-visible{outline:2px solid white;outline-offset:3px}
.people-scroll{flex:1;min-height:0;overflow:auto;padding:16px 6vw;overscroll-behavior:contain}
.glossary-overlay [hidden]{display:none!important}
@media(orientation:landscape) and (max-height:500px){.glossary-overlay h2{font-size:17px}.introduction-tabs{padding:4px 20px}.introduction-tabs button{min-height:34px;padding:5px 20px}.people-scroll{padding:8px 20px}}

.novel-game .dialogue-guide{align-self:flex-end;flex:0 0 auto;text-align:right;font-size:11px;line-height:1.5;color:#bac3cb;margin:2px 4px 4px;pointer-events:none}
@media(orientation:landscape) and (max-height:500px){.novel-game .dialogue-guide{font-size:10px;line-height:1.2;margin:0 2px 2px}}

.novel-game .novel-dialogue{align-items:stretch;gap:0}.novel-game .novel-text,.novel-game .novel-controls{width:100%;min-width:0}

/* Reserve three full text lines even with a horizontal menu scrollbar. */
@media(orientation:landscape) and (max-height:500px){
 .novel-game,.novel-game.campaign,.novel-game.bad-story{--mobile-dialogue:178px}
}

@media(orientation:landscape) and (max-height:500px){
 .novel-game .novel-text .typed{font-size:12px;line-height:1.65;letter-spacing:.5px;min-height:0}
 .novel-game .novel-text{overflow-y:hidden}
}

.dialogue-menu-toggle,.compact-mail-notice{display:none}
@media(orientation:landscape) and (max-height:500px){
 .novel-game,.novel-game.campaign,.novel-game.bad-story{--mobile-dialogue:94px}
 .novel-game .novel-text{max-height:54px;overflow:hidden}
 .novel-game .dialogue-guide{margin-top:auto}
 .novel-game .nameplate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 4px 14px;letter-spacing:.5px}
 .novel-game .dialogue-menu-toggle{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #77828d;border-radius:4px;background:#202730;color:#fff;font:11px/1.2 'Noto Sans JP',sans-serif;letter-spacing:0;cursor:pointer}
 .novel-game .dialogue-menu-toggle[aria-expanded=true]{background:#dce2e8;color:#172029}
 .novel-game .novel-controls{display:none}
 .novel-game .menu-open .novel-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:absolute;left:auto;right:0;bottom:calc(100% + 22px);width:min(400px,calc(100vw - 40px));max-height:calc(100dvh - 145px);overflow:auto;margin:0;padding:10px;gap:6px;border:1px solid #6e7a86;border-radius:8px;background:#111720fa;box-shadow:0 8px 24px #0008;z-index:10}
 .novel-game .menu-open .novel-controls button{min-height:36px;white-space:normal;line-height:1.4;padding:6px;font-size:11px;background:#27303b;border:1px solid #53606d;border-radius:4px}
 #new-mail-notice{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:auto;max-width:85vw;animation:compact-mail-in .28s ease-out}
 #new-mail-notice button{display:block;padding:10px 16px;border-radius:5px;background:#1c242ef5;border-color:#71808c}
 #new-mail-notice button>strong,#new-mail-notice button>span:not(.compact-mail-notice),#new-mail-notice button>b,#new-mail-notice button>small{display:none}
 #new-mail-notice .compact-mail-notice{display:block;font-size:12px;color:#fff}
 body:has(#new-mail-notice) #game-updates{top:60px}
}
@keyframes compact-mail-in{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#new-mail-notice{animation:none}}

.dialogue-heading{display:contents}
@media(orientation:landscape) and (max-height:500px){
 body{font-size:12px}
 .novel-game .novel-text .typed{font-size:11px;line-height:1.7;letter-spacing:.3px}
 .novel-game .novel-text{max-height:52px}
 .novel-game .dialogue-heading{display:flex;align-items:center;gap:8px;position:absolute;top:-23px;left:16px}
 .novel-game .dialogue-heading .nameplate{position:static;min-width:88px;min-height:30px;padding:6px 14px;display:block;font-size:11px;line-height:1.4}
 .novel-game .dialogue-menu-toggle{min-width:34px;width:34px;height:32px;min-height:32px;padding:5px;justify-content:center}
 .dialogue-menu-toggle svg{display:block;width:20px;height:20px}
 .novel-game .menu-open .novel-controls button{font-size:10px;min-height:34px}
 .novel-game .dialogue-guide{font-size:9px}
 .mailbody,.email .mailbody,.bodycopy,.campaign-paper .bodycopy,.paper p,.campaign-paper p{font-size:11px;line-height:1.75}
 .email h2,.campaign-paper h2,.paper h2,.investigation-report h2{font-size:15px;line-height:1.5}
 .mailtoolbar,.mailtoolbar button,.mail-reply,.mail-url,.folders button,.message strong,.fileitem strong,.file-reader,.campaign-paper,.investigation-report{font-size:11px}
 .message small,.message p,.message time,.sender small,.fileitem small{font-size:10px}
 .talk-app .bubble,.campaign-chat .bubble,.chat-compose,.chat-compose button{font-size:11px;line-height:1.7}
 .glossary-overlay h2,.panel-heading h2{font-size:15px}
 .glossary-scroll h4{font-size:13px}.glossary-scroll p,.person-info p,.historyline p{font-size:12px;line-height:1.75}
 .glossary-overlay header button,.introduction-tabs button{font-size:11px}
 .person-name h3{font-size:16px}.affiliations span{font-size:9px}
 .settings-card{font-size:12px}.settings-card h2{font-size:17px}.settings-card p{font-size:11px}
}

@media(orientation:landscape) and (max-height:500px){
 .novel-game .desk-scene{padding:4px 4px calc(var(--mobile-dialogue) + var(--mobile-bottom) + 12px)}
 .novel-game .monitor{border-width:3px}.novel-game .bezel{display:none}
 .novel-game .appwindow{top:4px;left:4px;right:4px;bottom:36px}
 .campaign .campaign-window{inset:4px 4px 38px}
 .novel-game .titlebar{height:24px;min-height:24px;font-size:10px}
 .novel-game .titlebar button{height:23px;min-height:23px}
 .novel-game .mailtoolbar{height:28px;min-height:28px;padding:2px 8px}
 .novel-game .mailtoolbar button{min-height:24px;padding:2px 8px;font-size:10px}
 .novel-game .folders{padding:0 6px}.novel-game .folders button{min-height:24px;padding:2px 8px;font-size:10px}
 .novel-game .email{padding:10px 12px}.novel-game .email h2{font-size:13px;margin:4px 0 8px}
 #glossary-notice{padding:8px 12px;font-size:10px;max-width:260px}
 body:has(#new-mail-notice:not([hidden])) #glossary-notice{top:55px}
}

@media(orientation:landscape) and (max-height:500px){.novel-game .screen,.campaign .campaign-desktop{isolation:isolate}.novel-game .appwindow,.campaign .campaign-window{z-index:5}.novel-game .taskbar{z-index:6}}
/* Mobile C: apps fill the screen; only active dialogue reserves reading space. */
.mobile-thought-toggle{display:none}
@media(orientation:landscape) and (max-height:500px){
 .novel-game.pc-mode .story-stage{position:absolute;inset:0}
 .novel-game.pc-mode .desk-scene{position:absolute;inset:0;height:100%;min-height:0;padding:0;background:none}
 .novel-game.pc-mode .monitor{height:100%;width:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;padding:0}
 .novel-game.pc-mode .screen{height:100%;min-height:0;border-radius:0}
 .novel-game.pc-mode .campaign-desktop{inset:0}
 .novel-game.pc-mode .appwindow,.novel-game.pc-mode .campaign-window{inset:0 0 38px;border:0;border-radius:0;box-shadow:none}
 .novel-game.pc-mode .taskbar{height:38px;padding-right:160px}
 .novel-game.pc-mode .tasktime{display:none}
 .novel-game.pc-mode .novel-dialogue.dialogue-idle:not(.thought-open){position:absolute;inset:auto 0 0;height:0!important;min-height:0!important;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;overflow:visible}
 .pc-mode .dialogue-idle:not(.thought-open) .novel-text,.pc-mode .dialogue-idle:not(.thought-open) .dialogue-guide,.pc-mode .dialogue-idle:not(.thought-open) .nameplate{display:none}
 .novel-game.pc-mode .dialogue-idle .dialogue-heading{position:fixed;top:auto;bottom:max(3px,env(safe-area-inset-bottom));left:auto;right:max(8px,env(safe-area-inset-right));gap:6px;z-index:12}
 .novel-game.pc-mode .dialogue-idle .mobile-thought-toggle{display:block;background:#252d34;color:#f2f3f4;border:1px solid #65717b;border-radius:4px;font-size:11px;min-height:32px;padding:5px 12px}
 .novel-game.pc-mode .dialogue-idle.thought-open .dialogue-heading{bottom:calc(var(--mobile-dialogue) + 14px)}
 .novel-game.pc-mode .dialogue-idle.menu-open .novel-controls{position:fixed;right:8px;bottom:44px;max-height:calc(100dvh - 60px)}
 .novel-game.pc-mode:has(.dialogue-active) .appwindow,.novel-game.pc-mode:has(.thought-open) .appwindow,
 .novel-game.pc-mode:has(.dialogue-active) .campaign-window,.novel-game.pc-mode:has(.thought-open) .campaign-window{bottom:calc(var(--mobile-dialogue) + 48px)}
 .novel-game.pc-mode:has(.dialogue-active) .taskbar,.novel-game.pc-mode:has(.thought-open) .taskbar{bottom:calc(var(--mobile-dialogue) + 12px);padding-right:0}
 .novel-game.pc-mode .titlebar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));height:30px;min-height:30px}
 .novel-game.pc-mode .titlebar button{min-height:28px}
}

.mobile-list-back{display:none}
@media(orientation:landscape) and (max-height:500px){
 .pc-mode .mail-layout,.pc-mode .files-layout,.pc-mode .campaign-docs{display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .pc-mode .mail-layout .folders{display:flex;flex:none;gap:8px;width:100%;height:30px;border-bottom:1px solid #c4cbd1}
 .pc-mode .folders .mail-account{display:none}
 .pc-mode .message-list,.pc-mode .file-list,.pc-mode .campaign-docs>nav{width:100%;flex:1;min-height:0;overflow:auto}
 .pc-mode .mail-reader,.pc-mode .file-reader,.pc-mode .campaign-paper{display:none}
 .pc-mode .mobile-detail:not(.mobile-list)>.folders,.pc-mode .mobile-detail:not(.mobile-list)>.message-list,.pc-mode .mobile-detail:not(.mobile-list)>.file-list,.pc-mode .mobile-detail:not(.mobile-list)>nav{display:none}
 .pc-mode .mobile-detail:not(.mobile-list)>.mail-reader,.pc-mode .mobile-detail:not(.mobile-list)>.file-reader,.pc-mode .mobile-detail:not(.mobile-list)>.campaign-paper{display:block;width:100%;flex:1;min-height:0;overflow:auto}
 .pc-mode .mobile-list-back{display:block;position:sticky;top:0;z-index:2;min-height:30px;padding:4px 12px;margin:0;background:#29323a;color:white;border:1px solid #687580;border-radius:3px;font-size:11px}
 .pc-mode .mailtoolbar>span{display:none}
 .pc-mode .message{padding:8px 12px}.pc-mode .message strong{line-height:1.5}
}

/* Reply controls retain contrast for mouse, keyboard, and touch states. */
.game .talk-app .chat-response,.game .talk-app .chat-compose button{background:#344453;color:#fff;border-color:#7e91a3}
.game .talk-app .chat-response span,.game .talk-app .chat-compose button span{color:inherit}
.game .talk-app .chat-response:hover,.game .talk-app .chat-compose button:hover,
.game .talk-app .chat-response:focus-visible,.game .talk-app .chat-compose button:focus-visible{background:#405363;color:#fff;filter:none}
.game .talk-app .chat-response:active,.game .talk-app .chat-compose button:active{background:#263540;color:#fff;filter:none}
/* Stable type sizes: mobile Safari must not inflate individual UI blocks. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.ending-credits{margin-top:36px;border-top:1px solid #ffffff30;padding-top:16px}
.ending-credits dl{display:grid;grid-template-columns:110px 1fr;gap:8px 18px;line-height:1.8}
.ending-credits dd{margin:0}
.campaign-mail-tabs{display:flex;gap:4px;padding:4px 10px;background:#e8edf1;flex-shrink:0}
.campaign-mail-tabs button{flex:1;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#465563;text-align:center}
.campaign-mail-tabs button[aria-selected=true]{border-color:#374957;background:#d3dde4;color:#17232e}
.modal .compose-fields{background:transparent;border:0;box-shadow:none;padding:0;color:inherit}
@media(orientation:landscape) and (max-height:500px){
 body{--sp-text:11px;--sp-heading:13px;font-size:var(--sp-text)}
 body :is(button,input,select,textarea,label,legend){font-size:var(--sp-text)!important;line-height:1.6}
 body :is(.modal,.reading-overlay,.glossary-overlay,.reader-overlay,.afterword,.campaign-paper,.paper,.email,.talk-app,.truth-work,.memo-shell) :is(p,li,dt,dd,td,th,pre,.bodycopy,.mailbody,.reply-preview,.compose-fields,.meta,.historyline b){font-size:var(--sp-text)!important;line-height:1.75}
 body :is(.modal,.reading-overlay,.glossary-overlay,.reader-overlay,.afterword,.campaign-paper,.paper,.email,.truth-work,.memo-shell) :is(h2,h3,h4){font-size:var(--sp-heading)!important;line-height:1.6}
 body .afterword h1{font-size:17px}
 .novel-game .menu-open .novel-controls{padding:8px;gap:6px;width:min(380px,calc(100vw - 24px))}
 .novel-game .menu-open .novel-controls button,.route-choice-controls button{display:flex;align-items:center;justify-content:center;text-align:center!important;min-height:34px;padding:5px 8px;gap:4px;font-weight:400;letter-spacing:0}
 .novel-game .menu-open .novel-controls button span{font-size:var(--sp-text)!important;text-align:center}
 .novel-controls .memo-button svg{width:16px;height:16px;flex:0 0 16px}
 .novel-game .novel-dialogue{padding-left:16px;padding-right:16px}
 .veil{padding:8px}
 .modal:not(.fullscreen-panel){width:calc(100vw - 16px);max-width:760px;max-height:calc(100dvh - 16px);padding:38px 14px 14px}
 .modal:not(.fullscreen-panel)>h2{margin:0 0 10px}
 .modal .close,.route-menu-close{top:6px;right:10px;min-height:30px;padding:4px 10px}
 .modal :is(.choice,.check){padding:8px 10px;margin:6px 0;gap:8px}
 .modal :is(input[type=radio],input[type=checkbox]){width:14px;height:14px;min-width:14px;margin:0 6px 0 0}
 .modal .reply-preview{padding:10px 12px;margin:10px 0;max-height:none;line-height:1.75}
 .modal .compose-fields{margin:8px 0;line-height:1.65}
 .modal .primary.full{min-height:34px;padding:7px 12px}
 .modal .feedback:empty{display:none}
 .reading-overlay{padding:8px}
 .settings-card{padding:12px 16px;width:min(600px,100%);max-height:100%}
 .settings-card fieldset{padding:8px 10px;gap:12px;margin:8px 0}
 .settings-card label{gap:5px}
 .settings-card button{padding:6px 18px;min-height:34px}
 .settings-card p{margin:8px 0}
 .panel-heading{height:44px;min-height:44px;padding:6px 14px}
 .fullscreen-panel>.close{top:6px;right:10px;min-height:30px;padding:4px 10px}
 .panel-content,.backlog-scroll,.people-scroll,.glossary-scroll{padding:12px 16px}
 .history-panel .historyline,.route-menu .historyline{padding:8px 0;margin:0}
 .history-panel .historyline p,.route-menu .historyline p{padding-left:0;margin:6px 0 12px}
 .glossary-overlay header{padding:4px 12px}
 .glossary-overlay header button,.introduction-tabs button{min-height:30px;padding:4px 12px;text-align:center}
 .introduction-tabs{padding:4px 12px;gap:6px}
 .glossary-scroll section{padding:10px 0}
 .glossary-scroll h3{margin:12px auto 4px}
 .person-card{padding:10px;gap:12px}
 .person-info p{margin-top:8px}
 .affiliations{margin-bottom:6px;gap:4px}
 .modal.memo-modal.fullscreen-panel .memo-toolbar{height:44px;min-height:44px;padding:8px 14px}
 .fullscreen-panel.memo-modal .memo-layout article{padding:12px 16px}
 .memo-layout article h2{margin:4px 0 10px}
 .memo-layout li{margin:6px 0}
 .pc-mode .mailtoolbar{display:none}
 .pc-mode .mail-layout>.folders,.pc-mode .mobile-detail:not(.mobile-list)>.folders{display:flex;width:100%;height:32px;min-height:32px;padding:0 8px;gap:4px;align-items:stretch}
 .pc-mode .mail-layout>.folders button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;border-radius:0;border:0;border-bottom:2px solid transparent;background:#e8edf1;color:#465563;padding:4px 10px;min-height:30px}
 .pc-mode .mail-layout>.folders button.selected{background:#d3dde4;border-bottom-color:#374957;color:#17232e}
 .pc-mode .campaign-mail-tabs{height:32px;min-height:32px;padding:0 8px}
 .pc-mode .campaign-mail-tabs button{min-height:30px;padding:4px 10px}
 .pc-mode .campaign-account{padding:4px 12px;font-size:10px}
 .pc-mode .email,.pc-mode .campaign-paper,.pc-mode .paper{padding:10px 12px}
 .pc-mode .email h2,.pc-mode .campaign-paper h2,.pc-mode .paper h2{margin:6px 0 10px}
 .pc-mode .mobile-list-back{min-height:30px;padding:4px 10px;margin-bottom:8px}
 .pc-mode .sender{padding:6px 0;margin:6px 0 10px}
 .pc-mode .mailbody{margin-top:10px}
 .talk-app .chat-content{padding:8px 10px}
 .talk-app .bubble,.talk-app .incident-message{padding:7px 10px;margin:8px 0}
 .talk-app .bubble p,.talk-app .incident-message p{font-size:var(--sp-text)!important;margin:3px 0;line-height:1.75}
 .talk-app .chat-compose{padding:6px 8px}
 .talk-app .chat-response{padding:7px 10px;min-height:34px}
 .afterword article{padding:16px 20px 28px}
 .afterword h1{margin:10px 0 16px}.afterword h2{margin:20px 0 10px}
 .afterword li{margin-bottom:6px}.afterword button{min-width:160px;margin-top:20px;padding:8px 18px}
 .ending-credits{margin-top:20px;padding-top:10px}
 .ending-credits dl{grid-template-columns:84px 1fr;gap:4px 12px}
 .truth-work{padding:10px 12px}.truth-work header{margin-bottom:6px}
 .truth-work .timeline-row{padding:6px 8px;gap:8px}.truth-choices button{padding:8px 10px;min-height:34px}
 .route-menu{padding:40px 16px 14px}
}

@media(orientation:landscape) and (max-height:500px){
 .novel-game .menu-open .novel-controls{width:min(440px,calc(100vw - 24px))}
 .novel-game .menu-open .novel-controls button{white-space:nowrap}
 .modal:not(.fullscreen-panel)>.close{position:fixed;top:16px;right:24px;float:none;z-index:5}
 .modal.reply-modal{padding-top:48px}
}

@media(orientation:landscape) and (max-height:500px){
 .memo-layout article .primary{min-height:34px;padding:7px 12px;margin:8px 0}
 .modal.memo-modal.fullscreen-panel .memo-toolbar{height:30px;min-height:30px;padding:4px 12px}
 .map-square strong,.scenario-map button strong{font-size:11px!important}
 .map-panel .map-help,.map-panel .map-legend{font-size:10px}
}
