<!doctype html><html lang="en"><head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>From the Archive: Tech News 2008-2013 Revisited</title>
<meta name="description" content="Retrospectives on the tech news, commentary and viral posts this site published from 2008 to 2013: what each reported, what happened next, and why it matters.">
<link rel="canonical" href="https://geekwithlaptop.com/archive/">
<meta name="theme-color" content="#0f141a">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon-32.png" type="image/png" sizes="32x32">
<link rel="icon" href="/favicon-48.png" type="image/png" sizes="48x48">
<link rel="apple-touch-icon" href="/favicon-180.png" sizes="180x180">
<link rel="manifest" href="/manifest.webmanifest">
<meta property="og:type" content="website"><meta property="og:title" content="From the Archive: Tech News 2008-2013 Revisited">
<meta property="og:description" content="Retrospectives on the tech news, commentary and viral posts this site published from 2008 to 2013: what each reported, what happened next, and why it matters."><meta property="og:url" content="https://geekwithlaptop.com/archive/">
<meta property="og:site_name" content="Geek With Laptop"><meta property="og:image" content="https://geekwithlaptop.com/img/section-archive.3cf28d07.og.jpg">
<meta property="og:image:width" content="1200"><meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="From the Archive: Tech News 2008-2013 Revisited">
<meta name="twitter:description" content="Retrospectives on the tech news, commentary and viral posts this site published from 2008 to 2013: what each reported, what happened next, and why it matters."><meta name="twitter:image" content="https://geekwithlaptop.com/img/section-archive.3cf28d07.og.jpg">
<script>(function(){try{var t=localStorage.getItem('gw-theme');if(t==='light'||(!t&&window.matchMedia&&matchMedia('(prefers-color-scheme: light)').matches))document.documentElement.classList.add('light');}catch(e){}})();</script>
<style>
:root{--gw-primary:#93a6b8;--gw-primary-hover:#a9bac9;--gw-primary-muted:#223041;--gw-primary-text:#0f141a;
--gw-signal:#6fd3ff;--gw-signal-muted:#12303d;--gw-bg:#0f141a;--gw-bg-alt:#141b23;--gw-surface:#1a2230;--gw-surface-hover:#202a3a;
--gw-border:#2a3546;--gw-border-light:#35425a;--gw-text:#e6ecf3;--gw-text-secondary:#a8b4c4;--gw-text-tertiary:#8e98a9;--gw-text-inverse:#0f141a;
--gw-success:#6fcf97;--gw-warning:#f0b35a;--gw-error:#ef7d7d;--gw-info:#6fd3ff;
--gw-text-xs:.75rem;--gw-text-sm:.875rem;--gw-text-base:1.0625rem;--gw-text-lg:1.125rem;--gw-text-xl:1.25rem;--gw-text-2xl:1.5rem;--gw-text-3xl:1.875rem;--gw-text-4xl:2.25rem;--gw-text-5xl:3rem;
--gw-space-1:.25rem;--gw-space-2:.5rem;--gw-space-3:.75rem;--gw-space-4:1rem;--gw-space-6:1.5rem;--gw-space-8:2rem;--gw-space-12:3rem;--gw-space-16:4rem;--gw-space-24:6rem;
--gw-font-display:"Avenir Next",Futura,"Segoe UI",system-ui,sans-serif;
--gw-font-body:"Helvetica Neue",Helvetica,Arial,Roboto,system-ui,sans-serif;
--gw-font-mono:"IBM Plex Mono","SF Mono",Menlo,Consolas,monospace;
--gw-ease:160ms ease-out;--gw-maxw:1240px;--gw-read:720px;--gw-rail:300px;--gw-toc:220px;color-scheme:dark}
html.light{--gw-primary:#4a6178;--gw-primary-hover:#3b4f63;--gw-primary-muted:#e4eaf1;--gw-primary-text:#ffffff;
--gw-signal:#086a98;--gw-signal-muted:#dff1fa;--gw-bg:#f3f5f8;--gw-bg-alt:#e9edf2;--gw-surface:#ffffff;--gw-surface-hover:#f6f8fa;
--gw-border:#d3dae3;--gw-border-light:#e3e8ee;--gw-text:#121a24;--gw-text-secondary:#46536a;--gw-text-tertiary:#5b697d;--gw-text-inverse:#f3f5f8;
--gw-success:#2b754a;--gw-warning:#8a5f15;--gw-error:#b03a3a;--gw-info:#086a98;color-scheme:light}
.gw-plate{--gw-plate:#f3f5f8;--gw-ink:#121a24;--gw-ink-2:#46536a;--gw-ink-3:#5f6d82;--gw-ink-signal:#086a98;--gw-ink-primary:#4a6178}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--gw-bg);color:var(--gw-text);font-family:var(--gw-font-body);font-size:var(--gw-text-base);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
img,svg{max-width:100%}
a{color:var(--gw-primary);text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--gw-ease)}
a:hover{color:var(--gw-primary-hover)}
:focus-visible{outline:2px solid var(--gw-signal);outline-offset:2px}
:focus:not(:focus-visible){outline:none}
button{font:inherit;color:inherit}
.gw-wrap{width:min(var(--gw-maxw),100% - 48px);margin-inline:auto}
.gw-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gw-mono{font-family:var(--gw-font-mono);font-size:.9em}
.gw-skip{position:absolute;left:8px;top:8px;z-index:300;transform:translateY(-200%);background:var(--gw-primary);color:var(--gw-primary-text);font-family:var(--gw-font-mono);font-size:13px;padding:8px 12px;border-radius:4px;text-decoration:none}
.gw-skip:focus{transform:none;color:var(--gw-primary-text)}
/* masthead + drawer */
.gw-mast{position:sticky;top:0;z-index:100;height:64px;background:var(--gw-bg);border-bottom:1px solid var(--gw-border);transition:background-color var(--gw-ease)}
.gw-mast-in{height:100%;display:flex;align-items:center;gap:var(--gw-space-6)}
.gw-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--gw-text);font-family:var(--gw-font-display);font-size:18px;letter-spacing:-.01em;line-height:1;white-space:nowrap;margin-right:auto;min-height:44px}
.gw-brand:hover{color:var(--gw-text)}
.gw-brand svg,.gw-foot-brand svg{flex:none;display:block}
.gw-brand-a{font-weight:400}.gw-brand-b{font-weight:700}
.gw-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--gw-space-1)}
.gw-nav a{display:flex;align-items:center;min-height:44px;padding:0 10px;font-size:15px;font-weight:500;color:var(--gw-text-secondary);text-decoration:none;border-radius:4px}
.gw-nav a:hover{color:var(--gw-text)}
.gw-nav a.on{color:var(--gw-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.gw-tools{display:flex;align-items:center;gap:var(--gw-space-1);margin-right:-10px}
.gw-icon-btn{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:6px;cursor:pointer;color:var(--gw-text-secondary);transition:color var(--gw-ease),background-color var(--gw-ease)}
.gw-icon-btn:hover{color:var(--gw-text);background:var(--gw-bg-alt)}
.gw-icon-btn:active{background:var(--gw-surface)}
.gw-icon-btn svg{width:18px;height:18px;display:block}
.gw-theme .gw-i-moon{display:none}html.light .gw-theme .gw-i-sun{display:none}html.light .gw-theme .gw-i-moon{display:block}
.gw-burger{display:none}
.gw-bars{display:grid;gap:4px;width:18px}
.gw-bars span{display:block;height:2px;background:var(--gw-text);border-radius:1px;transition:transform var(--gw-ease),opacity var(--gw-ease)}
.gw-burger[aria-expanded="true"] .gw-bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.gw-burger[aria-expanded="true"] .gw-bars span:nth-child(2){opacity:0}
.gw-burger[aria-expanded="true"] .gw-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.gw-drawer{position:sticky;top:64px;z-index:99;background:var(--gw-bg-alt);border-bottom:1px solid var(--gw-border)}
.gw-drawer[hidden]{display:none}
.gw-drawer ul{list-style:none;margin:0 auto;padding:var(--gw-space-2) 0}
.gw-drawer li+li{border-top:1px solid var(--gw-border)}
.gw-drawer a{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 var(--gw-space-3);font-size:16px;font-weight:500;color:var(--gw-text);text-decoration:none}
.gw-drawer a::after{content:"";width:8px;height:8px;border-right:2px solid var(--gw-text-tertiary);border-top:2px solid var(--gw-text-tertiary);transform:rotate(45deg);margin-right:4px}
.gw-drawer a:hover{background:var(--gw-bg)}
.gw-drawer a.on{color:var(--gw-primary)}
.gw-drawer a.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--gw-primary);border-radius:0 2px 2px 0}
@media (max-width:899.98px){.gw-nav{display:none}.gw-burger{display:grid}}
@media (min-width:900px){.gw-drawer{display:none!important}}
/* type */
main{flex:1}
.gw-eyebrow{margin:0 0 var(--gw-space-3);font-family:var(--gw-font-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-primary);line-height:1.4}
.gw-eyebrow-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.gw-eyebrow-row .gw-div{width:1px;height:12px;background:var(--gw-border)}
h1,h2,h3{font-family:var(--gw-font-display);color:var(--gw-text);text-wrap:balance}
h1{margin:0 0 var(--gw-space-8);font-size:clamp(2rem,4.6vw,3.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.08;max-width:18ch}
h2{margin:0 0 var(--gw-space-4);font-size:clamp(1.5rem,3.2vw,2.125rem);font-weight:700;letter-spacing:-.01em;line-height:1.2}
h3{margin:0 0 var(--gw-space-2);font-size:clamp(1.2rem,2.2vw,1.4rem);font-weight:600;line-height:1.3}
p{margin:0 0 var(--gw-space-4)}
.gw-prose{max-width:var(--gw-read)}
.gw-prose>p{margin:0 0 var(--gw-space-4);text-wrap:pretty}
.gw-lede-lg{margin:0;font-size:19px;line-height:1.6;color:var(--gw-text-secondary);max-width:62ch;text-wrap:pretty}
.gw-lede-lg strong{color:var(--gw-text);font-weight:600}
code,kbd{font-family:var(--gw-font-mono);font-size:.9em;background:var(--gw-bg-alt);border:1px solid var(--gw-border);border-radius:4px;padding:1px 6px;color:var(--gw-text);white-space:nowrap}
kbd{border-bottom-width:2px}
/* buttons */
.gw-actions{display:flex;flex-wrap:wrap;gap:var(--gw-space-3);margin:var(--gw-space-8) 0}
.gw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:6px;font-family:var(--gw-font-body);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color var(--gw-ease),border-color var(--gw-ease),color var(--gw-ease)}
.gw-btn-primary{background:var(--gw-primary);color:var(--gw-primary-text)}.gw-btn-primary:hover{background:var(--gw-primary-hover);color:var(--gw-primary-text)}
.gw-btn-ghost{background:transparent;border-color:var(--gw-border);color:var(--gw-text)}.gw-btn-ghost:hover{background:var(--gw-bg-alt);color:var(--gw-text);border-color:var(--gw-border-light)}
/* breadcrumb */
.gw-crumb{margin-bottom:var(--gw-space-6)}
.gw-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--gw-font-mono);font-size:12.5px;line-height:1.5}
.gw-crumb li{display:flex;align-items:center;color:var(--gw-text)}
.gw-crumb li+li::before{content:"/";color:var(--gw-border-light);margin:0 10px}
.gw-crumb a{color:var(--gw-text-secondary);text-decoration:none}
.gw-crumb a:hover{color:var(--gw-text);text-decoration:underline}
/* spec card: the hardware label (four neutral corner ticks) */
.gw-spec{position:relative;background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:4px;padding:18px 20px}
.gw-spec::before{content:"";position:absolute;inset:6px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 10V1h9' fill='none' stroke='%236b7a8f' stroke-width='2'/%3E%3C/svg%3E") top left,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M0 1h9v9' fill='none' stroke='%236b7a8f' stroke-width='2'/%3E%3C/svg%3E") top right,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 0v9h9' fill='none' stroke='%236b7a8f' stroke-width='2'/%3E%3C/svg%3E") bottom left,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M0 9h9V0' fill='none' stroke='%236b7a8f' stroke-width='2'/%3E%3C/svg%3E") bottom right;background-repeat:no-repeat}
.gw-spec-h{margin:0 0 8px;font-family:var(--gw-font-mono);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-secondary)}
.gw-spec-qa{margin:0 0 18px;font-size:15px;line-height:1.55;color:var(--gw-text)}
.gw-spec-sep{border-top:1px solid var(--gw-border);padding-top:14px}
.gw-spec dl{display:grid;grid-template-columns:96px 1fr;margin:0}
.gw-spec dt,.gw-spec dd{padding:8px 0;border-top:1px solid var(--gw-border)}
.gw-spec dt{font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--gw-text-secondary);line-height:1.5}
.gw-spec dd{margin:0;font-size:14.5px;line-height:1.45;color:var(--gw-text);padding-left:10px}
.gw-spec-project dl{grid-template-columns:104px 1fr}
.gw-pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none}
.gw-pill{font-family:var(--gw-font-mono);font-size:11px;line-height:1;padding:5px 7px;border:1px solid var(--gw-border-light);border-radius:4px;color:var(--gw-text)}
.gw-status{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:8px 10px;border:1px solid var(--gw-warning);border-radius:6px;font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-warning);line-height:1.3}
.gw-status::before{content:"";flex:none;width:6px;height:6px;background:var(--gw-warning)}
.gw-years{margin-top:14px;padding-top:12px;border-top:1px solid var(--gw-border)}
.gw-years svg{display:block;width:100%;height:auto}
.gw-stamp{display:inline-block;margin:0 0 var(--gw-space-6);padding:3px 9px;border:1px solid var(--gw-border);border-radius:4px;font-family:var(--gw-font-mono);font-size:12.5px;line-height:1.4;color:var(--gw-text-tertiary)}
.gw-stamp-d{display:inline-grid;margin:0 0 12px;padding:0;border-color:var(--gw-border-light);font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--gw-text-secondary);line-height:1.3}
.gw-stamp-d span{padding:5px 9px}.gw-stamp-d span+span{border-top:1px solid var(--gw-border-light)}
/* homepage glance card: label/value rows */
.gw-spec-glance{padding:20px 22px}
.gw-spec-glance dl{display:block}
.gw-spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gw-space-4);padding:11px 0;border-top:1px solid var(--gw-border)}
.gw-spec-glance dt,.gw-spec-glance dd{padding:0;border:0}
.gw-spec-glance .gw-spec-h{font-size:11px;font-weight:400;margin-bottom:var(--gw-space-3)}
.gw-spec-glance dt{font-size:11px;letter-spacing:.1em;line-height:1.65}
.gw-home .gw-sub{max-width:none}
.gw-spec-glance dd{font-size:15px;text-align:right;font-variant-numeric:tabular-nums;padding:0}
/* tables */
.gw-tablewrap{margin:var(--gw-space-6) 0 var(--gw-space-4);overflow-x:auto;border:1px solid var(--gw-border);border-radius:10px;-webkit-overflow-scrolling:touch}
.gw-table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.5}
.gw-tablewrap .gw-table{min-width:560px}
.gw-table caption{caption-side:top;text-align:left;padding:12px 16px;font-family:var(--gw-font-mono);font-size:12.5px;color:var(--gw-text-tertiary);border-bottom:1px solid var(--gw-border)}
.gw-table th{font-family:var(--gw-font-mono);font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--gw-text-secondary);text-align:left;padding:10px 16px;border-bottom:1px solid var(--gw-border);white-space:nowrap}
.gw-table td{padding:12px 16px;vertical-align:top;color:var(--gw-text);font-size:15px}
.gw-table tbody tr{transition:background-color var(--gw-ease)}
.gw-table tbody tr:nth-child(odd){background:var(--gw-bg-alt)}
.gw-table tbody tr:hover{background:var(--gw-surface-hover)}
.gw-table td:first-child{font-weight:600}
.gw-table td a{text-decoration:none}.gw-table td a:hover{text-decoration:underline;color:var(--gw-primary-hover)}
.gw-table td.gw-mono,.gw-table td.gw-feat{font-family:var(--gw-font-mono);font-size:13px;font-weight:400;white-space:nowrap}
.gw-table td.gw-mono{color:var(--gw-text-secondary)}
.gw-table.gw-t-links td:first-child{font-weight:400}
.gw-table td.gw-rn,.gw-table th.gw-rn{width:3ch;padding-right:0;font-family:var(--gw-font-mono);font-size:12.5px;font-weight:400;color:var(--gw-text-secondary);white-space:nowrap}
.gw-table td.gw-il{font-weight:600}
.gw-snd{display:inline-flex;align-items:baseline;gap:8px}
.gw-dot{flex:none;width:6px;height:6px;border-radius:50%;transform:translateY(-2px);background:var(--gw-success)}
.gw-dot.gw-usually{background:var(--gw-warning)}
.gw-dot.gw-no{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gw-text-secondary)}
.gw-table.gw-compact{min-width:0}
.gw-table.gw-compact tbody tr:nth-child(odd){background:transparent}
.gw-table.gw-compact tbody tr:hover{background:var(--gw-surface-hover)}
.gw-table.gw-compact td{white-space:normal;font-family:var(--gw-font-body)}
.gw-table.gw-compact .gw-r{text-align:right}
/* cards */
.gw-card{position:relative;display:flex;flex-direction:column;background:none;border:0;border-top:1px solid var(--gw-border-light);border-radius:0;padding:18px 0 0;color:var(--gw-text);text-decoration:none;transition:color var(--gw-ease)}
.gw-card:hover{color:var(--gw-text)}.gw-card:hover h3{color:var(--gw-primary-hover);text-decoration:underline;text-underline-offset:3px}
.gw-card:active{transform:none}
.gw-card-meta{margin:0 0 var(--gw-space-2);font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--gw-text-secondary)}
.gw-card h3{margin:0 0 var(--gw-space-2);font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.gw-card p.gw-card-t{margin:0;font-size:14.5px;line-height:1.6;color:var(--gw-text-secondary);text-wrap:pretty}
.gw-card-fig{margin:0;aspect-ratio:16/10;background:var(--gw-bg-alt);border:1px solid var(--gw-border);border-radius:3px;overflow:hidden;display:grid;place-items:center}
.gw-card-fig svg{display:block;width:100%;height:100%}
.gw-card-body{flex:1;min-width:0;display:flex;flex-direction:column}
.gw-card-go{margin-top:auto;padding-top:var(--gw-space-4);font-family:var(--gw-font-mono);font-size:12.5px;color:var(--gw-primary)}
.gw-card:hover .gw-card-go{color:var(--gw-primary-hover)}
.gw-grid3{display:block;border-bottom:1px solid var(--gw-border);max-width:980px}
.gw-grid3 .gw-card{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);column-gap:36px;padding:18px 0;border-top:1px solid var(--gw-border)}
.gw-grid3 .gw-card>.gw-card-meta{grid-column:1;grid-row:1/span 2;margin:3px 0 0}
.gw-grid3 .gw-card>h3,.gw-grid3 .gw-card>.gw-card-t{grid-column:2}
.gw-grid3 .gw-card-wide{padding:24px 0}
.gw-grid3 .gw-card-wide .gw-card-fig{grid-column:1;align-self:start}
.gw-grid3 .gw-card-wide .gw-card-body{grid-column:2}
.gw-grid3 .gw-card-wide h3{font-size:clamp(1.3rem,2.4vw,1.6rem)}
.gw-hubs{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gw-space-4)}
.gw-hubs .gw-card{padding:20px 0 0}
.gw-hubs .gw-card-fig{margin:0 0 var(--gw-space-4);border-radius:6px}
.gw-hubs .gw-card-meta{font-size:12px;letter-spacing:.1em}
.gw-hubs .gw-card h3{font-size:clamp(1.2rem,2.2vw,1.4rem);line-height:1.25}
.gw-hubs .gw-card p.gw-card-t{font-size:15px}
/* homepage */
.gw-hero,.gw-hubhead{background-color:var(--gw-bg-alt);border-bottom:1px solid var(--gw-border)}
.gw-hero-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gw-space-12);align-items:start;padding:56px 0}
.gw-hero h1{margin-bottom:var(--gw-space-6)}
.gw-sec{padding:56px 0;border-bottom:1px solid var(--gw-border)}
.gw-sec:last-child{border-bottom:0}
.gw-sec-head{margin-bottom:var(--gw-space-8);max-width:var(--gw-read)}
.gw-sec-head h2{margin-bottom:var(--gw-space-2)}
.gw-sub{margin:0;font-size:16px;color:var(--gw-text-secondary);max-width:62ch;text-wrap:pretty}
.gw-split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--gw-space-12);align-items:start}
.gw-split .gw-prose h2{margin-bottom:var(--gw-space-6)}
.gw-h2-sm{font-size:1.3rem;margin-bottom:var(--gw-space-2)}
.gw-split .gw-sub{margin-bottom:var(--gw-space-6)}
.gw-split .gw-tablewrap{margin:var(--gw-space-6) 0 0}
.gw-split .gw-table{min-width:460px}
.gw-list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--gw-border)}
.gw-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gw-space-6);padding:13px 0;border-top:1px solid var(--gw-border)}
.gw-list a{color:var(--gw-text);text-decoration:none;font-size:16px;line-height:1.45;text-wrap:pretty}
.gw-list a:hover{color:var(--gw-primary-hover);text-decoration:underline}
.gw-list-m{flex:none;font-family:var(--gw-font-mono);font-size:12px;letter-spacing:.06em;color:var(--gw-text-tertiary);font-variant-numeric:tabular-nums}
/* byline / editor card */
.gw-byline{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:40px;background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:10px;padding:16px 18px}
.gw-mono-tile{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:6px;background:var(--gw-primary-muted);color:var(--gw-primary);font-family:var(--gw-font-display);font-weight:700;font-size:16px;letter-spacing:.02em}
.gw-byline-t{flex:1 1 300px;margin:0;font-size:15px;line-height:1.55;color:var(--gw-text-secondary);text-wrap:pretty}
.gw-byline-t strong{color:var(--gw-text);font-weight:600}
.gw-byline-t a{white-space:nowrap}
.gw-byline-d{margin:0;font-family:var(--gw-font-mono);font-size:12px;color:var(--gw-text-secondary);white-space:nowrap}
.gw-home .gw-byline{margin-top:0;gap:var(--gw-space-4) var(--gw-space-6);padding:20px 22px}
.gw-home .gw-byline-t{flex-basis:360px;font-size:16px}
.gw-home .gw-byline-d{font-size:12.5px}
/* hub */
.gw-hub-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"head rail" "body rail";column-gap:48px;row-gap:var(--gw-space-8);align-items:start;padding:48px 0 40px}
.gw-hub-head{grid-area:head}.gw-hub-body{grid-area:body}
.gw-hub-rail{grid-area:rail;position:sticky;top:84px}
.gw-hubhead h1{margin-bottom:var(--gw-space-4)}
.gw-hub-body.gw-prose>p{font-size:16.5px;line-height:1.7;margin:0 0 var(--gw-space-4)}
.gw-hub-body.gw-prose>p:last-child{margin-bottom:0}
.gw-hub-rail .gw-spec-h{margin-bottom:var(--gw-space-2)}
.gw-rail-scroll{max-height:60vh;overflow-y:auto}
.gw-hub-rail .gw-compact{font-size:14.5px}
.gw-hub-rail .gw-compact th{padding:8px 0 8px 12px;font-size:11px;background:var(--gw-surface);position:sticky;top:0}
.gw-hub-rail .gw-compact th:first-child,.gw-hub-rail .gw-compact td:first-child{padding-left:0}
.gw-hub-rail .gw-compact td{padding:10px 0 10px 12px;border-top:1px solid var(--gw-border);font-size:14.5px;line-height:1.4;font-weight:400}
.gw-hub-rail .gw-compact td a{color:var(--gw-primary)}
.gw-hub-rail .gw-compact td.gw-r{font-family:var(--gw-font-mono);font-size:12.5px;color:var(--gw-text-secondary);min-width:9ch}
.gw-hub-rail dl{grid-template-columns:auto 1fr;gap:8px 16px;margin:var(--gw-space-2) 0 0;padding-top:12px;border-top:1px solid var(--gw-border)}
.gw-hub-rail dt,.gw-hub-rail dd{padding:0;border:0}
.gw-hub-rail dt{letter-spacing:.1em;align-self:center}
.gw-hub-rail dd{font-size:15px;text-align:right;font-variant-numeric:tabular-nums}
.gw-section{padding:56px 0}
.gw-others{padding:24px 0 56px}
.gw-others-in{border-top:1px solid var(--gw-border);padding-top:24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 24px}
.gw-others-h{margin:0;font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-tertiary)}
.gw-others ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}
.gw-others li{display:flex;align-items:baseline;gap:8px}
.gw-others a{font-size:15px;font-weight:500;text-decoration:none}
.gw-others a:hover{text-decoration:underline}
.gw-others .gw-n{font-family:var(--gw-font-mono);font-size:12px;color:var(--gw-text-tertiary)}
/* article: TOC rail + reading column + sticky spec card */
.gw-art{display:grid;grid-template-columns:var(--gw-toc) minmax(0,calc(var(--gw-read) + 44px + var(--gw-rail)));column-gap:44px;justify-content:center;max-width:var(--gw-maxw);margin-inline:auto;padding:40px 24px 64px}
.gw-art-main{display:grid;grid-template-columns:minmax(0,var(--gw-read)) var(--gw-rail);grid-template-areas:"head spec" "tocm spec" "body spec";column-gap:44px;align-items:start}
.gw-art-main.gw-prose{max-width:none}
.gw-art-head{grid-area:head}.gw-art-body{grid-area:body;min-width:0}
.gw-art-main>.gw-spec{grid-area:spec;position:sticky;top:84px}
.gw-art-head h1{margin-bottom:var(--gw-space-4)}
.gw-art-head .gw-lede-lg{margin-bottom:var(--gw-space-8);max-width:none}
.gw-toc{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto;align-self:start;padding-top:4px}
.gw-toc-h{margin:0 0 10px;font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-tertiary)}
.gw-toc ol,.gw-toc-m ol{list-style:none;margin:0;padding:0}
.gw-toc a,.gw-toc-m a{display:block;padding:6px 0 6px 12px;border-left:1px solid var(--gw-border);font-family:var(--gw-font-mono);font-size:12.5px;line-height:1.4;color:var(--gw-text-secondary);text-decoration:none;transition:color var(--gw-ease),border-color var(--gw-ease)}
.gw-toc a:hover,.gw-toc-m a:hover{color:var(--gw-text);border-left-color:var(--gw-primary)}
.gw-toc a[aria-current="true"]{color:var(--gw-text);border-left-color:var(--gw-signal)}
.gw-toc a.gw-tnum,.gw-toc-m a.gw-tnum{display:grid;grid-template-columns:2.4ch 1fr;gap:4px}
.gw-tn{color:var(--gw-text-secondary)}
.gw-toc-m{grid-area:tocm;display:none;background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:8px;margin:18px 0 var(--gw-space-8)}
.gw-toc-m summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 16px;cursor:pointer;list-style:none;font-family:var(--gw-font-mono);font-size:13px;color:var(--gw-text)}
.gw-toc-m summary::-webkit-details-marker{display:none}
.gw-toc-m summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--gw-text-secondary);border-top:2px solid var(--gw-text-secondary);transform:rotate(45deg);transition:transform var(--gw-ease)}
.gw-toc-m[open] summary::after{transform:rotate(135deg)}
.gw-toc-m ol{padding:4px 16px 14px}
.gw-art-body{font-size:17px;line-height:1.7}
.gw-art-body>p,.gw-art-body section>p{margin:0 0 var(--gw-space-4);text-wrap:pretty}
.gw-art-body>ul,.gw-art-body>ol:not(.gw-steps){padding-left:1.3em;margin:0 0 1.2em}
.gw-art-body>ul li,.gw-art-body>ol:not(.gw-steps) li{margin:0 0 .5em}
.gw-art-body h2{scroll-margin-top:84px;margin:40px 0 var(--gw-space-4);padding-top:24px;border-top:1px solid var(--gw-border);font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.2;border-radius:4px}
.gw-art-body h2:target{animation:gw-target 1.2s ease-out}
@keyframes gw-target{0%,30%{background:var(--gw-signal-muted)}100%{background:transparent}}
.gw-art-body h2.gw-h2n{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gw-num{font-family:var(--gw-font-mono);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--gw-primary);border:1px solid var(--gw-border-light);border-radius:4px;padding:2px 7px;line-height:1.4}
.gw-art-body h3{font-size:1.15rem;font-weight:600;margin:0 0 6px;line-height:1.3}
.gw-art-body strong{color:var(--gw-text);font-weight:700}
.gw-fig{margin:0 0 var(--gw-space-8);background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:8px;padding:14px}
.gw-fig svg{display:block;width:100%;height:auto}
.gw-fig figcaption{margin-top:10px;padding-top:10px;border-top:1px solid var(--gw-border);font-family:var(--gw-font-mono);font-size:12.5px;line-height:1.5;color:var(--gw-text-secondary)}
.gw-fig-plate{margin-bottom:var(--gw-space-4)}
.gw-plate-l{margin:0 0 10px;text-align:right;font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-secondary)}
.gw-fig-plate svg{max-width:640px;min-width:0;margin-inline:auto}
.gw-steps{list-style:none;margin:var(--gw-space-4) 0;padding:0;border-bottom:1px solid var(--gw-border)}
.gw-step{display:grid;grid-template-columns:52px 1fr;padding:16px 0;border-top:1px solid var(--gw-border)}
.gw-step-n{font-family:var(--gw-font-mono);font-size:13px;color:var(--gw-primary);line-height:1.9;font-variant-numeric:tabular-nums}
.gw-step h3{font-size:1.1rem}
.gw-step p{margin:0;font-size:16px;line-height:1.65;color:var(--gw-text-secondary)}
.gw-call{margin:var(--gw-space-8) 0;background:var(--gw-primary-muted);border-top:2px solid var(--gw-primary);border-radius:0;padding:12px 18px 14px}
.gw-call-h{margin:0 0 6px;font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-primary)}
.gw-call p.gw-call-t{margin:0;font-size:15.5px;line-height:1.65;color:var(--gw-text)}
.gw-call ul{margin:0;padding-left:18px;font-size:15.5px;line-height:1.65;color:var(--gw-text)}
.gw-call li+li{margin-top:8px}
.gw-call li::marker{color:var(--gw-text-secondary)}
.gw-call-warn{background:var(--gw-surface);border-top:2px solid var(--gw-warning)}
.gw-call-warn .gw-call-h{color:var(--gw-warning)}
.gw-art-body>ul.gw-fixes{list-style:none;margin:0 0 var(--gw-space-4);padding:0;border-bottom:1px solid var(--gw-border)}
.gw-art-body>ul.gw-fixes li{margin:0;padding:14px 0;border-top:1px solid var(--gw-border);color:var(--gw-text-secondary);font-size:16px;line-height:1.65}
.gw-faq-i{padding:16px 0;border-top:1px solid var(--gw-border)}
.gw-faq-i:last-child{border-bottom:1px solid var(--gw-border)}
.gw-faq h3{font-size:1.05rem}
.gw-faq-i p{margin:0;font-size:15.5px;line-height:1.65;color:var(--gw-text-secondary)}
.gw-sources h2{font-size:1.1rem;border-top:0;padding-top:0;margin-top:40px}
.gw-sources ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.6;color:var(--gw-text-secondary)}
.gw-sources li+li{margin-top:6px}
.gw-feat{margin:0 0 var(--gw-space-8);border:1px solid var(--gw-border);border-radius:3px;overflow:hidden;background:var(--gw-surface);aspect-ratio:3/2;max-width:640px}
.gw-feat img{display:block;width:100%;height:100%;object-fit:cover}
.gw-feat-home{margin:0 0 var(--gw-space-6);max-width:440px;aspect-ratio:4/3}
.gw-hub-head .gw-feat{margin:var(--gw-space-6) 0 0;max-width:520px}
.gw-related h2{font-size:1.1rem;border-top:0;padding-top:0;margin:40px 0 var(--gw-space-3)}
.gw-related ul{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--gw-border)}
.gw-related li{border-top:1px solid var(--gw-border)}
.gw-related a{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:baseline;padding:12px 8px;text-decoration:none;color:var(--gw-primary);font-size:16px;line-height:1.45;transition:background-color var(--gw-ease)}
.gw-related a:hover{background:var(--gw-surface-hover);color:var(--gw-primary-hover)}
.gw-related a:hover .gw-rt{text-decoration:underline}
.gw-rtag{font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--gw-text-tertiary)}
.gw-related a:hover .gw-rtag{color:var(--gw-text-secondary)}
/* static pages + 404 */
.gw-narrow{max-width:var(--gw-read);margin-inline:auto;padding:40px 24px 64px;box-sizing:content-box}
.gw-narrow h1{margin-bottom:var(--gw-space-6)}
.gw-narrow>p.gw-lede-lg{margin:0 0 var(--gw-space-8);max-width:none}
.gw-narrow>.gw-spec{margin:0 0 var(--gw-space-8)}
.gw-spec-static dl{grid-template-columns:140px 1fr}
.gw-spec-static dt,.gw-spec-static dd{padding:9px 0}
.gw-spec-static dt{line-height:1.6}
.gw-spec-static dd{padding-left:12px;font-size:15px;line-height:1.5}
.gw-narrow>p.gw-runin{margin:0;padding:20px 0;border-top:1px solid var(--gw-border);font-size:17px;line-height:1.7;color:var(--gw-text);text-wrap:pretty}
.gw-runin strong{font-family:var(--gw-font-display);font-weight:700;color:var(--gw-text);letter-spacing:-.005em}
.gw-narrow a[href^="mailto:"]{font-family:var(--gw-font-mono);font-size:.95em}
.gw-next{margin:var(--gw-space-8) 0 0}
.gw-next-h{margin:0 0 10px;font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-tertiary)}
.gw-next ul{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--gw-border)}
.gw-next li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;padding:12px 8px;border-top:1px solid var(--gw-border);transition:background-color var(--gw-ease)}
.gw-next li:hover{background:var(--gw-bg-alt)}
.gw-next a{font-size:16px;font-weight:500}
.gw-next a:hover{color:var(--gw-primary-hover)}
.gw-next-n{font-family:var(--gw-font-mono);font-size:12px;color:var(--gw-text-tertiary)}
.gw-narrow .gw-byline{margin-top:var(--gw-space-12)}
.gw-narrow.gw-nf{padding:56px 24px 64px}
.gw-nf .gw-tablewrap{margin:0 0 var(--gw-space-8)}
.gw-nf .gw-compact{font-size:15px}
.gw-nf .gw-compact th{padding:10px 14px}
.gw-nf .gw-compact td{padding:12px 14px;border-top:1px solid var(--gw-border);vertical-align:top}
.gw-nf .gw-compact td:first-child{font-weight:500;width:34%}
.gw-nf .gw-compact td.gw-what{font-size:14.5px;line-height:1.5;color:var(--gw-text-secondary)}
.gw-nf .gw-compact .gw-r{width:1%;white-space:nowrap}
.gw-nf .gw-compact td.gw-r{font-family:var(--gw-font-mono);font-size:13px;font-variant-numeric:tabular-nums;color:var(--gw-text)}
.gw-nf .gw-actions{margin:0 0 var(--gw-space-6)}
.gw-narrow>p.gw-note{margin:0;font-size:14px;line-height:1.6;color:var(--gw-text-tertiary)}
/* footer */
.gw-foot{background:var(--gw-bg-alt);border-top:1px solid var(--gw-border);padding:48px 0 24px}
.gw-foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:var(--gw-space-8);padding-bottom:var(--gw-space-8);border-bottom:1px solid var(--gw-border)}
.gw-foot-brand p{margin:0;font-size:15px;color:var(--gw-text-secondary)}
.gw-foot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gw-space-8) var(--gw-space-6)}
.gw-foot-h{margin:0 0 var(--gw-space-3);font-family:var(--gw-font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-tertiary)}
.gw-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.gw-foot li a{display:inline-flex;align-items:center;min-height:32px;font-size:15px;line-height:1.35;color:var(--gw-text-secondary);text-decoration:none}
.gw-foot li a:hover{color:var(--gw-text);text-decoration:underline}
.gw-foot-bar{margin-top:var(--gw-space-12);padding-top:16px;border-top:1px solid var(--gw-border);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--gw-space-2) var(--gw-space-6);font-family:var(--gw-font-mono);font-size:12.5px;color:var(--gw-text-tertiary)}
.gw-foot-bar p{margin:0}
/* responsive */
@media (max-width:1100px){.gw-split{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1099.98px){
.gw-art{grid-template-columns:minmax(0,var(--gw-read));padding:40px 24px 64px}
.gw-toc{display:none}
.gw-art-main{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "spec" "tocm" "body"}
.gw-art-main>.gw-spec{position:relative;top:auto}
.gw-toc-m{display:block}
.gw-art-head .gw-lede-lg{margin-bottom:var(--gw-space-6)}}
@media (max-width:1024px){.gw-hubs{grid-template-columns:1fr 1fr}.gw-hubs .gw-card-wide{grid-column:1/-1}}
@media (max-width:899.98px){
.gw-hero-in{grid-template-columns:minmax(0,1fr);gap:var(--gw-space-8)}
.gw-hub-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "rail" "body";row-gap:24px;padding:36px 0 28px}
.gw-hub-rail{position:relative;top:auto}
.gw-grid3 .gw-card{grid-template-columns:minmax(0,1fr)}
.gw-grid3 .gw-card>.gw-card-meta,.gw-grid3 .gw-card>h3,.gw-grid3 .gw-card>.gw-card-t,.gw-grid3 .gw-card-wide .gw-card-fig,.gw-grid3 .gw-card-wide .gw-card-body{grid-column:1;grid-row:auto}
.gw-grid3 .gw-card>.gw-card-meta{margin:0 0 var(--gw-space-2)}
.gw-grid3 .gw-card-wide .gw-card-fig{max-width:360px;margin-bottom:var(--gw-space-4)}
.gw-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
.gw-wrap{width:calc(100% - 32px)}
body{font-size:1rem}
.gw-actions .gw-btn{flex:1 1 100%}
.gw-hero-in{padding:40px 0}.gw-sec,.gw-section{padding:40px 0}
.gw-hubs,.gw-grid3{grid-template-columns:minmax(0,1fr)}
.gw-grid3 .gw-card-wide .gw-card-fig{width:70%}
.gw-lede-lg,.gw-narrow>p.gw-lede-lg{font-size:17px}
.gw-list li{flex-direction:column;gap:2px}
.gw-hub-body.gw-prose>p{font-size:16px}
.gw-others{padding:16px 0 40px}
.gw-art{padding:32px 16px 48px}
.gw-art-body{font-size:16px}
.gw-related a{grid-template-columns:1fr;gap:2px}
.gw-fig-plate svg{min-width:300px}.gw-fig-plate{overflow-x:auto}
.gw-narrow{padding:32px 16px 48px}.gw-narrow.gw-nf{padding:40px 16px 48px}
.gw-narrow>p.gw-runin{font-size:16px}
.gw-nf .gw-compact th,.gw-nf .gw-compact td{padding-left:10px;padding-right:10px}.gw-nf .gw-compact td:first-child{width:auto}
.gw-foot-grid{grid-template-columns:1fr}}
@media (max-width:560px){.gw-spec-static dl{grid-template-columns:1fr}.gw-spec-static dd{padding-left:0;border-top:0;padding-top:0}.gw-spec-static dt{padding-bottom:2px}}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
.gw-burger[aria-expanded="true"] .gw-bars span{transform:none!important;opacity:1!important}
.gw-card:hover{transform:none}
.gw-art-body h2:target{background:var(--gw-signal-muted)}
.gw-skip{transform:none;left:-9999px}.gw-skip:focus{left:8px}}

