.capabilities-intro{max-width:560px;color:var(--muted);margin:20px 0 36px}.capability-row{border-top:1px solid var(--line);padding:0}.capability-row:last-child{border-bottom:1px solid var(--line)}.capability-row>summary{cursor:pointer;align-items:center;gap:24px;padding:26px 0;list-style:none;display:flex}.capability-row>summary::-webkit-details-marker{display:none}.capability-index{color:var(--accent);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:7px;font-size:12px}.capability-row h3{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(23px,3vw,35px);line-height:1.1}.capability-row summary p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.capability-preview{color:var(--muted);gap:16px;margin-left:auto;display:flex}.capability-plus{text-align:center;width:28px;color:var(--accent);font-size:28px;font-weight:400}.technology-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0;width:30px;height:30px;display:block}.capability-body{max-width:920px;padding:0 0 30px 40px}.capability-body>p{max-width:670px;color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.75}.capability-row[open] .capability-body{animation:.28s cubic-bezier(.2,.7,.3,1) archive-reveal}.technology-buttons{flex-wrap:wrap;gap:10px;display:flex}.technology-buttons button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:52px;padding:12px 16px;font:500 14px/1.3 Inter,Arial,sans-serif;transition:border-color .2s,transform .2s,background .2s;display:flex}.technology-buttons button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--panel));box-shadow:inset 0 -2px var(--accent)}.technology-buttons button:hover{border-color:var(--accent)}.technology-buttons button:active{transform:scale(.97)}.technology-buttons button:hover .technology-icon{transform:translateY(-2px)}.technology-buttons .technology-icon{width:26px;height:26px;transition:transform .2s}.technology-projects{border-top:1px dashed var(--line);margin-top:26px;padding-top:20px}.technology-projects>span{color:var(--muted);font-size:12px}.technology-projects>div{flex-wrap:wrap;gap:8px 26px;margin-top:8px;animation:.22s ease-out archive-reveal;display:flex}.technology-projects a{text-underline-offset:5px;align-items:center;gap:24px;min-height:44px;font-size:15px;font-weight:500;text-decoration:underline;display:inline-flex}.technology-projects a span{color:var(--accent)}.football-intro{border-top:3px solid #dc2626;min-width:0;padding-top:20px}.football-intro-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.football-intro-heading .world-label{margin:0}.football-intro h2{letter-spacing:-.05em;margin:0 0 20px;font-size:clamp(35px,4.2vw,58px);line-height:1.06}.football-intro>p{color:var(--muted);max-width:470px;margin-bottom:24px;font-size:16px;line-height:1.7}.football-intro-note{margin-top:24px}.football-intro-note h3{letter-spacing:-.035em;margin:0 0 12px;font-size:23px}.football-intro-note p{color:var(--muted);margin:0 0 12px;font-size:15px;line-height:1.75}.football-intro .wm-cannon{color:var(--accent)}.personal-gallery{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.personal-gallery-stage{aspect-ratio:1.2;background:#161313;width:100%;max-height:400px;position:relative;overflow:hidden}.personal-gallery-slide{opacity:0;visibility:hidden;grid-template-rows:minmax(0,1fr) auto;gap:12px;margin:0;padding:18px;transition:opacity .55s,visibility .55s;display:grid;position:absolute;inset:0}.personal-gallery-slide.is-active{opacity:1;visibility:visible;z-index:1}.personal-gallery-slide img{object-fit:contain;object-position:center;width:100%;height:100%;min-height:0;display:block}.personal-gallery-slide.is-compact{background:#e8e4de;place-items:center;padding:30px 24px 24px}.personal-gallery-slide.is-compact img{box-sizing:content-box;border:7px solid #fff;width:204px;max-width:100%;height:192px;transform:rotate(-3deg);box-shadow:0 5px 25px #0002}.personal-gallery-slide figcaption{color:#f5f0ec;text-align:center;gap:4px;width:100%;line-height:1.4;display:grid}.personal-gallery-slide figcaption strong{letter-spacing:-.04em;font-family:Space Grotesk,Inter,Arial,sans-serif;font-size:22px}.personal-gallery-slide figcaption span{font-size:12px}.personal-gallery-slide.is-compact figcaption{color:#262222}.personal-gallery-controls{background:var(--panel);border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.personal-gallery-controls button{border:1px solid var(--line);min-width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;font:500 20px/1 Inter,Arial,sans-serif;transition:background .2s,transform .2s}.personal-gallery-controls button:hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel));border-color:var(--accent)}.personal-gallery-controls button:active{transform:scale(.94)}.personal-gallery-controls>span{letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:12px}.personal-gallery-controls .gallery-play{border:0;border-radius:5px;align-items:center;gap:12px;margin-left:auto;padding:0 10px;font-size:13px;display:flex}.personal-gallery-controls button:disabled{opacity:.55;cursor:default}.gallery-motion-note{color:var(--muted);margin:0;padding:0 16px 12px;font-size:12px}.personal-gallery .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.character-list{border-top:1px solid var(--line);margin-top:36px}.character-entry{border-bottom:1px solid var(--line);grid-template-columns:24px 152px minmax(0,1fr) auto;grid-template-areas:"number portrait summary action"".portrait explanation explanation";align-items:center;gap:0 20px;padding:26px 0;display:grid}.character-number{color:var(--accent);grid-area:number;align-self:start;padding-top:5px;font-size:12px}.character-summary{grid-area:summary}.character-summary .world-label{margin:0 0 8px;font-size:11px}.character-summary h3{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(24px,3vw,34px);line-height:1.15}.character-summary>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.character-entry>button{border:1px solid var(--line);min-height:48px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;grid-area:action;align-items:center;gap:22px;padding:10px 14px;font:500 13px/1.4 Inter,Arial,sans-serif;transition:border-color .2s,background .2s;display:flex}.character-entry>button span{color:var(--accent);font-size:20px}.character-entry>button:hover,.character-entry[data-expanded=true]>button{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.character-explanation{grid-area:explanation;max-width:720px}.character-explanation:not([hidden]){animation:.3s cubic-bezier(.2,.7,.3,1) archive-reveal}.character-explanation p{border-left:2px solid var(--accent);margin:20px 0 0;padding-left:20px;font-size:16px;line-height:1.8}.character-portrait{aspect-ratio:3/4;border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-area:portrait;align-self:start;place-items:center;padding:8px;display:grid}.character-portrait img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block}.journal-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px;display:flex}.journal-heading>p{color:var(--muted);margin:0 0 5px;font-size:15px;line-height:1.7}.football-memory{border-top:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,80px);padding:34px 0 60px;display:grid}.memory-portrait{min-width:0;margin:0}.memory-portrait img{aspect-ratio:1.05;object-fit:cover;object-position:50% 20%;border-radius:8px;width:100%;height:auto;display:block}.memory-portrait figcaption{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.6}.memory-portrait figcaption span{display:block}.memory-portrait figcaption a{text-underline-offset:3px;text-decoration:underline}.memory-date{color:var(--muted);justify-content:space-between;gap:16px;margin-bottom:26px;font-size:11px;line-height:1.5;display:flex}.memory-copy>.world-label{margin-bottom:12px;font-size:11px;line-height:1.6}.memory-copy h3{letter-spacing:-.045em;margin:0 0 22px;font-size:clamp(30px,3.7vw,48px);line-height:1.1}.memory-result{border-block:1px solid var(--line);align-items:center;gap:20px;margin-bottom:24px;padding:14px 0;display:flex}.memory-result>strong{letter-spacing:-.05em;color:var(--accent);white-space:nowrap;font:600 32px/1 Space Grotesk,Inter,Arial,sans-serif}.memory-result>span{font-size:13px;font-weight:500;line-height:1.5}.memory-result small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.memory-copy>p:not(.world-label),.memory-more p{color:var(--muted);font-size:16px;line-height:1.85}.memory-more{border-top:1px solid var(--line);margin-bottom:16px}.memory-more summary,.gaming-setup summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;font-size:14px;font-weight:500;list-style:none;display:flex}.memory-more summary::-webkit-details-marker{display:none}.gaming-setup summary::-webkit-details-marker{display:none}.memory-more summary span,.gaming-setup summary span{color:var(--accent);font-size:23px}.memory-more[open] summary span,.gaming-setup details[open] summary span{transform:rotate(45deg)}.memory-heartbreak .memory-portrait{order:2}.memory-heartbreak .memory-portrait img{aspect-ratio:.95;object-position:50% 15%}.memory-heartbreak .memory-copy{order:1}.journal-photo-note{color:var(--muted);max-width:750px;margin:0 0 32px;line-height:1.7;font-size:11px!important}.journal-london{border-left:3px solid var(--accent);background:var(--panel);max-width:none!important;margin-top:0!important;padding:28px 32px!important}.journal-london h3{margin:0 0 14px;font-size:28px}.journal-london p:last-child{max-width:750px;color:var(--muted);margin:0;font-size:15px;line-height:1.8}.gaming-journal{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);display:grid}.gaming-journal h2{margin-bottom:22px}.gaming-journal>div>p:not(.world-label){color:var(--muted);max-width:450px;font-size:16px;line-height:1.8}.gaming-setup ol{margin:24px 0;padding:0;list-style:none}.gaming-setup li{border-top:1px solid var(--line);align-items:start;gap:20px;padding:18px 0;display:flex}.gaming-setup li>span{color:var(--accent);padding-top:4px;font-size:11px}.gaming-setup strong{letter-spacing:-.03em;font-family:Space Grotesk,Inter,Arial,sans-serif;font-size:21px}.gaming-setup li p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.6}.gaming-setup details{border-block:1px solid var(--line);margin-bottom:16px}.gaming-setup details p{color:var(--muted);font-size:15px;line-height:1.8}.capability-row>summary:focus-visible,.technology-buttons button:focus-visible,.character-entry>button:focus-visible,.personal-gallery button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@keyframes archive-reveal{0%{transform:translateY(6px)}to{transform:translateY(0)}}@media (width>=1000px){.football-memory.memory-heartbreak{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}}@media (width<=760px){.capability-row>summary{gap:14px;padding:22px 0}.capability-preview{gap:8px}.capability-preview .technology-icon{width:22px;height:22px}.capability-body{padding-left:0}.capability-row h3{font-size:25px}.capability-row summary p{font-size:13px}.technology-buttons{gap:8px}.technology-buttons button{padding:10px 12px;font-size:13px}.personal-gallery-stage{aspect-ratio:1.08}.personal-gallery-slide.is-compact{padding:18px}.personal-gallery-slide.is-compact img{border-width:6px;width:184px;height:auto}.personal-gallery-slide figcaption strong{font-size:20px}.personal-gallery-slide figcaption span{font-size:11px}.character-entry{grid-template-columns:18px clamp(92px,25vw,116px) minmax(0,1fr);grid-template-areas:"number portrait summary"".portrait action"".explanation explanation";gap:10px;padding:22px 0}.character-portrait{padding:4px}.character-entry>button{justify-self:start;gap:10px;padding-inline:10px}.character-explanation p{margin-top:8px}.character-summary h3{font-size:27px}.journal-heading{margin-bottom:24px;display:block}.journal-heading>p{margin-top:18px}.football-memory{grid-template-columns:1fr;gap:24px;padding-bottom:40px}.memory-heartbreak .memory-portrait,.memory-heartbreak .memory-copy{order:initial}.memory-portrait img,.memory-heartbreak .memory-portrait img{aspect-ratio:1.12;object-position:50% 19%}.memory-date{margin-bottom:16px}.memory-copy h3{font-size:35px}.memory-copy>p:not(.world-label),.memory-more p{font-size:15px;line-height:1.85}.journal-london{padding:24px!important}.gaming-journal{grid-template-columns:1fr;gap:24px}}@media (width<=380px){.capability-preview{display:none}.capability-plus{margin-left:auto}.personal-gallery-stage{aspect-ratio:.96}.personal-gallery-controls{gap:8px;padding:10px}.personal-gallery-slide.is-compact img{width:170px}.personal-gallery-slide figcaption span{max-width:210px;margin:auto}.memory-date{gap:8px;font-size:11px}.character-summary h3{font-size:25px}}@media (prefers-reduced-motion:reduce){.personal-gallery-slide,.technology-buttons button,.technology-icon,.personal-gallery-controls button,.character-entry>button{transition:none}.capability-row[open] .capability-body,.technology-projects>div,.character-explanation:not([hidden]){animation:none}.technology-buttons button:hover .technology-icon{transform:none}}
