:root{
  --bg:253 253 248; --bg-2:238 239 233; --bg-3:229 231 224;
  --border:191 193 183; --border-2:210 211 204;
  --text:17 17 17; --text-2:101 103 94; --muted:138 140 130;
  --blue:47 128 250; --orange:235 157 42; --orange-edge:177 120 22; --red:245 78 0; --yellow:247 165 1;
  --green:108 170 66; --purple:182 42 217;
  --wall-a:#dfe6d6; --wall-b:#eef0e4; --wall-ink:rgba(35,37,29,.10); --wall-key:#fdfdf8;
  --shadow:0 20px 50px rgba(35,37,29,.22),0 2px 6px rgba(35,37,29,.12);
  --sheet-shadow:0 -10px 40px rgba(35,37,29,.18);
  --glass:.94; --ai-ring:rgba(0,0,0,.07);
  --dock-h:74px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:30 31 35; --bg-2:37 38 43; --bg-3:45 46 55;
    --border:62 66 79; --border-2:50 52 63;
    --text:250 250 250; --text-2:174 179 194; --muted:110 114 129;
    --wall-a:#15171c; --wall-b:#1e2229; --wall-ink:rgba(237,238,244,.06); --wall-key:#2a2d36;
    --shadow:0 20px 50px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);
    --sheet-shadow:0 -10px 40px rgba(0,0,0,.5);
    --glass:.92; --ai-ring:rgba(255,255,255,.14);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:30 31 35; --bg-2:37 38 43; --bg-3:45 46 55;
  --border:62 66 79; --border-2:50 52 63;
  --text:250 250 250; --text-2:174 179 194; --muted:110 114 129;
  --wall-a:#15171c; --wall-b:#1e2229; --wall-ink:rgba(237,238,244,.06); --wall-key:#2a2d36;
  --shadow:0 20px 50px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);
  --sheet-shadow:0 -10px 40px rgba(0,0,0,.5);
  --glass:.92; --ai-ring:rgba(255,255,255,.14);
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden}
body{
  background:linear-gradient(160deg,var(--wall-a),var(--wall-b));
  background-color:var(--wall-a);
  color:rgb(var(--text));
  font:500 15px/1.5 var(--font-sans),system-ui,sans-serif;
}
a{color:inherit}
button{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid rgb(var(--blue));outline-offset:2px;border-radius:4px}
.mono{font-family:var(--font-mono),ui-monospace,monospace}
[hidden]{display:none!important}

/* ========== WALLPAPER + TASKBAR ========== */
.wallpaper{position:fixed;inset:0;z-index:0;pointer-events:none;contain:paint}
.wallpaper svg{width:100%;height:100%}
#app{position:relative;z-index:1;height:100dvh;display:flex;flex-direction:column;padding:8px;gap:8px}
.taskbar{
  display:flex;align-items:center;gap:4px;
  padding:4px 6px;border-radius:6px;
  background:rgb(var(--bg) / .88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgb(var(--border) / .7);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  position:relative;z-index:40;
}
.mi{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 8px;border:0;border-radius:4px;background:none;cursor:pointer;
  font-size:13px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;color:inherit;
}
.mi:hover,.mi[aria-expanded="true"]{background:rgb(var(--bg-3))}
.mi svg{width:14px;height:14px;flex:none}
.logo{font-weight:700;gap:7px;padding-left:5px}
.logo .mark{width:22px;height:22px}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:4px}
.kbd{font:500 11px/1 var(--font-mono),monospace;padding:2px 4px;border:1px solid rgb(var(--border));border-bottom-width:2px;border-radius:4px;color:rgb(var(--text-2));background:rgb(var(--bg))}
.lang{display:inline-flex;font-size:12px;font-weight:600}
.lang a{padding:4px 5px;border-radius:4px;text-decoration:none;color:rgb(var(--text-2))}
.lang a[aria-current]{color:rgb(var(--text));text-decoration:underline;text-underline-offset:3px}
.lang a:hover{background:rgb(var(--bg-3))}
.hide-sm{display:inline-flex}
.show-sm{display:none}
@media (max-width:1100px){
  .hide-sm{display:none!important}
  .show-sm{display:inline-flex}
}
.menu-wrap{position:relative}
.menu{
  position:absolute;top:calc(100% + 6px);left:0;min-width:230px;z-index:50;
  background:rgb(var(--bg));border:1px solid rgb(var(--border));border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);padding:4px;
}
.menu a{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:4px;text-decoration:none;font-size:13px}
.menu a svg{width:18px;height:18px;flex:none}
.menu a small{margin-left:auto;color:rgb(var(--muted));font-size:12px;font-family:var(--font-mono),monospace}
.menu a:hover,.menu a:focus-visible{background:rgb(var(--bg-3))}
.menu hr{border:0;border-top:1px solid rgb(var(--border-2));margin:4px 0}
.menu .mh{padding:6px 8px 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--muted))}
.tb-search{
  display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 6px 0 9px;min-width:220px;
  border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg) / .8);cursor:text;
  font-size:13px;color:rgb(var(--text-2));text-align:left;
}
.tb-search:hover{border-color:rgb(var(--text-2));color:rgb(var(--text))}
.tb-search svg{width:14px;height:14px;flex:none}
.tb-search span{flex:1;white-space:nowrap}
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.b3d{display:inline-block;padding:0;border:0;background:rgb(var(--orange-edge));border-radius:6px;cursor:pointer;text-decoration:none;flex:none}
.b3d > span{
  display:flex;align-items:center;justify-content:center;gap:4px;
  padding:4px 10px;border:1.5px solid rgb(var(--orange-edge));border-radius:6px;margin:0 -1.5px;
  background:rgb(var(--orange));color:#111;font-size:13px;font-weight:700;line-height:1.2;
  transform:translateY(-2px);transition:transform .1s;
}
.b3d:hover > span{transform:translateY(-3px)}
.b3d:active > span{transform:translateY(-1px)}
.b3d.ghost{background:rgb(var(--border))}
.b3d.ghost > span{background:rgb(var(--bg));border-color:rgb(var(--border));color:rgb(var(--text))}

