:root{--bg:#f1e6c4;--bg-alt:#ebd9a0;--fg:#2a2622;--fg-soft:#5a5247;--line:#2a2622;--card:#2a2622;--card-fg:#f1e6c4;--muted:#8a8170;--accent:#f5b500;--accent-2:#ff6a2c;--accent-3:#e5546b;--accent-4:#6c9bd1;--display-font:var(--font-display), "Antonio", "Bowlby One SC", "Impact", sans-serif;--body-font:var(--font-body), "Space Grotesk", "Inter", system-ui, sans-serif;--mono-font:var(--font-mono), "Space Mono", "JetBrains Mono", ui-monospace, monospace;--jp-font:var(--font-jp), "Noto Sans JP", sans-serif;--radius:0;--shadow:4px 4px 0 0 var(--line)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg);font-family:var(--body-font);color:var(--fg);background-image:radial-gradient(circle at 12% 8%,#f5b5001a 0,#0000 32%),radial-gradient(circle at 88% 92%,#ff6a2c14 0,#0000 38%),repeating-linear-gradient(0deg,#2a26220b 0 1px,#0000 1px 32px),repeating-linear-gradient(90deg,#2a26220b 0 1px,#0000 1px 32px);background-attachment:fixed;font-size:16px;line-height:1.7}a{color:var(--fg);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:var(--display-font);text-transform:uppercase;color:var(--fg);font-weight:700}hr{border:none;border-top:2px dashed var(--line);margin:48px 0}img{max-width:100%}.page{max-width:1180px;margin:0 auto;padding:18px 18px 60px;position:relative}@media (min-width:640px){.page{padding:24px 28px 70px}}@media (min-width:900px){.page{padding:28px 36px 80px}}.page:before{content:"❯❯❯";font-family:var(--display-font);letter-spacing:.3em;color:var(--accent-2);opacity:.55;pointer-events:none;z-index:0;font-size:18px;font-weight:700;animation:3s ease-in-out infinite floatChevron;position:fixed;top:50%;right:14px;transform:translateY(-50%)rotate(90deg)}@keyframes floatChevron{0%,to{transform:translateY(-50%)rotate(90deg)}50%{transform:translateY(-56%)rotate(90deg)}}@media (max-width:900px){.page:before{display:none}}.text-muted{color:var(--fg-soft)}.mono{font-family:var(--mono-font)}.prose{max-width:100%}.prose p{font-family:var(--body-font);color:var(--fg);margin-bottom:24px}.prose a{color:var(--fg);border-bottom:1.5px solid var(--accent-2)}.prose a:hover{background:var(--accent);text-decoration:none}.prose code{font-family:var(--mono-font);background:var(--bg-alt);color:var(--fg);border:1.5px solid var(--line);padding:2px 6px;font-size:.875rem}.prose pre{background:var(--bg-alt);color:var(--fg);border:2px solid var(--line);box-shadow:4px 4px 0 0 var(--line);margin-bottom:24px;padding:16px;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose blockquote{border-left:3px solid var(--accent);color:var(--fg-soft);margin-bottom:24px;padding-left:16px}.callout{border-left:4px solid var(--accent-4);background:var(--bg-alt);margin:24px 0;padding:12px 16px}.callout[data-callout=quote],.callout[data-callout=cite]{border-left-color:var(--accent-4)}.callout-title{color:var(--fg);align-items:center;gap:6px;margin-bottom:4px;font-size:15px;font-weight:700;display:flex}.callout-title-icon{flex:none;align-items:center;display:flex}.callout-title-icon svg{width:16px;height:16px}.callout-title-text{color:inherit}.callout-content{color:var(--fg)}.callout-content p{color:var(--fg)!important;margin-bottom:8px!important}.callout-content p:last-child{margin-bottom:0!important}.callout .callout{margin:12px 0}.callout[data-collapsible=true] .callout-title{cursor:pointer}.callout[data-collapsible=true] .callout-fold-icon{align-items:center;margin-left:auto;display:flex}.callout[data-collapsible=true] .callout-fold-icon svg{width:14px;height:14px;transition:transform .1s ease-in-out;transform:rotate(-90deg)}.callout[data-collapsible=true][open] .callout-fold-icon svg{transform:none}.prose ul,.prose ol{margin-bottom:24px;padding-left:24px;line-height:1.8}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose img{border:2px solid var(--line);max-width:100%;margin:24px 0}.prose h2,.prose h3,.prose h4{font-family:var(--display-font);text-transform:uppercase;letter-spacing:.01em;font-weight:700}.site-header{border-bottom:3px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:32px;padding-bottom:14px;display:flex;position:relative}.site-header:after{content:"";background:linear-gradient(90deg, var(--line) 0 60%, transparent 60% 100%), linear-gradient(90deg, transparent 0 65%, var(--accent-2) 65% 78%, transparent 78%);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 1px,100% 3px;height:3px;position:absolute;bottom:-8px;left:0;right:0}.brand{font-family:var(--display-font);text-transform:uppercase;letter-spacing:.02em;color:var(--fg);align-items:center;gap:10px;font-size:clamp(22px,4.4vw,30px);font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{text-decoration:none}.brand:before{content:"◉";color:var(--accent-2);font-size:.7em}.brand:after{content:"››››";font-family:var(--mono-font);letter-spacing:.18em;background:var(--line);color:var(--bg);margin-left:6px;padding:3px 7px;font-size:10px;font-weight:700}.nav-btn{font-family:var(--display-font);text-transform:uppercase;letter-spacing:.14em;background:var(--bg-alt);color:var(--fg);border:2px solid var(--line);box-shadow:3px 3px 0 0 var(--line);cursor:pointer;border-radius:0;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .15s,background .2s,color .2s,box-shadow .15s;display:inline-block}.nav-btn:hover{background:var(--accent);color:var(--line);box-shadow:4px 4px 0 0 var(--line);text-decoration:none;transform:translate(-1px,-1px)}.nav-btn:active{box-shadow:0 0 0 0 var(--line);transform:translate(2px,2px)}.nav-btn.active{background:var(--accent);color:var(--line)}.resume-hero{background:linear-gradient(180deg, transparent 0 78%, var(--accent) 78% 100%);border:2px solid var(--line);border-bottom:4px solid var(--line);box-shadow:6px 6px 0 0 var(--line);margin-bottom:32px;padding:26px 22px 28px;position:relative}.resume-hero:before{content:"→ The Marauder's Map";font-family:var(--mono-font);letter-spacing:.18em;color:var(--fg-soft);text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.resume-hero h1{font-family:var(--display-font);letter-spacing:-.02em;text-transform:uppercase;color:var(--fg);margin:0 0 14px;font-size:clamp(48px,14vw,120px);font-weight:700;line-height:.88}.resume-hero h1:after{content:".";color:var(--accent-2)}.resume-hero .meta{font-family:var(--mono-font);letter-spacing:.14em;text-transform:uppercase;border-top:1.5px dashed var(--line);margin-top:8px;padding-top:10px;font-size:11px}.page-title{font-family:var(--display-font);text-transform:uppercase;letter-spacing:-.02em;color:var(--fg);margin:0 0 6px;font-size:clamp(40px,11vw,96px);font-weight:700;line-height:.9}.page-title:before{content:"❯❯ ";color:var(--accent-2)}.page-title:after{content:".";color:var(--accent-2)}.page-sub{font-family:var(--mono-font);letter-spacing:.18em;text-transform:uppercase;background:var(--accent);color:var(--fg);border:2px solid var(--line);box-shadow:3px 3px 0 0 var(--line);margin-bottom:28px;padding:6px 12px;font-size:12px;display:inline-block}.section-label{font-family:var(--mono-font);letter-spacing:.22em;text-transform:uppercase;background:var(--line);color:var(--bg);margin-bottom:12px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.section-title{font-family:var(--display-font);text-transform:uppercase;letter-spacing:.01em;border-bottom:2px solid var(--line);margin:0 0 18px;padding-bottom:8px;font-size:clamp(24px,5vw,34px);font-weight:700;position:relative}.section-title:after{content:"";background:var(--accent-2);width:60px;height:6px;position:absolute;bottom:-2px;left:0}.card-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:640px){.card-grid{grid-template-columns:1fr 1fr;gap:16px}}@media (min-width:900px){.card-grid{grid-template-columns:repeat(3,1fr);gap:28px}}.card{background:var(--bg-alt);color:var(--fg);border:2px solid var(--line);box-shadow:5px 5px 0 0 var(--line);will-change:transform;border-radius:0;flex-direction:column;gap:12px;min-height:180px;padding:18px;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:7px 7px 0 0 var(--line)}.card:before{content:"";border-bottom:2px solid var(--line);background:linear-gradient(90deg, var(--accent) 0 60%, var(--line) 60% 64%, var(--accent-2) 64% 100%);height:26px;position:absolute;inset:0 0 auto}.card-grid>.card:nth-child(3n+2):before{background:linear-gradient(90deg, var(--accent-4) 0 55%, var(--line) 55% 59%, var(--accent) 59% 100%)}.card-grid>.card:nth-child(3n+3):before{background:linear-gradient(90deg, var(--accent-3) 0 55%, var(--line) 55% 59%, var(--accent-4) 59% 100%)}.card:after{content:"JP";font-family:var(--display-font);color:var(--line);background:var(--bg);border:1.5px solid var(--line);padding:0 5px;font-size:14px;font-weight:700;position:absolute;top:4px;right:8px}.card>*{z-index:1;position:relative}.card .num{font-family:var(--mono-font);letter-spacing:.18em;color:var(--accent-2);margin-top:34px;font-size:11px;font-weight:700}.card h3{font-family:var(--display-font);text-transform:uppercase;margin:0;font-size:clamp(18px,2.6vw,22px);font-weight:700;line-height:1.05}.card .excerpt{font-family:var(--body-font);color:var(--fg-soft);flex:1;margin:0;font-size:14px}.card .when{font-family:var(--mono-font);letter-spacing:.18em;text-transform:uppercase;border-top:1.5px dashed var(--line);margin-top:auto;padding-top:8px;font-size:10px;font-weight:700}.list-articles{border-top:3px solid var(--line);margin-top:44px;padding-top:22px}.list-articles h2{font-family:var(--display-font);text-transform:uppercase;background:var(--line);color:var(--bg);margin-bottom:10px;padding:4px 12px;font-size:clamp(22px,4vw,30px);font-weight:700;display:inline-block}.list-row{border-top:1.5px dashed var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:12px 0;transition:background .15s;display:grid}.list-row:hover{background:linear-gradient(90deg, var(--accent) 0 4px, transparent 4px 100%);padding-left:10px}.list-row .n{font-family:var(--mono-font);color:var(--accent-2);letter-spacing:.1em;font-weight:700}.list-row h4{font-family:var(--display-font);text-transform:uppercase;margin:0;font-size:1rem;font-weight:600}.list-row .meta{font-family:var(--mono-font);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.skill-cloud{flex-wrap:wrap;gap:6px;display:flex}.skill-chip{font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.1em;background:var(--bg-alt);color:var(--fg);border:1.5px solid var(--line);border-radius:0;padding:5px 10px;font-size:11px;font-weight:700;transition:background .15s,transform .15s}.skill-chip:nth-child(4n+1){background:var(--accent)}.skill-chip:nth-child(4n+2){background:var(--bg)}.skill-chip:nth-child(4n+3){background:var(--accent-4);color:var(--bg)}.skill-chip:nth-child(4n){background:var(--accent-3);color:var(--bg)}.skill-chip:hover{background:var(--accent-2);color:var(--bg);transform:translate(-1px,-1px)}.aside-card{font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.16em;border-top:2px solid var(--line);padding-top:12px;font-weight:700}.aside-card:before{content:"→";color:var(--accent-2)}.aside-card p{font-family:var(--body-font);text-transform:none;letter-spacing:0;color:var(--fg);margin:6px 0 0;font-weight:400}.site-footer{border-top:3px solid var(--line);font-family:var(--mono-font);letter-spacing:.16em;text-transform:uppercase;color:var(--fg);background:repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 4px, var(--line) 4px 5px, transparent 5px 9px) right top / 140px 8px no-repeat, linear-gradient(180deg, var(--accent) 0 6px, transparent 6px 100%);justify-content:space-between;align-items:center;gap:6px;margin-top:70px;padding:16px 14px 14px;font-size:11px;font-weight:700;display:flex}.site-footer:before{content:"→ MISCHIEF MANAGED";font-family:var(--jp-font);letter-spacing:.1em;color:var(--fg-soft)}.blog-post .back-link{font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.18em;color:var(--fg);border-bottom:2px solid var(--accent-2);font-size:11px;font-weight:700;display:inline-block}.post-eyebrow{font-family:var(--mono-font);background:var(--line);color:var(--bg);letter-spacing:.18em;text-transform:uppercase;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.post-title{font-family:var(--display-font);text-transform:uppercase;letter-spacing:-.01em;margin:8px 0 12px;font-size:clamp(32px,6vw,56px);font-weight:700;line-height:.95}.post-title:after{content:".";color:var(--accent-2)}.post-lede,.post-body p{font-family:var(--body-font);color:var(--fg)}.post-rule{border-top:2px dashed var(--line);margin:24px 0}.project-card .num{margin-top:0}.project-card .card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.project-card .card-tags{flex-wrap:wrap;gap:4px;display:flex}.project-card .card-tag{font-family:var(--mono-font);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-soft);background:var(--bg);border:1px solid var(--line);padding:2px 6px;font-size:8px;font-weight:700}.project-card .card-links{align-items:center;gap:8px;display:flex}.project-card .card-link{font-family:var(--mono-font);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);border-bottom:1.5px solid var(--accent-2);font-size:9px;font-weight:700}.project-card .card-link:hover{background:var(--accent);text-decoration:none}.resume-block{margin-bottom:44px}.resume-block .resume-item{border-top:1.5px dashed var(--line);padding:16px 0}.resume-block .resume-item:first-child{border-top:none}.resume-item h3{font-family:var(--display-font);text-transform:uppercase;letter-spacing:.01em;margin:0 0 4px;font-size:clamp(16px,2vw,20px);font-weight:700}.resume-item .sub{font-family:var(--mono-font);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-soft);margin-bottom:6px;font-size:11px;font-weight:700}.resume-item .duration{font-family:var(--mono-font);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px;font-size:10px;font-weight:700}.resume-item p{font-family:var(--body-font);color:var(--fg);font-size:15px;line-height:1.6}.resume-item ul{margin:6px 0 0;padding:0;list-style:none}.resume-item ul li{font-family:var(--body-font);color:var(--fg-soft);margin-bottom:4px;font-size:14px;line-height:1.5}.books-grid{grid-template-columns:1fr;gap:12px;display:grid}.books-grid .book-row{border-top:1.5px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.books-grid .book-row:first-child{border-top:none}.books-grid .book-row:hover{background:linear-gradient(90deg, var(--accent) 0 4px, transparent 4px 100%);padding-left:10px}.book-row .book-info h3{font-family:var(--display-font);text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:clamp(14px,1.8vw,18px);font-weight:600}.book-row .book-info .author{font-family:var(--body-font);color:var(--fg-soft);font-size:13px}.book-row .book-dates{font-family:var(--mono-font);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-soft);flex-shrink:0;font-size:10px;font-weight:700}.tab-group{border:2px solid var(--line);gap:0;margin-bottom:32px;display:inline-flex}.tab-btn{font-family:var(--mono-font);letter-spacing:.18em;text-transform:uppercase;background:var(--bg);color:var(--fg-soft);cursor:pointer;border:none;border-right:1.5px solid var(--line);border-radius:0;padding:8px 14px;font-size:10px;font-weight:700;transition:background .15s,color .15s}.tab-btn:last-child{border-right:none}.tab-btn.active{background:var(--line);color:var(--bg)}.tab-btn:hover:not(.active){background:var(--bg-alt)}.nav-link-group{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:640px){.site-header{flex-direction:column;align-items:stretch}.site-header .nav-link-group{flex-direction:column}.site-header .nav-link-group .nav-btn{text-align:center;width:100%}.list-row{grid-template-columns:28px 1fr}}.grain-overlay{pointer-events:none;z-index:9998;opacity:.05;will-change:transform;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:.4s steps(5,end) infinite grainShift;position:fixed;inset:-50%}@keyframes grainShift{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,1%)}to{transform:translate(0)}}.scroll-progress{z-index:9997;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0}.scroll-progress-bar{background:var(--accent-2);width:0%;height:100%;transition:width 80ms linear;position:relative}.scroll-progress-bar:after{content:"";background:var(--accent-2);border:1.5px solid var(--line);width:7px;height:7px;position:absolute;top:-2px;right:-2px}.status-bar{background:var(--line);width:100%;color:var(--bg);font-family:var(--mono-font);letter-spacing:.16em;text-transform:uppercase;z-index:9996;justify-content:space-between;align-items:center;gap:12px;padding:5px 18px;font-size:10px;font-weight:700;display:flex;position:fixed;top:3px;left:0;overflow:hidden}.status-bar .status-left,.status-bar .status-right{align-items:center;gap:16px;display:flex}.status-item{white-space:nowrap;align-items:center;gap:6px;display:flex}.status-dot-led{background:#4ade80;border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulseDot;box-shadow:0 0 4px #4ade80}.status-divider{color:var(--accent-2)}.status-jp{font-family:var(--jp-font);font-size:9px}@media (max-width:640px){.status-bar{padding:4px 12px;font-size:9px}.status-bar .status-right .status-item:nth-child(n+2),.status-bar .status-left .status-item:nth-child(n+3){display:none}}.marquee{border-top:2px solid var(--line);border-bottom:2px solid var(--line);background:var(--line);color:var(--bg);margin:32px 0;padding:10px 0;position:relative;overflow:hidden}.marquee:before,.marquee:after{content:"";z-index:2;pointer-events:none;width:40px;position:absolute;top:0;bottom:0}.marquee:before{background:linear-gradient(90deg, var(--line), transparent);left:0}.marquee:after{background:linear-gradient(270deg, var(--line), transparent);right:0}.marquee-track{white-space:nowrap;font-family:var(--mono-font);letter-spacing:.2em;text-transform:uppercase;gap:0;width:max-content;font-size:13px;font-weight:700;animation:30s linear infinite marqueeScroll;display:flex}.marquee-group{flex-shrink:0;align-items:center;gap:28px;padding-right:28px;display:flex}.marquee-star{color:var(--accent-2);font-size:14px}.marquee-jp{font-family:var(--jp-font);color:var(--accent);font-size:12px}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee:hover .marquee-track{animation-play-state:paused}.back-to-top{background:var(--accent);border:2px solid var(--line);width:48px;height:48px;box-shadow:4px 4px 0 0 var(--line);cursor:pointer;z-index:9995;opacity:0;pointer-events:none;font-family:var(--display-font);color:var(--line);justify-content:center;align-items:center;font-size:20px;font-weight:700;transition:opacity .3s,transform .3s,background .2s,box-shadow .15s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(20px)rotate(-10deg)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)rotate(0)}.back-to-top:hover{background:var(--accent-2);color:var(--bg);box-shadow:6px 6px 0 0 var(--line);transform:translate(-2px,-2px)rotate(0)}.back-to-top:active{box-shadow:0 0 0 0 var(--line);transform:translate(2px,2px)}.card-shine{background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%), #ffffff2e 0%, transparent 50%);opacity:0;pointer-events:none;transition:opacity .3s;inset:0;z-index:0!important;position:absolute!important}.card:hover .card-shine{opacity:1}.reveal-up{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}.reveal-up.revealed{opacity:1;transform:translateY(0)}::selection{background:var(--accent-2);color:var(--bg)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-alt);border-left:2px solid var(--line)}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--bg-alt)}::-webkit-scrollbar-thumb:hover{background:var(--accent-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.grain-overlay{display:none}}.preloader{background:var(--bg);z-index:10000;background-image:radial-gradient(circle at 12% 8%,#f5b5001a 0,#0000 32%),radial-gradient(circle at 88% 92%,#ff6a2c14 0,#0000 38%),repeating-linear-gradient(0deg,#2a26220b 0 1px,#0000 1px 32px),repeating-linear-gradient(90deg,#2a26220b 0 1px,#0000 1px 32px);flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0}.preloader-cassette{background:var(--line);border:3px solid var(--line);width:340px;max-width:85vw;box-shadow:8px 8px 0 0 var(--accent-2);padding:16px;position:relative}.preloader-cassette:before{content:"";background:repeating-linear-gradient(90deg, var(--accent) 0 12px, var(--line) 12px 16px, var(--accent-2) 16px 28px, var(--line) 28px 32px);border:3px solid var(--line);border-bottom:none;height:10px;position:absolute;top:-3px;left:-3px;right:-3px}.cassette-top{background:var(--bg);border:2px solid var(--bg);justify-content:space-between;align-items:center;gap:20px;margin-top:8px;padding:22px 28px;display:flex}.cassette-reel{border:3px solid var(--line);background:var(--line);border-radius:50%;flex-shrink:0;width:54px;height:54px;animation:1.2s linear infinite reelSpin;position:relative}.cassette-reel:before{content:"";border:2px dashed var(--bg);border-radius:50%;position:absolute;inset:6px}.cassette-reel:after{content:"";background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cassette-reel.reel-2{animation-direction:reverse}.cassette-window{background:var(--bg-alt);border:2px solid var(--line);flex:1;height:44px;position:relative;overflow:hidden}.cassette-window:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 6px,#2a262240 6px 7px);position:absolute;inset:0}.cassette-window:after{content:"TAPE";font-family:var(--mono-font);letter-spacing:.2em;color:var(--fg-soft);font-size:9px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes reelSpin{to{transform:rotate(360deg)}}.cassette-label{background:var(--accent);border:2px solid var(--bg);justify-content:space-between;align-items:center;margin-top:10px;padding:10px 14px;display:flex}.cassette-jp{font-family:var(--jp-font);color:var(--line);font-size:13px;font-weight:700}.cassette-title-text{font-family:var(--mono-font);letter-spacing:.2em;color:var(--line);font-size:11px;font-weight:700}.cassette-bottom{align-items:center;gap:12px;margin-top:10px;display:flex}.cassette-progress-track{background:var(--bg);border:1.5px solid var(--bg);flex:1;height:10px;position:relative;overflow:hidden}.cassette-progress-fill{background:var(--accent-2);width:0%;height:100%;transition:width .1s ease-out;position:relative}.cassette-progress-fill:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 4px,#0003 4px 5px);position:absolute;inset:0}.cassette-counter{font-family:var(--mono-font);color:var(--bg);text-align:right;min-width:42px;font-size:14px;font-weight:700}.preloader-info{font-family:var(--mono-font);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;font-size:10px;font-weight:700;display:flex}.preloader-info span{align-items:center;gap:6px;display:flex}.preloader-dot{background:var(--accent-2);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}@media (max-width:640px){.preloader-cassette{width:290px}.cassette-top{gap:12px;padding:16px 18px}.cassette-reel{width:40px;height:40px}.cassette-window{height:36px}.preloader-info{gap:12px;font-size:9px}}@media (prefers-reduced-motion:reduce){.cassette-reel,.preloader-dot{animation:none}}
@font-face{font-family:Antonio;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f4114b74d2d5b812-s.16yfot7keda1u.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Antonio;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9ebad9a1240a1e4f-s.p.0lukqmlj-564a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Antonio;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f4114b74d2d5b812-s.16yfot7keda1u.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Antonio;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9ebad9a1240a1e4f-s.p.0lukqmlj-564a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Antonio;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f4114b74d2d5b812-s.16yfot7keda1u.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Antonio;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9ebad9a1240a1e4f-s.p.0lukqmlj-564a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Antonio Fallback;src:local(Arial);ascent-override:137.82%;descent-override:16.61%;line-gap-override:0.0%;size-adjust:83.79%}.antonio_b0527cb5-module__v57LDG__className{font-family:Antonio,Antonio Fallback;font-style:normal}.antonio_b0527cb5-module__v57LDG__variable{--font-display:"Antonio", "Antonio Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_368e31e1-module__VH_Vsq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_368e31e1-module__VH_Vsq__variable{--font-body:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.04ygcc0k6zvvf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.18awt9904y5ei.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.0~z396rbj0t4w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.09-.4z_6a6fti.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.1841exvy3.1-g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.0kbulo~7o8gic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_d8eecc30-module__bEIZiG__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_d8eecc30-module__bEIZiG__variable{--font-mono:"Space Mono", "Space Mono Fallback"}
