/* TinyAppMart shared chrome — generated by landing/build.py. Do not edit. */
:root{
  --tam-bg:#0f0f0f;--tam-surface:#1a1a1a;--tam-surface-2:#141414;--tam-border:#2a2a2a;
  --tam-text:#e0e0e0;--tam-dim:#888;--tam-white:#fff;--tam-accent:#2481cc;--tam-accent-hover:#1d6fad;
  --tam-radius:12px;--tam-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.tam-topbar,.tam-topbar *,.tam-panel,.tam-panel *,.tam-footer,.tam-footer *{box-sizing:border-box;}
/* ---- topbar (dark frame; sits on any app body, light or dark) ---- */
.tam-topbar{position:sticky;top:0;z-index:9000;width:100%;display:flex;align-items:center;gap:14px;
  padding:12px 20px;background:var(--tam-surface-2);border-bottom:1px solid var(--tam-border);
  font-family:var(--tam-font);}
.tam-brand{display:flex;align-items:center;gap:8px;color:var(--tam-white);text-decoration:none;
  font-weight:700;font-size:1.05rem;white-space:nowrap;}
.tam-brand-mark{color:#6aa3ff;}
.tam-app-label{color:var(--tam-dim);font-size:.95rem;padding-left:14px;border-left:1px solid var(--tam-border);white-space:nowrap;}
.tam-topnav{margin-left:auto;display:flex;align-items:center;gap:12px;}
.tam-topnav a{color:#cfcfcf;text-decoration:none;font-size:.9rem;}
.tam-topnav a:hover{color:#fff;}
.tam-topnav form.inline{display:inline;margin:0;}
.tam-topnav .tam-link,.tam-topnav button.link{background:none;border:none;color:#cfcfcf;font:inherit;font-size:.9rem;cursor:pointer;padding:0;}
.tam-topnav .tam-link:hover,.tam-topnav button.link:hover{color:#fff;}
.tam-menu-btn{cursor:pointer;background:#1f1f1f;color:#fff;border:1px solid #333;border-radius:8px;
  padding:6px 12px;font-size:.9rem;font-family:inherit;}
.tam-menu-btn:hover{background:#262626;border-color:#444;}
/* ---- shared components apps may use ---- */
.tam-btn{display:inline-block;background:var(--tam-accent);color:#fff;text-decoration:none;
  padding:10px 20px;border-radius:10px;font-weight:600;border:none;cursor:pointer;
  font-family:var(--tam-font);font-size:.95rem;}
.tam-btn:hover{background:var(--tam-accent-hover);}
.tam-btn.ghost{background:transparent;border:1px solid var(--tam-border);color:#ccc;}
.tam-card{background:var(--tam-surface);border:1px solid var(--tam-border);border-radius:var(--tam-radius);padding:20px;}
/* ---- slide-out apps menu (built by tinyapps.js) ---- */
.tam-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9100;opacity:0;transition:opacity .2s;}
.tam-overlay.tam-open{opacity:1;}
.tam-overlay[hidden]{display:none;}
.tam-panel{position:fixed;top:0;right:0;height:100vh;width:320px;max-width:85vw;z-index:9200;
  background:var(--tam-surface-2);border-left:1px solid var(--tam-border);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .2s ease;font-family:var(--tam-font);}
.tam-panel.tam-open{transform:translateX(0);}
.tam-panel[hidden]{display:none;}
.tam-panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;
  border-bottom:1px solid var(--tam-border);color:var(--tam-white);font-weight:600;}
.tam-close{cursor:pointer;background:none;border:none;color:#aaa;font-size:1.1rem;line-height:1;}
.tam-close:hover{color:#fff;}
.tam-panel-list{overflow-y:auto;padding:8px;}
.tam-menu-item{display:flex;gap:12px;align-items:center;padding:12px;border-radius:10px;text-decoration:none;}
.tam-menu-item:hover{background:#1f1f1f;}
.tam-icon{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;}
.tam-icon--fallback{display:flex;align-items:center;justify-content:center;background:#2a2a2a;color:#fff;font-weight:700;}
.tam-menu-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.tam-menu-name{color:var(--tam-white);font-weight:600;font-size:.95rem;}
.tam-menu-desc{color:var(--tam-dim);font-size:.8rem;line-height:1.3;}
/* ---- footer ---- */
.tam-footer{width:100%;margin-top:auto;padding:32px 20px;background:#0d0d0d;border-top:1px solid #222;
  text-align:center;color:var(--tam-dim);font-family:var(--tam-font);}
.tam-footer-brand{color:var(--tam-white);font-weight:700;margin-bottom:8px;}
.tam-footer-text{max-width:520px;margin:0 auto 12px;font-size:.9rem;line-height:1.5;}
.tam-footer-links a{color:#cfcfcf;text-decoration:none;}
.tam-footer-links a:hover{color:#fff;}
.tam-footer-copy{margin-top:12px;font-size:.8rem;color:#555;}