/* ========== DESKTOP: ÍCONES + JANELA ========== */
.desktop{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding-left:104px}
.icons{
  position:absolute;left:2px;top:4px;bottom:4px;
  display:flex;flex-direction:column;flex-wrap:wrap;gap:2px;align-content:flex-start;
  list-style:none;margin:0;padding:0;z-index:2;
}
.icons a,.icons button{
  width:96px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px 4px;
  border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;text-decoration:none;color:inherit;
}
.icons a:hover,.icons button:hover,.icons a:focus-visible{background:rgb(var(--bg) / .35);border-color:rgb(var(--border) / .6)}
.icons svg{width:42px;height:42px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}
.icons span{font-size:11.5px;font-weight:600;line-height:1.15;text-align:center;padding:1px 5px;border-radius:3px;background:rgb(var(--bg) / .75)}
.icons li.sep{height:6px}
@media (max-width:1100px){.icons{display:none}.desktop{padding-left:0}}

.window{
  position:relative;z-index:3;
  width:min(80%,1180px);height:95%;
  display:flex;flex-direction:column;
  background:rgb(var(--bg-3) / var(--glass));
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgb(var(--border));border-radius:8px;box-shadow:var(--shadow);
  overflow:hidden;
  transition:width .25s ease,height .25s ease,opacity .2s ease,transform .2s ease;
}
.window.max{width:100%;height:100%}
.window.closed{opacity:0;transform:scale(.96);pointer-events:none}
@media (max-width:1100px){.window{width:100%;height:100%}}
@media (prefers-reduced-transparency:reduce){.window,.taskbar{backdrop-filter:none;background:rgb(var(--bg-3))}}
@media (prefers-reduced-motion:reduce){.window{transition:none}}

.titlebar{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 8px;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-2) / .6);font-size:13px;min-height:41px}
.wbtn{width:26px;height:26px;flex:none;display:grid;place-items:center;border:1px solid transparent;border-radius:999px;background:none;cursor:pointer;color:inherit}
.wbtn:hover{border-color:rgb(var(--border));background:rgb(var(--bg))}
.wbtn[disabled]{opacity:.35;cursor:default}
.wbtn[disabled]:hover{border-color:transparent;background:none}
.wbtn svg{width:14px;height:14px}
.pathbar{flex:1;min-width:0;display:flex;align-items:center;height:28px;position:relative}
.crumbs{
  flex:1;min-width:0;display:flex;align-items:center;gap:2px;height:28px;padding:0 6px;
  border:1px solid rgb(var(--border) / .8);border-radius:6px;background:rgb(var(--bg) / .75);cursor:text;
  overflow-x:auto;scrollbar-width:none;white-space:nowrap;
}
.crumbs::-webkit-scrollbar{display:none}
.crumbs .seg{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:4px;text-decoration:none;color:rgb(var(--text-2));font-family:var(--font-mono),monospace;font-size:12.5px;font-weight:500;flex:none}
.crumbs .seg svg{width:14px;height:14px}
.crumbs a.seg:hover{background:rgb(var(--bg-3));color:rgb(var(--text))}
.crumbs .seg.cur{color:rgb(var(--text));font-weight:700}
.crumbs .sep{color:rgb(var(--muted));font-family:var(--font-mono),monospace;font-size:12px;flex:none}
.crumbs .fill{flex:1;min-width:24px;height:100%}
.crumbs .lock{width:12px;height:12px;color:rgb(var(--green));margin-right:4px}
.crumbs .host{color:rgb(var(--text));font-weight:600}
.pathin{
  position:absolute;inset:0;width:100%;height:28px;padding:0 10px;border:1px solid rgb(var(--blue));border-radius:6px;
  background:rgb(var(--bg));color:rgb(var(--text));font:500 12.5px var(--font-mono),monospace;outline:0;
}
.wctl{display:flex;gap:2px;opacity:.55;transition:opacity .1s}
.wctl:hover,.wctl:focus-within{opacity:1}

.reader{flex:1;min-height:0;display:flex;position:relative}
.side{
  width:232px;flex:none;overflow-y:auto;padding:14px 10px 24px;
  background:rgb(var(--bg-2) / .7);border-right:1px solid rgb(var(--border));font-size:13px;
}
.side h3{margin:16px 8px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--muted))}
.side h3:first-child{margin-top:0}
.side ul{list-style:none;margin:0;padding:0}
.side a{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;text-decoration:none;color:rgb(var(--text-2))}
.side a svg{width:16px;height:16px;flex:none}
.side a .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side a:hover{background:rgb(var(--bg-3));color:rgb(var(--text))}
.side a.active{background:rgb(var(--bg));color:rgb(var(--text));font-weight:600;box-shadow:inset 0 0 0 1px rgb(var(--border))}
.side a small{font:500 11px var(--font-mono),monospace;color:rgb(var(--muted))}
.side li.sub a{padding-left:24px}
.side .empty-toc{padding:4px 8px;color:rgb(var(--muted));font-size:12px}
@media (max-width:1100px){
  .side{position:absolute;inset:0 auto 0 0;z-index:5;transform:translateX(-102%);transition:transform .2s ease;box-shadow:var(--shadow);background:rgb(var(--bg-2))}
  .side.open{transform:none}
}
.scroll{
  flex:1;min-width:0;overflow-y:auto;background:rgb(var(--bg));
}
.content{max-width:960px;margin:0 auto;padding:32px 40px 48px}
@media (max-width:900px){.content{padding:24px 16px 40px}}

/* ========== CONTEÚDO ========== */
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.head h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1;display:flex;align-items:center;gap:10px}
.head h1 svg{width:34px;height:34px;flex:none}
.head h1 .mono{font-size:22px;color:rgb(var(--text-2));font-weight:500}
.byline{margin:0;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--muted))}
.notice{
  margin:20px 0 0;padding:10px 14px;border:1px solid rgb(var(--border));border-radius:6px;
  background:rgb(var(--bg-2));font-size:14px;display:flex;gap:10px;align-items:flex-start;
}
.notice .dot{flex:none;margin-top:6px;width:8px;height:8px;border-radius:50%;background:rgb(var(--red));box-shadow:0 0 0 4px rgb(var(--red) / .15)}
.notice a{font-weight:600;text-decoration-color:rgb(var(--blue) / .5);text-underline-offset:2px}

