@font-face{font-family:TikTokSans;src:url('/fonts/TikTokSans.ttf') format('truetype');font-display:swap}@font-face{font-family:Departure;src:url('/fonts/DepartureMono-Regular.otf') format('opentype');font-display:swap}
:root{--canvas:#f7f6f0;--ink:#0b0b0b;--copy:#96948e;--rule:#deddd7;--preview:#dfd3e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:TikTokSans,Arial,"PingFang SC",sans-serif;-webkit-font-smoothing:antialiased}.masthead{position:fixed;z-index:10;left:56px;right:56px;top:40px;display:flex;align-items:center;justify-content:space-between;font:16px/1 Departure,"Courier New",monospace}.brand{font:700 16px/1 Departure,"Courier New",monospace;letter-spacing:-.7px;color:inherit;text-decoration:none}.masthead nav{display:flex;align-items:center;gap:30px;font:inherit}.masthead a,.masthead button{color:inherit;text-decoration:none;background:none;border:0;padding:3px 0;font:inherit;cursor:pointer}.masthead a:hover,.masthead a:focus-visible,.masthead button:hover,.masthead button:focus-visible{outline:1px dotted currentColor;outline-offset:7px}.project-page{width:834px;margin:0 auto;padding-top:193px;padding-bottom:150px}.project-copy h1{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.035em;margin:0 0 15px}.project-copy time,.project-copy p{color:var(--copy);font-size:16px}.project-copy time{display:block;line-height:1.2}.project-copy hr{border:0;border-top:1px solid var(--rule);margin:12px 0 16px}.project-copy p{line-height:1.55;margin:0 0 14px}.project-copy .period{margin-bottom:18px}.project-copy a{color:#222;text-decoration:underline;text-underline-offset:2px}.project-copy code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;color:#222;background:#eeede8;border-radius:3px;padding:2px 7px;white-space:nowrap}.preview{display:block;margin-top:16px;height:834px;padding:66px 20px 20px;background:var(--preview);border-radius:13px 13px 0 0;overflow:hidden;text-decoration:none}.preview-window{height:100%;border-radius:26px 26px 0 0;background:#f9f8fb;box-shadow:0 16px 50px rgba(71,55,92,.18);overflow:hidden}.preview-chrome{height:55px;display:flex;align-items:center;gap:8px;padding:0 20px;border-bottom:1px solid #e6e1ec}.preview-chrome i{width:10px;height:10px;border-radius:50%;background:#d6cce2}.preview-stage{height:calc(100% - 55px);padding:38px;background:linear-gradient(135deg,#f3eff8,#c8b5de);color:#443451}.preview-title{font-size:42px;font-weight:700}.preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:80px}.preview-cards b{height:260px;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 10px 35px rgba(68,52,81,.12)}.metadata{padding:90px 0 80px}.metadata h2{font-size:28px;margin:0 0 30px}.metadata dl{margin:0}.metadata dl>div{display:grid;grid-template-columns:1fr 1fr;padding:15px 0;border-top:1px solid var(--rule);font-size:15px}.metadata dl>div:last-child{border-bottom:1px solid var(--rule)}.metadata dt{color:var(--copy)}.metadata dd{margin:0}.status{position:fixed;z-index:9;left:56px;right:56px;bottom:32px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font:16px/1 Departure,"Courier New",monospace;pointer-events:none}.status span:nth-child(2){text-align:center}.status .globe{text-align:right;font-family:TikTokSans,Arial,sans-serif;font-size:36px;line-height:12px}body.dark{--canvas:#111;--ink:#f4f2ec;--copy:#aaa7a1;--rule:#373737;--preview:#42384a}
@media(max-width:900px){.masthead{left:22px;right:22px;top:24px}.masthead nav{gap:18px;font-size:12px}.brand{font-size:14px}.project-page{width:auto;margin:0 22px;padding-top:130px}.project-copy h1{font-size:44px}.project-copy time,.project-copy p{font-size:15px}.preview{height:calc(100vw - 44px);padding:30px 10px 10px}.preview-window{border-radius:18px}.preview-cards{margin-top:30px;gap:8px}.preview-cards b{height:130px}.status{position:static;margin:50px 22px 24px;display:flex;justify-content:space-between;font-size:11px}.status .globe{display:none}}
@media(max-width:560px){.project-copy code{white-space:normal}.preview-stage{padding:22px}.preview-title{font-size:30px}.metadata{padding-top:60px}.metadata dl>div{grid-template-columns:1fr;gap:7px}}
@media(min-width:901px){.masthead{left:56px;right:56px;top:40px}.masthead nav{gap:40px}}
.project-page>:is(article,section){width:100%;max-width:880px;margin-inline:auto;padding-inline:24px;box-sizing:border-box}
.masthead{height:40px;font:16px/1 Departure,"Courier New",monospace}.masthead-brand-group{display:flex;align-items:center;gap:24px}.brand{font:700 18px/1 Departure,"Courier New",monospace;letter-spacing:-.7px}.language-switch{font-weight:700!important;line-height:1!important}.masthead a,.masthead button{padding:0}.masthead nav>a,.masthead nav>button{display:flex;min-height:40px;align-items:center}.language-switch:focus-visible{outline:2px solid currentColor!important;outline-offset:6px!important}
@media(max-width:1023px){.masthead{left:16px;right:16px;top:32px}.brand{font-size:14px}.masthead nav{gap:12px;font-size:10px}.masthead nav>a,.masthead nav>button{min-height:32px}}
@media(max-width:767px){.masthead{left:12px;right:12px}.masthead-brand-group{gap:10px}.language-switch{font-size:10px!important}.masthead nav{gap:8px;font-size:9px}.masthead nav a{display:flex}}
.metadata{padding-top:48px}
@media(max-width:560px){.metadata{padding-top:40px}}
