@import url("https://fonts.googleapis.com/css2?family=Ubuntu+Mono:wght@400;700&display=swap");
:root{color-scheme:dark;--bg:#111;--text:#ddd;--muted:#999;--line:#444}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.7 "Ubuntu Mono",ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}a{color:inherit;text-decoration:underline;text-underline-offset:3px}a:hover{color:#fff}button,input,select,textarea{font:inherit;border-radius:0}button{cursor:pointer;background:transparent;color:var(--text);border:1px solid var(--line);padding:7px 10px}button:hover{background:#222}input,select,textarea{display:block;width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:8px 10px}textarea{resize:vertical;line-height:1.6}h1,h2,h3{line-height:1.5;margin:0 0 12px;font-weight:600}h1{font-size:17px}h2{font-size:14px}h3{font-size:13px}p{margin:0 0 16px;color:var(--muted);overflow-wrap:anywhere}.public .shell{width:100%;max-width:620px;margin:32px auto;border:1px solid var(--line);background:#111;border-radius:0;box-shadow:none}.public .workspace>main{padding:0 16px 20px}.menu{display:flex;flex-wrap:wrap;gap:8px 18px;padding:9px 16px;background:#171717}.menu a{text-decoration:none;font-size:12px}.intro{padding:20px 0 12px}.intro h2{margin-top:22px}.multiline{white-space:pre-line;overflow-wrap:anywhere}.muted,.checksum{font-size:11px;color:var(--muted)}.checksum code{display:block;overflow-wrap:anywhere}.search-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;overflow-x:visible;padding:0 0 5px;margin:12px 0 20px}.search-row label{flex:1 1 0;min-width:0}.search-row label:first-child{flex:0 0 100%;min-width:0}.search-row input,.search-row select,.search-row button{height:32px;padding:5px;font-size:10px}.search-row button{flex:0 0 auto}.file{padding:16px 0}.file h3{margin-bottom:6px}.file p{margin-bottom:8px}.file>.muted{font-size:10px}.empty{padding:15px 0}.stack{display:flex;flex-direction:column;gap:17px;margin-bottom:20px}.stack label{display:flex;flex-direction:column;gap:6px;font-size:12px}.stack button{align-self:flex-start}.check{flex-direction:row!important;align-items:center}.check input{width:16px;height:16px;margin:0;accent-color:#bbb}.notice{border:1px solid var(--line);padding:12px;font-size:12px;color:var(--text)}.link{border:0;padding:0;text-decoration:underline;font-size:inherit;background:none}.preferences{font-size:10px;padding-top:20px;color:var(--muted)}.consent{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:510px;background:#171717;border:1px solid var(--line);padding:16px;z-index:10}.consent[hidden]{display:none}.consent p{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.admin .shell{display:grid;grid-template-columns:195px minmax(0,1fr);min-height:100vh}.admin aside{padding:24px 18px;border-right:1px solid var(--line)}.admin aside>strong{display:block;margin-bottom:20px}.admin aside nav{display:flex;flex-direction:column;gap:14px}.admin aside a{text-decoration:none;font-size:12px}.admin .workspace{padding:24px 30px;min-width:0}.admin h1{margin-bottom:28px;font-size:20px}.panel{border-top:1px solid var(--line);padding:22px 0;margin-bottom:24px}.narrow{max-width:650px}.columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:20px 0}.inline label{font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stats strong{font-weight:400;font-size:24px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}th{font-weight:400;color:var(--muted)}.table-scroll{overflow:auto}fieldset{border:1px solid var(--line);padding:18px;margin:0;min-width:0}legend{padding:0 8px;color:var(--muted);font-size:12px}input[type=file]{font-size:11px}:focus-visible{outline:1px solid var(--text);outline-offset:3px}@media(max-width:850px){.columns{grid-template-columns:1fr}.admin .shell{grid-template-columns:160px minmax(0,1fr)}.admin .workspace{padding:20px}.admin aside{padding:20px 14px}.stats{gap:14px}}@media(max-width:620px){.public .shell{margin:0 auto}.admin .shell{display:block}.admin aside{border:0;padding:18px 20px}.admin aside nav{flex-direction:row;flex-wrap:wrap;gap:10px 16px}.admin .workspace{padding:20px}.stats{grid-template-columns:1fr;gap:0}.stats .panel{margin:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.public .site-header{display:flex;align-items:center;padding:9px 16px;background:#202020;border-bottom:1px solid var(--line)}.site-header a{font-size:13px;font-weight:400;text-decoration:none}

/* Public terminal uses one font size and weight throughout. */
body.public{font-family:"Ubuntu Mono",monospace;font-size:14px;line-height:1.6}.public .shell,.public .shell *,.public .consent,.public .consent *{font-family:inherit;font-size:inherit;font-weight:400}.public h1,.public h2,.public h3{line-height:inherit}.public .search-row input,.public .search-row select,.public .search-row button{font-size:inherit;height:34px}.public strong,.public b{font-weight:400}

/* Plain bordered public dialog: text and standard controls only. */
.public .shell{width:100%;max-width:620px;margin:32px auto;border:1px solid var(--line);border-radius:0;background:var(--bg);box-shadow:none}.public .site-header{padding:12px 16px;background:transparent;border-bottom:1px solid var(--line)}.public .menu{padding:10px 16px;background:transparent}.public .site-header a{font:inherit;text-decoration:none}.public .workspace>main{padding:0 16px 20px}.public button,.public input,.public select,.public textarea{border-radius:0;box-shadow:none;background:var(--bg)}@media(max-width:620px){.public .shell{margin:0 auto}}

/* White borders and dividers; no outline rings. */
:root{--line:#fff}.public .menu{border-bottom:1px solid #fff}:focus-visible{outline:none}.public input:focus-visible,.public select:focus-visible,.public textarea:focus-visible{background:#222}.public a:focus-visible,.public button:focus-visible{background:#222;text-decoration:underline}

/* Consistent form borders, including native upload controls. */
input,select,textarea,button,fieldset{border-color:#fff;border-radius:0;box-shadow:none;outline:none}input:focus,select:focus,textarea:focus,button:focus,fieldset:focus{border-color:#fff;box-shadow:none;outline:none}input[type=checkbox],input[type=radio]{accent-color:#fff}input::file-selector-button{font:inherit;color:inherit;background:transparent;border:1px solid #fff;border-radius:0;padding:5px 8px;outline:none;box-shadow:none}button.link{border:0}

/* Global sizing and page spacing. */
*,*::before,*::after{box-sizing:border-box}body{margin:2%}
.project-image{display:block;max-width:100%;height:auto;margin:0 0 16px}.pagination{display:flex;justify-content:space-between;gap:20px;margin:20px 0}
/* BBCode editor and the shared public/preview content styles. */
.bb-field{display:flex;flex-direction:column;gap:6px;min-width:0}.bb-toolbar{display:flex;flex-wrap:wrap;gap:5px}.bb-toolbar button{font-size:12px;padding:5px 8px}.bb-toolbar button:disabled{opacity:.4;cursor:default}.bb-field textarea{font-family:"Ubuntu Mono",monospace;min-height:220px;tab-size:4}.bb-status{font-size:12px;margin:0;min-height:1.6em}.bb-help{font-size:12px;padding:12px;border:1px solid var(--line);white-space:pre-wrap}.bb-preview{padding:16px;border:1px solid var(--line);min-height:80px;overflow-wrap:anywhere}.bb-preview[hidden],.bb-help[hidden]{display:none}.bb-content{white-space:normal;overflow-wrap:anywhere}.bb-content .bb-bold,.bb-content .bb-heading{font-weight:700}.bb-italic{font-style:italic}.bb-underline{text-decoration:underline}.bb-strike{text-decoration:line-through}.bb-quote{margin:12px 0;padding:6px 14px;border-left:1px solid var(--line)}.bb-code{margin:12px 0;padding:12px;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.bb-code code{font:inherit}.bb-image{display:block;max-width:100%;height:auto;margin:12px 0}.bb-list{margin:12px 0;padding-left:24px}.bb-content .bb-heading{font-size:inherit;margin:16px 0 8px}.bb-dialog{width:calc(100% - 32px);max-width:460px;border:1px solid var(--line);padding:20px;background:var(--bg);color:var(--text);font:inherit}.bb-dialog::backdrop{background:#000a}.bb-dialog .stack{margin-bottom:0}.bb-actions{display:flex;gap:10px}

.public .site-footer{padding:12px 16px;border-top:1px solid #fff;color:var(--muted)}.site-footer .footer-text{white-space:pre-line;overflow-wrap:anywhere}.site-footer .footer-links{margin-top:6px}

/* Public menu underline: animate in and out. */
.public .menu a{position:relative;display:inline-block;text-decoration:none}.public .menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:center;transition:transform 180ms ease-in-out;pointer-events:none}.public .menu a:hover::after,.public .menu a:focus-visible::after{transform:scaleX(1)}.public .menu a:focus-visible{text-decoration:none}@media(prefers-reduced-motion:reduce){.public .menu a::after{transition:none}}

.public .menu a[aria-current="page"]::after{transform:scaleX(1)}

/* Printable content: black on white, without navigation or interactive controls. */
@media print{
 :root{color-scheme:light;--bg:#fff;--text:#000;--muted:#000;--line:#000}
 *,*::before,*::after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}
 html,body{background:#fff!important;color:#000!important;margin:0!important}
 .public .shell,.admin .shell{display:block;width:100%;max-width:none;margin:0;border:0;min-height:0}
 .workspace,.admin .workspace{padding:0!important}.public .workspace>main{padding:0}
 nav,aside,.menu,.footer-links,.preferences,.consent,.search-row,form,button,.bb-toolbar,.bb-help,.bb-status,dialog{display:none!important}
 .site-header,.public .site-header,.site-footer,.public .site-footer{background:#fff!important;border-color:#000!important;padding-left:0;padding-right:0}
 .site-header a{text-decoration:none}a{color:#000!important}
 .panel,.notice,fieldset,.bb-code,.bb-quote,td,th{border-color:#000!important}
 .bb-content,.intro{overflow:visible}.table-scroll{overflow:visible}
 img{max-width:100%!important;break-inside:avoid}h1,h2,h3{break-after:avoid}.bb-code,.bb-quote{break-inside:avoid}
}

/* Preserve the public dialog frame in print. */
@media print{.public .shell{border:1px solid #000;max-width:620px;margin:0 auto}.public .workspace>main{padding:0 16px 20px}.public .site-header,.public .site-footer{padding-left:16px;padding-right:16px}.public .menu{display:none!important}}

/* Keep layout borders visible on printed pages. */
@media print{
 *,*::before,*::after{border-color:#000!important}
 .public .shell{border:1px solid #000!important;box-decoration-break:clone;-webkit-box-decoration-break:clone}
 .public .site-header{border-bottom:1px solid #000!important}
 .public .site-footer{border-top:1px solid #000!important}
 .public .menu{display:none!important}
}

/* Small page margin when printing. */
@media print{@page{margin:10mm}}

.contact-trap{display:none!important}
