html,body{height:100%;overflow:hidden}
.client-main{
 max-width:calc(var(--content) + var(--rail-collapsed));
 height:calc(100vh - 58px);
 margin:0 auto;
 padding:16px 24px 16px calc(24px + var(--rail-collapsed));
 overflow:hidden;
}
.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px;flex:0 0 auto}
.page-head h1{margin:0 0 8px;font-size:34px;letter-spacing:-.035em}
.subtle-action{
 display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;
 border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);
 cursor:pointer;font-weight:700
}
.subtle-action:hover{background:var(--surface-2)}

.ptt-shell{max-width:860px;height:100%;margin:0 auto;display:flex;flex-direction:column;min-height:0}
.ptt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex:0 0 auto}
.ptt-meta{color:var(--muted);font-size:12px}
.ptt-actions{display:flex;gap:8px;flex-wrap:wrap}
.ptt-reader{
 position:relative;flex:1 1 auto;min-height:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#080808;
 box-shadow:var(--shadow)
}
.ptt-empty{padding:52px 24px;text-align:center;color:#8f9498;background:#101010;height:100%;display:grid;place-items:center}
.ptt-empty[hidden]{display:none!important}
.ptt-reader .pushes{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#555 #111;padding:6px 6px 12px}
.ptt-reader .push{
 display:grid;grid-template-columns:1.15em 3.15em 3.05em minmax(0,1fr);column-gap:3px;align-items:start;
 color:#f2f2f2;background:#080808;padding:4px 1px;border-bottom:1px solid #191919;
 font-family:Menlo,Monaco,"Noto Sans Mono CJK TC",monospace;font-size:16px;line-height:1.45
}
.ptt-push-kind{font-weight:800;text-align:center;color:#f4f4f4}
.ptt-push-kind.kind-arrow{color:#ff3030}.ptt-push-kind.kind-boo{color:#ff4b4b}
.ptt-push-time{color:#dedede;font-size:.82em;font-weight:500;white-space:nowrap;padding-top:.12em;text-align:right;font-variant-numeric:tabular-nums}
.ptt-push-floor{color:#929da4;font-size:.76em;font-weight:600;white-space:nowrap;padding-top:.2em;text-align:right;font-variant-numeric:tabular-nums}
.ptt-push-body{min-width:0;overflow-wrap:anywhere;padding-left:1px}
.ptt-push-author{color:#ffff00;font-weight:650;margin-right:.45em}
.ptt-push-content{color:#a9a900;white-space:pre-wrap;overflow-wrap:anywhere}
#ptt-newest{
 position:absolute;right:16px;bottom:14px;z-index:5;border:1px solid #777;border-radius:999px;padding:7px 12px;
 color:#fff;background:rgba(35,35,35,.92);cursor:pointer
}
#ptt-newest[hidden]{display:none!important}
#ptt-floor-toggle{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 12px;
 border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);
 cursor:pointer;font-size:14px;font-weight:700
}
#ptt-floor-toggle:hover{background:var(--surface-2)}
#ptt-floor-toggle input{
 appearance:none;-webkit-appearance:none;width:15px;height:15px;margin:0;border:1.5px solid #9ca4aa;
 border-radius:4px;background:transparent;display:grid;place-items:center;cursor:pointer
}
#ptt-floor-toggle input::after{
 content:'';width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;
 transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .12s ease
}
#ptt-floor-toggle input:checked{background:#a65788;border-color:#a65788}
#ptt-floor-toggle input:checked::after{transform:rotate(-45deg) scale(1)}
#ptt-floor-toggle input:focus-visible{outline:2px solid #b8a6d8;outline-offset:2px}
body.ptt-floor-hidden .ptt-reader .push{grid-template-columns:1.15em 3.15em minmax(0,1fr)}
body.ptt-floor-hidden .ptt-push-floor{display:none!important}

body.ptt-focus-mode .client-rail,body.ptt-focus-mode .client-topbar{display:none!important}
body.ptt-focus-mode .client-main{max-width:none;padding:0!important}
body.ptt-focus-mode .ptt-shell{max-width:none}
body.ptt-focus-mode .ptt-reader{border:0;border-radius:0;height:100vh;min-height:100vh}
body.ptt-focus-mode .ptt-reader .ptt-empty{height:100vh}
body.ptt-focus-mode .ptt-shell .page-head{display:none}
body.ptt-focus-mode .ptt-toolbar{position:fixed;z-index:20;right:12px;top:10px;width:auto;opacity:.45}
body.ptt-focus-mode .ptt-toolbar:hover,body.ptt-focus-mode .ptt-toolbar:focus-within{opacity:1}
body.ptt-focus-mode .ptt-toolbar .ptt-meta{display:none}
body.ptt-focus-mode .ptt-toolbar .subtle-action{font-size:11px;padding:6px 9px}

@media(max-width:760px){
 .client-main{height:calc(100vh - 58px);padding:12px 16px}
 .page-head{margin-bottom:14px}
 .ptt-toolbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){
 .ptt-reader .pushes{padding-left:4px;padding-right:4px}
 .ptt-reader .push{grid-template-columns:1.1em 3em 2.9em minmax(0,1fr);column-gap:2px}
 body.ptt-floor-hidden .ptt-reader .push{grid-template-columns:1.1em 3em minmax(0,1fr)}
 .ptt-push-time{font-size:.8em}
 .ptt-push-floor{font-size:.72em}
 .ptt-push-body{padding-left:0}
}
