/* 阿泽到处跑 V2.2 · Native desktop, messaging, and archived forum surfaces.
   Load after style.css and theme.css. All imagery is local and original. */
:root { --os-bar:48px; --title-bar:32px; --safe-bottom:env(safe-area-inset-bottom,0px); --ui-border:#d3d5d8; --ui-ink:#252525; --ui-blue:#28669d; }
html { box-sizing:border-box; width:100%; min-width:0; margin:0; overflow-x:clip; background:#f1f2f4; }
*,*::before,*::after { box-sizing:inherit; }
body { width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; padding:0!important; overflow-x:clip; color:var(--ui-ink); background:#f1f2f4; font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif; font-size:14px; line-height:1.6; }
body #app { display:flex; flex-direction:column; width:100%!important; max-width:none!important; min-width:0!important; min-height:100vh; min-height:100dvh; margin:0!important; padding:0 0 calc(var(--os-bar) + var(--safe-bottom))!important; overflow-x:clip; }
body #game-screen { flex:1 0 auto; width:100%!important; max-width:none!important; min-width:0!important; min-height:0; margin:0!important; padding:0!important; outline:none; box-shadow:none; }
#game-screen main,#game-screen section,#game-screen aside { min-width:0; }
button,input,textarea,select { font:inherit; color:inherit; }
button,input:not([type="hidden"]),select,summary { min-height:32px; }
button { min-width:32px; cursor:pointer; touch-action:manipulation; }
button:disabled { cursor:default; }
input,textarea,select { max-width:100%; min-width:0; border:1px solid #b6b8bc; border-radius:2px; background:#fff; }
input,select { padding:5px 8px; }
textarea { padding:8px; resize:vertical; }
a { color:var(--ui-blue); overflow-wrap:anywhere; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid #287bc1; outline-offset:2px; }
img,video,svg { max-width:100%; }
.app-icon { display:inline-block; flex:0 0 auto; vertical-align:middle; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }

/* Avatar atlas: preserve each caller's explicit pixel size and atlas position. */
body .avatar-picture { display:inline-block; flex-shrink:0!important; flex-grow:0; flex-basis:auto!important; width:40px; height:40px; padding:0!important; overflow:hidden; border:0!important; border-radius:3px; background-color:#d8dadd!important; background-image:var(--avatar-image)!important; background-size:800% 800%!important; background-repeat:no-repeat!important; box-shadow:none!important; text-indent:0; vertical-align:middle; }
body .avatar-picture::before,body .avatar-picture::after { content:none!important; }
body .avatar-picture.round-avatar,body .avatar-picture.tiny-avatar,body .avatar-picture.comment-avatar { border-radius:50%; }
body .header-avatar { display:inline-flex; align-items:center; justify-content:center; min-width:36px; padding:0; border:0; background:transparent; }
body .profile-avatar { display:flex; align-items:center; justify-content:center; padding:0; overflow:hidden; }
body .profile-avatar .avatar-picture { border-radius:50%; }

/* Window furniture is deliberately compact, with ordinary system controls. */
body .native-frame,body .browser-frame.v22-browser { position:sticky; top:0; z-index:30; flex:0 0 auto; width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:#e8eaed; box-shadow:none; }
.os-titlebar { display:flex; align-items:center; justify-content:space-between; height:var(--title-bar); padding-left:10px; color:#292929; background:#e7eaed; border-bottom:1px solid #cdd0d4; font-size:12px; user-select:none; }
.os-titlebar>span,.os-titlebar>div { display:flex; align-items:center; min-width:0; height:100%; gap:7px; }
.os-titlebar>div { gap:0; }
.os-titlebar button { display:flex; align-items:center; justify-content:center; width:44px; height:100%; padding:0; border:0; border-radius:0; background:transparent; font-size:19px; }
.os-titlebar button:hover { background:#d6d9dd; }
.os-titlebar button:last-child:hover { background:#c93a3a; color:#fff; }
.v22-browser .browser-toolbar { display:flex; align-items:center; gap:5px; width:100%; max-width:none; height:auto; min-height:40px; margin:0; padding:4px 10px; background:#f9f9fa; border-bottom:1px solid #ddd; }
.v22-browser .browser-history { display:flex; align-items:center; justify-content:center; width:32px; flex:0 0 32px; padding:0; border:0; border-radius:3px; background:transparent; font-size:21px; }
.v22-browser .browser-history:hover { background:#e9e9eb; }
.v22-browser .addressbar { display:flex; align-items:center; flex:1; min-width:0; height:30px; gap:9px; padding:3px 12px; border:1px solid #d5d6d8; border-radius:16px; background:#ededf0; color:#4b4e52; font-size:12px; }
.v22-browser .addressbar>span:last-child { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.site-info-symbol { display:inline-flex; flex:0 0 16px; align-items:center; justify-content:center; width:16px; height:16px; border:1px solid #7e8286; border-radius:50%; font:11px Georgia,serif; }
.v22-browser .browser-user { margin-left:5px; border-radius:50%; }
.v22-browser .bookmarks { display:flex; align-items:center; gap:3px; width:100%; max-width:none; height:auto; min-height:32px; margin:0; padding:0 12px; border-bottom:1px solid #d8d9dc; background:#fafafa; overflow-x:auto; }
.v22-browser .bookmark { display:inline-flex; align-items:center; flex:0 0 auto; min-height:32px; padding:3px 9px; color:#444; border-radius:3px; font-size:12px; text-decoration:none; }
.v22-browser .bookmark:hover { background:#e9edf2; }

/* Windows desktop: independent shortcuts, wallpaper, one restored window. */
body .desktop-site.desktop-v22 { width:100%; max-width:none; min-height:0; padding:0; margin:0; border:0; border-radius:0; }
.desktop-v22 .wallpaper { position:relative; display:block; width:100%; height:calc(100vh - var(--os-bar) - var(--safe-bottom)); height:calc(100dvh - var(--os-bar) - var(--safe-bottom)); min-height:550px; margin:0; padding:0; overflow:hidden; background-color:#152331; background-image:linear-gradient(90deg,rgba(0,9,20,.28),rgba(0,8,20,.08)),var(--wallpaper); background-position:center; background-size:cover; }
.desk-side { position:absolute; top:20px; left:12px; display:grid; width:84px; gap:5px; }
.desk-side>button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:84px; min-height:86px; padding:7px 3px; border:1px solid transparent; border-radius:1px; color:#fff; background:transparent; font-size:12px; line-height:1.35; text-shadow:0 1px 3px #000,0 1px 2px #000; }
.desk-side>button:hover,.desk-side>button:focus-visible { border-color:rgba(213,235,255,.58); background:rgba(190,222,255,.18); }
.desk-side>button .app-icon { filter:drop-shadow(0 2px 2px #14202a80); }
.desk-side .desktop-unavailable { opacity:.76; }
.desktop-v22 .restore-window { position:absolute; top:47%; left:50%; width:min(500px,calc(100% - 230px)); margin:0; padding:0; transform:translate(-50%,-50%); border:1px solid #90969e; border-radius:3px; background:#fff; color:#282b30; box-shadow:0 14px 48px #0006,0 2px 7px #0004; }
.restore-window .window-bar { display:flex; align-items:center; justify-content:flex-start; gap:7px; height:34px; padding:0 12px; border-bottom:1px solid #d7d9db; background:#ebedef; font-size:12px; }
.restore-window .window-body { padding:22px 25px 24px; }
.restore-profile { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.restore-profile b,.restore-profile small { display:block; }
.restore-profile small { margin-top:3px; color:#7a7a7a; font-size:12px; }
.restore-window h2 { margin:0 0 12px; color:#222; font-size:19px; font-weight:600; line-height:1.5; }
.restore-window p { margin:0 0 18px; color:#62666b; font-size:13px; line-height:1.8; }
.restore-preview { display:flex; align-items:center; gap:13px; margin:0 0 20px; padding:11px; border:1px solid #e0e2e4; background:#f8f9fa; }
.restore-preview img { flex:0 0 112px; width:112px; height:66px; object-fit:cover; }
.restore-preview>div { min-width:0; }
.restore-preview b,.restore-preview small,.restore-preview span { display:block; overflow-wrap:anywhere; }
.restore-preview small,.restore-preview span { color:#80858b; font-size:11px; }
.desktop-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:6px 20px; border:1px solid #1267ae; border-radius:2px; background:#1976c2; color:#fff; text-decoration:none; font-size:13px; }
.desktop-button:hover { background:#1468b0; }
.desktop-saved-note { position:absolute; top:55px; right:45px; width:178px; min-height:180px; padding:15px 18px; transform:rotate(1deg); background:#e5dbaa; color:#655d3e; box-shadow:1px 6px 16px #0004; font-size:13px; }
.desktop-saved-note span { display:block; padding-bottom:7px; border-bottom:1px solid #c8bc89; }
.desktop-saved-note p { margin:10px 0; line-height:1.9; }
.desktop-saved-note small { display:block; text-align:right; }

/* Taskbar always occupies a real 48 px band, plus the device safe area. */
.os-taskbar { position:fixed; z-index:80; right:0; bottom:0; left:0; display:flex; align-items:center; gap:2px; width:100%; height:calc(var(--os-bar) + var(--safe-bottom)); padding:0 7px var(--safe-bottom); background:#e7ecf3f5; border-top:1px solid #c7cdd4; box-shadow:0 -1px 8px #0001; backdrop-filter:blur(18px); }
.os-taskbar>button { position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 46px; width:46px; height:44px; padding:6px; border:1px solid transparent; border-radius:3px; background:transparent; }
.os-taskbar>button:hover { background:#ffffff9e; border-color:#c7d0da; }
.os-taskbar>button.running { background:#ffffffb3; }
.os-taskbar>button.running::after { position:absolute; bottom:1px; left:14px; width:18px; height:3px; border-radius:2px; background:#267ac2; content:""; }
.task-spacer { flex:1; min-width:0; }
.task-unread { position:absolute; top:5px; right:5px; width:7px; height:7px; background:#d7473e; border-radius:50%; }
.task-clock { flex:0 0 auto; min-width:82px; padding:1px 8px; color:#39404a; text-align:right; font-size:11px; line-height:1.55; }
.task-clock b,.task-clock span { display:block; font-weight:400; }
.os-taskbar .sound-toggle,.os-taskbar [data-action="toggle-sound"] { min-width:36px; max-width:82px; font-size:11px; }

/* A small note, rather than a game dashboard. Mobile gets its own layout row. */
.case-note { position:fixed; z-index:65; right:16px; bottom:calc(var(--os-bar) + var(--safe-bottom) + 12px); width:290px; max-width:300px; margin:0; border:1px solid #c4b98a; border-radius:1px; background:#fff3bd; color:#544b2c; box-shadow:0 5px 20px #0002; font-size:12px; }
.note-toggle { display:flex; align-items:center; width:100%; gap:7px; min-height:35px; padding:5px 10px; border:0; border-bottom:1px solid #e3d497; border-radius:0; background:#f4e4a4; color:inherit; text-align:left; }
.note-toggle>span { flex:1; }
.note-toggle>b { color:#756837; font-size:11px; font-weight:400; }
.case-note-body { padding:11px 13px 12px; overflow-wrap:anywhere; }
.case-note-body strong { display:block; font-size:13px; font-weight:600; }
.case-note-body p { margin:5px 0 8px; font-size:12px; line-height:1.65; }
.note-next { min-height:32px; padding:4px 12px; border:1px solid #bdab65; border-radius:2px; background:#fff8dc; color:#65531e; font-size:12px; }
.note-optional { display:inline-flex; align-items:center; min-height:32px; margin-left:7px; font-size:11px; }
.case-note.collapsed { width:184px; }
.case-note.collapsed .case-note-body { display:none!important; }
.case-note.collapsed .note-toggle { border-bottom:0; }

/* WeChat PC: fixed application grid; only the conversation scrolls. */
body .wechat-site.wechat-v22 { width:100%; max-width:none; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:#f5f5f5; }
.wechat-v22 .wx-shell { display:grid; grid-template-columns:58px 234px minmax(0,1fr); width:100%; height:calc(100vh - var(--title-bar) - var(--os-bar) - var(--safe-bottom)); height:calc(100dvh - var(--title-bar) - var(--os-bar) - var(--safe-bottom)); min-height:440px; overflow:hidden; border:0; border-radius:0; }
.wechat-rail { display:flex; flex-direction:column; align-items:center; gap:20px; padding:20px 8px 13px; background:#2b2c2e; color:#b3b6b8; }
.wechat-rail>button { display:flex; align-items:center; justify-content:center; width:40px; padding:6px; border:0; border-radius:2px; background:transparent; color:#a5aaaf; }
.wechat-rail>button:hover { background:#3d3e40; color:#e4e6e8; }
.rail-spacer { flex:1; }
.wx-contacts { display:block; min-height:0; overflow-x:hidden; overflow-y:auto; background:#e9e9e9; border:0; border-right:1px solid #d8d8d8; }
.wx-contacts .contacts-search { display:flex; align-items:center; gap:8px; height:28px; min-height:28px; margin:20px 12px 14px; padding:4px 8px; border:0; border-radius:3px; background:#dcdcdc; color:#838383; font-size:12px; }
.wx-contacts .contact { position:relative; display:flex; align-items:center; gap:10px; width:100%; min-width:0; min-height:74px; margin:0; padding:12px; border:0; border-radius:0; background:transparent; color:#262626; text-align:left; }
.wx-contacts .contact:hover { background:#dedede; }
.wx-contacts .contact.active { background:#c9c9c9; }
.contact>span:not(.avatar-picture) { flex:1; min-width:0; }
.contact b,.contact small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.contact b { margin-right:29px; color:#333; font-size:13px; font-weight:400; }
.contact small { margin-top:5px; color:#878787; font-size:11px; }
.contact time { position:absolute; top:14px; right:9px; color:#999; font-size:10px; }
.wx-chat { display:flex; flex-direction:column; min-width:0; min-height:0; height:100%; overflow:hidden; background:#f5f5f5; }
.wx-contact-head { display:flex; align-items:center; justify-content:space-between; flex:0 0 57px; min-height:57px; padding:0 24px; border-bottom:1px solid #e4e4e4; background:#f5f5f5; }
.wx-contact-head b { font-size:17px; font-weight:400; overflow-wrap:anywhere; }
.wx-contact-head button { width:36px; padding:0; border:0; background:transparent; font-size:22px; }
.wx-messages { flex:1 1 0; min-width:0; min-height:0; max-height:none; padding:20px 28px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c6c6c6 transparent; }
.wx-time-separator { margin:16px 0 13px; color:#9b9b9b; text-align:center; font-size:11px; }
.wx-message { display:flex; flex-direction:row; align-items:flex-start; justify-content:flex-start; gap:10px; width:100%; max-width:100%; margin:0 0 18px; }
.wx-message.mine { flex-direction:row-reverse; align-items:flex-start; margin-left:0; }
.wx-bubble { position:relative; width:fit-content; max-width:min(520px,calc(100% - 44px)); min-width:0; padding:9px 12px; border:1px solid #e5e5e5; border-radius:3px; background:#fff; color:#242424; font-size:14px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.wx-bubble::before { position:absolute; top:12px; left:-5px; width:8px; height:8px; transform:rotate(45deg); border-left:1px solid #e5e5e5; border-bottom:1px solid #e5e5e5; background:#fff; content:""; }
.wx-message.mine .wx-bubble { border-color:#92d763; background:#a9e77f; color:#242424; }
.mine .wx-bubble::before { left:auto; right:-5px; border:0; border-top:1px solid #92d763; border-right:1px solid #92d763; background:#a9e77f; }
.wx-attachment { display:flex; align-items:center; gap:10px; width:100%; min-width:0; min-height:64px; margin-top:9px; padding:10px; border:1px solid #ddd; border-radius:2px; background:#fff; color:#333; text-align:left; white-space:normal; }
.wx-attachment>span { min-width:0; }
.wx-attachment b,.wx-attachment small { display:block; overflow-wrap:anywhere; }
.wx-attachment b { font-size:12px; font-weight:400; }
.wx-attachment small { margin-top:4px; color:#999; font-size:10px; }
.wx-archive-caption,.wx-archive-warning { padding:10px 12px; color:#919191; text-align:center; font-size:11px; }
.wx-archive-warning { flex:0 0 auto; border-top:1px solid #e3e3e3; }
.wx-archived { margin:0 0 15px; border-bottom:1px solid #dedede; }
.wx-archived>summary { padding:5px 8px 12px; color:#7f7f7f; text-align:center; font-size:12px; cursor:pointer; }
.wx-archive-inner { padding:10px 0; }
.wx-input-area { flex:0 0 auto; min-width:0; padding:10px 20px 9px; border-top:1px solid #e3e3e3; background:#fff; }
.chat-evidence-picker { margin:0 0 7px; }
#chat-evidence-form { display:flex; align-items:center; flex-wrap:nowrap; gap:7px; width:100%; min-width:0; }
#chat-evidence-form label { flex:0 0 auto; color:#737373; font-size:12px; }
#chat-evidence-form select { flex:1; width:0; min-width:0; height:32px; border-color:#dedede; font-size:12px; text-overflow:ellipsis; }
#chat-evidence-form button,#chat-form>button { flex:0 0 auto; min-height:32px; padding:4px 13px; border:1px solid #d8d8d8; border-radius:2px; background:#f6f6f6; color:#26883f; font-size:12px; }
#chat-evidence-form button:hover,#chat-form>button:hover { background:#e8e8e8; }
#chat-form { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:flex-end; gap:5px; width:100%; min-width:0; }
#chat-form textarea { flex:1 0 100%; width:100%; height:52px; min-height:48px; max-height:120px; margin:0; padding:5px 0; border:0; border-radius:0; background:#fff; resize:vertical; font-size:14px; line-height:1.5; }
.wx-compose-hint { display:block; margin-top:5px; color:#999; font-size:10px; line-height:1.5; overflow-wrap:anywhere; }

/* Archived forum: restrained blue links, narrow rules, identifiable authors. */
body .forum-site { width:min(1100px,100%); max-width:1100px; min-height:calc(100dvh - 152px); margin:0 auto; padding:0; border:1px solid #d6dee8; border-top:0; border-radius:0; background:#fff; color:#333; box-shadow:none; }
.forum-site a { display:inline-flex; align-items:center; min-height:32px; padding-block:3px; color:#2d64a0; }
.tieba-top { display:flex; align-items:center; gap:20px; min-height:67px; padding:12px 22px; border-bottom:1px solid #dce3ed; background:#fff; }
.tieba-logo { flex:0 0 auto; color:#255d9d; font-size:25px; font-weight:700; letter-spacing:-1px; }
.tieba-logo>span { margin-left:5px; color:#3d88c3; font-size:18px; font-weight:400; letter-spacing:0; }
.tieba-top form { display:flex; flex:1; min-width:0; max-width:470px; gap:0; }
.tieba-top input { flex:1; width:0; min-width:0; height:34px; border:1px solid #9dabc0; border-radius:0; font-size:12px; }
.tieba-top form button { flex:0 0 auto; height:34px; padding:4px 13px; border:1px solid #899bb5; border-left:0; border-radius:0; background:#eaf0f8; color:#355775; }
.tieba-login { display:flex; align-items:center; gap:6px; margin-left:auto; color:#507398; font-size:12px; }
.tieba-banner { padding:20px 25px 18px; border-bottom:1px solid #cbd8e9; background:linear-gradient(110deg,#f0f5fc,#e0eaf6); }
.tieba-banner h1 { margin:0 0 4px; color:#244e7d; font-size:25px; font-weight:500; }
.tieba-banner p { margin:0 0 7px; color:#60738b; font-size:13px; }
.tieba-banner>div { color:#8190a2; font-size:11px; }
.tieba-tabs { display:flex; align-items:stretch; flex-wrap:wrap; gap:0; min-height:40px; padding:0 20px; border-bottom:1px solid #d5dfe9; background:#edf2f8; font-size:13px; }
.tieba-tabs>button,.tieba-tabs>a,.tieba-tabs>span { display:inline-flex; align-items:center; min-height:40px; margin:0; padding:7px 16px; border:0; border-right:1px solid #dce4ed; border-radius:0; background:transparent; color:#4d6682; text-decoration:none; }
.tieba-tabs>.selected { background:#fff; color:#285f9a; font-weight:600; }
.forum-area { display:grid; grid-template-columns:minmax(0,1fr) 225px; gap:0; padding:0; }
.forum-area>main { min-width:0; padding:0; }
.forum-side { align-self:stretch; padding:22px 20px; border:0; border-left:1px solid #e2e6ed; background:#f7f9fc; font-size:12px; }
.forum-side h3 { margin:0 0 12px; color:#586f8a; font-size:14px; font-weight:600; }
.forum-side p { margin:0 0 13px; color:#7c8693; }
.forum-tips { margin-top:23px; padding-top:15px; border-top:1px solid #e0e6ef; color:#8a919a; line-height:2; }
.forum-member-note { display:flex; align-items:flex-start; gap:12px; padding:15px 20px; border-bottom:1px solid #dedede; background:#fffff2; font-size:12px; }
.forum-member-note p { margin:3px 0; color:#858473; }
.forum-heading { display:flex; justify-content:space-between; padding:7px 20px; border-bottom:1px solid #e5e8ed; color:#7b8898; font-size:12px; }
.forum-heading small { color:#9ca4ad; }
.forum-site .topic-row { display:flex; align-items:flex-start; gap:15px; width:100%; min-width:0; min-height:100px; margin:0; padding:17px 20px; border:0; border-bottom:1px dotted #dbe0e8; border-radius:0; background:#fff; text-align:left; }
.forum-site .topic-row:hover { background:#f7faff; }
.topic-replies { flex:0 0 42px; height:26px; margin-top:3px; padding:2px 5px; border:1px solid #dce1e8; border-radius:2px; background:#f3f5f8; color:#9097a3; text-align:center; font-size:12px; }
.topic-content { display:block; flex:1; min-width:0; }
.topic-content strong { display:block; margin-bottom:7px; color:#2a61a0; font-size:15px; font-weight:400; overflow-wrap:anywhere; }
.topic-content>span { display:block; color:#858b92; font-size:12px; line-height:1.7; white-space:normal; overflow:visible; overflow-wrap:anywhere; }
.topic-content em { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:9px; color:#929ba7; font-size:11px; font-style:normal; }
.forum-topic-container { width:100%; max-width:none; margin:0; padding:0; }
.forum-topic-container>h1 { margin:0; padding:20px 24px 5px; color:#26384c; font-size:20px; line-height:1.55; font-weight:500; overflow-wrap:anywhere; }
.topic-stats { padding:0 24px 17px; border-bottom:1px solid #e0e5ed; color:#9a9fa8; font-size:11px; }
.forum-site .floor { display:grid; grid-template-columns:124px minmax(0,1fr); min-height:180px; margin:0; padding:0; border:0; border-bottom:1px solid #dce2eb; border-radius:0; background:#fff; }
.floor-user { display:flex; flex-direction:column; align-items:center; gap:9px; min-width:0; padding:19px 12px; border-right:1px solid #e1e7ef; background:#f1f5fa; text-align:center; }
body .floor-user .floor-avatar { width:72px; height:72px; margin:0; border-radius:0; outline:1px solid #d8e0ea; outline-offset:3px; }
.floor-user b { max-width:100%; color:#426994; font-size:12px; line-height:1.6; font-weight:400; overflow-wrap:anywhere; }
.floor-user small { max-width:100%; color:#96a0ad; font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.floor-body { display:flex; flex-direction:column; min-width:0; padding:22px 24px 10px; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.floor-body>p { margin:0 0 14px; white-space:pre-wrap; }
.floor-foot { margin-top:auto; padding-top:15px; color:#9ba3ae; text-align:right; font-size:11px; }
.floor-foot button { min-height:32px; padding:2px 6px; border:0; background:transparent; color:#4775a7; font-size:11px; }
.forum-attachment { margin:20px 24px 20px 148px; padding:17px; border:1px solid #d5dce5; border-left:3px solid #92a8c1; border-radius:0; background:#fbfcfd; font-size:13px; line-height:1.9; }
.attachment-label { display:block; margin-bottom:13px; color:#8592a3; font-size:11px; }
.attachment-from,.attachment-file { display:flex; align-items:center; gap:10px; min-width:0; }
.attachment-from b,.attachment-from small,.attachment-file b,.attachment-file small { display:block; overflow-wrap:anywhere; }
.attachment-from small,.attachment-file small { color:#8c939d; font-size:10px; }
.attachment-file { flex-wrap:wrap; padding:10px; border:1px solid #dfe4ea; background:#fff; }
.attachment-file>div { flex:1; min-width:0; }
.attachment-file a { margin-left:auto; font-size:12px; }
.more-floors>summary { padding:10px 24px; border-bottom:1px solid #dce2eb; background:#f5f8fc; color:#4f7399; font-size:12px; cursor:pointer; }
.forum-end { padding:18px; color:#969ea9; text-align:center; font-size:11px; }
.forum-login-page { width:min(360px,calc(100% - 36px)); margin:44px auto 70px; padding:0; }
.login-brand { margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid #e2e7ed; color:#376b9d; font-size:21px; }
.forum-login-page h1 { margin:0 0 7px; font-size:19px; font-weight:400; }
.forum-login-page p { color:#8c939c; font-size:12px; }
.forum-login-page form { margin:20px 0 12px; }
.forum-login-page label { display:block; margin:0 0 13px; color:#60656c; font-size:12px; }
.forum-login-page input { display:block; width:100%; height:38px; margin-top:5px; border-radius:0; }
.forum-login-page button[type="submit"] { width:100%; min-height:38px; border:1px solid #2e65a0; border-radius:1px; background:#3b79b8; color:#fff; }
.forum-login-page>small { display:block; margin:14px 0; color:#999; font-size:11px; line-height:1.8; }
.forum-login-page>a { display:flex; font-size:12px; }
.forum-login-page>.native-link { display:flex; align-items:center; width:100%; min-height:32px; margin:3px 0; font-size:12px; }

/* Files and password dialog use Explorer / archive-software conventions. */
body .files-site { width:100%; max-width:none; min-height:calc(100dvh - var(--title-bar) - var(--os-bar) - var(--safe-bottom)); margin:0; padding:0; border:0; border-radius:0; background:#fff; box-shadow:none; }
.files-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:0; min-height:44px; padding:5px 16px; border-bottom:1px solid #e0e0e0; background:#fff; color:#60666d; font-size:12px; white-space:normal; overflow-x:visible; overflow-wrap:anywhere; }
.files-toolbar>span,.files-toolbar>strong,.files-toolbar>a { display:inline-flex; align-items:center; min-height:32px; padding:3px 11px; font-weight:400; }
.files-toolbar>*+* { border-left:1px solid #e4e4e4; }
.file-breadcrumb { display:inline-flex; align-items:center; min-height:32px; padding:3px 11px; border:0; background:transparent; color:#406689; text-decoration:none; }
.file-explorer { display:grid; grid-template-columns:180px minmax(0,1fr); min-height:450px; }
.file-explorer>aside { display:flex; flex-direction:column; gap:3px; padding:20px 0; border-right:1px solid #e3e3e3; background:#fafafa; font-size:12px; }
.file-explorer>aside strong { padding:0 20px 12px; color:#565d65; font-size:12px; font-weight:400; }
.file-explorer>aside a { display:flex; align-items:center; min-height:34px; padding:4px 24px; color:#424950; text-decoration:none; }
.file-explorer>aside a:hover { background:#e5f0fb; }
.file-explorer>aside .native-link { display:flex; align-items:center; min-height:34px; padding:4px 24px; color:#424950; text-decoration:none; }
.file-explorer>aside .native-link:hover { background:#e5f0fb; }
.file-explorer>main { min-width:0; padding:22px 24px 40px; }
.explorer-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:16px; margin-bottom:19px; }
.explorer-heading h1,.vault-contents h1 { margin:0; color:#3a424c; font-size:19px; font-weight:400; }
.explorer-heading small { color:#979ca2; font-size:11px; }
.vault-file { display:flex; align-items:center; gap:12px; width:min(620px,100%); min-width:0; min-height:72px; margin:0 0 6px; padding:10px 12px; border:1px solid transparent; border-radius:0; background:#fff; color:#333; text-align:left; }
.vault-file:hover { border-color:#bdd7f2; background:#eef6ff; }
.vault-file>span { flex:1; min-width:0; }
.vault-file b,.vault-file small { display:block; overflow-wrap:anywhere; }
.vault-file b { font-size:13px; font-weight:400; }
.vault-file small { margin-top:4px; color:#90959c; font-size:11px; }
.files-heading { display:flex; justify-content:space-between; gap:10px; margin:22px 0 0; padding:8px 10px; border-bottom:1px solid #e5e5e5; color:#7c838b; font-size:11px; }
.file-table { width:100%; min-width:0; margin:0; border:0; }
.file-list-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(100px,.6fr) minmax(85px,.4fr) 55px; align-items:center; gap:12px; width:100%; min-width:0; min-height:42px; margin:0; padding:6px 10px; border:1px solid transparent; border-radius:0; background:#fff; color:#727981; text-align:left; font-size:11px; }
.file-list-row:hover { border-color:#c9dff6; background:#eaf4ff; }
.file-list-row>span { min-width:0; overflow-wrap:anywhere; }
.file-list-row>span:nth-child(n+2) { display:block; font-size:inherit; }
.file-list-row>span:first-child { display:flex; align-items:center; gap:9px; color:#343b44; font-size:12px; }
.file-list-row>span:last-child { text-align:right; }
.vault-contents { padding:25px; }
.vault-contents>p { margin:8px 0 25px; color:#93999f; font-size:12px; }
.vault-contents>a { display:inline-flex; align-items:center; min-height:32px; margin-top:16px; }
.archive-password { width:min(460px,calc(100% - 32px)); margin:80px auto 100px; padding:0; border:1px solid #939ba5; border-radius:0; background:#f1f1f1; box-shadow:0 8px 24px #0002; }
.archive-dialog-title { display:flex; align-items:center; gap:7px; min-height:34px; padding:5px 11px; border-bottom:1px solid #c5cbd2; background:#e4e9ef; color:#414b56; font-size:12px; }
.archive-dialog-body { display:flex; align-items:center; gap:13px; padding:21px 22px 10px; }
.archive-dialog-body>div { min-width:0; }
.archive-dialog-body h1 { margin:0 0 6px; color:#333; font-size:14px; font-weight:400; overflow-wrap:anywhere; }
.archive-dialog-body p { margin:0; color:#737373; font-size:12px; }
.archive-password form { padding:7px 22px 20px; }
.archive-password label { display:block; color:#555; font-size:12px; }
.archive-password input:not([type="hidden"]) { display:block; width:100%; height:33px; margin-top:5px; border-radius:0; }
.archive-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:13px; }
.archive-actions a { display:inline-flex; align-items:center; min-height:32px; font-size:11px; }
.archive-actions button { min-width:78px; min-height:32px; padding:3px 14px; border:1px solid #6d92b5; border-radius:1px; background:#f7f7f7; font-size:12px; }
.archive-actions .native-link { flex:1 1 auto; min-width:0; padding:3px 0; border:0; background:transparent; color:#28669d; font-size:11px; text-align:left; }
.form-feedback { min-height:18px; margin:7px 0; color:#a54236!important; font-size:12px; overflow-wrap:anywhere; }

/* Existing video and material views inherit real avatars and safe wrapping. */
body .comment { display:flex; align-items:flex-start; gap:13px; min-width:0; margin:0; padding:20px 0; border:0; border-bottom:1px solid #eee; border-radius:0; background:transparent; }
.comment-content { flex:1; min-width:0; }
.comment-author { margin-bottom:6px; color:#717784; font-size:12px; overflow-wrap:anywhere; }
.comment-text { color:#373b42; font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.comment-meta { display:flex; align-items:center; flex-wrap:wrap; gap:17px; margin-top:8px; color:#a2a7af; font-size:11px; }
.comment-meta button { min-height:32px; padding:3px 2px; border:0; background:transparent; color:#8d95a1; font-size:11px; }
.child-comment { display:flex; align-items:flex-start; gap:8px; min-width:0; margin-top:11px; color:#565e69; font-size:12px; line-height:1.8; }
.child-comment>div { flex:1; min-width:0; overflow-wrap:anywhere; }
.child-comment b { color:#4b6d8e; font-size:11px; font-weight:400; }
.child-comment>div>span { color:#a3a9b1; font-size:10px; }
.owner-mini { display:inline-block; padding:0 3px; border:1px solid #df8797; border-radius:2px; background:transparent; color:#d47788; font-size:9px; line-height:1.4; }
.anomaly-account-reply { width:min(1050px,calc(100% - 24px)); margin:14px auto; padding:13px 18px; border:1px solid #d9d3bd; border-radius:2px; background:#faf8f0; color:#605e52; }
.anomaly-reply-heading { display:flex; align-items:center; gap:8px; color:#797361; font-size:12px; font-weight:500; }
.anomaly-account-reply .comment { margin:4px 0 0; padding:12px 0; border-color:#e6e0cd; }
.anomaly-account-reply .simple-button { min-height:32px; margin:10px 0 0; padding:5px 12px; border:1px solid #c6bfa5; border-radius:2px; background:#fffdf7; color:#756d50; }
.anomaly-account-reply>small { display:block; margin-top:8px; color:#929082; font-size:11px; }
.more-comments { margin-top:13px; }
.more-comments>summary { min-height:36px; padding:8px 0; border-bottom:1px solid #e6e8eb; color:#7a8593; font-size:12px; cursor:pointer; }
.segment-mark { width:32px; height:32px; min-width:32px; min-height:32px; top:-12px; padding:0; transform:translateX(-50%); background:transparent!important; }
.segment-mark::after { position:absolute; top:12px; left:12px; width:8px; height:8px; border-radius:50%; background:#d5dbe0; content:""; pointer-events:none; }
.segment-mark.past::after { background:#ed9db0; }
.watch-focus { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:12px 0; padding:10px 12px; border:1px solid #d7e1eb; background:#f4f8fc; color:#61728a; font-size:12px; }
.watch-focus>span { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.watch-focus button,.evidence-save { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:4px 10px; border:1px solid #bac9d9; border-radius:2px; background:#fff; color:#507191; font-size:12px; }
.evidence-tools { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:12px; }
.source-tag { max-width:100%; color:#929aa2; font-size:10px; overflow-wrap:anywhere; }
.evidence-save.evidence-saved { border-color:#c6d2c6; background:#f2f7f0; color:#6a8860; }
.locked-page { width:min(520px,calc(100% - 36px)); margin:80px auto; text-align:center; }
.locked-page h1 { margin:20px 0 12px; font-size:21px; font-weight:400; }
.locked-page p { color:#858c96; line-height:1.9; }
.locked-page>a { display:flex; align-items:center; justify-content:center; min-height:36px; margin:10px auto; }
.intro-backdrop { position:fixed; z-index:100; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; overflow-y:auto; background:#141c24; }
.intro-panel { width:min(500px,100%); max-height:100%; padding:32px 36px; border:1px solid #89909a; border-radius:2px; background:#f6f6f4; color:#45484c; box-shadow:0 20px 70px #0006; }
.intro-date { margin:0 0 22px; color:#969a9e; font-size:11px; letter-spacing:1px; }
.intro-identity { display:flex; align-items:center; gap:13px; color:#656a70; font-size:13px; }
.intro-identity small { color:#9a9ca0; font-size:11px; }
.intro-panel h1 { margin:25px 0 18px; font-size:23px; font-weight:500; line-height:1.6; }
.intro-panel>p:not(.intro-date) { color:#74787e; font-size:13px; line-height:1.9; }
.intro-start { display:block; min-height:38px; margin:25px 0 15px; padding:6px 23px; border:1px solid #396586; border-radius:2px; background:#376a90; color:#fff; }
.intro-foot { display:block; color:#999; font-size:10px; line-height:1.7; }
.migration-note { padding-top:12px; border-top:1px solid #ddd; font-size:11px!important; }
body[data-current-app="video"] #game-screen>section,body[data-current-app="news"] #game-screen>section,body[data-current-app="search"] #game-screen>section { width:100%; max-width:1280px; margin-inline:auto; }

@media (max-width:1100px) {
  .desktop-saved-note { top:35px; right:25px; width:145px; font-size:12px; }
  .desktop-v22 .restore-window { width:min(475px,calc(100% - 220px)); }
  .file-explorer { grid-template-columns:145px minmax(0,1fr); }
  .file-list-row { grid-template-columns:minmax(110px,1fr) 120px 85px 50px; gap:9px; }
}
@media (max-width:760px) {
  body { height:100vh; height:100dvh; overflow:hidden; }
  body #app { height:100vh; height:100dvh; min-height:0; padding:0!important; overflow:hidden; }
  body #game-screen { order:1; flex:1 1 0; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; }
  .native-frame,.browser-frame.v22-browser { order:0; }
  .os-taskbar { position:relative; order:3; flex:0 0 calc(var(--os-bar) + var(--safe-bottom)); inset:auto; width:100%; gap:0; padding-inline:3px; }
  .case-note { position:relative; order:2; flex:0 0 auto; inset:auto; align-self:flex-end; width:100%; max-width:none; max-height:180px; margin:0; border-width:1px 0 0; border-radius:0; box-shadow:0 -1px 7px #0001; overflow-y:auto; }
  .case-note.collapsed { width:100%; }
  .note-toggle { position:sticky; z-index:1; top:0; min-height:36px; padding:5px 12px; }
  .case-note-body { padding:7px 12px 9px; }
  .case-note-body strong { font-size:12px; }
  .case-note-body p { margin:2px 0 6px; font-size:11px; line-height:1.5; }
  .note-next { min-height:34px; font-size:11px; }
  .note-optional { margin-left:10px; font-size:10px; }
  .desktop-v22 { height:100%; }
  .desktop-v22 .wallpaper { height:100%; min-height:475px; }
  .desktop-v22 .restore-window { top:47%; left:calc(50% + 35px); width:calc(100% - 112px); max-width:460px; }
  .desktop-saved-note { display:none; }
  .desk-side { top:12px; left:4px; width:74px; gap:0; }
  .desk-side>button { width:74px; min-height:86px; font-size:11px; }
  .restore-window .window-body { padding:17px; }
  .restore-window h2 { font-size:17px; }
  .restore-window p { font-size:12px; }
  .restore-preview { gap:9px; padding:7px; }
  .restore-preview img { flex-basis:80px; width:80px; height:60px; }
  .restore-preview span { display:none; }
  .wechat-v22 { height:100%; }
  .wechat-v22 .wx-shell { grid-template-columns:44px 82px minmax(0,1fr); height:100%; min-height:0; }
  .wechat-rail { gap:16px; padding:13px 2px 9px; }
  .wechat-rail>.avatar-picture { width:30px!important; height:30px!important; }
  .wechat-rail>button { width:40px; padding:5px; }
  .wx-contacts .contacts-search { justify-content:center; gap:4px; margin:10px 5px; padding:4px; font-size:11px; }
  .wx-contacts .contact { flex-direction:column; justify-content:center; gap:6px; min-height:86px; padding:10px 5px; text-align:center; }
  .contact>span:not(.avatar-picture) { flex:0 1 auto; width:100%; }
  .contact b { margin:0; white-space:normal; overflow-wrap:anywhere; font-size:11px; line-height:1.35; }
  .contact small,.contact time { display:none; }
  .wx-contact-head { flex-basis:45px; min-height:45px; padding:0 12px; }
  .wx-contact-head b { font-size:14px; }
  .wx-messages { padding:12px 9px; }
  .wx-message { gap:8px; margin-bottom:15px; }
  .wx-bubble { max-width:calc(100% - 42px); padding:8px 9px; font-size:13px; }
  .wx-time-separator { margin:12px 0 10px; font-size:10px; }
  .wx-attachment { gap:6px; padding:7px; }
  .wx-attachment .app-icon { width:24px; height:24px; }
  .wx-attachment b { font-size:11px; }
  .wx-archived>summary { padding:5px 2px 10px; font-size:10px; }
  .wx-input-area { padding:8px 9px 6px; }
  #chat-evidence-form { flex-wrap:wrap; justify-content:flex-end; gap:5px; }
  #chat-evidence-form label { font-size:11px; }
  #chat-evidence-form select { min-width:calc(100% - 34px); font-size:12px; }
  #chat-evidence-form button,#chat-form>button { padding:4px 10px; font-size:11px; }
  #chat-form textarea { height:43px; min-height:43px; max-height:85px; font-size:16px; }
  .wx-compose-hint { font-size:9px; }
  .forum-site { min-height:100%!important; border-inline:0!important; }
  .tieba-top { flex-wrap:wrap; gap:10px; padding:11px 13px; }
  .tieba-logo { font-size:22px; }
  .tieba-login { max-width:145px; margin-left:auto; font-size:11px; }
  .tieba-top form { order:3; flex:1 1 100%; max-width:none; }
  .tieba-banner { padding:16px; }
  .tieba-banner h1 { font-size:22px; }
  .tieba-tabs { padding:0 7px; }
  .tieba-tabs>button,.tieba-tabs>a,.tieba-tabs>span { padding:7px 10px; font-size:12px; }
  .forum-area { grid-template-columns:minmax(0,1fr); }
  .forum-side { display:block; padding:16px; border-top:1px solid #e2e6ed; border-left:0; }
  .forum-side p { display:inline; margin-right:8px; }
  .forum-tips { margin-top:10px; padding-top:10px; }
  .forum-member-note { padding:13px; }
  .forum-site .topic-row { gap:10px; padding:15px 13px; }
  .topic-replies { flex-basis:34px; }
  .topic-content strong { font-size:14px; }
  .forum-topic-container>h1 { padding:17px 14px 5px; font-size:18px; }
  .topic-stats { padding:0 14px 14px; }
  .forum-site .floor { grid-template-columns:74px minmax(0,1fr); }
  .floor-user { gap:8px; padding:16px 7px; }
  body .floor-user .floor-avatar { width:52px!important; height:52px!important; outline-offset:2px; }
  .floor-user b { font-size:11px; }
  .floor-user small { font-size:9px; }
  .floor-body { padding:17px 13px 8px; font-size:13px; }
  .forum-attachment { margin:16px 12px; padding:13px; font-size:12px; }
  .files-site { min-height:100%!important; }
  .files-toolbar { gap:0; padding:4px 6px; font-size:10px; }
  .files-toolbar>span,.files-toolbar>strong,.files-toolbar>a { padding:3px 6px; }
  .file-explorer { grid-template-columns:78px minmax(0,1fr); min-height:100%; }
  .file-explorer>aside { display:flex; padding-top:16px; font-size:11px; }
  .file-explorer>aside strong { padding:0 8px 10px; font-size:10px; }
  .file-explorer>aside a,.file-explorer>aside .native-link { padding:6px 10px; }
  .file-explorer>main { padding:17px 9px 28px; }
  .explorer-heading { gap:4px; margin-bottom:12px; }
  .explorer-heading h1 { flex-basis:100%; font-size:16px; }
  .explorer-heading small { font-size:10px; }
  .vault-file { gap:8px; min-height:68px; padding:9px 5px; }
  .vault-file>.app-icon:first-child { width:33px; height:33px; }
  .vault-file b { font-size:12px; }
  .vault-file small { font-size:10px; line-height:1.6; }
  .files-heading { padding:7px 3px; font-size:10px; }
  .files-heading>span { max-width:58%; color:#9c9c9c; text-align:right; }
  .file-list-row { grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.65fr) minmax(28px,.35fr); gap:5px; padding:7px 3px; font-size:9px; line-height:1.5; }
  .file-list-row>span:first-child { align-items:flex-start; gap:4px; font-size:10px; }
  .file-list-row .app-icon { width:20px; height:24px; }
  .vault-contents { padding:18px 12px; }
  .archive-password { width:calc(100% - 26px); margin:35px auto; }
  .archive-dialog-body { gap:10px; padding:17px 15px 9px; }
  .archive-password form { padding:7px 15px 16px; }
  .comment { gap:9px!important; padding-block:16px!important; }
  body .comment-avatar { width:34px!important; height:34px!important; }
  .comment-text { font-size:13px; }
  .comment-meta { gap:12px; }
  .locked-page { margin:38px auto; }
  .intro-backdrop { padding:18px; }
  .intro-panel { padding:25px 23px; overflow-y:auto; }
  .intro-panel h1 { font-size:21px; }
}
@media (max-width:420px) {
  .v22-browser .browser-toolbar { padding:4px 5px; gap:2px; }
  .v22-browser .browser-history { width:30px; flex-basis:30px; }
  .v22-browser .addressbar { padding-inline:8px; gap:5px; font-size:10px; }
  .v22-browser .browser-user { display:none; }
  .v22-browser .bookmarks { gap:0; padding-inline:4px; }
  .v22-browser .bookmark { padding-inline:7px; font-size:10px; }
  .restore-window .window-body { padding:14px; }
  .restore-window h2 { font-size:16px; }
  .restore-profile { gap:9px; margin-bottom:14px; }
  .restore-profile small { font-size:10px; }
  .restore-preview { padding:6px; }
  .restore-preview img { flex-basis:65px; width:65px; height:53px; }
  .restore-preview small { font-size:9px; }
  .desktop-button { width:100%; padding-inline:8px; }
  .os-taskbar>button { flex-basis:41px; width:41px; padding:5px; }
  .os-taskbar>button.running::after { left:11px; }
  .task-clock { min-width:70px; padding-inline:5px; font-size:10px; }
  .os-taskbar .sound-toggle,.os-taskbar [data-action="toggle-sound"] { max-width:41px; min-width:32px; overflow:hidden; }
  .wechat-v22 .wx-shell { grid-template-columns:44px 73px minmax(0,1fr); }
  .wechat-rail>button { width:40px; }
  .wx-contacts .contacts-search { font-size:10px; }
  .wx-contact-head { padding-inline:9px; }
  .wx-messages { padding-inline:7px; }
  .wx-message { gap:7px; }
  .wx-bubble { max-width:calc(100% - 41px); padding:7px 8px; font-size:12px; }
  .wx-compose-hint { font-size:9px; line-height:1.35; }
  .wx-archive-caption { padding-inline:4px; font-size:10px; }
  .tieba-login { font-size:10px; }
  .tieba-tabs>button,.tieba-tabs>a,.tieba-tabs>span { padding-inline:8px; font-size:11px; }
}
@media (pointer:coarse) {
  :root { --title-bar:40px; }
  button,summary,input:not([type="hidden"]),select { min-height:40px; }
  button { min-width:40px; }
  .note-toggle,.note-next,.note-optional,.bookmark,.floor-foot button,.forum-site a,.file-explorer>aside a,.archive-actions a,.archive-actions button,.desktop-button,.evidence-save,.watch-focus button,#chat-evidence-form button,#chat-form>button,#chat-evidence-form select { min-height:40px; }
  .os-titlebar { min-height:40px; height:40px; }
  .os-titlebar button { min-height:40px; }
  .v22-browser .browser-history { min-width:40px; flex-basis:40px; }
  .wx-contact-head button,.wechat-rail>button { min-width:40px; min-height:40px; }
  .segment-mark { width:40px; height:40px; min-width:40px; min-height:40px; top:-16px; }
  .segment-mark::after { top:16px; left:16px; }
  .wx-contacts .contact { min-height:86px; }
}
@media (max-height:650px) and (max-width:760px) {
  .case-note { max-height:155px; }
  .case-note-body { padding-top:5px; }
  .wx-input-area { padding-block:5px; }
  .wx-compose-hint { display:none; }
  .wx-contact-head { flex-basis:40px; min-height:40px; }
  .wx-archived>summary { padding-bottom:5px; }
}
/* Desktop guides occupy an actual track. No application control sits behind a note. */
@media (min-width:761px) {
  body { height:100vh; height:100dvh; overflow:hidden; }
  body #app { height:100vh; height:100dvh; min-height:0; padding:0!important; overflow:hidden; background:#16232f url("assets/street-hd.webp") center/cover; }
  body #game-screen { min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; border-right:1px solid #a5acb4; }
  body .native-frame,body .browser-frame.v22-browser { position:relative; top:auto; border-right:1px solid #a5acb4; }
  .os-taskbar { position:relative; inset:auto; min-height:calc(var(--os-bar) + var(--safe-bottom)); }
  .case-note { position:relative; inset:auto; max-height:calc(100dvh - var(--os-bar) - var(--safe-bottom) - 24px); overflow-y:auto; }
  .wechat-v22 { height:100%; }
  .wechat-v22 .wx-shell { height:100%; min-height:0; }
  body[data-current-app="desktop"] #game-screen { background:transparent; border-right:0; }
  body[data-current-app="desktop"] .desktop-site { height:100%; background:transparent; }
  body[data-current-app="desktop"] .wallpaper { height:100%; background:transparent; }
  .desktop-v22 .restore-window { left:calc(50% + 35px); width:min(500px,calc(100% - 126px)); }
}
@media (min-width:1101px) {
  body #app { display:grid; grid-template-columns:minmax(0,1fr) 310px; grid-template-rows:auto minmax(0,1fr) calc(var(--os-bar) + var(--safe-bottom)); grid-template-areas:"chrome guide" "content guide" "taskbar taskbar"; }
  body #app:not(:has(>.case-note)) { grid-template-columns:minmax(0,1fr); grid-template-areas:"chrome" "content" "taskbar"; }
  body #app>.native-frame,body #app>.browser-frame { grid-area:chrome; }
  body #game-screen { grid-area:content; align-self:stretch; }
  .os-taskbar { grid-area:taskbar; }
  .case-note { grid-area:guide; align-self:end; justify-self:center; width:290px; max-width:calc(100% - 20px); margin:12px 0; }
  .case-note.collapsed { width:184px; }
}
/* Narrow desktop windows keep the full application width and put the note below it. */
@media (min-width:761px) and (max-width:1100px) {
  body #app { display:flex; flex-direction:column; }
  body #app>.native-frame,body #app>.browser-frame { order:0; flex:0 0 auto; }
  body #game-screen { order:1; flex:1 1 0; }
  .case-note { order:2; flex:0 0 auto; align-self:flex-end; width:290px; max-width:calc(100% - 24px); max-height:190px; margin:8px 12px 12px; }
  .case-note.collapsed { width:184px; }
  .os-taskbar { order:3; flex:0 0 calc(var(--os-bar) + var(--safe-bottom)); }
}
@media (min-width:761px) and (max-width:1390px) {
  .desktop-saved-note { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