/* ---- Manual (fix pass 3, 2026-09-24): two-column spec-sheet layout. A persistent left
   column (spec card, contents, related, sheet footer) runs the full height of the page
   beside one reading column. No hero, no third column, no empty boxes. ---- */
:root{--gw-man:312px}
.gw-man{display:grid;grid-template-columns:var(--gw-man) minmax(0,1fr);column-gap:56px;align-items:stretch;width:min(var(--gw-maxw),100% - 48px);margin-inline:auto;padding:36px 0 64px}
.gw-man-col{min-width:0;border-right:1px solid var(--gw-border);padding-right:28px;grid-column:1;grid-row:1}
.gw-man-col-in{padding-bottom:12px}
.gw-man-main{min-width:0;max-width:var(--gw-read);grid-column:2;grid-row:1}
.gw-man-main.gw-prose{max-width:var(--gw-read)}
.gw-art.gw-man{grid-template-columns:var(--gw-man) minmax(0,1fr);max-width:none;padding:36px 0 64px}
.gw-art .gw-man-main.gw-art-main{display:block}
.gw-man .gw-spec{margin:0 0 22px}
.gw-man .gw-toc{position:static;max-height:none;overflow:visible;padding:0;margin:0 0 22px}
.gw-man .gw-related{margin:0 0 18px}
.gw-man .gw-related h2{margin:0 0 8px;font-size:11.5px;font-family:var(--gw-font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-tertiary);font-weight:400}
.gw-man .gw-related a{grid-template-columns:1fr;gap:2px;padding:9px 0;font-size:14.5px}
.gw-man .gw-related a:hover{background:none}
.gw-man .gw-rtag{font-size:11px}
.gw-sheet-foot{display:flex;justify-content:space-between;gap:12px;margin:0;padding-top:12px;border-top:1px solid var(--gw-border);font-family:var(--gw-font-mono);font-size:11px;color:var(--gw-text-tertiary);text-transform:uppercase;letter-spacing:.08em}
.gw-sheet-lane{margin:10px 0 0;font-family:var(--gw-font-mono);font-size:12.5px;color:var(--gw-text-secondary)}
.gw-quick{margin:0 0 var(--gw-space-8);padding:16px 0 14px;border-top:2px solid var(--gw-signal);border-bottom:1px solid var(--gw-border)}
.gw-quick-h{margin:0 0 8px;font-family:var(--gw-font-mono);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-secondary)}
.gw-quick-t{margin:0;font-size:18px;line-height:1.55;color:var(--gw-text)}
.gw-man .gw-hub-rail{position:relative;top:auto}
.gw-man .gw-others{padding:0;margin:0 0 18px}
.gw-man .gw-others ul{display:block}
.gw-man .gw-others li{justify-content:space-between;padding:7px 0;border-top:1px solid var(--gw-border)}
.gw-man .gw-others-h{margin:0 0 6px}
.gw-hubpage-in .gw-hubhead{background:none;border:0}
.gw-hubpage-in .gw-hub-head .gw-feat{margin:var(--gw-space-6) 0;max-width:640px}
.gw-hubpage-in .gw-hub-body{margin-top:var(--gw-space-6)}
.gw-hubpage-in .gw-section{padding:40px 0 0}
.gw-hubpage-in .gw-grid3{max-width:none}
.gw-hub-all .gw-faq{margin-top:40px}
.gw-doc-head{padding-bottom:var(--gw-space-6);border-bottom:1px solid var(--gw-border)}
.gw-doc-head h1{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0 0 var(--gw-space-3)}
.gw-doc-head .gw-lede-lg{font-size:17px}
.gw-home-sec{padding:32px 0 0}
.gw-home-sec .gw-tablewrap{margin-top:var(--gw-space-4)}
.gw-home-sec.gw-split{gap:var(--gw-space-8)}
.gw-home-in .gw-spec-glance{margin-bottom:22px}
.gw-t-index{min-width:0!important;width:100%;table-layout:fixed}
.gw-t-index th:first-child,.gw-t-index td:first-child{width:52%}
.gw-t-index td.gw-mono{font-size:12.5px;white-space:normal}
.gw-col-list{margin:0 0 22px}
.gw-col-list .gw-h2-sm{font-size:11.5px;font-family:var(--gw-font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--gw-text-tertiary);font-weight:400;margin:0 0 6px}
.gw-col-list .gw-sub{font-size:13px;margin:0 0 6px}
.gw-col-list .gw-list li{font-size:14px}
.gw-col-index tr.gw-cur td{color:var(--gw-text);font-weight:600}
.gw-man .gw-rail-scroll{max-height:none;overflow:visible}
@media (max-width:640px){.gw-t-index th:nth-child(3),.gw-t-index td:nth-child(3){display:none}.gw-t-index th:first-child,.gw-t-index td:first-child{width:64%}}
.gw-sheet-foot{flex-wrap:wrap}
@media (max-width:1099.98px){
.gw-man,.gw-art.gw-man{grid-template-columns:minmax(0,1fr);padding:28px 0 48px}
.gw-man-col{grid-column:1;grid-row:2;border-right:0;padding-right:0;border-top:1px solid var(--gw-border);margin-top:32px;padding-top:24px}
.gw-man-main{grid-column:1;grid-row:1}
.gw-man .gw-toc{display:none}
.gw-man .gw-others ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.gw-man .gw-others li{border:0;padding:0}
}
@media (max-width:640px){.gw-man,.gw-art.gw-man{width:calc(100% - 32px)}.gw-quick-t{font-size:16.5px}}
</style><script type="application/ld+json">{"@context": "https://schema.org", "@type": "CollectionPage", "name": "From the Archive: Tech News 2008 to 2013, Revisited", "description": "Retrospectives on the tech news, commentary and viral posts this site published from 2008 to 2013: what each reported, what happened next, and why it matters.", "url": "https://geekwithlaptop.com/archive/", "hasPart": [{"@type": "WebPage", "name": "LG Electronics and Its Mexican Plants: The 2009 Reorganisation, Revisited", "url": "https://geekwithlaptop.com/archive/lg-electronics-mexico-plants/"}, {"@type": "WebPage", "name": "20 Optical Illusions That Will Have You Stumped (Rebuilt)", "url": "https://geekwithlaptop.com/archive/20-optical-illusions/"}, {"@type": "WebPage", "name": "9 Ways to Hack Your Brain to Think Faster: What Held Up", "url": "https://geekwithlaptop.com/archive/brain-hacks-think-faster/"}, {"@type": "WebPage", "name": "Please Rob Me: The 2010 Site That Warned About Location Oversharing", "url": "https://geekwithlaptop.com/archive/please-rob-me/"}, {"@type": "WebPage", "name": "Toshiba Qosmio X500: The 18-Inch Gaming Laptop, Revisited", "url": "https://geekwithlaptop.com/archive/toshiba-qosmio-x500/"}, {"@type": "WebPage", "name": "What If You Spoke Like You Commented? Internet Comment Culture Since 2010", "url": "https://geekwithlaptop.com/archive/what-if-you-spoke-like-you-commented/"}, {"@type": "WebPage", "name": "Concept Gadgets of 2010: The Spider PC, Eye-Controlled Laptops and the First Quantum Computer for Sale", "url": "https://geekwithlaptop.com/archive/concept-gadgets-2010/"}, {"@type": "WebPage", "name": "Facebook in 2011: Video Calling and Payments Between Friends, Revisited", "url": "https://geekwithlaptop.com/archive/facebook-2011-payments-video-chat/"}, {"@type": "WebPage", "name": "GPS Rescue Stories: When a Satellite Fix Saved Someone, and What to Carry Now", "url": "https://geekwithlaptop.com/archive/gps-rescue-stories/"}, {"@type": "WebPage", "name": "3D Screens in 2010: Health Warnings, Glasses-Free Laptops and Why It Faded", "url": "https://geekwithlaptop.com/archive/3d-screens-2010/"}, {"@type": "WebPage", "name": "Android vs iOS in 2011: App Sales Worries, Market Share and the Honeycomb Source Fight", "url": "https://geekwithlaptop.com/archive/android-vs-ios-2011/"}, {"@type": "WebPage", "name": "Acer in 2009: Overtaking Dell and the Budget Notebooks That Did It", "url": "https://geekwithlaptop.com/archive/acer-laptops-2009/"}, {"@type": "WebPage", "name": "Apple in 2012: Liquidmetal Rumours, iPhone 5 Prices, the iPad Mini and Apple Maps", "url": "https://geekwithlaptop.com/archive/apple-iphone-ipad-2012/"}, {"@type": "WebPage", "name": "Tablets and E-Readers in 2010: Sony's Tablet, MeeGo, the Kindle Controversy and a Better Bookmark", "url": "https://geekwithlaptop.com/archive/tablets-and-ereaders-2010/"}, {"@type": "WebPage", "name": "The Commodore 64x: When the C64 Came Back as a Real PC", "url": "https://geekwithlaptop.com/archive/commodore-64-comeback/"}], "image": "https://geekwithlaptop.com/img/section-archive.3cf28d07.og.jpg"}</script><script type="application/ld+json">{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://geekwithlaptop.com/"}, {"@type": "ListItem", "position": 2, "name": "From the Archive: Tech News 2008 to 2013, Revisited"}]}</script>
</head><body>
<a class="gw-skip" href="#main">Skip to content</a>
<header class="gw-mast"><div class="gw-wrap gw-mast-in">
<a class="gw-brand" href="/" aria-label="Geek With Laptop, home"><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"><rect x=".5" y=".5" width="27" height="27" rx="6.5" fill="var(--gw-surface)" stroke="var(--gw-border)"/><rect x="8" y="9" width="9" height="4" rx="1" fill="var(--gw-primary)"/><rect x="6" y="17" width="16" height="1.75" rx=".875" fill="var(--gw-signal)"/></svg><span><span class="gw-brand-a">Geek With </span><span class="gw-brand-b">Laptop</span></span></a>
<nav class="gw-nav" id="gwnav" aria-label="Primary"><ul><li><a href="/how-to/">How-To</a></li><li><a href="/laptop-care/">Laptop Care</a></li><li><a href="/laptop-buying-guide/">Buying Guide</a></li><li><a href="/projects/">Projects</a></li><li><a href="/archive/" class="on" aria-current="page">Archive</a></li><li><a href="/authorship-record/">Authorship</a></li><li><a href="/about/">About</a></li><li><a href="https://forum.geekwithlaptop.com/">Forum</a></li></ul></nav>
<div class="gw-tools">
<button type="button" class="gw-icon-btn gw-theme" id="gwtheme" aria-label="Switch to light theme" aria-pressed="false"><svg class="gw-i-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg><svg class="gw-i-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M20 14.5A8 8 0 0 1 9.5 4a8 8 0 1 0 10.5 10.5z"/></svg></button>
<button type="button" class="gw-icon-btn gw-burger" id="gwburger" aria-controls="gwdrawer" aria-expanded="false" aria-label="Open menu"><span class="gw-bars" aria-hidden="true"><span></span><span></span><span></span></span></button>
</div></div></header>
<nav id="gwdrawer" class="gw-drawer" aria-label="Primary mobile" hidden><ul class="gw-wrap"><li><a href="/how-to/">How-To</a></li><li><a href="/laptop-care/">Laptop Care</a></li><li><a href="/laptop-buying-guide/">Buying Guide</a></li><li><a href="/projects/">Projects</a></li><li><a href="/archive/" class="on" aria-current="page">Archive</a></li><li><a href="/authorship-record/">Authorship</a></li><li><a href="/about/">About</a></li><li><a href="https://forum.geekwithlaptop.com/">Forum</a></li></ul></nav>
<main id="main" class="gw-hubpage" tabindex="-1"><div class="gw-man gw-hubpage-in">
<div class="gw-man-main">
<section class="gw-hubhead" aria-labelledby="gw-h1"><div class="gw-hub-head"><nav class="gw-crumb" aria-label="Breadcrumb"><ol><li><a href="/">Home</a></li><li><span aria-current="page">From the Archive: Tech News 2008 to 2013, Revisited</span></li></ol></nav><p class="gw-eyebrow gw-eyebrow-row"><span>Archive</span><span class="gw-div" aria-hidden="true"></span><span>15 retrospectives</span></p><h1 id="gw-h1">From the Archive: Tech News 2008 to 2013, Revisited</h1><p class="gw-lede-lg">The original site published hundreds of news items, opinion pieces and listicles. The ones that were linked from around the web are revisited here: what was reported, what happened afterward, and what the story looks like now.</p><figure class="gw-feat"><img src="/img/section-archive.3cf28d07.960.webp" srcset="/img/section-archive.3cf28d07.480.webp 480w, /img/section-archive.3cf28d07.960.webp 960w, /img/section-archive.3cf28d07.1600.webp 1600w" sizes="(min-width: 1100px) 680px, calc(100vw - 48px)" width="1600" height="900" alt="A thick glossy laptop from around 2009 beside a stack of blank discs in jewel cases, two old USB flash drives and a coiled cable" fetchpriority="high" decoding="async"></figure></div>
<div class="gw-hub-body gw-prose"><p>Between 2008 and 2013 this site was a general consumer-technology blog, and a handful of its posts travelled far beyond its usual readership: a note about LG reorganising its Mexican plants that ended up in trade newsletters and reading lists; a gallery of twenty optical illusions shared by universities; the Please Rob Me privacy stunt; a sketch imagining people speaking the way they comment; launches of an 18 inch gaming laptop, a computer in a Commodore 64 case and the first quantum machine sold to a customer. Those posts still receive visitors from the links that made them popular.</p><p>Rather than reprint decade-old news, each retrospective follows one frame: what the original post reported, what happened next, and why it still matters. Where the historical record is thin, the page says so. Where the original headline overstated things, as with the first quantum PC available to purchase, the retrospective says that too. The optical illusions page is a special case: the original images were lost, so the illusions have been redrawn as vector graphics with an explanation of each.</p><p>Posts that carried few links and have no useful present-day angle are not recreated; the old addresses for those redirect here so that nothing lands on an error page. If you arrived at this hub from an old link and expected a specific post, the list on this page and the site sections above cover everything that has been rebuilt.</p><p>The archive is not a nostalgia exercise. Read together, these pages are a record of the years when netbooks rose and fell, 3D screens came and went, tablets arrived, location sharing became a privacy issue and the smartphone platform contest settled into the shape it still has.</p></div></section>
<section class="gw-section gw-hub-all" aria-labelledby="gw-all"><div class="gw-sec-head"><h2 id="gw-all">All retrospectives</h2><p class="gw-sub">Every page in this section, with its key facts beside the title. The first entry is the one most people come here for.</p></div>
<div class="gw-grid3"><a class="gw-card gw-card-wide" href="/archive/lg-electronics-mexico-plants/"><div class="gw-card-fig"><svg class="gw-motif" viewBox="0 0 280 200" preserveAspectRatio="xMidYMid meet" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"><path d="M30 60h90l16 16h124v100H30z" fill="var(--gw-primary-muted)" stroke="var(--gw-text-secondary)" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/><path d="M50 110h160M50 130h110" stroke="var(--gw-text-secondary)" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke="var(--gw-signal)"/></svg></div><div class="gw-card-body"><p class="gw-card-meta">Originally published 2009</p><h3>LG Electronics and Its Mexican Plants: The 2009 Reorganisation, Revisited</h3><p class="gw-card-t">One of the best known posts in this site&#x27;s history was a short news item: LG Electronics was reorganising its Mexican operations and closing manufacturing plants.</p></div></a><a class="gw-card" href="/archive/20-optical-illusions/"><p class="gw-card-meta">Originally published 2009</p><h3>20 Optical Illusions That Will Have You Stumped (Rebuilt)</h3><p class="gw-card-t">The most shared post in this site&#x27;s history was a gallery of twenty optical illusions.</p></a><a class="gw-card" href="/archive/brain-hacks-think-faster/"><p class="gw-card-meta">Originally published 2010</p><h3>9 Ways to Hack Your Brain to Think Faster: What Held Up</h3><p class="gw-card-t">Between 2009 and 2011 this site ran three popular brain posts: nine ways to think faster, forty-nine brain teasers, and twelve myths about the brain.</p></a><a class="gw-card" href="/archive/please-rob-me/"><p class="gw-card-meta">Originally published 2010</p><h3>Please Rob Me: The 2010 Site That Warned About Location Oversharing</h3><p class="gw-card-t">For about a week in February 2010, a plain-looking Dutch website made the technology press very uncomfortable.</p></a><a class="gw-card" href="/archive/toshiba-qosmio-x500/"><p class="gw-card-meta">Originally published 2009</p><h3>Toshiba Qosmio X500: The 18-Inch Gaming Laptop, Revisited</h3><p class="gw-card-t">In late 2009 this site reported the launch of the Toshiba Qosmio X500, an 18.4 inch gaming laptop finished in red and black that weighed about as much as a small suitcase.</p></a><a class="gw-card" href="/archive/what-if-you-spoke-like-you-commented/"><p class="gw-card-meta">Originally published 2010</p><h3>What If You Spoke Like You Commented? Internet Comment Culture Since 2010</h3><p class="gw-card-t">The 2010 post was a joke with an edge: a sketch of what a dinner party would sound like if everyone spoke the way they typed under news articles.</p></a><a class="gw-card" href="/archive/concept-gadgets-2010/"><p class="gw-card-meta">Originally published 2010</p><h3>Concept Gadgets of 2010: The Spider PC, Eye-Controlled Laptops and the First Quantum Computer for Sale</h3><p class="gw-card-t">Around 2010 this site ran a steady stream of concept and prototype stories.</p></a><a class="gw-card" href="/archive/facebook-2011-payments-video-chat/"><p class="gw-card-meta">Originally published 2011</p><h3>Facebook in 2011: Video Calling and Payments Between Friends, Revisited</h3><p class="gw-card-t">Two Facebook stories on this site in 2011 pointed at the same idea: that the social network wanted to be the place where you called your friends and paid them back.</p></a><a class="gw-card" href="/archive/gps-rescue-stories/"><p class="gw-card-meta">Originally published 2009</p><h3>GPS Rescue Stories: When a Satellite Fix Saved Someone, and What to Carry Now</h3><p class="gw-card-t">In 2009 a consumer GPS unit was a small grey brick with a monochrome map, and this site collected the stories of people it had saved: hikers, sailors, a family stranded on a remote island.</p></a><a class="gw-card" href="/archive/3d-screens-2010/"><p class="gw-card-meta">Originally published 2010</p><h3>3D Screens in 2010: Health Warnings, Glasses-Free Laptops and Why It Faded</h3><p class="gw-card-t">For about three years after 2009, 3D was the feature every screen maker pushed: televisions, laptops, all-in-one PCs, even phone cameras.</p></a><a class="gw-card" href="/archive/android-vs-ios-2011/"><p class="gw-card-meta">Originally published 2011</p><h3>Android vs iOS in 2011: App Sales Worries, Market Share and the Honeycomb Source Fight</h3><p class="gw-card-t">In 2011 the smartphone platform contest was live and uncertain, and this site covered its turning points.</p></a><a class="gw-card" href="/archive/acer-laptops-2009/"><p class="gw-card-meta">Originally published 2009</p><h3>Acer in 2009: Overtaking Dell and the Budget Notebooks That Did It</h3><p class="gw-card-t">In late 2009 this site reported that Acer had overtaken Dell as the second-largest PC maker in the world.</p></a><a class="gw-card" href="/archive/apple-iphone-ipad-2012/"><p class="gw-card-meta">Originally published 2012</p><h3>Apple in 2012: Liquidmetal Rumours, iPhone 5 Prices, the iPad Mini and Apple Maps</h3><p class="gw-card-t">2012 was a heavy year for Apple stories on this site.</p></a><a class="gw-card" href="/archive/tablets-and-ereaders-2010/"><p class="gw-card-meta">Originally published 2010</p><h3>Tablets and E-Readers in 2010: Sony&#x27;s Tablet, MeeGo, the Kindle Controversy and a Better Bookmark</h3><p class="gw-card-t">The iPad launched in April 2010 and every other manufacturer spent the next eighteen months responding.</p></a><a class="gw-card" href="/archive/commodore-64-comeback/"><p class="gw-card-meta">Originally published 2011</p><h3>The Commodore 64x: When the C64 Came Back as a Real PC</h3><p class="gw-card-t">This site covered it twice: first the announcement that a company trading as Commodore USA would release the C64x, then the news that the Commodore 64 was back as a fully functional PC.</p></a></div></section>
</div>
<div class="gw-man-col"><div class="gw-man-col-in"><aside class="gw-spec gw-hub-rail" aria-label="Guides in this section"><p class="gw-spec-h">In this section</p><div class="gw-rail-scroll"><table class="gw-table gw-compact"><caption class="gw-vh">Retrospectives in this section, with the original year</caption><thead><tr><th scope="col">Retrospective</th><th scope="col" class="gw-r">Year</th></tr></thead><tbody><tr><td><a href="/archive/lg-electronics-mexico-plants/">LG Electronics and Its Mexican Plants: The 2009 Reorganisation, Revisited</a></td><td class="gw-r">2009</td></tr><tr><td><a href="/archive/20-optical-illusions/">20 Optical Illusions That Will Have You Stumped (Rebuilt)</a></td><td class="gw-r">2009</td></tr><tr><td><a href="/archive/brain-hacks-think-faster/">9 Ways to Hack Your Brain to Think Faster: What Held Up</a></td><td class="gw-r">2010</td></tr><tr><td><a href="/archive/please-rob-me/">Please Rob Me: The 2010 Site That Warned About Location Oversharing</a></td><td class="gw-r">2010</td></tr><tr><td><a href="/archive/toshiba-qosmio-x500/">Toshiba Qosmio X500: The 18-Inch Gaming Laptop, Revisited</a></td><td class="gw-r">2009</td></tr><tr><td><a href="/archive/what-if-you-spoke-like-you-commented/">What If You Spoke Like You Commented? Internet Comment Culture Since 2010</a></td><td class="gw-r">2010</td></tr><tr><td><a href="/archive/concept-gadgets-2010/">Concept Gadgets of 2010: The Spider PC, Eye-Controlled Laptops and the First Quantum Computer for Sale</a></td><td class="gw-r">2010</td></tr><tr><td><a href="/archive/facebook-2011-payments-video-chat/">Facebook in 2011: Video Calling and Payments Between Friends, Revisited</a></td><td class="gw-r">2011</td></tr><tr><td><a href="/archive/gps-rescue-stories/">GPS Rescue Stories: When a Satellite Fix Saved Someone, and What to Carry Now</a></td><td class="gw-r">2009</td></tr><tr><td><a href="/archive/3d-screens-2010/">3D Screens in 2010: Health Warnings, Glasses-Free Laptops and Why It Faded</a></td><td class="gw-r">2010</td></tr><tr><td><a href="/archive/android-vs-ios-2011/">Android vs iOS in 2011: App Sales Worries, Market Share and the Honeycomb Source Fight</a></td><td class="gw-r">2011</td></tr><tr><td><a href="/archive/acer-laptops-2009/">Acer in 2009: Overtaking Dell and the Budget Notebooks That Did It</a></td><td class="gw-r">2009</td></tr><tr><td><a href="/archive/apple-iphone-ipad-2012/">Apple in 2012: Liquidmetal Rumours, iPhone 5 Prices, the iPad Mini and Apple Maps</a></td><td class="gw-r">2012</td></tr><tr><td><a href="/archive/tablets-and-ereaders-2010/">Tablets and E-Readers in 2010: Sony&#x27;s Tablet, MeeGo, the Kindle Controversy and a Better Bookmark</a></td><td class="gw-r">2010</td></tr><tr><td><a href="/archive/commodore-64-comeback/">The Commodore 64x: When the C64 Came Back as a Real PC</a></td><td class="gw-r">2011</td></tr></tbody></table></div><dl><dt>Retrospectives</dt><dd>15</dd><dt>Reviewed</dt><dd>September 2026</dd><dt>Affiliate links</dt><dd>None</dd></dl></aside><nav class="gw-others" aria-label="Other sections"><p class="gw-others-h">Other sections</p><ul><li><a href="/how-to/">How-To</a><span class="gw-n">16 guides</span></li><li><a href="/laptop-care/">Laptop Care</a><span class="gw-n">7 guides</span></li><li><a href="/laptop-buying-guide/">Buying Guide</a><span class="gw-n">9 guides</span></li><li><a href="/projects/">Projects</a><span class="gw-n">3 projects</span></li><li><a href="/authorship-record/">Authorship</a><span class="gw-n">11 guides</span></li></ul></nav></div></div></div></main><footer class="gw-foot"><div class="gw-wrap">
<div class="gw-foot-brand"><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"><rect x=".5" y=".5" width="27" height="27" rx="6.5" fill="var(--gw-surface)" stroke="var(--gw-border)"/><rect x="8" y="9" width="9" height="4" rx="1" fill="var(--gw-primary)"/><rect x="6" y="17" width="16" height="1.75" rx=".875" fill="var(--gw-signal)"/></svg><p>Practical laptop knowledge, kept honest. Guides checked by a person, no affiliate links, no ads, no cookies.</p></div>
<div class="gw-foot-grid"><div><p class="gw-foot-h">How-To</p><ul><li><a href="/how-to/connect-laptop-to-tv/">How to Connect a Laptop to a TV</a></li><li><a href="/how-to/print-screen-on-laptop/">How to Print Screen on a Laptop</a></li><li><a href="/how-to/recover-windows-password/">Forgot Your Windows Password?</a></li><li><a href="/how-to/">All how-to guides</a></li></ul></div><div><p class="gw-foot-h">Care and buying</p><ul><li><a href="/laptop-care/">Laptop care</a></li><li><a href="/laptop-care/clean-laptop-screen/">Clean a laptop screen</a></li><li><a href="/laptop-buying-guide/">Buying guide</a></li><li><a href="/laptop-buying-guide/compare-laptops/">Compare laptops</a></li><li><a href="/laptop-buying-guide/gaming-laptops/">Gaming laptops</a></li></ul></div><div><p class="gw-foot-h">Projects and archive</p><ul><li><a href="/projects/clean-archives/">Clean Archives plugin</a></li><li><a href="/projects/desk-mess-wordpress-theme/">Desk Mess theme</a></li><li><a href="/archive/">From the archive</a></li><li><a href="/archive/20-optical-illusions/">20 optical illusions</a></li></ul></div><div><p class="gw-foot-h">Site</p><ul><li><a href="/about/">About</a></li><li><a href="https://forum.geekwithlaptop.com/">Community forum</a></li><li><a href="/contact/">Contact</a></li><li><a href="/privacy/">Privacy</a></li><li><a href="/terms/">Terms</a></li></ul></div></div>
<div class="gw-foot-bar"><p>&copy; 2026 Geek With Laptop</p><p>Reviewed by a person. Edited by Marcus Hale. Relaunched 2026.</p></div>
</div></footer><script>(function(){var d=document.documentElement,tb=document.getElementById('gwtheme'),tm=document.querySelector('meta[name="theme-color"]');
function syncT(){var l=d.classList.contains('light');if(tb){tb.setAttribute('aria-pressed',l?'true':'false');tb.setAttribute('aria-label',l?'Switch to dark theme':'Switch to light theme');}if(tm)tm.setAttribute('content',l?'#f3f5f8':'#0f141a');}
syncT();if(tb)tb.addEventListener('click',function(){var l=d.classList.toggle('light');try{localStorage.setItem('gw-theme',l?'light':'dark');}catch(e){}syncT();});
var bg=document.getElementById('gwburger'),dr=document.getElementById('gwdrawer');
if(bg&&dr){var links=function(){return Array.prototype.slice.call(dr.querySelectorAll('a[href]'));};
var isOpen=function(){return bg.getAttribute('aria-expanded')==='true';};
var setNav=function(o,focus){dr.hidden=!o;bg.setAttribute('aria-expanded',o?'true':'false');bg.setAttribute('aria-label',o?'Close menu':'Open menu');if(focus){if(o){var l=links();if(l.length)l[0].focus();}else bg.focus();}};
bg.addEventListener('click',function(){setNav(!isOpen(),true);});
document.addEventListener('keydown',function(e){if(!isOpen())return;if(e.key==='Escape'){e.preventDefault();setNav(false,true);return;}
if(e.key==='Tab'){var ring=[bg].concat(links()),i=ring.indexOf(document.activeElement);if(i===-1){e.preventDefault();ring[0].focus();return;}
if(e.shiftKey&&i===0){e.preventDefault();ring[ring.length-1].focus();}else if(!e.shiftKey&&i===ring.length-1){e.preventDefault();ring[0].focus();}}});
document.addEventListener('click',function(e){if(isOpen()&&!dr.contains(e.target)&&!bg.contains(e.target))setNav(false,false);});
var mq=window.matchMedia?matchMedia('(min-width: 900px)'):null;if(mq){var onmq=function(e){if(e.matches&&isOpen())setNav(false,false);};if(mq.addEventListener)mq.addEventListener('change',onmq);else if(mq.addListener)mq.addListener(onmq);}}
Array.prototype.forEach.call(document.querySelectorAll('.gw-toc-m a'),function(a){a.addEventListener('click',function(){var dt=a.closest('details');if(dt)dt.open=false;});});
if(!('IntersectionObserver' in window))return;
var tl=Array.prototype.slice.call(document.querySelectorAll('.gw-toc a[href^="#"]')),map={};
tl.forEach(function(a){var id=a.getAttribute('href').slice(1),el=document.getElementById(id);if(el)map[id]={a:a,el:el};});
if(!tl.length)return;var cur=null;
var set=function(id){if(id===cur)return;cur=id;tl.forEach(function(a){a.removeAttribute('aria-current');});if(map[id])map[id].a.setAttribute('aria-current','true');};
var io=new IntersectionObserver(function(){var vis=Object.keys(map).map(function(k){return map[k];}).filter(function(m){return m.el.getBoundingClientRect().top<window.innerHeight*0.35;});if(vis.length)set(vis[vis.length-1].el.id);},{rootMargin:'-84px 0px -60% 0px',threshold:[0,1]});
Object.keys(map).forEach(function(k){io.observe(map[k].el);});})();</script>
</body></html>