.hot{margin-top:40px;display:grid;grid-template-columns:46% minmax(0,1fr);gap:48px;align-items:center}
@media (max-width:1100px){.hot{grid-template-columns:minmax(0,1fr);gap:24px}}
.hot-label{
  grid-column:1/-1;display:flex;align-items:flex-start;gap:6px;margin-bottom:-28px;padding-left:4px;
  color:rgb(var(--blue));font-weight:700;font-style:italic;font-size:19px;
}
.hot-label span{display:inline-block;transform:rotate(-2deg)}
.hot-label svg{width:46px;height:34px;margin-top:8px}
@media (max-width:1100px){.hot-label{margin-bottom:-8px}}
.hot a{text-decoration:none}
.cover-wrap{position:relative;display:block}
.cover-wrap .doodle{position:absolute;pointer-events:none}
.cover{position:relative;aspect-ratio:16/9.4;overflow:hidden;border-radius:3px;border:1px solid rgb(var(--border));box-shadow:0 14px 28px rgba(0,0,0,.25)}
.cover svg{display:block;width:100%;height:100%}
.hot h2{margin:0;font-size:30px;line-height:1.15;font-weight:700;letter-spacing:-.015em;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s}
.hot a:hover h2{text-decoration-color:currentColor}
.excerpt{font-family:var(--font-serif),Georgia,serif;font-weight:400;color:rgb(var(--text-2));font-size:18px;line-height:1.6;margin:12px 0 0}
.meta{margin:14px 0 0;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--muted))}
.tags{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:6px}
.tag{font:500 12px/1.5 var(--font-mono),monospace;text-transform:none;letter-spacing:0;color:rgb(var(--muted));text-decoration:none;position:relative;z-index:1;cursor:pointer;background:none;border:0;padding:0}
.tag:hover{color:rgb(var(--red));text-decoration:underline}
.star{color:rgb(var(--yellow))}

/* barra de pasta (gerenciador de arquivos) */
.section{margin-top:48px}
.fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid rgb(var(--border-2))}
.fbar h2{margin:0;font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}
.fbar h2 svg{width:22px;height:22px}
.count{font:500 12px var(--font-mono),monospace;color:rgb(var(--muted));font-weight:500}
.tools{margin-left:auto;display:flex;align-items:center;gap:6px}
select.sel{font:inherit;font-size:13px;color:rgb(var(--text-2));background:transparent;border:0;cursor:pointer;padding:4px 2px}
select.sel:hover{color:rgb(var(--text))}
.seg{display:inline-flex;border:1px solid rgb(var(--border));border-radius:6px;padding:2px;background:rgb(var(--bg-2))}
.seg button{border:0;background:none;border-radius:4px;padding:4px 8px;cursor:pointer;color:rgb(var(--text-2));display:flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600}
.seg button[aria-pressed="true"]{background:rgb(var(--bg));color:rgb(var(--text));box-shadow:0 1px 2px rgba(0,0,0,.12)}
.seg svg{width:14px;height:14px}

.filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
.filters .flbl{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--muted));margin-right:2px}
.chip{
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:999px;border:1px solid rgb(var(--border-2));
  padding:4px 10px;font-size:13px;font-weight:500;cursor:pointer;background:none;color:rgb(var(--text-2));text-decoration:none;
  font-family:var(--font-mono),monospace;
}
.chip small{font-size:11px;color:rgb(var(--muted))}
.chip:hover{border-color:rgb(var(--text-2));color:rgb(var(--text))}
.chip[aria-pressed="true"]{background:rgb(var(--blue));border-color:rgb(var(--blue));color:#fff}
.chip[aria-pressed="true"] small{color:rgba(255,255,255,.8)}
.chip.dim{opacity:.4}
.chip.clear{border-style:dashed;color:rgb(var(--red))}
.chip.clear:hover{border-color:rgb(var(--red))}
.active-filter{margin:10px 0 0;padding:8px 12px;border-radius:6px;background:rgb(var(--blue) / .08);border:1px solid rgb(var(--blue) / .3);font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.active-filter b{font-family:var(--font-mono),monospace;font-weight:600}

.month{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 4px;padding-bottom:8px;border-bottom:1px solid rgb(var(--border-2))}
.month h3{margin:0;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.month h3 svg{width:16px;height:16px;color:rgb(var(--muted))}
.plist{list-style:none;margin:0;padding:0}
.prow{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 12px;padding:16px 0;border-bottom:1px solid rgb(var(--border-2))}
.prow:last-child{border-bottom:0}
.prow .fico{width:34px;height:34px;margin-top:2px}
.prow .fico svg{width:34px;height:34px}
.prow a.t{font-size:18px;font-weight:700;line-height:1.3;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .2s}
.prow a.t:hover{text-decoration-color:currentColor}
.prow a.t::after{content:"";position:absolute;inset:0}
.prow .excerpt{font-size:16px;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prow .meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.prow .tags{margin:0}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px}
@media (max-width:1100px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pcard{position:relative;display:flex;flex-direction:column;gap:8px;transition:transform .15s ease}
.pcard:hover{transform:translateY(-2px)}
.pcard .cover{aspect-ratio:16/9;box-shadow:0 6px 14px rgba(0,0,0,.14)}
.pcard a.t{font-weight:700;line-height:1.3;text-decoration:none}
.pcard a.t::after{content:"";position:absolute;inset:0}
.pcard .meta{margin:0;font-size:11.5px}
@media (prefers-reduced-motion:reduce){.pcard{transition:none}.pcard:hover{transform:none}}
.empty{padding:32px 0;color:rgb(var(--text-2));text-align:center}
.more-wrap{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:8px}
.progress{font-size:13px;color:rgb(var(--muted))}
.wfoot{margin-top:48px;padding-top:16px;border-top:1px solid rgb(var(--border-2));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:rgb(var(--muted))}

/* grade de arquivos (raiz ~) */
.fs-grid{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.fs-grid a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px 14px;border:1px solid transparent;border-radius:8px;text-decoration:none;text-align:center;transition:background .12s,border-color .12s}
.fs-grid a:hover{background:rgb(var(--bg-2));border-color:rgb(var(--border))}
.fs-grid svg{width:56px;height:56px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.14))}
.fs-grid b{font-size:14px;line-height:1.25}
.fs-grid small{font:500 11.5px var(--font-mono),monospace;color:rgb(var(--muted))}
.fs-sec{margin:26px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--muted));display:flex;align-items:center;gap:10px}
.fs-sec::after{content:"";flex:1;height:1px;background:rgb(var(--border-2))}

