@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");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}:root{--bg:#000;--surface:#121212;--ink:#fff;--muted:#a3a3a3;--line:#2b2b2b;--accent:#ffe500;--on-accent:#000;--tile-bg:#161616;--scrim:#000000b8;--error:#ff7a7a;--placeholder:#8a8a8a;--display:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--body:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=light]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}body.is-wall{height:100vh;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:28px;height:60px;padding:0 20px;display:flex;position:fixed;inset:0 0 auto}.wordmark{height:30px;color:var(--ink);flex:none;line-height:0;display:block}.wordmark svg{width:auto;height:100%;display:block}.site-nav{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav ul{white-space:nowrap;gap:22px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--muted);font-family:var(--display);letter-spacing:-.01em;font-variation-settings:"opsz" 96;border-bottom:3px solid #0000;padding:17px 0 15px;font-size:16px;font-weight:600;text-decoration:none;display:block}.site-nav a:hover{color:var(--ink)}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.wall{z-index:1;grid-template-columns:repeat(var(--cols,5), minmax(0, 1fr));touch-action:none;-webkit-user-select:none;user-select:none;gap:10px;padding:0 10px;transition:opacity .3s;display:grid;position:fixed;inset:0;overflow:hidden}.is-dim{opacity:.35;transition:opacity .3s}.col{min-width:0;position:relative}.track{will-change:transform;flex-direction:column;gap:10px;display:flex}.tile{aspect-ratio:9/16;cursor:pointer;background:var(--bg);-webkit-tap-highlight-color:transparent;border:0;border-radius:4px;width:100%;margin:0;padding:0;transition:opacity .25s;display:block;position:relative;overflow:hidden}.tile canvas,.tile video{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.wall.has-hover .tile:not(.is-hover):not(.is-spotlight){opacity:.4}.tile-dim{opacity:.45;pointer-events:none;background:#000;transition:opacity .25s;position:absolute;inset:0}.tile.is-hover .tile-dim,.tile:focus-visible .tile-dim,.tile.is-spotlight .tile-dim{opacity:0}.spot{z-index:2;will-change:transform;background:var(--bg);box-shadow:0 0 0 10px var(--bg);border-radius:4px;position:absolute;top:70px;left:0;right:0}.spot-meta{cursor:pointer;padding:12px 2px 2px}.spot-label{color:var(--ink);align-items:center;gap:8px;margin:0 0 6px;font-size:13px;font-weight:600;display:flex}.spot-label:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.spot-artist{letter-spacing:-.02em;font-variation-settings:"opsz" 96;margin:0;font-size:clamp(18px,1.6vw,24px);font-weight:800;line-height:1.1}.spot-title{margin:3px 0 0;font-size:15px;line-height:1.35}.spot-role{color:var(--muted);margin:2px 0 0;font-size:14px;line-height:1.35}.is-pinned .tile-meta{display:none}.tile-ov{text-align:left;color:#fff;opacity:0;background:linear-gradient(#0000 52%,#000000d1);flex-direction:column;justify-content:space-between;padding:10px 12px 12px;transition:opacity .2s;display:flex;position:absolute;inset:0}.tile.is-hover .tile-ov,.tile:focus-visible .tile-ov{opacity:1}.tc{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#0009;border-radius:3px;align-self:flex-start;align-items:center;gap:6px;padding:2px 7px;font-size:12px;display:inline-flex}.tc:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.tile-meta{flex-direction:column;gap:1px;display:flex}.tile-artist{font-family:var(--display);letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1.1}.tile-role{opacity:.85;font-size:13px;line-height:1.35}@media (hover:none){.tile-ov{opacity:1;background:linear-gradient(#0000 62%,#000000b3);justify-content:flex-end}.tile .tc,.tile-role{display:none}.tile-artist{font-size:17px}}.hint{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:15;background:var(--surface);color:var(--ink);border:1px solid var(--line);white-space:nowrap;pointer-events:none;border-radius:999px;margin:0;padding:10px 18px;font-size:14px;transition:opacity .5s;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000047}.hint.is-hidden{opacity:0}.page-inner{max-width:1360px;margin:0 auto;padding:116px 32px 88px}.cat-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:end;gap:20px 48px;margin-bottom:44px;padding-bottom:36px;display:grid}.cat-title{font-family:var(--display);letter-spacing:-.035em;overflow-wrap:break-word;margin:0;font-size:clamp(48px,10vw,156px);font-weight:800;line-height:.88}.cat-intro{max-width:36ch;margin:0;font-size:18px;line-height:1.5}.cat-count{color:var(--muted);margin:10px 0 4px;font-size:15px}.cat-grid{flex-direction:column;gap:56px;display:flex}.cat-row{align-items:flex-start;gap:28px;display:flex}.cat-row>*{flex-basis:0;min-width:0}.card{min-width:0}.card-frame{aspect-ratio:16/9;cursor:pointer;background:var(--tile-bg);-webkit-tap-highlight-color:transparent;border:0;border-radius:6px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.card-frame canvas{width:auto;height:100%;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.card-frame video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.scrub-line{background:var(--accent);opacity:0;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 0 1px #0000004d}.scrub-bar{background:var(--accent);opacity:0;pointer-events:none;width:0;height:3px;position:absolute;bottom:0;left:0}.card-frame .tc{opacity:0;pointer-events:none;position:absolute;top:12px;left:12px}.card-frame.is-scrubbing .scrub-line,.card-frame.is-scrubbing .scrub-bar,.card-frame.is-scrubbing .tc{opacity:1}.card-text{grid-template-columns:minmax(0,1fr) auto;gap:0 16px;padding-top:16px;display:grid}.card-artist{font-family:var(--display);letter-spacing:-.02em;grid-column:1/-1;margin:0;font-size:30px;font-weight:700;line-height:1.05}.card.is-featured .card-artist{letter-spacing:-.03em;font-size:clamp(36px,4.6vw,58px)}.card-title{grid-column:1/-1;margin:4px 0 8px;font-size:17px;line-height:1.4}.card-role,.card-year{color:var(--muted);margin:0;font-size:14px}.card-year{font-variant-numeric:tabular-nums}.next{border-top:1px solid var(--line);margin-top:104px;padding-top:28px}.next-link{color:var(--ink);flex-direction:column;text-decoration:none;display:inline-flex}.next-label{color:var(--muted);font-size:15px}.next-name{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(44px,7.5vw,108px);font-weight:800;line-height:.95;transition:color .15s}.next-link:hover .next-name{color:var(--accent)}.empty-note{color:var(--muted);margin:0;font-size:18px}.portal-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:56px 72px;display:grid}.portal-h2{letter-spacing:-.025em;font-variation-settings:"opsz" 96;margin:0 0 24px;font-size:28px;font-weight:800;line-height:1.1}.portal-status{max-width:44ch;color:var(--ink);align-items:baseline;gap:10px;margin:16px 0 0;font-size:15px;line-height:1.5;display:flex}.portal-status:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px;transform:translateY(-2px)}.field-help{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.field-label,.chips-legend{font-size:15px;font-weight:600}.optional{color:var(--muted);font-weight:400}fieldset.field{border:0;margin:0;padding:0}.chips-legend{margin-bottom:8px;padding:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:15px;font-weight:500;display:inline-flex}.chip:hover{border-color:#4a4a4a}.chip[aria-pressed=true]{border-color:var(--accent)}.chip[aria-pressed=true]:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.chips.is-invalid .chip{border-color:var(--error)}.drop{cursor:pointer;background:var(--surface);border:1px dashed #4a4a4a;border-radius:8px;min-height:120px;display:block;position:relative}.drop:hover,.drop.is-over{border-color:var(--accent)}.drop:focus-within{outline:2px solid var(--accent);outline-offset:3px}.drop.is-invalid{border-color:var(--error)}.drop-empty{text-align:center;min-height:120px;color:var(--muted);justify-content:center;align-items:center;padding:20px;font-size:16px;display:flex}.drop-empty strong{color:var(--ink);margin-right:5px;font-weight:600}.drop-filled{align-items:center;gap:16px;padding:14px;display:flex}.drop-filled video{object-fit:cover;background:#000;border-radius:4px;flex:none;width:72px;height:96px}.drop-file{gap:4px;min-width:0;display:grid}.drop-name{overflow-wrap:anywhere;font-weight:600}.drop-change{color:var(--muted);text-underline-offset:3px;font-size:14px;text-decoration:underline}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:18px 0 2px;display:flex}.setting-title{margin:0;font-size:16px;font-weight:600}.setting-help{max-width:50ch;color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.45}.setting-current{color:var(--ink)}.switch{cursor:pointer;background:#262626;border:1px solid #4a4a4a;border-radius:999px;flex:none;width:48px;height:28px;margin-top:2px;padding:0;transition:background .2s,border-color .2s;position:relative}.switch:after{content:"";background:#bdbdbd;border-radius:50%;width:20px;height:20px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]:after{background:#000;transform:translate(20px)}.form-note{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:15px;display:flex}.form-note.is-success:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.form-note.is-error{color:var(--error)}.form-note a{color:var(--ink);text-underline-offset:3px;font-weight:600}.portal-side-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.portal-side-head .portal-h2{margin:0}.portal-count{color:var(--muted);font-size:15px}.pl-row{border-top:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px 14px;padding:14px 0;display:grid}.pl-thumb{background:var(--tile-bg);border-radius:4px;width:64px;height:64px;position:relative;overflow:hidden}.pl-thumb video,.pl-thumb canvas{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.pl-artist{margin:0;font-size:16px;font-weight:700;line-height:1.3}.pl-title{margin:0;font-size:15px;line-height:1.35}.pl-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 12px;margin:3px 0 0;font-size:13px;display:flex}.pl-badge{color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.pl-badge:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.pl-actions{gap:2px;display:flex}.link-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:14px;font-weight:600}.link-btn:hover{background:#1c1c1c}.link-btn.is-danger{color:var(--error)}.pl-confirm{background:var(--surface);border-radius:6px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px 12px;padding:12px 14px;font-size:15px;display:flex}.pl-confirm p{margin:0 auto 0 0}.btn-sm{padding:8px 14px;font-size:14px}.btn-danger{background:var(--error);color:#000;border:1px solid var(--error)}.portal-empty{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:18px 0;font-size:15px}.portal-side .setting-row{margin-top:12px}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:40px 80px;display:grid}.contact-intro{letter-spacing:-.02em;font-variation-settings:"opsz" 96;max-width:20ch;margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.28}.form{gap:24px;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.field{align-content:start;gap:8px;min-width:0;display:grid}.field label{font-size:15px;font-weight:600}.input{background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:6px;margin:0;padding:14px 16px;font-size:17px;line-height:1.4}.input::placeholder{color:var(--placeholder)}.input:hover{border-color:#4a4a4a}.input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.input[aria-invalid=true]{border-color:var(--error)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 1px var(--error)}textarea.input{resize:vertical;min-height:170px}.select-wrap{position:relative}.select-wrap select{appearance:none;cursor:pointer;padding-right:46px}.select-wrap select.is-empty{color:var(--placeholder)}.select-wrap option{background:var(--surface);color:var(--ink)}.select-wrap svg{width:14px;height:14px;color:var(--muted);pointer-events:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.field-error{color:var(--error);margin:0;font-size:14px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-foot{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}button.btn{cursor:pointer}button.btn:disabled{opacity:.65;cursor:progress}.form-status{color:var(--error);margin:0;font-size:15px}.sent{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:32px}.sent:focus{outline:none}.sent h2{letter-spacing:-.03em;align-items:center;gap:14px;margin:0 0 10px;font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1.05;display:flex}.sent h2:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:12px;height:12px}.sent p{max-width:42ch;margin:0 0 26px;font-size:18px;line-height:1.5}.about-lead{letter-spacing:-.02em;font-variation-settings:"opsz" 96;max-width:28ch;margin:0;font-size:clamp(26px,2.8vw,40px);font-weight:500;line-height:1.28}.about-actions{flex-wrap:wrap;gap:12px;margin-top:44px;display:flex}.btn{letter-spacing:-.005em;border-radius:6px;align-items:center;padding:12px 20px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-secondary:hover{border-color:var(--muted)}.scrim{z-index:30;opacity:0;visibility:hidden;background:0 0;transition:opacity .3s,visibility 0s linear .3s;position:fixed;inset:0}.scrim.is-open{opacity:1;visibility:visible;transition:opacity .3s}.panel{z-index:40;background:var(--surface);border-left:1px solid var(--line);visibility:hidden;flex-direction:column;width:min(460px,100%);transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s linear .32s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.panel.is-open{visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1);transform:none}.panel-top{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:12px 14px 12px 24px;display:flex}.p-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.p-actions{gap:6px;display:flex}.icon-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.icon-btn:hover{border-color:var(--muted)}.icon-btn svg{width:16px;height:16px}.panel-body{overscroll-behavior:contain;flex:1;padding:22px 24px 32px;overflow-y:auto}.embed{background:var(--tile-bg);border-radius:6px;margin:0 auto;position:relative;overflow:hidden}.embed canvas,.embed video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.embed-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:13px}.embed-link{z-index:1;cursor:pointer;display:block;position:absolute;inset:0}.embed-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.sound-btn{z-index:2;color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;bottom:10px;right:10px}.sound-btn:hover{background:#000c}.sound-btn svg{width:16px;height:16px}.sound-btn[aria-pressed=true] .sound-off,.sound-btn[aria-pressed=false] .sound-waves{display:none}.p-artist{font-family:var(--display);letter-spacing:-.03em;margin:26px 0 4px;font-size:clamp(34px,5vw,50px);font-weight:800;line-height:1}.p-title{margin:0;font-size:19px;line-height:1.4}.p-meta{border-top:1px solid var(--line);grid-template-columns:96px 1fr;gap:8px 16px;margin:22px 0 0;padding:18px 0 0;display:grid}.p-meta dt{color:var(--muted);font-size:14px;line-height:1.6}.p-meta dd{margin:0;font-size:15px;line-height:1.55}.p-desc{max-width:60ch;margin:18px 0 24px;font-size:16px;line-height:1.6}.p-link{background:var(--accent);color:var(--on-accent);border-radius:6px;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.p-link:hover{filter:brightness(1.06)}@media (max-width:760px){.page-inner{padding:96px 16px 64px}.cat-head{grid-template-columns:1fr}.cat-grid{gap:44px}.cat-row{gap:16px}.card-artist{font-size:26px}.contact-grid,.portal-grid,.form-row{grid-template-columns:1fr}.sent{padding:24px}}@media (max-width:640px){.site-header{gap:16px;padding:0 14px}.wall{gap:8px;padding:0 8px}.spot{box-shadow:0 0 0 8px var(--bg)}.spot-meta{padding-top:10px}.spot-artist{font-size:16px}.spot-title{font-size:13px}.spot-role{display:none}.track{gap:8px}.scrim{background:var(--scrim)}.panel{border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;width:100%;max-height:90vh;top:auto;left:0;transform:translateY(100%)}.panel-top{padding-left:20px}.panel-body{padding:18px 20px calc(28px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.panel,.panel.is-open,.scrim,.hint,.tile,.tile-ov,.tile-dim,.wall,.is-dim,.next-name{transition:none}}.upload{gap:6px;margin-top:2px;display:grid}.upload-track{background:var(--line);border-radius:999px;height:3px;position:relative;overflow:hidden}.upload-fill{background:var(--accent);width:0;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.upload-label{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:14px;line-height:1.45}.embed iframe{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.upload-fill{transition:none}}
