*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'IBM Plex Sans',sans-serif;background:#F7F4EE;color:#111;overflow-x:hidden;line-height:1.6}
a{text-decoration:none}
:root{--ink:#111;--paper:#F7F4EE;--red:#C0392B;--mid:#555;--border:#D4CFC6;--ease:cubic-bezier(0.4,0,0.2,1)}

/* TICKER */
.ticker{background:var(--ink);color:var(--paper);text-align:center;padding:8px;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:3px;white-space:nowrap;overflow:hidden}

/* MASTHEAD */
.masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 32px;border-bottom:1px solid var(--border)}
.mh-meta{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--mid)}
.mh-r{text-align:right}
.brand{font-family:'Libre Baskerville',serif;font-weight:700;font-size:2.2rem;letter-spacing:-1px;text-align:center;color:var(--ink)}
.brand span{color:var(--red)}

/* NAV */
#navbar{border-bottom:3px double var(--ink);border-top:1px solid var(--border)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:center;min-height:48px;position:relative}
.nav-menu{display:flex;justify-content:center;gap:36px}
.nav-menu a{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--ink);letter-spacing:.5px;transition:color .2s;padding:14px 0}
.nav-menu a:hover{color:var(--red)}
.nav-hi{color:var(--red) !important;font-weight:600}
.hamburger{display:none;position:absolute;right:32px;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .25s var(--ease)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* LEAD */
.lead{padding:60px 32px;max-width:1200px;margin:0 auto}
.lead-grid{display:grid;grid-template-columns:3fr 2fr;gap:60px;align-items:start}
h1{font-family:'Libre Baskerville',serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1.1;margin-bottom:18px;letter-spacing:-1px}
.lead-sub{font-size:1rem;color:var(--mid);font-style:italic;max-width:480px;margin-bottom:32px;line-height:1.7}

/* Shortener */
.shortener{border:2px solid var(--ink);padding:22px;background:#fff;transition:box-shadow .2s}
.shortener:focus-within{box-shadow:4px 4px 0 var(--red);border-color:var(--red)}
.sh-lbl{display:block;font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--mid);margin-bottom:10px;letter-spacing:1px}
.sh-row{display:flex}
.sh-input{flex:1;padding:12px 14px;border:1.5px solid var(--ink);border-right:none;font-family:'IBM Plex Mono',monospace;font-size:.83rem;background:var(--paper);outline:none;color:var(--ink);min-width:0}
.sh-input:focus{background:#fff}
.sh-input::placeholder{color:#aaa}
.sh-btn{flex-shrink:0;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);padding:12px 18px;font-family:'IBM Plex Mono',monospace;font-size:.78rem;font-weight:600;cursor:pointer;letter-spacing:1px;display:flex;align-items:center;gap:8px;transition:all .2s}
.sh-btn:hover{background:var(--red);border-color:var(--red)}
.sbs{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--paper);border-radius:50%;animation:spin .7s linear infinite}
.sh-btn.loading .sbt{display:none}
.sh-btn.loading .sbs{display:block}
.sh-result{display:none;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;background:var(--paper);border:1.5px dashed var(--ink)}
.sh-result.show{display:flex;animation:fadeUp .3s ease}
.shr-tag{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--mid);flex-shrink:0}
.shr-url{font-family:'IBM Plex Mono',monospace;font-size:.88rem;font-weight:600;color:var(--red);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shr-cp{flex-shrink:0;background:transparent;border:1.5px solid var(--ink);color:var(--ink);padding:6px 12px;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:.72rem;transition:all .2s}
.shr-cp:hover{background:var(--ink);color:var(--paper)}
.shr-cp.copied{background:var(--ink);color:var(--paper)}

/* ASIDE */
.lead-aside{}
.stat-grid{border:2px solid var(--ink);padding:20px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;gap:0;margin-bottom:24px}
.sg-item{text-align:center;padding:12px 8px}
.sgi-n{font-family:'Libre Baskerville',serif;font-size:1.8rem;font-weight:700;color:var(--ink)}
.sgi-l{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--mid);letter-spacing:.5px}
.sg-div{width:1px;background:var(--border)}
.sg-sep{grid-column:1/-1;height:1px;background:var(--border)}
blockquote{border-left:4px solid var(--red);padding-left:14px;font-family:'Libre Baskerville',serif;font-style:italic;font-size:.92rem;line-height:1.6;margin-bottom:8px}
cite{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--mid)}

/* RULE */
.rule-thick{height:3px;background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 18px,transparent 18px,transparent 22px);margin:0 32px}

/* FEATURES */
.features{border-top:3px double var(--ink);padding:40px 32px;max-width:1200px;margin:0 auto}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.feat-col{padding:24px;border-right:1px solid var(--border)}
.feat-col:last-child{border-right:none}
.fc-num{font-family:'Libre Baskerville',serif;font-size:1.8rem;font-weight:700;color:var(--red);margin-bottom:10px}
.feat-col h3{font-family:'Libre Baskerville',serif;font-size:1rem;font-weight:700;margin-bottom:8px}
.feat-col p{font-size:.85rem;color:var(--mid);line-height:1.65}

footer{border-top:3px double var(--ink);padding:20px 32px}
.f-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.f-brand{font-family:'Libre Baskerville',serif;font-weight:700;font-size:1.1rem}
footer p{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--mid)}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .hamburger{display:flex}
  .nav-menu{position:absolute;top:48px;left:0;right:0;background:rgba(247,244,238,.97);backdrop-filter:blur(20px);border-bottom:2px solid var(--border);flex-direction:column;gap:0;padding:4px 0;opacity:0;transform:translateY(-8px);pointer-events:none;transition:all .25s var(--ease);z-index:100}
  .nav-menu.open{opacity:1;transform:none;pointer-events:all}
  .nav-menu a{padding:13px 24px}
  .masthead{grid-template-columns:1fr auto;padding:16px 20px}
  .mh-meta{display:none}
  .lead{padding:40px 20px}
  .lead-grid{grid-template-columns:1fr}
  .lead-aside{display:none}
  .sh-row{flex-direction:column}
  .sh-input{border-right:1.5px solid var(--ink);border-bottom:none}
  .sh-btn{width:100%;justify-content:center}
  .feat-col{border-right:none;border-bottom:1px solid var(--border)}
  .feat-col:last-child{border-bottom:none}
  .rule-thick,.features{margin-left:20px;margin-right:20px}
  footer{padding:20px}
  .f-inner{flex-direction:column;text-align:center}
}