/* ========== Páginas / artigo ========== */
.back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:rgb(var(--text-2));text-decoration:none;margin:0 0 18px}
.back:hover{color:rgb(var(--text))}
.page-kicker{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--muted))}
.prose{max-width:68ch;font-family:var(--font-serif),Georgia,serif;font-weight:400;font-size:18px;line-height:1.7}
.prose p{margin:0 0 1.15em}
.prose h2{font-family:var(--font-sans),sans-serif;font-size:1.25rem;letter-spacing:-.015em;margin:1.7em 0 .55em;line-height:1.25}
.prose h2:first-child{margin-top:.4em}
.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.25em}
.prose li{margin:.3em 0}
.prose a{color:rgb(var(--red));text-underline-offset:3px}
.prose strong{font-weight:700}
.prose em{font-style:italic}
.prose blockquote{margin:0 0 1.15em;padding:0 0 0 1em;border-left:3px solid rgb(var(--red));color:rgb(var(--text-2))}
.prose blockquote p{margin:0}
.prose hr{border:0;border-top:1px solid rgb(var(--border));margin:1.7em 0}
.prose code{font-family:var(--font-mono),ui-monospace,monospace;font-size:.86em;background:rgb(var(--bg-2));padding:.1em .35em;border-radius:4px}
.article-head h1{margin:0 0 10px;font-size:clamp(26px,4vw,36px);letter-spacing:-.025em;line-height:1.15}
.article-head .tags{margin:10px 0 0}
.next-post{display:block;margin:40px 0 8px;padding:18px 20px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-2));text-decoration:none}
.next-post:hover{border-color:rgb(var(--text-2))}
.next-post small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;color:rgb(var(--muted));margin-bottom:6px}
.next-post b{display:block;font-size:18px;line-height:1.3}
.next-post span{display:block;margin-top:6px;color:rgb(var(--text-2));font-size:14px}
.timeline{list-style:none;margin:22px 0 0;padding:0}
.timeline li{position:relative;padding:0 0 22px 20px;border-left:2px solid rgb(var(--border))}
.timeline li:last-child{padding-bottom:0}
.timeline li:before{content:"";position:absolute;left:-5px;top:5px;width:8px;height:8px;border-radius:50%;background:rgb(var(--red))}
.timeline b{display:block}
.timeline small{color:rgb(var(--muted));font-size:12px}
.timeline p{margin:4px 0 0;color:rgb(var(--text-2));font-size:14px}
.timeline ul{list-style:disc;margin:8px 0 0;padding-left:1.15em}
.timeline ul li{padding:0;border:0;margin:.25em 0}
.timeline ul li:before{content:none}
.links-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.links-row a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border:1px solid rgb(var(--border));border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;background:rgb(var(--bg-2))}
.links-row a:hover{border-color:rgb(var(--text-2))}
.links-row svg{width:22px;height:22px}
.about-card{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px}
.avatar{width:96px;height:96px;border-radius:24px;display:grid;place-items:center;background:rgb(var(--red));color:#fff;font:800 34px var(--font-sans),sans-serif;letter-spacing:-.04em;box-shadow:0 10px 24px rgba(0,0,0,.18)}
/* ========== BUSCA ========== */
.omni-back{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.38);display:flex;justify-content:center;align-items:flex-start;padding:9vh 16px 16px}
.omni{width:100%;max-width:700px;border:1px solid rgb(var(--border));border-radius:12px;overflow:hidden;background:rgb(var(--bg));box-shadow:0 24px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;max-height:82vh}
.omni-bar{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-2));font-size:13px;color:rgb(var(--text-2))}
.omni-bar b{color:rgb(var(--text));display:flex;align-items:center;gap:8px}
.omni-bar b svg{width:16px;height:16px}
.omni-bar .kbd{margin-left:auto}
.omni-in{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid rgb(var(--border-2))}
.omni-in svg{width:22px;height:22px;color:rgb(var(--muted));flex:none}
.omni input{flex:1;min-width:0;border:0;outline:0;padding:18px 0;font:inherit;font-size:20px;background:transparent;color:rgb(var(--text))}
.omni-body{overflow-y:auto;padding:6px}
.omni .grp{padding:10px 10px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--muted))}
.omni ul{list-style:none;margin:0;padding:0}
.omni li a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 12px;align-items:center;padding:9px 10px;border-radius:6px;text-decoration:none}
.omni li a svg{width:28px;height:28px}
.omni li a span{font-weight:600;line-height:1.3}
.omni li a small{display:block;color:rgb(var(--muted));font-size:12px;margin-top:2px;font-family:var(--font-mono),monospace}
.omni li a.act,.omni li a:hover{background:rgb(var(--bg-3))}
.omni .sugg{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 6px}
.omni .hint{display:flex;justify-content:space-between;gap:12px;padding:8px 14px;font-size:12px;color:rgb(var(--muted));border-top:1px solid rgb(var(--border-2));background:rgb(var(--bg-2))}
.omni .none{padding:28px 12px;color:rgb(var(--text-2));text-align:center}
.toast{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:90;
  display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;
  background:rgb(var(--bg));border:1px solid rgb(var(--border));border-radius:8px;box-shadow:var(--shadow);font-size:14px;
  max-width:calc(100vw - 32px);
}

