@font-face{font-family:'JetBrains Mono';src:url(/_/fonts/jetbrains-mono.woff2) format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
:root{--bg:#f4f7f4;--fg:#15281b;--muted:#5d7a66;--card:#fff;--line:#cfdcd2;--accent:#0b7a35;--accent-fg:#fff;--danger:#c0392b;--radius:8px;--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
@media(prefers-color-scheme:dark){:root{--bg:#0a0e0b;--fg:#cfe8d5;--muted:#6f8a76;--card:#0e1510;--line:#1f3024;--accent:#7dff9b;--accent-fg:#06120a;--danger:#ff7a7a}}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.55 var(--mono)}
a{color:var(--accent)}
header.bar{display:flex;align-items:center;gap:12px;padding:12px max(20px,calc((100% - 960px)/2 + 20px));border-bottom:1px solid var(--line);background:var(--card)}
header.bar .logo{font-weight:700;letter-spacing:-.02em;color:var(--fg);text-decoration:none}
header.bar .crumb{color:var(--muted)}
header.bar .sp{flex:1}
header.bar img{width:28px;height:28px;border-radius:50%}
main{max-width:960px;margin:0 auto;padding:24px 20px}
h1{font-size:1.4rem;margin:0 0 4px;letter-spacing:-.02em}
p.sub{color:var(--muted);margin:0 0 20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
a.tile{display:block;text-decoration:none;color:inherit;transition:border-color .12s}
a.tile:hover{border-color:var(--accent)}
a.tile b{display:block}a.tile span{color:var(--muted);font-size:.9em}
button,.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);padding:7px 14px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block}
button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
button.danger{color:var(--danger)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,textarea,select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px;max-width:100%}
textarea{width:100%;font-family:var(--mono);font-size:.9em}
label{display:block;color:var(--muted);font-size:.85em;margin:10px 0 4px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:.85em}
code,pre,.mono{font-family:var(--mono);font-size:.9em}pre{overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;margin:0}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.err{color:var(--danger)}
section{margin-top:28px}h2{font-size:1rem;margin:0 0 10px}
@media(max-width:560px){main{padding:16px 14px}}

header.bar .logo{font-weight:600;color:var(--accent);letter-spacing:-.01em;white-space:nowrap}
header.bar .logo .pr,header.bar .logo .path{color:var(--muted);font-weight:400}
header.bar .logo:hover{text-decoration:none}
button,input,textarea,select{font-family:inherit}
h1.prompt .u{color:var(--accent)}h1.prompt .d{color:var(--muted);font-weight:400}
.cur::after{content:'▍';color:var(--accent);animation:bl 1.1s steps(2) infinite}@keyframes bl{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.cur::after{animation:none}}
[hidden]{display:none!important}
.card{overflow-x:auto;min-width:0}
@media(max-width:360px){header.bar>span:not(.sp){display:none}}

/* Form controls that follow the theme (native pickers/scrollbars, selects, number steppers). */
:root{color-scheme:light dark}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
select:not([multiple]){appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
select:hover{border-color:var(--accent)}
.num{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;vertical-align:middle;max-width:100%}
.num:focus-within{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.num:has(input:disabled){opacity:.5}
.num input{border:0!important;border-radius:0!important;background:transparent!important;flex:1 1 auto;min-width:0;width:auto!important;text-align:center;padding-inline:4px;outline:0!important;box-shadow:none!important}
.num .stp{border:0;border-radius:0;background:transparent;color:var(--muted);width:28px;padding:0;font:inherit;line-height:1;flex:none;user-select:none;touch-action:manipulation}
.num .stp:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
input[type=file]{font:inherit;color:var(--muted);max-width:100%;padding:5px;border:1px dashed var(--line);border-radius:8px;background:var(--card);cursor:pointer}
input[type=file]:hover{border-color:var(--accent)}
input[type=file]::file-selector-button{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:5px 14px;border-radius:7px;margin-right:12px;cursor:pointer}
input[type=file]:hover::file-selector-button{border-color:var(--accent);color:var(--accent)}
/* Thin themed scrollbars (standard properties; WebKit fallback for older Safari). */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 50%,transparent) transparent}
@supports not (scrollbar-color:auto){
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 50%,transparent);border-radius:10px;border:2px solid transparent;background-clip:content-box}
  ::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:content-box}
  ::-webkit-scrollbar-corner{background:transparent}
}
