:root{--lp-ink:#111;--lp-paper:#fff;--lp-face:#e4e4df;--lp-blue:#1f2bd6;--lp-muted:#3d3d3d;--lp-focus:#ffe14d;--lp-gap:12px}@media (width>=1024px){:root{--lp-gap:16px}}html{background:var(--lp-face);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--lp-face);color:var(--lp-ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.55}:focus-visible{outline:3px solid var(--lp-ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lp-focus)}.skip-link{z-index:10;background:var(--lp-focus);color:#000;border:2px solid var(--lp-ink);padding:10px 14px;font-weight:700;position:absolute;top:8px;left:8px}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}.lp-hero,.lp-section{margin:var(--lp-gap) var(--lp-gap) 0;background:var(--lp-paper);border:2px solid var(--lp-ink)}.win-bar,.lp-kicker{background:var(--lp-blue);color:var(--lp-paper);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:4px 12px;font:700 13px/1.5 JetBrains Mono,ui-monospace,monospace}.lp-hero-body{padding:10px 16px 12px}.lp-title{letter-spacing:-.005em;text-transform:uppercase;margin:0;font-family:Big Shoulders,sans-serif;font-size:clamp(26px,3.2vw,44px);font-weight:900;line-height:.95}.lp-lede{max-width:82ch;color:var(--lp-muted);margin:6px 0 0;font-size:15px;line-height:1.45}.lp-style{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.lp-style:empty{display:none}.lp-style .chip{background:var(--lp-face);border:1px solid var(--lp-ink);padding:1px 8px;font:600 12px/1.6 JetBrains Mono,ui-monospace,monospace}.lp-studio:focus{outline:none}.lp-wrap{max-width:1120px}.lp-section .lp-wrap{padding:0 16px 18px}.lp-kicker{margin:0 -16px 16px}.lp-note{color:var(--lp-muted);margin:0 0 14px;font-size:15px}.lp-list,.lp-steps{counter-reset:lp;margin:0;padding:0;list-style:none}.lp-list li,.lp-steps li{counter-increment:lp;border-top:1px solid var(--lp-ink);padding:14px 0 14px 52px;position:relative}.lp-list li:before,.lp-steps li:before{content:counter(lp, decimal-leading-zero);color:var(--lp-blue);font:700 14px/1.4 JetBrains Mono,ui-monospace,monospace;position:absolute;top:15px;left:0}.lp-list h3,.lp-faq h3{margin:0 0 4px;font-size:18px;line-height:1.3}.lp-list p,.lp-faq p{max-width:68ch;color:var(--lp-muted);margin:0}.lp-steps strong{font-size:17px;display:block}.lp-steps span{color:var(--lp-muted);display:block}@media (width>=900px){.lp-steps{grid-template-columns:repeat(4,1fr);gap:0 24px;display:grid}.lp-steps li{padding:40px 0 0}.lp-steps li:before{top:14px}}.lp-faq{gap:0 40px;display:grid}.lp-faq>div{border-top:1px solid var(--lp-ink);padding:14px 0}@media (width>=900px){.lp-faq{grid-template-columns:1fr 1fr}}.lp-footer{margin:var(--lp-gap);color:var(--lp-ink);padding:8px 16px;font-size:14px}.lp-footer .lp-wrap{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.lp-footer a{min-height:44px;color:var(--lp-ink);align-items:center;display:inline-flex}.t2{background:var(--bg);width:1080px;height:1920px;color:var(--ink);position:relative;overflow:hidden}.t2-bg{width:1080px;height:1920px;display:block;position:absolute;inset:0}.t2-safe{flex-direction:column;display:flex;position:absolute;inset:250px 64px 340px}.t2 p,.t2 h1,.t2 ul,.t2 ol,.t2 dl,.t2 dd{margin:0;padding:0}.t2 [data-fit]{white-space:nowrap;display:block}.t2 [data-fit].is-wrapped{white-space:normal}.t2-title{font-weight:inherit;align-items:flex-start}.t2-title-line{white-space:nowrap;display:inline-block}.t2-list-box{flex:auto;min-height:0;display:flex;overflow:hidden}.t2-list{width:100%;list-style:none}.t2-tag{border:3px solid var(--ink);vertical-align:middle;letter-spacing:.04em;margin-left:.4em;padding:2px 10px;font-size:34px;font-weight:700;line-height:1.1;display:inline-block}.t2-credit{color:var(--muted);white-space:nowrap;font-size:34px;font-weight:600}.t2-halftone{text-align:center;font-family:Archivo,sans-serif}.t2-halftone .t2-safe{align-items:center;gap:22px}.t2-halftone .t2-title{flex-direction:column;align-items:center;width:100%;font-family:Bungee,sans-serif;font-weight:400;line-height:.92;display:flex}.t2-halftone .t2-meta{letter-spacing:.02em;text-transform:uppercase;width:100%;font-weight:800;font-stretch:112%}.t2-halftone .t2-list-box{justify-content:center;align-items:center;width:100%}.t2-halftone .t2-list li{text-transform:uppercase;white-space:nowrap;font-weight:800;line-height:1.08}.t2-halftone .t2-place{text-transform:uppercase;width:100%;font-weight:800}.t2-halftone .t2-tickets{width:100%;font-weight:600}.t2-halftone .t2-section{letter-spacing:.3em;text-transform:uppercase;padding-left:.3em;font-size:40px;font-weight:800}.t2-halftone.is-lineup .t2-list li{line-height:1.04}.t2-halftone .t2-tt{white-space:nowrap;grid-template-columns:auto auto;justify-content:center;align-items:baseline;column-gap:.45em;display:grid}.t2-halftone .t2-tt li{display:contents}.t2-halftone .t2-time{font-variant-numeric:tabular-nums;letter-spacing:.02em;justify-self:end;font-size:max(34px,.5em);font-weight:700;line-height:1.12}.t2-halftone .t2-tt-name{text-align:left;justify-self:start}.t2-halftone .t2-list{padding-block:.06em}.t2-halftone .t2-list.is-cols-2{grid-template-columns:repeat(2,max-content);grid-template-rows:repeat(var(--rows,8), auto);grid-auto-flow:column;justify-content:center;column-gap:.8em;display:grid}.t2-halftone .t2-list.is-wrap li,.t2-halftone .t2-tt.is-wrap .t2-tt-name{white-space:normal}.t2-halftone .t2-tt.is-wrap{grid-template-columns:auto minmax(0,1fr)}.t2-halftone .t2-list.is-dense li,.t2-halftone .t2-tt.is-dense .t2-time,.t2-halftone .t2-tt.is-dense .t2-tt-name{line-height:.98}.t2-halftone .t2-list.is-dense .t2-tag{border-width:2px;padding:0 8px;line-height:1}.tpl-b{background:var(--bg);width:1080px;height:1920px;color:var(--ink);font-family:JetBrains Mono,monospace;position:relative;overflow:hidden}.b-deco{pointer-events:none;position:absolute;inset:0}.b-stripes{background:repeating-linear-gradient(-45deg, var(--accent) 0 18px, transparent 18px 36px);height:36px;position:absolute;left:0;right:0}.b-stripes.is-top{top:96px}.b-stripes.is-bottom{bottom:120px}.b-hline{background:var(--ink);height:1px;position:absolute;left:0;right:0}.b-hline.is-top{top:calc(var(--safe-top) - 28px)}.b-hline.is-bottom{bottom:calc(var(--safe-bottom) - 28px)}.b-cross{background:linear-gradient(var(--ink), var(--ink)) center / 2px 100% no-repeat, linear-gradient(var(--ink), var(--ink)) center / 100% 2px no-repeat;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute}.b-cross.is-tl{top:calc(var(--safe-top) - 28px);left:var(--side)}.b-cross.is-tr{top:calc(var(--safe-top) - 28px);left:calc(1080px - var(--side))}.b-cross.is-bl{top:calc(1920px - var(--safe-bottom) + 28px);left:var(--side)}.b-cross.is-br{top:calc(1920px - var(--safe-bottom) + 28px);left:calc(1080px - var(--side))}.b-safe{top:var(--safe-top);bottom:var(--safe-bottom);left:var(--side);right:var(--side);flex-direction:column;gap:28px;display:flex;position:absolute}.b-main{flex:auto;gap:36px;min-height:0;display:flex}.b-title-col{flex:0 0 420px;position:relative}.tpl-b.is-lineup .b-title-col,.tpl-b.is-timetable .b-title-col{flex-basis:230px}.b-title-rot{transform-origin:0 0;position:absolute;top:0;left:0;transform:rotate(-90deg)translate(-100%)}.b-title{text-transform:uppercase;letter-spacing:-.005em;margin:0;font-family:Big Shoulders,sans-serif;font-weight:900}.b-title-line{display:block}.b-title-text{white-space:nowrap;width:max-content;line-height:.84;display:block}.b-title-line+.b-title-line .b-title-text{margin-top:.02em}.b-side{flex-direction:column;flex:auto;min-width:0;display:flex}.b-top{border-bottom:1px solid var(--ink);align-items:flex-start;gap:28px;padding-bottom:26px;display:flex}.tpl-b.logo-wide .b-top{flex-direction:column;gap:24px}.tpl-b.logo-wide .b-spec{width:100%}.b-spec{flex:auto;gap:10px;min-width:0;margin:0;display:grid}.b-spec>div{grid-template-columns:max-content 1fr;align-items:baseline;column-gap:24px;min-width:0;display:grid}.tpl-b.is-main .b-spec>div{grid-template-columns:1fr}.b-spec dt{letter-spacing:.06em;color:var(--accent-text);font-size:28px}.b-spec dd{white-space:nowrap;text-transform:uppercase;min-width:0;margin:0;font-weight:700}.b-lineup-head{letter-spacing:.08em;color:var(--accent-text);align-items:center;gap:16px;padding:22px 0 14px;font-size:28px;display:flex}.b-rule{background:var(--accent);flex:auto;height:1px}.b-heading-row{border-bottom:1px solid var(--accent);align-items:flex-end;gap:20px;margin-bottom:12px;padding:22px 0 16px;display:flex}.b-heading{white-space:nowrap;text-transform:uppercase;flex:auto;min-width:0;font-family:Big Shoulders,sans-serif;font-weight:900;line-height:.82;display:block}.b-count{letter-spacing:.06em;color:var(--accent-text);flex:none;padding-bottom:6px;font-size:28px;font-weight:700}.b-lineup-box{flex:auto;min-height:0;overflow:hidden}.b-list{text-transform:uppercase;font-family:Big Shoulders,sans-serif;font-weight:800;line-height:var(--lh,.92);flex-direction:column;justify-content:space-between;margin:0;padding:.16em 0 .1em;list-style:none;display:flex}.b-list.is-cols-2{grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,8), auto);column-gap:.5em;row-gap:var(--gap,.1em);align-content:space-between;display:grid}.b-list.is-spread{height:100%}.b-list li{white-space:nowrap;flex:none;align-items:flex-start;gap:.18em;min-width:0;display:flex}.b-list li+li{margin-top:var(--gap,.1em)}.b-list.is-cols-2 li+li{margin-top:0}.b-idx{width:2.4ch;color:var(--accent-text);flex:none;padding-top:.3em;font-family:JetBrains Mono,monospace;font-size:max(.2em,28px);font-weight:400;line-height:1}.b-name{flex:none}.b-list.is-wrap .b-name{flex:0 auto;min-width:0}.b-list.is-wrap li,.b-list.is-wrap .b-tt-name{white-space:normal;overflow-wrap:break-word}.tpl-b .is-wrapped{overflow-wrap:anywhere;white-space:normal!important}.b-tag{letter-spacing:.08em;background:var(--accent);color:var(--on-accent);flex:none;align-self:center;margin-left:.3em;padding:.16em .35em .1em;font-family:JetBrains Mono,monospace;font-size:max(.22em,28px);font-weight:700;line-height:1}.b-list li.b-tt-row{grid-template-columns:auto 1fr;align-items:end;column-gap:.35em;display:grid}.b-tt-time{letter-spacing:.02em;white-space:nowrap;color:var(--accent-text);min-width:calc(var(--tt-chars,11) * (1ch + .02em));font-family:JetBrains Mono,monospace;font-size:max(.26em,28px);font-weight:700}.b-tt-name{white-space:nowrap;align-items:center;min-width:0;display:flex}.b-tt-gauge{grid-column:1/-1;height:max(.05em,4px);margin-top:.03em;position:relative}.b-tt-track{background:var(--ink);opacity:.22;position:absolute;inset:0}.b-tt-fill{background:var(--accent);position:absolute;top:0;bottom:0}.b-tt-end{line-height:1;display:inline-block}.b-tt-fill.is-open{background:repeating-linear-gradient(-45deg, var(--accent) 0 6px, transparent 6px 12px)}.b-venue{border-top:1px solid var(--ink);padding-top:22px}.b-label,.b-tickets-label{letter-spacing:.08em;color:var(--accent-text);margin-bottom:6px;font-size:28px;display:block}.b-place-box{height:136px;overflow:hidden}.b-place{text-transform:uppercase;overflow-wrap:normal;padding-top:.06em;font-family:Big Shoulders,sans-serif;font-weight:700;line-height:1.02;display:block}.b-place.is-one-line{white-space:nowrap}.b-from{color:var(--accent-text);margin-right:.2em}.b-tickets{background:var(--accent);color:var(--on-accent);flex:none;align-items:baseline;gap:24px;padding:22px 26px;display:flex}.b-tickets-label{color:var(--on-accent);flex:none;margin:0;font-weight:700}.b-tickets-url{white-space:nowrap;text-align:right;flex:auto;min-width:0;font-weight:700}.b-credit{letter-spacing:.02em;text-align:center;white-space:nowrap;color:var(--ink-muted);flex:none;margin:-6px 0 0;font-size:28px;font-weight:400;line-height:1}:root{--ink:#111;--paper:#fff;--face:#e4e4df;--face-2:#f4f4f1;--blue:#1f2bd6;--muted:#4a4a4a;--focus:#ffe14d;--error:#b00020;--warn-bg:#fff3c4;--warn-ink:#3d2e00;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}.app{color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45;position:relative}.app h2,.app h3{margin:0;line-height:1.2}.app :focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--focus)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-main{grid-template-columns:1fr;gap:12px;padding:12px;display:grid}@media (width>=1024px){.app-main{grid-template-columns:minmax(360px,440px) 1fr;align-items:start;gap:16px;padding:16px}.event-form{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}}.event-form,.preview{background:var(--paper);border:2px solid var(--ink);min-width:0}.form-head,.preview-head{z-index:2;background:var(--blue);color:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex;position:sticky;top:0}.form-head h2,.preview-head h2{font:700 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}.event-form>:not(.form-head){margin-left:16px;margin-right:16px}.event-form>.form-head+*{margin-top:14px}.event-form{padding-bottom:16px}.field{align-content:start;gap:5px;min-width:0;margin-bottom:14px;display:grid}.field label,.lineup legend{font-weight:600}.optional{color:var(--muted);font-weight:400}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}input,select,button{font:inherit;color:inherit}input[type=text],input[type=url],input[type=date],input[type=time]{background:var(--paper);border:2px solid var(--ink);border-radius:0;width:100%;min-height:44px;padding:8px 10px}input[aria-invalid=true]{border-color:var(--error);background:#fff5f6}input[type=file]{max-width:100%;min-height:44px}input[type=color]{background:var(--paper);border:2px solid var(--ink);border-radius:0;width:52px;height:44px;padding:2px}.color-row,.logo-row{align-items:center;gap:8px;display:flex}.color-row input[type=text]{text-transform:uppercase;font-family:var(--mono);flex:auto}.hint{color:var(--muted);margin:0;font-size:13px}.error{color:var(--error);margin:0;font-size:13px;font-weight:600}.error:before{content:"⚠ "}.app button{background:var(--face);min-height:44px;color:var(--ink);border:2px solid;border-color:var(--paper) var(--ink) var(--ink) var(--paper);outline:1px solid var(--ink);outline-offset:0;cursor:pointer;border-radius:0;padding:8px 16px;font-weight:700}.app button:active:not(:disabled){border-color:var(--ink) var(--paper) var(--paper) var(--ink)}.app button:disabled{color:#595959;cursor:not-allowed}.app button.primary{background:var(--blue);color:var(--paper);border-color:#6f78ff #0b106b #0b106b #6f78ff}.app button.primary:disabled{color:#10135c;background:#8f95e6}.form-head button,.preview-head button{min-height:34px;padding:4px 12px;font-size:13px}.app button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.lineup{border:0;border-top:2px solid var(--ink);margin:8px 16px 0;padding:14px 0 0}.lineup legend{font:700 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:0}.lineup .count{color:var(--muted);font-weight:400}.artists{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.artist{background:var(--face-2);border:2px solid var(--ink);padding:8px 10px 10px}.artist .is-name{margin-bottom:0}.artist-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.artist .is-name input[type=text]{font-size:17px;font-weight:600}.artist-actions{flex:none;gap:4px;display:flex}.app .artist-actions button{min-width:44px;min-height:40px;padding:4px 8px}.artist-meta{grid-template-columns:1fr 1fr 1.2fr;gap:6px;margin-top:6px;display:grid}.artist-meta .field{gap:2px;margin-bottom:0}.artist-meta label{color:#333;font-size:12px;font-weight:600}.artist-meta input[type=text],.artist-meta input[type=time]{min-height:36px;padding:4px 6px;font-size:14px}.artist-meta .error{font-size:12px}.show-all{margin-bottom:8px;display:block}.preview-body{padding:12px 16px 20px}.preview-messages{gap:8px;margin-bottom:12px;display:grid}.preview-messages:empty{display:none}.notice{color:var(--muted);margin:0;font-size:14px}.notice.is-error{color:var(--error);font-weight:600}.warnings{gap:6px;margin:0;padding:0;list-style:none;display:grid}.warnings li{border:2px solid var(--ink);background:var(--warn-bg);color:var(--warn-ink);border-left-width:6px;padding:8px 12px;font-size:14px}.visuals{flex-wrap:wrap;display:flex}.visuals.cols-1{flex-direction:column;align-items:center}.visual{justify-items:start;gap:8px;margin:0;display:grid}.visual figcaption{font:700 12px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}.visual button{width:100%}.visual-frame{outline:1px solid var(--ink);position:relative;overflow:hidden}.visual-scaler{transform-origin:0 0;position:absolute;top:0;left:0}.visual-processed{width:100%;height:100%;display:block;position:absolute;inset:0}.visual-pending{color:var(--muted);text-transform:none;font-weight:400}.style-picker{gap:10px;margin-bottom:14px;padding:4px 8px 8px 4px;display:flex;overflow-x:auto}.app .style-option{background:var(--paper);flex:none;justify-items:center;gap:6px;padding:6px;font-size:13px;font-weight:700;display:grid}.app .style-option.is-active{background:var(--blue);color:var(--paper);border-color:#6f78ff #0b106b #0b106b #6f78ff}.style-thumb{background:#1c1c1c;display:block;position:relative;overflow:hidden}.style-thumb-scaler{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.style-name{font-size:13px}.style-thumb-scaler.is-source{opacity:0}.style-thumb-image{width:100%;height:100%;display:block;position:absolute;inset:0}.app input[type=date]:focus,.app input[type=time]:focus,.app input[type=date]:focus-within,.app input[type=time]:focus-within{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--focus)}