/* ========== MOBILE (chrome próprio: dock, home, gaveta, folha) ========== */
@media (max-width:760px){
  *{-webkit-tap-highlight-color:transparent}
  .taskbar,.icons,#toast,.wctl{display:none!important}
  body{font-size:17px;background:rgb(var(--bg))}
  #app{padding:0;gap:0}
  .window,.window.max{position:fixed;inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:rgb(var(--bg));backdrop-filter:none;-webkit-backdrop-filter:none;transition:none}
  .window.closed{opacity:1;transform:none;pointer-events:auto}
  .titlebar{min-height:56px;padding:0 6px 0 4px;gap:4px;background:rgb(var(--bg) / .92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom-color:rgb(var(--border-2))}
  .titlebar .wbtn{width:44px;height:44px;border-radius:12px;border:0}
  .titlebar .wbtn:hover{background:none}
  .titlebar .wbtn:active{background:rgb(var(--bg-3))}
  .titlebar .wbtn svg{width:20px;height:20px}
  .pathbar{height:38px}
  .crumbs{height:38px;font-size:14px;border-radius:10px}
  .crumbs .seg{font-size:14px;padding:6px 7px}
  .pathin{height:38px;border-radius:10px;font-size:15px}
  .side{
    position:fixed;inset:0 auto 0 0;z-index:65;transform:translateX(-105%);transition:transform .22s ease;
    width:min(300px,86vw);font-size:16px;
    padding:calc(18px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom));
    border-radius:0 18px 18px 0;border:1px solid rgb(var(--border));border-left:0;
    background:rgb(var(--bg-2) / .96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);
  }
  .side.open{transform:none;box-shadow:var(--shadow),0 0 0 100vmax rgba(0,0,0,.4)}
  .side h3{margin:20px 10px 8px;font-size:12px}
  .side a{padding:12px;min-height:48px;font-size:16px;border-radius:10px}
  .side a svg{width:20px;height:20px}
  .side a small{font-size:13px}
  .scroll{-webkit-mask-image:none;mask-image:none;padding-bottom:calc(var(--dock-h) + 24px + env(safe-area-inset-bottom))}
  .content{padding:22px 18px 40px}
  .head h1{font-size:32px;letter-spacing:-.025em}
  .byline{font-size:13px}
  .notice{padding:14px 16px;border-radius:12px;font-size:16px;line-height:1.5;gap:12px}
  .hot{margin-top:32px}
  .hot-label{font-size:20px;margin-bottom:-4px}
  .hot h2{font-size:26px;text-decoration:none}
  .excerpt{font-size:18px;line-height:1.55}
  .meta{font-size:13px}
  .tag{font-size:14px;padding:8px 0}
  .section{margin-top:36px}
  .fbar h2{font-size:21px}
  .count{font-size:13px}
  .tools{width:100%;margin-left:0;justify-content:space-between}
  .seg{border-radius:10px}
  .seg button{height:40px;padding:0 12px;border-radius:8px;font-size:14px}
  select.sel{height:42px;font-size:15px}
  .filters{position:sticky;top:0;z-index:20;margin:0 -18px;padding:10px 18px;background:rgb(var(--bg) / .94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgb(var(--border-2));flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters .flbl{display:none}
  .chip{flex:none;padding:0 16px;height:42px;font-size:15px;border-color:rgb(var(--border));background:rgb(var(--bg))}
  .active-filter{font-size:15px;padding:12px 14px;border-radius:10px}
  .month{margin:26px 0 0}
  .month h3{font-size:16px}
  .prow{padding:18px 0;grid-template-columns:36px minmax(0,1fr)}
  .prow:active{background:rgb(var(--bg-2))}
  .prow a.t{font-size:19px;text-decoration:none}
  .prow .excerpt{font-size:16.5px}
  .prow .meta{margin-top:8px;font-size:13px}
  .pgrid{grid-template-columns:minmax(0,1fr);gap:22px}
  .pgrid .pcard .cover{aspect-ratio:16/8}
  .pgrid .pcard a.t{font-size:19px}
  .pgrid .pcard .meta{font-size:13px}
  .b3d.big{display:block;width:100%;border-radius:10px}
  .b3d.big > span{height:50px;font-size:17px;border-radius:10px;transform:translateY(-3px)}
  .progress{font-size:14px}
  .wfoot{font-size:14px;justify-content:center;text-align:center}
  .fs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 4px}
  .fs-grid b{font-size:14px}
  .back{font-size:16px;padding:10px 0;margin-bottom:14px}
  .page-kicker{font-size:13px;margin-bottom:10px}
  .prose{font-size:19px}
  .prose h2{font-size:1.35rem}
  .article-head h1{font-size:30px}
  .next-post{padding:20px;border-radius:14px}
  .next-post b{font-size:19px}
  .next-post span{font-size:16px}
  .timeline b{font-size:17px}
  .timeline small,.timeline p{font-size:15px}
  .links-row a{min-height:48px;font-size:16px}
  /* --- busca em tela cheia --- */
  .omni-back{padding:0;background:rgb(var(--bg));align-items:stretch;z-index:50;bottom:0}
  .omni{max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom))}
  .omni-bar{min-height:56px;padding:0 6px 0 18px;font-size:16px}
  .omni-bar b{font-size:20px}
  .omni-bar .kbd{display:none}
  .omni-bar .m-only{margin-left:auto;width:44px;height:44px;border-radius:12px}
  .omni-bar .m-only svg{width:20px;height:20px}
  .omni-in{margin:14px 18px 0;padding:0 14px;border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--bg-2));min-height:56px}
  .omni input{font-size:19px;padding:14px 0}
  .omni-body{padding:8px 10px}
  .omni li a{padding:12px 10px;border-radius:12px;min-height:56px;grid-template-columns:36px minmax(0,1fr)}
  .omni li a svg{width:34px;height:34px}
  .omni li a span{font-size:17px}
  .omni li a small{font-size:13px}
  .omni .hint{display:none}

  /* --- tela inicial --- */
  .m-home{
    position:fixed;inset:0;z-index:35;overflow-y:auto;overscroll-behavior:contain;
    padding:calc(20px + env(safe-area-inset-top)) 18px calc(var(--dock-h) + 30px + env(safe-area-inset-bottom));
    background:radial-gradient(circle,var(--wall-ink) 1.3px,transparent 1.6px) 0 0/22px 22px,linear-gradient(160deg,var(--wall-a),var(--wall-b));
    background-color:var(--wall-a);
    opacity:0;visibility:hidden;transform:scale(1.05);
    transition:opacity .22s ease,transform .24s ease,visibility 0s linear .24s;
  }
  .m-home.on{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .24s ease}
  .w-id{display:flex;align-items:center;gap:12px;padding:6px 4px 0}
  .w-id .mark{width:44px;height:44px;flex:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
  .w-id b{display:block;font-size:20px;letter-spacing:-.02em;line-height:1.1}
  .w-id small{display:block;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--text-2));margin-top:3px}
  .w-clock{padding:22px 4px 0}
  .w-clock .gr{font-size:15px;font-weight:600;color:rgb(var(--text-2))}
  .w-clock .tm{margin-top:2px;font-size:64px;font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
  .w-clock .dt{margin-top:6px;font-size:16px;font-weight:600;color:rgb(var(--text-2))}
  .widget{
    display:block;margin-top:20px;padding:14px;border-radius:22px;text-decoration:none;
    background:rgb(var(--bg) / .9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border:1px solid rgb(var(--border) / .6);box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:transform .12s ease;
  }
  .widget:active{transform:scale(.98)}
  .widget .wh{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--muted))}
  .widget .wh i{width:8px;height:8px;border-radius:50%;background:rgb(var(--red));box-shadow:0 0 0 4px rgb(var(--red) / .15)}
  .widget .wb{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;margin-top:12px}
  .widget .cover{aspect-ratio:1;border-radius:14px;box-shadow:none}
  .widget b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:17px;line-height:1.25}
  .widget .meta{margin:6px 0 0;font-size:12px}
  .apps-h{margin:26px 4px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--text-2))}
  .apps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 6px}
  .app{width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;border:0;background:none;cursor:pointer;text-decoration:none;color:rgb(var(--text))}
  .app .ai{position:relative;width:62px;height:62px;display:grid;place-items:center;transition:transform .12s ease}
  .app .ai svg{width:62px;height:62px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.18))}
  .app:active .ai{transform:scale(.9)}
  .app .l{max-width:100%;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .badge{position:absolute;top:-4px;right:-2px;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:rgb(var(--red));color:#fff;font-size:12px;font-weight:700;border:2px solid var(--wall-a)}
  .ai .ext{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgb(var(--bg));color:rgb(var(--text));font-size:11px;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.25)}

  /* --- dock (rodapé) --- */
  .dock{
    position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;
    max-width:520px;margin:0 auto;height:var(--dock-h);
    display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px;
    border-radius:26px;border:1px solid rgb(var(--border) / .7);
    background:rgb(var(--bg) / .93);backdrop-filter:blur(8px) saturate(1.4);-webkit-backdrop-filter:blur(8px) saturate(1.4);
    box-shadow:0 14px 34px rgba(0,0,0,.18),0 1px 3px rgba(0,0,0,.08);
  }
  .dock button,.dock a{
    position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    border:0;background:none;border-radius:18px;cursor:pointer;text-decoration:none;
    font-size:11.5px;font-weight:700;letter-spacing:.01em;color:rgb(var(--text-2));
  }
  .dock .di{display:grid;place-items:center;width:48px;height:30px;border-radius:999px;transition:background .15s ease,transform .12s ease}
  .dock svg{width:24px;height:24px}
  .dock .on,.dock [aria-expanded="true"]{color:rgb(var(--red))}
  .dock .on .di,.dock [aria-expanded="true"] .di{background:rgb(var(--red) / .14)}
  .dock button:active .di,.dock a:active .di{transform:scale(.88)}
  .dock .srch .di{width:52px;height:36px;background:rgb(var(--blue));color:#fff}
  .dock .srch.on .di,.dock .srch[aria-expanded="true"] .di{background:rgb(var(--red));color:#fff}

  /* --- folha "Mais" --- */
  .backdrop{position:fixed;inset:0;z-index:61;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s}
  .backdrop.on{opacity:1;pointer-events:auto}
  .bs{
    position:fixed;left:50%;bottom:0;z-index:70;width:100%;max-width:480px;
    transform:translate(-50%,105%);transition:transform .25s cubic-bezier(.2,.8,.2,1);
    max-height:88dvh;display:flex;flex-direction:column;
    background:rgb(var(--bg));border:1px solid rgb(var(--border));border-bottom:0;border-radius:18px 18px 0 0;
    box-shadow:var(--sheet-shadow);padding-bottom:env(safe-area-inset-bottom);
  }
  .bs.on{transform:translate(-50%,0)}
  .grab{padding:10px 0 6px;display:grid;place-items:center;cursor:grab;touch-action:none}
  .grab i{width:44px;height:5px;border-radius:999px;background:rgb(var(--border))}
  .bs-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 10px 18px;border-bottom:1px solid rgb(var(--border-2))}
  .bs-head h2{margin:0;font-size:20px}
  .bs-body{overflow-y:auto;padding:10px 10px 20px;overscroll-behavior:contain}
  .bs-body h3{margin:16px 10px 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--muted))}
  .bs-list{list-style:none;margin:0;padding:0}
  .bs-list a,.bs-list button{
    display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:0 12px;
    border:0;border-radius:12px;background:none;text-decoration:none;font-size:17px;text-align:left;cursor:pointer;color:inherit;
  }
  .bs-list a:active,.bs-list button:active{background:rgb(var(--bg-3))}
  .bs-list svg{width:34px;height:34px;flex:none}
  .bs-list .lbl{flex:1;min-width:0}
  .bs-list small{font:500 13px var(--font-mono),monospace;color:rgb(var(--muted))}
  .cc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:6px 8px 4px}
  .cc-tile{
    display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;min-height:100px;padding:14px;
    border:1px solid rgb(var(--border));border-radius:20px;background:rgb(var(--bg-2));cursor:pointer;text-align:left;color:inherit;
  }
  .cc-tile:active{transform:scale(.97)}
  .cc-tile .cc-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgb(var(--bg));box-shadow:inset 0 0 0 1px rgb(var(--border))}
  .cc-tile .cc-ic svg{width:20px;height:20px}
  .cc-tile b{display:block;font-size:16px}
  .cc-tile small{display:block;font-size:13px;color:rgb(var(--text-2));margin-top:2px}
  .cc-tile.on{background:rgb(var(--blue));border-color:rgb(var(--blue));color:#fff}
  .cc-tile.on small{color:rgba(255,255,255,.85)}
  .cc-tile.on .cc-ic{background:rgba(255,255,255,.2);box-shadow:none}
  .m-lang{display:flex;font-size:15px;font-weight:700;align-items:center;gap:2px;padding:3px;border-radius:10px;background:rgb(var(--bg));width:100%}
  .m-lang a{flex:1;text-align:center;padding:8px 10px;border-radius:8px;text-decoration:none;color:rgb(var(--text-2))}
  .m-lang a[aria-current]{background:rgb(var(--blue));color:#fff}
  .m-toast{
    position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--dock-h) + 24px + env(safe-area-inset-bottom));z-index:80;
    padding:12px 16px;border-radius:12px;background:rgb(var(--text));color:rgb(var(--bg));font-size:16px;font-weight:600;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
  }
  @media (prefers-reduced-transparency:reduce){.dock,.titlebar,.filters,.widget,.side{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgb(var(--bg))}}
  @media (prefers-reduced-motion:reduce){.m-home,.side,.bs,.backdrop,.app .ai,.widget,.dock .di{transition:none}.m-home{transform:none}}
}
@media (min-width:761px){
  .dock,.m-home,.bs,.backdrop,.m-toast,#w-back,.m-only{display:none!important}
}
body:has(.login-screen){overflow:auto;height:auto;min-height:100%}
body:has(.login-window.desk){overflow:hidden;height:100%}


