/*
SPDX-License-Identifier: CPAL-1.0
The contents of this file are subject to the Common Public Attribution License
Version 1.0 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy at https://opensource.org/license/cpal-1.0
and in the accompanying LICENSE file, including its completed Exhibit B.
The License is based on the Mozilla Public License Version 1.1 but Sections 14
and 15 have been added to cover use of software over a computer network and
provide for limited attribution for the Original Developer. In addition,
Exhibit A has been modified to be consistent with Exhibit B.
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.
The Original Code is the 99½ REBORN browser driving game and Buttercup memorial
website. The Initial Developer and Original Developer is Justin Tahai.
All portions of the code written by Justin Tahai are Copyright (c) 2026
Justin Tahai. All Rights Reserved. Contributors: see CONTRIBUTORS.md.
Attribution: In loving memory — Buttercup, Justin Tahai's 99.5 mkIV
No alternative license is designated by this release.
*/
:root{color-scheme:dark;--bg:#0c1114;--panel:#11191c;--ink:#f0ece4;--muted:#acb4b5;--gold:#dcbb80;--line:#2c3537;--soft:#182124;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block;height:auto}figure{margin:0}p{margin:0 0 1em}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.04em}h2{font-size:clamp(34px,4.2vw,55px);line-height:1.12}h2 em,h1 em{font-weight:400;color:var(--gold)}h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-bottom:15px}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:#0c1114}.page-width{max-width:1296px;margin:0 auto;padding-left:48px;padding-right:48px}.skip-link{position:fixed;z-index:100;top:10px;left:10px;background:var(--gold);color:#101519;padding:14px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(12,17,20,.96)}.nav-wrap{max-width:1400px;margin:auto;padding:19px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px;line-height:1}.brand>b{font-size:41px;letter-spacing:-.09em;line-height:1;font-weight:800;font-style:italic}.brand sup{font-size:23px;position:relative;top:-.09em;margin-left:3px;letter-spacing:-.06em}.brand>span{font-size:17px;font-weight:650;letter-spacing:.2em}.brand small{display:block;font-size:7px;letter-spacing:.17em;color:var(--muted);padding-top:7px;font-weight:500}.site-header nav{display:flex;gap:30px;font-size:13px;color:#c7cdca}.site-header nav a{padding:12px 0}.site-header nav a:hover,.text-link:hover,.footer-bottom a:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:17px 25px;background:var(--gold);color:#161b1c;font-size:14px;font-weight:650;border:1px solid var(--gold);border-radius:3px;min-height:52px;transition:background .18s,transform .18s}.button:hover{background:#efce95;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400;line-height:1}.button.small{padding:11px 18px;min-height:42px;font-size:12px}.button.full{width:100%;justify-content:space-between}.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:15px 20px;font-size:14px;border-radius:3px;min-height:50px}.secondary-button:hover{border-color:var(--gold)}.attribution-banner{padding:17px 24px;text-align:center;border-bottom:1px solid #212b2d;background:linear-gradient(90deg,#101719,#161d1e,#101719)}.attribution-banner p{font-size:15px;line-height:1.5;letter-spacing:.02em;color:#e6d4b4;margin:0 0 4px}.attribution-banner small{color:#a0abaa;font-size:10px;letter-spacing:.08em}.attribution-banner small span{padding:0 5px}.attribution-banner small a{text-decoration:underline;text-underline-offset:3px}.memorial-layout{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.08fr);gap:76px;padding-top:60px;padding-bottom:90px;align-items:start}.portrait-inner{position:sticky;top:115px}.memory-portrait{align-self:stretch;min-width:0}.section-marker,.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;line-height:1.6;color:var(--muted)}.section-marker{display:flex;align-items:center;gap:10px}.gold-dot{display:inline-block;width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0}.hero-wordmark{display:flex;align-items:baseline;gap:21px;margin:22px 0 27px}.hero-wordmark>span{font-size:clamp(76px,8.6vw,114px);font-weight:750;font-style:italic;letter-spacing:-.095em;line-height:1;color:#f4eee4}.hero-wordmark sup{font-size:.45em;position:relative;top:-.10em;margin-left:8px;letter-spacing:-.08em}.hero-wordmark>b{font-weight:400;letter-spacing:.13em;font-size:clamp(22px,2.5vw,32px);color:var(--gold)}.portrait-art{border:1px solid #37413f;box-shadow:0 20px 70px #0005;background:#101416}.portrait-art img{width:100%;aspect-ratio:16/9;object-fit:cover}.portrait-art figcaption{padding:11px 13px;font-size:8px;letter-spacing:.16em;color:#cbd0cd;display:flex;justify-content:space-between;background:#151d20}.portrait-art figcaption span{color:#8c9b9d}.car-detail{display:flex;justify-content:space-between;font-size:10px;font-weight:500;letter-spacing:.12em;padding:20px 0;border-bottom:1px solid var(--line);color:#c4cdca}.car-detail span:first-child{color:var(--gold)}.portrait-quote{font-family:var(--serif);font-size:29px;line-height:1.2;font-style:italic;margin:26px 0 22px}.under-button{text-align:center;font-size:11px;color:var(--muted);padding-top:12px;margin-bottom:15px}.portrait-links{display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.5}.portrait-links a,.portrait-links button{color:#afbaba}.portrait-links button{border:0;background:none;padding:0;text-align:right}.portrait-links a:hover,.portrait-links button:hover{color:var(--gold)}.status-text{min-height:1.3em;font-size:12px;color:var(--gold);line-height:1.6;margin:10px 0 0}.tribute-copy{font-family:var(--serif);font-size:20px;line-height:1.75;color:#d1d5d1}.tribute-copy>.eyebrow{font-family:var(--sans);margin:0 0 20px;color:var(--gold)}.eyebrow span{margin:0 8px;opacity:.6}.tribute-copy h1{font-size:clamp(38px,4.3vw,57px);color:var(--ink);line-height:1.08;margin:0 0 27px;max-width:12.5em}.tribute-copy>p{margin-bottom:25px}.tribute-copy .yes-the-car{font-style:italic;color:var(--gold);font-size:25px;margin-bottom:33px}.tribute-copy .heart-of-it{font-size:27px;line-height:1.45;color:var(--ink);border-left:2px solid var(--gold);padding:9px 0 9px 24px;margin:31px 0}.tribute-copy .invitation{color:var(--gold);font-style:italic;font-size:24px;line-height:1.45}.tribute-copy .introduction{font-family:var(--sans);color:var(--ink);font-size:23px;font-weight:600;line-height:1.4;margin-top:30px;margin-bottom:27px;letter-spacing:-.025em}.tribute-copy .last-line{color:var(--gold);font-weight:700;font-size:27px;line-height:1.3;margin:30px 0}.signature{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.signature>span{font-family:var(--serif);font-style:italic;font-size:29px;color:#e0d5bf}.signature small{font-family:var(--sans);font-size:8px;letter-spacing:.12em;color:var(--muted);line-height:1.6;text-align:right}.drive-section{border-block:1px solid var(--line);background:radial-gradient(ellipse at 80% 25%,#21333860,transparent 60%),#11191d}.drive-grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:65px;padding-block:82px;align-items:center}.drive-copy>.eyebrow{color:var(--gold);margin-bottom:22px}.drive-copy>p:not(.eyebrow):not(.build-note){font-size:15px;line-height:1.85;color:#b5c0c0;margin:25px 0 22px;max-width:36em}.mode-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.mode-tags span{border:1px solid #344246;border-radius:2px;padding:7px 9px;font-size:8px;letter-spacing:.075em;color:#b7c4c5}.text-link{display:inline-block;font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:5px;background:none;border:0;color:var(--gold);padding:0}.drive-copy>.text-link{display:block;margin-top:20px}.build-note{font-size:11px;color:#9aa9ab;line-height:1.8;margin:21px 0 0}.game-shot{position:relative;padding:14px;background:#0b1418;border:1px solid #324147;box-shadow:0 25px 80px #0005;transform:rotate(-1deg)}.game-shot img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center}.game-shot figcaption{font-size:8px;letter-spacing:.12em;display:flex;align-items:center;gap:9px;padding:15px 3px 2px;color:#b4c1c2}.game-shot figcaption>span:last-child{margin-left:auto;color:#7e9297}.legacy-section{padding-top:90px;padding-bottom:95px}.legacy-intro{max-width:800px}.legacy-intro .eyebrow{color:var(--gold);margin-bottom:23px}.legacy-intro>p:last-child{font-size:16px;line-height:1.85;color:#b3bdbb;max-width:660px;margin:25px 0 0}.dedication-card{position:relative;margin:40px 0 42px;padding:33px 40px 25px;background:linear-gradient(120deg,#202a29,#11191c);border:1px solid #41463b;border-left:3px solid var(--gold)}.dedication-card>.eyebrow{color:var(--gold);font-size:9px}.dedication-card blockquote{font-family:var(--serif);font-size:clamp(24px,3.6vw,40px);letter-spacing:-.02em;line-height:1.4;margin:14px 0 17px;max-width:25em}.dedication-tools{display:flex;align-items:center;gap:20px}.dedication-tools .text-link{font-size:11px}.dedication-tools .status-text{margin:0;min-height:0}.legacy-details{display:grid;grid-template-columns:1.15fr .85fr;gap:82px}.legacy-details p{font-size:14px;line-height:1.85;color:#aab8b8;margin-bottom:20px}.source-box{border:1px solid #354145;padding:26px 30px;background:#10191d}.source-box .button{margin-top:5px}.source-box small{display:block;font-size:10px;color:#9dadaf;line-height:1.65;margin-top:14px}.closing{text-align:center;border-top:1px solid var(--line);padding:80px 24px 88px;background:radial-gradient(ellipse at bottom,#27302c 0,transparent 70%)}.closing>p{font-family:var(--serif);font-size:clamp(26px,3.3vw,42px);margin-bottom:7px;letter-spacing:-.03em}.closing h2{font-size:clamp(42px,5.7vw,76px);font-weight:400;margin-bottom:33px}.closing h2 em{font-style:normal}.site-footer{border-top:1px solid var(--line);padding:36px 48px 27px;max-width:1400px;margin:auto}.footer-top{display:flex;align-items:center;gap:30px;justify-content:space-between;padding-bottom:31px;border-bottom:1px solid var(--line)}.footer-top>p{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:19px;margin:0}.footer-top>a:last-child{font-size:11px;color:var(--muted)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0 22px}.footer-bottom p{font-size:12px;line-height:1.6;color:#d4c9b3;margin-bottom:5px}.footer-bottom small{font-size:9px;line-height:1.7;color:#8a9a9e}.footer-bottom nav{display:flex;gap:22px;font-size:11px;white-space:nowrap;color:#b4c0c2}.disclaimer{font-size:10px;color:#92a1a4;line-height:1.7;max-width:1040px;margin:0}.document-page{max-width:1000px;padding-top:65px;padding-bottom:95px}.document-page>.eyebrow{color:var(--gold);margin-bottom:24px}.document-page h1{font-size:clamp(45px,6vw,75px);line-height:1.1;margin:0 0 27px}.document-lead{font-family:var(--serif);font-size:24px;line-height:1.6;color:#bec8c5;max-width:37em}.document-page section{border-top:1px solid var(--line);padding-top:35px;margin-top:38px}.document-page section h2{font-size:31px;letter-spacing:-.025em;margin-bottom:22px}.document-page section>p{font-size:16px;line-height:1.85;color:#b6c1c0}.document-page p a{text-decoration:underline;text-underline-offset:4px;color:var(--gold)}.license-quote{font-family:var(--serif);font-size:clamp(24px,4vw,39px);color:var(--gold);line-height:1.45;margin:30px 0;border-left:2px solid var(--gold);padding-left:25px}.document-actions{display:flex;gap:14px;flex-wrap:wrap;margin:25px 0}.document-page .muted{font-size:13px}
@media(min-width:1500px){.page-width{max-width:1376px}.memorial-layout{gap:94px}.tribute-copy{font-size:21px}.portrait-inner{top:115px}}
@media(max-width:1100px){.page-width{padding-inline:35px}.nav-wrap{padding-inline:35px;gap:20px}.site-header nav{gap:20px}.memorial-layout{gap:45px;grid-template-columns:.85fr 1.05fr}.hero-wordmark{gap:14px}.hero-wordmark>span{font-size:80px}.hero-wordmark>b{font-size:25px;letter-spacing:.10em}.tribute-copy{font-size:19px}.tribute-copy h1{font-size:44px}.portrait-links{flex-direction:column;align-items:flex-start;gap:9px}.drive-grid{gap:40px}.legacy-details{gap:45px}.site-footer{padding-inline:35px}.footer-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){html{scroll-padding-top:110px}.nav-wrap{padding:16px 24px;gap:14px;flex-wrap:wrap}.brand>b{font-size:35px}.brand sup{font-size:19px}.brand>span{font-size:14px}.site-header nav{order:3;width:100%;justify-content:center;font-size:11px;gap:32px;margin-top:1px}.site-header nav a{padding:4px 0}.button.small{font-size:10px;padding:10px 13px;min-height:38px;gap:10px}.attribution-banner{padding:14px 23px}.attribution-banner p{font-size:13px;max-width:38em;margin:0 auto 5px}.attribution-banner small{font-size:8px;line-height:1.6}.page-width{padding-inline:24px}.memorial-layout{grid-template-columns:1fr;gap:0;padding-top:33px;padding-bottom:48px}.memory-portrait{order:2;padding-top:25px}.portrait-inner{position:static}.tribute-copy{order:1;font-size:19px;line-height:1.75}.tribute-copy h1{font-size:clamp(39px,7vw,54px);line-height:1.1;max-width:14em}.tribute-copy .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:19px}.tribute-copy .yes-the-car{font-size:24px;margin-bottom:28px}.tribute-copy .heart-of-it{font-size:25px;margin:29px 0;padding-left:20px}.tribute-copy .invitation{font-size:23px}.tribute-copy .introduction{font-size:21px}.tribute-copy .last-line{font-size:26px}.signature{margin-top:24px;padding-top:20px}.signature small{font-size:7px}.memory-portrait{border-top:1px solid var(--line);margin-top:40px}.hero-wordmark>span{font-size:103px}.hero-wordmark>b{font-size:31px}.portrait-links{flex-direction:row;justify-content:space-between}.section-marker{font-size:9px}.portrait-quote{font-size:31px}.drive-grid{grid-template-columns:1fr;padding-block:50px;gap:38px}.game-shot{transform:none}.game-shot img{aspect-ratio:16/10}.legacy-section{padding-top:52px;padding-bottom:53px}.legacy-details{grid-template-columns:1fr;gap:29px}.legacy-intro>p:last-child{font-size:15px}.legacy-intro h2{font-size:35px}.dedication-card{margin:30px 0;padding:25px 22px}.dedication-card blockquote{font-size:27px}.dedication-tools{flex-wrap:wrap;gap:10px}.source-box{padding:25px 22px}.closing{padding:53px 24px 60px}.closing h2{font-size:50px}.footer-top{flex-wrap:wrap;gap:24px}.footer-top>p{order:3;width:100%;font-size:18px}.site-footer{padding:29px 24px}.footer-bottom nav{font-size:10px;gap:19px;white-space:normal;flex-wrap:wrap}.document-page{padding-top:40px;padding-bottom:55px}.document-lead{font-size:21px}.document-page section{margin-top:28px;padding-top:27px}.document-page section h2{font-size:28px}.document-actions{flex-direction:column;align-items:stretch}}
@media(max-width:370px){.page-width{padding-inline:20px}.nav-wrap{padding-inline:20px}.brand>span{font-size:12px}.button.small{font-size:9px}.tribute-copy h1{font-size:38px}.tribute-copy .heart-of-it{font-size:23px}.hero-wordmark>span{font-size:83px}.hero-wordmark>b{font-size:25px}.portrait-links{font-size:10px}.car-detail{font-size:8px}.source-box{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}
