@font-face{font-family:Oswald;src:url('./assets/oswald.ttf') format('truetype');font-display:swap}
@font-face{font-family:DM Sans;src:url('./assets/dm-sans.ttf') format('truetype');font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('./assets/ibm-plex-mono.ttf') format('truetype');font-display:swap}
:root{--ink:#191c18;--paper:#f1f0e6;--lime:#ddfb60;--orange:#ff6a3d;--rule:#bbbdb0;--muted:#575a51;--mono:'IBM Plex Mono',monospace;--display:Oswald,Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
body.detail-open{overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
::selection{background:var(--orange);color:var(--ink)}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.site-shell{max-width:1900px;margin:auto;overflow:clip}
.site-header{height:72px;padding:0 clamp(22px,4.2vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4e5148;background:var(--ink);color:var(--paper)}
.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:25px;font-weight:600;letter-spacing:-.02em;text-decoration:none;line-height:1}
.brand-period{color:var(--lime)}
.brand-mark{width:25px;height:22px;display:flex;align-items:end;gap:3px;transform:skew(-8deg)}
.brand-mark i{display:block;width:6px;background:var(--lime)}
.brand-mark i:nth-child(1){height:12px}.brand-mark i:nth-child(2){height:22px}.brand-mark i:nth-child(3){height:16px}
.header-right{display:flex;gap:34px;align-items:center;font:11px var(--mono);letter-spacing:.035em}
.edition{color:#adb1a7}.edition-number{color:var(--lime)}
.hero{min-height:420px;padding:45px clamp(22px,4.2vw,72px) 40px;display:grid;grid-template-columns:minmax(410px,1fr) minmax(480px,.93fr);align-items:center;gap:30px;background:var(--ink);color:var(--paper);overflow:hidden}
.hero-copy{position:relative;z-index:1}
.hero-asterisk{position:absolute;left:430px;top:-12px;color:var(--lime);font-size:70px;line-height:1;transform:rotate(-10deg)}
.hero h1{font:700 clamp(68px,7vw,110px)/.94 var(--display);letter-spacing:-.025em;margin:0;text-transform:uppercase}
.hero h1 em{color:var(--lime);font-style:normal}
.hero-copy p{font-size:17px;line-height:1.5;max-width:390px;margin:23px 0 24px;color:#d9dbd0}
.hero-link{font:13px var(--mono);text-decoration:none;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid var(--lime);padding-bottom:8px;color:var(--lime)}
.hero-link:hover{color:white;border-color:white}
.hero-link span{font-size:20px}
.cassette-wrap{max-width:625px;width:100%;justify-self:end;transform:rotate(4deg);filter:drop-shadow(18px 21px 0 rgba(0,0,0,.22))}
.cassette{position:relative;background:#d9dbc9;border:3px solid #a8ab9c;border-radius:17px 17px 30px 30px;color:var(--ink);padding:15px 19px 9px;box-shadow:inset 0 3px 0 #eff0e5,inset 0 -7px 0 #a7aa9a}
.cassette:before,.cassette:after{content:"";position:absolute;width:12px;height:12px;border:3px solid #8d9084;border-radius:50%;background:#c6c9b7;top:18px}.cassette:before{left:16px}.cassette:after{right:16px}
.cassette-topline{display:flex;justify-content:space-between;margin:1px 29px 10px;font:9px var(--mono);letter-spacing:.02em}
.cassette-label{border-radius:6px;background:var(--lime);border:2px solid var(--ink);overflow:hidden}
.cassette-title{display:flex;justify-content:space-between;padding:13px 17px 10px;font:600 28px/.99 var(--display);letter-spacing:-.02em;border-bottom:2px solid var(--ink)}
.cassette-no{font:12px var(--mono);align-self:start}
.reel-window{height:114px;background:#252b27;position:relative;display:flex;justify-content:space-around;align-items:center;overflow:hidden}
.reel-window:before,.reel-window:after{content:"";position:absolute;z-index:0;left:0;right:0;height:1px;background:#61705e}.reel-window:before{top:29px}.reel-window:after{bottom:27px}
.reel{width:84px;height:84px;background:#dedfcd;border:10px solid #959d83;border-radius:50%;position:relative;z-index:1;box-shadow:0 0 0 8px #151916,0 0 0 17px #4d5547}
.reel span{position:absolute;inset:17px;border:6px solid #4d5547;border-radius:50%;background:#252b27}
.reel span:before,.reel span:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;background:#dedfcd;border-radius:50%;transform:translate(-50%,-50%)}
.tape-line{width:25%;height:44px;border-top:2px solid #7d896e;border-bottom:2px solid #7d896e;opacity:.7}
.cassette-sides{display:flex;justify-content:space-between;border-top:2px solid var(--ink);font:12px var(--mono)}
.cassette-sides span{padding:9px 15px;display:flex;gap:14px}.cassette-sides span+span{border-left:2px solid var(--ink)}.cassette-sides b{font-weight:700}
.cassette-base{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;font:9px var(--mono);position:relative}
.cassette-notch{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:145px;height:26px;background:#b3b7a4;border:2px solid #898e80;border-radius:22px 22px 0 0;clip-path:polygon(13% 0,87% 0,100% 100%,0 100%)}
.cassette-caption{display:flex;justify-content:space-between;font:10px var(--mono);color:#bcc3ad;letter-spacing:.03em;padding:19px 8px 0}
.browse{padding:51px clamp(22px,4.2vw,72px) 25px}
.browse-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}
.browse h2{font:600 clamp(48px,5.4vw,76px)/.95 var(--display);letter-spacing:-.025em;margin:0}.title-stop{color:var(--orange)}
.browse-intro p{margin:9px 0 0;font-size:15px;color:var(--muted)}
.browse-count{font:11px var(--mono);padding-bottom:7px;white-space:nowrap}
.control-bar{display:grid;grid-template-columns:minmax(230px,1.3fr) minmax(220px,.8fr) auto;gap:12px;align-items:end;margin-bottom:27px}
.control-label{font:10px var(--mono);letter-spacing:.05em;display:block;margin-bottom:8px}
.search-inner,.select-inner{height:52px;display:flex;align-items:center;border:1px solid var(--ink);background:#fbfbf6;position:relative}
.search-inner{padding:0 14px;gap:12px}.search-inner svg,.select-inner svg{fill:none;stroke:currentColor;stroke-width:1.8;flex:none}.search-inner:focus-within,.select-inner:focus-within{outline:2px solid var(--orange);outline-offset:2px}
.search-inner input{border:0;background:transparent;outline:0;min-width:0;width:100%;font-size:15px;color:var(--ink);height:100%}.search-inner input::placeholder{color:#666a60;opacity:1}.search-inner input::-webkit-search-cancel-button{cursor:pointer}
.select-inner select{border:0;appearance:none;background:transparent;outline:0;width:100%;height:100%;padding:0 42px 0 15px;color:var(--ink);font-size:15px;cursor:pointer}.select-inner svg{position:absolute;right:15px;pointer-events:none}
.saved-filter{height:52px;min-width:164px;border:1px solid var(--ink);background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 14px;font:13px var(--mono);white-space:nowrap}.saved-filter:hover,.saved-filter[aria-pressed=true]{background:var(--ink);color:var(--lime)}.saved-symbol{font-size:18px;line-height:1}.saved-count{margin-left:auto;opacity:.7;font-size:11px}
.lineup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.day-side{min-width:0}
.day-heading{height:59px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);padding:0 19px;margin-bottom:0}
.day-heading h3{margin:0;font:600 27px var(--display);letter-spacing:.01em;display:flex;align-items:baseline;gap:14px}.day-heading h3 span{font:11px var(--mono);color:var(--lime)}
.day-heading>span{font:11px var(--mono);color:#c9cbbe}
.event-row{border-bottom:1px solid var(--rule);background:transparent;min-width:0}
.event-row:hover{background:#e8ead8}.event-row:focus-within{background:#e8ead8}
.event-open{border:0;background:transparent;color:var(--ink);width:100%;text-align:left;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;padding:21px 13px 21px 17px;align-items:start;min-height:134px}
.track-num{font:14px var(--mono);color:#7b7e72;padding-top:3px}
.event-main{min-width:0;display:block}.event-time{display:block;font:11px var(--mono);margin-bottom:6px;color:#4d5148}.event-title{display:block;font:600 clamp(22px,2.15vw,29px)/1.1 var(--display);letter-spacing:-.012em;text-transform:uppercase;max-width:450px}.event-meta{display:block;font-size:12px;color:#5b6054;margin-top:9px;line-height:1.4}.event-meta b{font-weight:400;padding:0 5px}
.event-arrow{width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:18px var(--body);line-height:1;margin-top:1px;transition:background .2s,color .2s,transform .2s}.event-row:hover .event-arrow{background:var(--ink);color:var(--lime);transform:rotate(45deg)}
.event-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 16px 14px 79px;font:10px var(--mono)}.category-tag{color:#41473c;text-transform:uppercase}.price-tag{color:#41473c}.saved-indicator{color:#b6371c;font-weight:700;margin-left:auto}
.empty-state,.loading-state,.error-state{grid-column:1/-1;padding:48px 25px;text-align:center;border:1px dashed var(--rule)}.empty-state .empty-icon{font:70px/.9 var(--display);color:var(--orange)}.empty-state h3,.error-state h3{font:600 33px var(--display);margin:9px 0}.empty-state p,.error-state p{font-size:15px;color:var(--muted);margin:0 auto 21px;max-width:350px;line-height:1.5}.empty-state button,.error-state button{border:1px solid var(--ink);background:var(--lime);padding:11px 17px;font:12px var(--mono)}.empty-state button:hover,.error-state button:hover{background:var(--ink);color:var(--lime)}
.browse-footer{display:flex;justify-content:space-between;gap:20px;border-top:2px solid var(--ink);padding:18px 0 0;margin-top:55px;font:10px var(--mono);color:var(--muted)}.browse-footer a{text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}
.dialog-backdrop{position:fixed;inset:0;background:rgba(13,17,13,.72);z-index:20}.dialog-backdrop[hidden],.detail-panel[hidden]{display:none}
.detail-panel{position:fixed;z-index:21;right:0;top:0;bottom:0;width:min(565px,100%);background:var(--paper);color:var(--ink);overflow:auto;box-shadow:-16px 0 50px rgba(0,0,0,.2);outline:0}
.detail-top{background:var(--lime);min-height:268px;padding:24px 30px 30px;border-bottom:2px solid var(--ink)}
.detail-bar{display:flex;justify-content:space-between;align-items:start;margin-bottom:38px;gap:15px;font:11px var(--mono)}
.detail-close{border:1px solid var(--ink);background:transparent;width:40px;height:40px;display:grid;place-items:center;flex:none;font:28px/1 var(--body)}.detail-close:hover{background:var(--ink);color:var(--lime)}
.detail-track{font:12px var(--mono);margin-bottom:10px}.detail-title{font:600 clamp(43px,4.3vw,65px)/.99 var(--display);letter-spacing:-.02em;text-transform:uppercase;margin:0;max-width:480px}
.detail-content{padding:29px 30px 45px}.detail-section-title{font:11px var(--mono);margin:0 0 12px;color:#54594f}
.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:31px}.detail-fact{padding:15px 10px 16px 0;border-bottom:1px solid var(--rule)}.detail-fact:nth-last-child(-n+2){border-bottom:0}.detail-fact span{font:10px var(--mono);color:#565b50;display:block;margin-bottom:5px}.detail-fact strong{font-size:16px;font-weight:600;line-height:1.25;display:block}
.detail-story{margin:0 0 33px}.detail-story p{font-size:16px;line-height:1.58;margin:0 0 15px;max-width:64ch}.detail-story p:last-child{margin-bottom:0}
.save-item{width:100%;border:2px solid var(--ink);background:var(--ink);color:var(--lime);padding:17px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center;font:13px var(--mono);text-align:left}.save-item:hover{background:#323a2d}.save-item[aria-pressed=true]{background:var(--paper);color:var(--ink)}.save-item[aria-pressed=true]:hover{background:#e4e5d5}.save-item span:last-child{font-size:21px;line-height:1}
.detail-footnote{font:11px/1.5 var(--mono);color:var(--muted);margin:13px 0 0}
@media(max-width:1050px){.hero{grid-template-columns:minmax(360px,1fr) minmax(360px,.9fr)}.hero h1{font-size:clamp(64px,7vw,86px)}.hero-asterisk{left:340px}.cassette-title{font-size:23px}.event-open{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding-left:11px}.event-bottom{padding-left:56px}.event-title{font-size:23px}}
@media(max-width:800px){.site-header{height:62px}.edition{display:none}.hero{grid-template-columns:1fr;padding-top:34px;gap:35px}.hero h1{font-size:clamp(65px,12vw,100px)}.hero-asterisk{left:min(75vw,440px)}.cassette-wrap{max-width:540px;justify-self:center;transform:rotate(2deg)}.lineup{grid-template-columns:1fr;gap:29px}.event-title{font-size:27px}.control-bar{grid-template-columns:1fr 1fr}.saved-filter{grid-column:1/-1;width:100%}.browse{padding-top:42px}}
@media(max-width:540px){.site-header{padding:0 18px}.brand{font-size:22px}.brand-mark{transform:scale(.85) skew(-8deg);transform-origin:left center;margin-right:-3px}.header-right{font-size:9px}.hero{padding:22px 18px 27px;gap:18px}.hero h1{font-size:clamp(56px,15vw,70px)}.hero-copy p{font-size:14px;max-width:320px;margin:9px 0 11px}.hero-asterisk{font-size:42px;left:255px;top:-1px}.hero-link{font-size:11px}.cassette-wrap{width:82%;transform:rotate(3deg)}.cassette{padding:9px 11px 5px;border-width:2px;border-radius:12px 12px 22px 22px}.cassette:before,.cassette:after{width:8px;height:8px;border-width:2px;top:11px}.cassette:before{left:10px}.cassette:after{right:10px}.cassette-topline{font-size:6px;margin:0 23px 7px}.cassette-label{border-width:1px}.cassette-title{font-size:19px;padding:9px 11px 8px;border-bottom-width:1px}.cassette-no{font-size:8px}.reel-window{height:74px}.reel{width:48px;height:48px;border-width:6px;box-shadow:0 0 0 5px #151916,0 0 0 10px #4d5547}.reel span{inset:8px;border-width:4px}.tape-line{height:25px}.cassette-sides{font-size:8px;border-top-width:1px}.cassette-sides span{padding:6px 9px;gap:5px}.cassette-sides span+span{border-left-width:1px}.cassette-base{height:26px;font-size:6px;padding:0 13px}.cassette-notch{width:87px;height:15px;bottom:-4px}.cassette-caption{font-size:7px;padding-top:14px}.browse{padding:25px 18px 24px}.browse-intro{align-items:start;margin-bottom:17px}.browse h2{font-size:50px}.browse-intro p{font-size:13px;line-height:1.35;max-width:240px}.browse-count{font-size:9px;padding-top:8px;white-space:normal;text-align:right;max-width:75px;line-height:1.5}.control-bar{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.saved-filter{grid-column:1/-1}.control-label{font-size:9px;margin-bottom:5px}.search-inner,.select-inner,.saved-filter{height:48px}.search-inner{padding:0 9px;gap:7px}.search-inner svg{width:16px;height:16px}.search-inner input,.select-inner select{font-size:13px}.select-inner select{padding-left:9px;padding-right:26px}.select-inner svg{right:8px;width:13px}.day-heading{height:55px;padding:0 13px}.day-heading h3{font-size:24px;gap:9px}.day-heading h3 span,.day-heading>span{font-size:9px}.event-open{grid-template-columns:34px minmax(0,1fr) 30px;padding:18px 8px 12px 9px;min-height:0;gap:8px}.track-num{font-size:11px}.event-title{font-size:23px}.event-meta{font-size:11px;margin-top:8px}.event-arrow{width:29px;height:29px}.event-bottom{padding:0 10px 14px 52px;font-size:9px}.browse-footer{margin-top:40px;font-size:8px;line-height:1.5}.browse-footer span{max-width:185px}.detail-top{padding:18px 20px 24px;min-height:240px}.detail-bar{margin-bottom:29px}.detail-title{font-size:47px}.detail-content{padding:23px 20px 35px}.detail-fact strong{font-size:14px}.detail-story p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