/* ========== LOGIN ========== */
.login-screen{
  position:relative;z-index:1;min-height:100dvh;
  display:grid;place-items:center;padding:24px 16px;
}
.login-window{
  width:min(400px,100%);
  background:rgb(var(--bg-3) / var(--glass));
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgb(var(--border));border-radius:8px;box-shadow:var(--shadow);
  overflow:clip;
}
.login-window .titlebar{cursor:default}
.login-window .crumbs{cursor:default}
.login-body{background:rgb(var(--bg));padding:28px 28px 32px}
.login-mark{width:44px;height:44px;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.16))}
.login-body h1{margin:16px 0 0;font-size:26px;letter-spacing:-.03em;line-height:1.1}
.login-body .page-kicker{margin-top:14px}
.login-form{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.field{display:flex;flex-direction:column;gap:6px}
.field > span:first-child{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--muted))}
.field input{
  height:42px;padding:0 12px;border:1px solid rgb(var(--border));border-radius:6px;
  background:rgb(var(--bg));color:rgb(var(--text));
  font:500 15px/1.4 var(--font-sans),system-ui,sans-serif;
}
.field input:focus{outline:2px solid rgb(var(--blue));outline-offset:1px}
.login-error{margin:0;color:rgb(var(--red));font-size:13px;font-weight:600}
.login-form .b3d{margin-top:4px}
.login-form .b3d > span{min-width:112px;min-height:36px;padding:8px 16px}
.login-session{margin:18px 0 0;padding:12px 14px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg-2));font-size:14px}
.login-session b{font-family:var(--font-mono),monospace;font-weight:600}
.login-quiet{margin:14px 0 0;text-align:center}
.login-quiet a{color:rgb(var(--muted));font:500 12.5px var(--font-mono),monospace;text-decoration:none}
.login-quiet a:hover{color:rgb(var(--text))}
.login-screen:has(.login-window.desk){
  height:100%;min-height:0;max-height:100%;padding:10px;overflow:hidden;box-sizing:border-box;
  display:flex;align-items:stretch;justify-content:center;
}
.login-window.desk{
  width:min(1180px,100%);height:100%;max-height:100%;min-height:0;
  display:flex;flex-direction:column;overflow:hidden;
}
.login-window.desk .titlebar{flex:none}
.login-window.desk .login-body{
  flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  padding:10px 14px 12px;
}
.login-window.desk .login-mark,.login-window.desk .login-quiet{display:none}
.login-ok{margin:0;color:rgb(var(--text-2));font-size:13px;font-weight:600}
.login-error a{color:inherit;text-underline-offset:2px}
.desk-shell{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.desk-nav{display:flex;gap:6px;margin-top:8px;flex:none;flex-wrap:wrap}
.desk-nav button{border:1px solid rgb(var(--border));background:rgb(var(--bg-2));border-radius:999px;padding:5px 12px;cursor:pointer;font:600 13px var(--font-sans),system-ui,sans-serif;color:rgb(var(--text-2))}
.desk-nav button[aria-current="page"]{background:rgb(var(--text));color:rgb(var(--bg));border-color:rgb(var(--text))}
.desk-code{margin:6px 0;padding:10px 12px;overflow:auto;border-radius:6px;background:rgb(var(--bg-2));font:500 12px/1.45 var(--font-mono),monospace;white-space:pre-wrap}
.desk-provider-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;margin-top:8px}
.desk-provider{margin:0;padding:10px 12px;border:1px solid rgb(var(--border));border-radius:8px;display:flex;flex-direction:column;gap:8px}
.desk-provider legend{padding:0 4px;font-weight:700}
.desk-provider legend small{color:rgb(var(--muted));font-weight:600}
.desk-usage{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.desk-editor.desk-form{overflow:auto}
.desk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:0;flex:none}
.desk-head h1{margin:0;font-size:22px}
.desk-lead{margin:4px 0 0;color:rgb(var(--text-2));font-size:13px;line-height:1.35}
.desk-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 0;flex:none}
.desk-stats div{padding:6px 12px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg-2))}
.desk-stats dt{color:rgb(var(--muted));font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.desk-stats dd{margin:2px 0 0;font:600 18px/1 var(--font-mono),monospace;letter-spacing:-.03em}
.desk-flash{flex:none;min-height:0;margin:6px 0 0}
.desk-flash:not(:has(p)){margin:0}
.desk-flash p{margin:0}
.desk-sec{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--muted));display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.desk-sec small{font:500 12px var(--font-mono),monospace}
.desk-grid{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;margin-top:8px;align-items:stretch;overflow:hidden}

