html,body { background:#0d101b; font-family:'Yu Mincho','Hiragino Mincho ProN',serif; }
#tyrano_base { visibility:hidden; }
#tyrano_base[style*="scale("] { visibility:visible; }
.glink_button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:10px 18px; line-height:1.3; border:2px solid #d1d7ec; border-radius:2px; box-shadow:inset 0 0 0 2px #30394f; text-shadow:1px 1px #000; font-family:'Yu Mincho','Hiragino Mincho ProN',serif; touch-action:manipulation; }
.glink_button.novel { color:#fff; background:rgba(14,22,48,.93); background-image:none; }
.glink_button.novel:hover,.glink_button.novel:focus { background:#394768; outline:2px solid #f0d88c; }
.message_inner { line-height:1.65; text-shadow:1px 1px #000; }
.title-copy { color:#fff!important; text-shadow:2px 2px 3px #000,0 0 9px #000; }
.title-panel { background:rgba(12,19,38,.72); border-top:1px solid #d1d7ec; border-bottom:1px solid #d1d7ec; padding:18px; box-sizing:border-box; }
.speaker { background:#111d37; border:2px solid #d1d7ec; padding:6px 20px; color:#fff; box-sizing:border-box; }
#novel-hud { position:absolute; inset:0; pointer-events:none; z-index:100000; }
.meter-panel { position:absolute; top:24px; left:28px; width:360px; padding:10px 14px; border:1px solid #d1d7ec; background:rgba(12,19,38,.9); color:white; font:20px/1.4 serif; }
.meter-panel output { float:right; }
.meter-panel progress { display:block; width:100%; height:12px; margin-top:6px; accent-color:#e9b5d3; }
.meter-panel progress::-webkit-progress-bar { background:#32384c; }
.meter-panel progress::-webkit-progress-value { background:#e9b5d3; }
.novel-tools { position:absolute; top:24px; right:28px; display:flex; gap:6px; pointer-events:auto; }
.novel-tools button { min-width:90px; height:44px; border:1px solid #c6ccdc; border-radius:1px; background:#131c33; color:#fff; font:18px serif; cursor:pointer; }
.novel-tools button:focus-visible { outline:2px solid #f0d88c; }
.display-links { position:fixed; right:max(8px,env(safe-area-inset-right)); top:max(4px,env(safe-area-inset-top)); display:flex; z-index:99999999; background:#0d101b; }
.display-links a { display:flex; align-items:center; padding:0 10px; min-height:44px; color:#ddd; font:13px sans-serif; }
html[data-layout="mobile"] .meter-panel { top:26px; left:24px; width:640px; font-size:28px; }
html[data-layout="mobile"] .novel-tools { top:auto; right:24px; bottom:10px; gap:8px; }
html[data-layout="mobile"] .novel-tools button { height:100px; min-width:124px; font-size:30px; }
html[data-layout="mobile"] .meter-panel progress { height:16px; }
/* 保存・ログも同じ四角いウィンドウ。表示モードに合わせて組む。 */
.novel-menu { position:absolute; inset:0; box-sizing:border-box; background:#11192d; color:#fff; padding:28px; text-align:left; }
.novel-menu header { display:flex; align-items:center; justify-content:space-between; }
.novel-menu h2 { margin:0; font:32px serif; }
.novel-menu .menu_close { position:static; height:60px; width:150px; background:#283650; border:1px solid #c6ccdc; color:#fff; font:24px serif; cursor:pointer; }
.novel-menu .menu-note { font:20px serif; }
.novel-menu .area_save_list,.novel-menu .log_body { position:absolute; top:150px; left:28px; right:28px; bottom:28px; width:auto; height:auto; margin:0; padding:0; box-sizing:border-box; overflow-y:auto; }
.novel-menu .save_list { margin:0; padding:0; width:100%; height:auto; }
.novel-menu .save_list_item { position:relative; box-sizing:border-box; display:flex; align-items:center; gap:18px; width:100%; height:140px; margin:0 0 16px; padding:12px; border:1px solid #c6ccdc; background:#1c2842; color:#fff; cursor:pointer; }
.novel-menu .save_list_item:hover,.novel-menu .save_list_item:focus { background:#394768; }
.novel-menu .save_list_item_thumb { position:static; display:block; flex:0 0 190px; width:190px; height:110px; margin:0; background:#0d101b; }
.novel-menu .save_list_item_thumb img { width:100%; height:100%; object-fit:contain; margin:0; }
.novel-menu .save_list_item_area { position:static; flex:1; width:auto; height:auto; margin:0; padding:0; min-width:0; }
.novel-menu .save_list_item_date,.novel-menu .save_list_item_text { position:static; display:block; width:auto; height:auto; margin:0; padding:0; font-size:22px; line-height:1.5; overflow:hidden; }
.novel-menu .save_list_item_text { color:#fff; background:transparent; border:0; }
.novel-menu .save_list_item_date { color:#ced5e6; }
.novel-menu .log_body { padding:16px; font-size:28px!important; font-weight:normal; line-height:1.7; }
html[data-layout="mobile"] .novel-menu h2 { font-size:40px; }
html[data-layout="mobile"] .novel-menu .menu_close { height:90px; width:170px; font-size:32px; }
html[data-layout="mobile"] .novel-menu .menu-note { font-size:27px; }
html[data-layout="mobile"] .novel-menu .area_save_list,html[data-layout="mobile"] .novel-menu .log_body { top:200px; }
html[data-layout="mobile"] .novel-menu .save_list_item { height:190px; }
html[data-layout="mobile"] .novel-menu .save_list_item_thumb { flex-basis:150px; width:150px; height:150px; }
html[data-layout="mobile"] .novel-menu .save_list_item_date,html[data-layout="mobile"] .novel-menu .save_list_item_text { font-size:28px; }
html[data-layout="mobile"] .novel-menu .log_body { font-size:32px!important; }