.desk-side{min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.desk-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.desk-side-actions{display:flex;gap:6px;flex:none}
.desk-side-actions .desk-new{flex:1}
.desk-new{border:1px dashed rgb(var(--border));background:none;border-radius:6px;padding:5px 10px;cursor:pointer;color:rgb(var(--text));font:600 13px var(--font-sans),system-ui,sans-serif}
.desk-new:hover{border-color:rgb(var(--text-2))}
.desk-new[aria-pressed="true"]{border-style:solid;border-color:rgb(var(--blue));color:rgb(var(--blue))}
.desk-search{height:34px;padding:0 10px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg));color:rgb(var(--text));font:500 13px var(--font-sans),system-ui,sans-serif}
.desk-search:focus{outline:2px solid rgb(var(--blue));outline-offset:1px}
.desk-list{list-style:none;margin:0;padding:0 2px 2px 0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0;flex:1}
.desk-badge{display:inline-block;margin-right:6px;padding:1px 5px;border-radius:4px;background:rgb(var(--red) / .12);color:rgb(var(--red));font:700 10px var(--font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
.desk-badge.live{background:rgb(108 170 66 / .16);color:var(--green)}
.desk-list button{
  display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;cursor:pointer;
  padding:9px 11px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg-2));color:rgb(var(--text));font:inherit;
}
.desk-list button:hover{border-color:rgb(var(--text-2))}
.desk-list button[aria-current]{background:rgb(var(--bg));border-color:rgb(var(--blue));box-shadow:inset 3px 0 0 rgb(var(--blue))}
.desk-list b{display:block;font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desk-list small{color:rgb(var(--muted));font:500 11.5px var(--font-mono),monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desk-reads{position:relative;display:block;margin-top:3px;padding-top:5px}
.desk-reads i{position:absolute;top:0;left:0;height:2px;border-radius:2px;background:rgb(var(--red) / .7);min-width:2px}
.desk-reads::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px;background:rgb(var(--border-2))}

.desk-editor{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;gap:6px}
.desk-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none}
.desk-dirty{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:rgb(var(--red))}
.desk-dirty::before{content:"";width:7px;height:7px;border-radius:50%;background:rgb(var(--red));box-shadow:0 0 0 3px rgb(var(--red) / .15)}
.desk-missing{color:rgb(var(--red));font-weight:800;margin-left:2px}
.desk-form{flex:1;min-height:0;min-width:0;margin-top:0;gap:8px;overflow:hidden}
.desk-meta{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:10px;flex:none}
.desk-assign{display:flex;align-items:center;gap:6px;flex:none;min-width:0;overflow-x:auto;padding-bottom:2px}
.desk-assign > span,.desk-assign > small{flex:none;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--muted))}
.desk-assign > small{text-transform:none;letter-spacing:0;font-weight:500}
.desk-assign .chip{flex:none;padding:3px 9px;font-size:12px}
.desk-assign .chip:disabled{opacity:.4;cursor:default}
.desk-assign .desk-link{flex:none;margin-left:4px}
.desk-langs{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.desk-lang{min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg-2) / .55)}
.desk-lang-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.desk-lang-head h3{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--muted))}
.desk-lang .field{gap:3px;flex:none}
.desk-lang .field input{height:34px;font-size:14px}
.desk-lang textarea.desk-body{flex:1;min-height:0;resize:none;overflow:auto;font-size:16px}
.desk-tags-lead{flex:none}
.desk-tag-create{display:flex;align-items:flex-end;gap:10px;flex:none}
.desk-tag-create .field{flex:1;min-width:0}
.desk-tag-create .b3d{margin-top:0}
.desk-tag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0;flex:1}
.desk-tag-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg-2))}
.desk-tag-list b{font:600 13px var(--font-mono),monospace}
.desk-tag-list small{color:rgb(var(--muted));font:500 12px var(--font-mono),monospace}
.desk-tag-list .danger{margin-left:auto}
.desk-form .field > span:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
.desk-count{font:500 11.5px var(--font-mono),monospace;text-transform:none;letter-spacing:0}
.desk-slug{display:flex;align-items:center;height:42px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg));overflow:hidden}
.desk-slug:focus-within{outline:2px solid rgb(var(--blue));outline-offset:1px}
.desk-slug em{font:500 13px var(--font-mono),monospace;font-style:normal;color:rgb(var(--muted));padding:0 2px 0 12px}
.desk-slug input{flex:1;min-width:0;height:100%;border:0;outline:0;padding:0 12px 0 0;background:none;color:rgb(var(--text));font:500 13px var(--font-mono),monospace}
.desk-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:-4px}
.desk-tags .chip{font:500 12px var(--font-mono),monospace;padding:3px 9px}
.desk-tags > small{margin-left:6px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--muted))}
.field textarea.desk-desc{min-height:0;font-size:15px}
.desk-body-head .seg button{text-transform:none;letter-spacing:0;padding:2px 8px;font-size:12px}
.desk-preview{flex:1;min-height:0;overflow:auto;padding:12px 14px;border:1px solid rgb(var(--border));border-radius:6px;background:rgb(var(--bg))}
.desk-preview .meta{margin:0 0 8px}
.desk-preview h1{margin:0 0 18px;font-size:26px;letter-spacing:-.025em;line-height:1.15}
.desk-preview .prose{font-size:17px;overflow-wrap:anywhere}
.desk-body-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.desk-body-foot span:last-child{font-family:var(--font-mono),monospace;white-space:nowrap}
.desk-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:0;padding-top:8px;border-top:1px solid rgb(var(--border-2));flex:none}
.desk-form .desk-actions .b3d{margin-top:0}
.desk-form .b3d:disabled{opacity:.45;cursor:default}
.desk-form input,.desk-form textarea{min-width:0;max-width:100%}
.desk-kbd{margin-left:-6px}
.desk-link{border:0;background:transparent;padding:0;color:rgb(var(--text-2));font:600 13px var(--font-sans),system-ui,sans-serif;cursor:pointer;text-decoration:none}
.desk-link:hover{color:rgb(var(--text));text-decoration:underline;text-underline-offset:3px}
.desk-link.danger{margin-left:auto;color:rgb(var(--red))}
.desk-link:disabled{opacity:.45;cursor:default;text-decoration:none}
.field textarea{
  min-height:160px;padding:10px 12px;border:1px solid rgb(var(--border));border-radius:6px;
  background:rgb(var(--bg));color:rgb(var(--text));resize:vertical;
  font:400 16px/1.5 var(--font-serif),Georgia,serif;
}
.field textarea:focus{outline:2px solid rgb(var(--blue));outline-offset:1px}
.field-row{display:flex;gap:12px}
.field-row .field{flex:1;min-width:0}
.check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.check input{width:16px;height:16px;accent-color:rgb(var(--red))}
.desk-note{margin:0;color:rgb(var(--muted));font-size:12.5px}
@media (max-width:900px){
  .login-screen:has(.login-window.desk){padding:0}
  .login-window.desk{width:100%;border-radius:0}
  .desk-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,32%) minmax(0,1fr);gap:10px}
  .desk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desk-meta{grid-template-columns:minmax(0,1fr)}
  .desk-langs{grid-template-columns:minmax(0,1fr)}
  .desk-editor{overflow-x:hidden;overflow-y:auto}
  .desk-form{overflow:visible;flex:none}
  .desk-lang{min-height:260px}
  .desk-lang textarea.desk-body{min-height:120px}
}
@media (prefers-reduced-transparency:reduce){
  .login-window{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgb(var(--bg-3))}
}
@media (max-width:760px){
  .login-body{padding:24px 20px 28px}
  .login-body h1{font-size:28px}
  .field input{height:48px;font-size:17px}
  .login-form:not(.desk-form) .b3d{display:block;width:100%;border-radius:10px}
  .login-form:not(.desk-form) .b3d > span{height:50px;font-size:17px;border-radius:10px}
  .desk-head h1{font-size:22px}
  .desk-slug{height:48px}
  .desk-slug em,.desk-slug input{font-size:15px}
  .field-row{flex-direction:column}
  .desk-kbd{display:none}
  .desk-link.danger{margin-left:0}
  .desk-list button{padding:12px}
  .desk-new{padding:9px 12px}
  .desk-search{height:44px;font-size:16px}
}
