/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}::backdrop{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.block{display:block}.rounded{border-radius:.25rem}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}}:root{--ink:#111a20;--cream:#f6f0e4;--paper:#fffaf0;--coral:#ff5b4a;--blue:#0067c9;--green:#0ba879;--yellow:#f1e800;--muted:#6f6a61}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}html,body{margin:0;overflow-x:clip}body{background:var(--cream);color:var(--ink);font-family:var(--font-body), "Yu Gothic", sans-serif;font-size:16px;font-weight:500;line-height:1.75}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{background:linear-gradient(135deg, transparent 0 68%, var(--yellow) 68% 77%, transparent 77%), linear-gradient(24deg, transparent 0 78%, var(--blue) 78%), var(--cream);min-height:100svh}@supports (color:color-mix(in lab, red, red)){.app-shell{background:linear-gradient(135deg, transparent 0 68%, color-mix(in srgb, var(--yellow) 22%, transparent) 68% 77%, transparent 77%), linear-gradient(24deg, transparent 0 78%, color-mix(in srgb, var(--blue) 18%, transparent) 78%), var(--cream)}}.app-shell{padding-bottom:7rem}.site-header{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:0 5vw;display:flex}.brand-mark{color:inherit;align-items:center;gap:.75rem;font-weight:900;text-decoration:none;display:flex}.brand-hex{aspect-ratio:1;background:var(--yellow);border:3px solid var(--ink);clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);width:28px}.save-state{color:var(--muted);margin:0 0 0 auto;font-size:.85rem;font-weight:700}.discard-draft{border:2px solid var(--ink);background:var(--paper);cursor:pointer;min-height:40px;padding:.35rem .7rem;font-size:.78rem;font-weight:900}.discard-draft:hover{background:var(--yellow)}.hero{background:linear-gradient(38deg, var(--green) 0 7%, transparent 7%), linear-gradient(142deg, transparent 0 83%, var(--yellow) 83%), linear-gradient(16deg, transparent 0 88%, var(--blue) 88%), linear-gradient(155deg, transparent 0 91%, var(--coral) 91%);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:clamp(2rem,6vw,7rem);width:min(1440px,100%);margin:0 auto;padding:clamp(3rem,8vw,8rem) 5vw clamp(4rem,9vw,9rem);display:grid}@supports (color:color-mix(in lab, red, red)){.hero{background:linear-gradient(38deg, color-mix(in srgb, var(--green) 72%, transparent) 0 7%, transparent 7%), linear-gradient(142deg, transparent 0 83%, color-mix(in srgb, var(--yellow) 80%, transparent) 83%), linear-gradient(16deg, transparent 0 88%, color-mix(in srgb, var(--blue) 72%, transparent) 88%), linear-gradient(155deg, transparent 0 91%, color-mix(in srgb, var(--coral) 80%, transparent) 91%)}}.hero-copy,.time-honeycomb{min-width:0}.event-date{font-family:var(--font-display), Impact, sans-serif;letter-spacing:.07em;margin:0 0 1rem;font-size:clamp(.8rem,1.3vw,1rem)}.hero h1{max-width:10ch;font-family:var(--font-body), "Yu Gothic", sans-serif;letter-spacing:-.075em;text-wrap:wrap;margin:0;font-size:clamp(3.7rem,9vw,8.8rem);font-weight:900;line-height:.88}.hero-lead{max-width:42rem;margin:clamp(1.8rem,3vw,3rem) 0 0;font-size:clamp(1rem,1.4vw,1.2rem);font-weight:700}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.hero-limit{color:var(--muted);margin:1rem 0 0;font-size:.88rem;font-weight:900}.primary-button,.secondary-button{border:3px solid var(--ink);min-height:52px;box-shadow:5px 5px 0 var(--ink);cursor:pointer;border-radius:0;padding:.75rem 1.25rem;font-weight:900;transition:box-shadow .15s,transform .15s,background-color .15s}.primary-button{background:var(--yellow)}.secondary-button{background:var(--paper)}.primary-button:hover,.secondary-button:hover{background:var(--coral)}.primary-button:active,.secondary-button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(4px,4px)}:is(.primary-button:focus-visible,.secondary-button:focus-visible){outline:4px solid var(--blue);outline-offset:4px}.time-honeycomb{justify-items:center;display:grid}.time-hex{aspect-ratio:1.16;text-align:center;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);place-content:center;width:min(100%,310px);padding:2rem;display:grid}.time-hex span{font-weight:900}.time-hex strong{font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;font-size:clamp(3rem,6vw,5.7rem);line-height:1}.time-hex-total{background:var(--ink);color:var(--paper)}.time-hex-slot{background:var(--yellow);width:min(72%,220px);margin-top:-2.3rem}.time-hex-slot strong{font-size:clamp(2rem,4vw,3.6rem)}.time-honeycomb>p{text-align:center;max-width:22rem;margin:1rem 0 0;font-weight:700}.stage-section,.setlist-preview{width:min(1320px,100% - 10vw);margin:0 auto}.section-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.25rem;display:flex}.section-heading h2{font-family:var(--font-display), var(--font-body), Impact, "Yu Gothic", sans-serif;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,3.8rem);font-weight:900;line-height:1}.section-heading p{margin:0;font-weight:700}.vocal-section .section-heading{flex-direction:column;align-items:start;gap:.5rem}.stage-editor{gap:.75rem;display:grid}.stage-symbol-palette{border:3px solid var(--ink);background:var(--blue);grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:.75rem;display:grid}.stage-symbol-palette button{border:2px solid var(--ink);background:var(--paper);min-width:0;min-height:58px;box-shadow:3px 3px 0 var(--ink);text-align:left;cursor:pointer;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:.55rem;padding:.35rem .55rem;font-size:.8rem;font-weight:900;transition:background-color .12s,box-shadow .12s,transform .12s;display:grid}.stage-symbol-palette button:hover{background:var(--green)}.stage-symbol-palette button:active{background:var(--yellow);box-shadow:none;transform:translate(3px,3px)}.stage-symbol-palette button:focus-visible{outline:4px solid var(--coral);outline-offset:2px}.stage-symbol-palette button:disabled{cursor:not-allowed;opacity:.45}.stage-symbol-palette img{object-fit:contain;width:46px;height:46px}.stage-editor-help{color:var(--muted);margin:0;font-size:.85rem;font-weight:700}.stage-plot-view{min-width:0}.stage-plot-canvas{aspect-ratio:16/9;border:4px solid var(--ink);background-color:#fff;background-image:linear-gradient(var(--ink) 1px, transparent 1px), linear-gradient(90deg, var(--ink) 1px, transparent 1px);width:100%;min-height:260px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.stage-plot-canvas{background-image:linear-gradient(color-mix(in srgb, var(--ink) 10%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 10%, transparent) 1px, transparent 1px)}}.stage-plot-canvas{box-shadow:inset 0 -10px 0 var(--ink);background-size:20px 20px}@supports (color:color-mix(in lab, red, red)){.stage-plot-canvas{box-shadow:inset 0 -10px 0 color-mix(in srgb, var(--ink) 7%, transparent)}}.stage-plot-canvas{-webkit-user-select:none;user-select:none}.stage-plot-editable{border-color:var(--blue);box-shadow:0 0 0 3px var(--ink), inset 0 -10px 0 var(--ink)}@supports (color:color-mix(in lab, red, red)){.stage-plot-editable{box-shadow:0 0 0 3px var(--ink), inset 0 -10px 0 color-mix(in srgb, var(--ink) 7%, transparent)}}.stage-direction{z-index:3;background:#fff;padding:.15rem .35rem;font-size:clamp(.55rem,1.2vw,.75rem);line-height:1.25;display:grid;position:absolute;top:.55rem}.stage-direction strong{font-family:var(--font-display), Impact, sans-serif;letter-spacing:.04em}.stage-direction-left{left:.55rem}.stage-direction-right{text-align:right;right:.55rem}.stage-equipment-layer,.stage-performer-layer{position:absolute;inset:0}.stage-symbol{z-index:5;text-align:center;justify-items:center;width:clamp(48px,8vw,76px);min-height:52px;display:grid;position:absolute;transform:translate(-50%,-50%)}.stage-symbol>img,.stage-symbol-handle>img{object-fit:contain;pointer-events:none;background:#fff;width:48px;height:48px}.stage-symbol-piano{width:clamp(72px,12vw,112px)}.stage-symbol-piano>img,.stage-symbol-piano .stage-symbol-handle>img{width:88px}.stage-symbol>span,.stage-symbol-handle>span{overflow-wrap:anywhere;pointer-events:none;background:#fff;max-width:100%;padding:0 .18rem;font-size:clamp(.52rem,1vw,.7rem);font-weight:900;line-height:1.2}.stage-symbol-draggable{z-index:7;border:2px solid #0000;min-width:48px;min-height:48px}.stage-symbol-handle{min-width:48px;min-height:48px;color:inherit;cursor:grab;touch-action:none;background:0 0;border:0;justify-items:center;padding:0;display:grid}.stage-symbol-handle:active{cursor:grabbing}.stage-symbol-draggable.is-selected{border-color:var(--coral);outline-offset:1px;background:var(--yellow);outline:3px solid #fff}.stage-symbol-draggable:has(.stage-symbol-handle:focus-visible){border-color:var(--coral);outline-offset:1px;background:var(--yellow);outline:3px solid #fff}@supports (color:color-mix(in lab, red, red)){.stage-symbol-draggable.is-selected{background:color-mix(in srgb, var(--yellow) 55%, transparent)}.stage-symbol-draggable:has(.stage-symbol-handle:focus-visible){background:color-mix(in srgb, var(--yellow) 55%, transparent)}}.stage-symbol-remove{border:2px solid var(--ink);background:var(--coral);cursor:pointer;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-weight:900;line-height:1;display:grid;position:absolute;top:-13px;right:-13px}.stage-performer{z-index:4;left:var(--stage-x);text-align:center;justify-items:center;width:min(13%,104px);min-width:0;display:grid;position:absolute;bottom:13%;transform:translate(-50%)}.stage-performer-symbols{background:#fff;place-items:center;width:clamp(38px,6vw,58px);height:clamp(30px,4.5vw,45px);display:grid;position:relative}.stage-performer-icon{object-fit:contain;width:100%;height:100%}.stage-linked-mic{object-fit:contain;background:#fff;width:clamp(24px,3.4vw,34px);height:clamp(24px,3.4vw,34px);position:absolute;top:-17px;left:-19px}.stage-performer strong,.stage-performer span,.stage-performer small{text-overflow:ellipsis;white-space:nowrap;background:#fff;max-width:100%;padding:0 .15rem;line-height:1.15;display:block;overflow:hidden}.stage-performer strong{font-family:var(--font-display), Impact, sans-serif;font-size:clamp(.7rem,1.7vw,1rem)}.stage-performer span{width:100%;font-size:clamp(.55rem,1.2vw,.78rem);font-weight:900}.stage-performer small{color:var(--muted);font-size:clamp(.46rem,1vw,.65rem);font-weight:700}.stage-audience{z-index:3;border-top:3px solid var(--ink);text-align:center;font-family:var(--font-display), Impact, sans-serif;letter-spacing:.08em;background:#fff;margin:0;font-size:clamp(.65rem,1.4vw,.85rem);position:absolute;inset:auto 0 0}.stage-legend{border:2px solid var(--ink);background:var(--paper);grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.35rem;margin:.75rem 0 0;padding:.65rem;list-style:none;display:grid}.stage-legend li{align-items:center;gap:.35rem;min-width:0;font-size:.72rem;font-weight:900;display:flex}.stage-legend img{object-fit:contain;background:#fff;flex:none;width:34px;height:34px}.stage-plot-compact{margin:1rem 0}.stage-plot-compact .stage-plot-canvas{background-size:14px 14px;border-width:3px;min-height:185px}.stage-plot-compact .stage-symbol>span,.stage-plot-compact .stage-performer small,.stage-plot-compact .stage-direction span{display:none}.stage-plot-compact .stage-symbol>img{width:34px;height:34px}.stage-plot-compact .stage-symbol-piano>img{width:54px}.stage-plot-compact .stage-performer{bottom:15%}.stage-plot-compact .stage-performer-symbols{width:40px;height:31px}.stage-map{gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.stage-map li{border:2px solid var(--ink);background:var(--paper);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.45rem .65rem;display:grid}.stage-map span{overflow-wrap:anywhere;min-width:0;font-weight:900}.stage-map small{color:var(--muted);font-weight:700}.setlist-preview{padding-top:clamp(4rem,8vw,8rem)}.timeline{border-top:4px solid var(--ink);margin:0;padding:0;list-style:none}.timeline li{border-bottom:3px solid var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.75rem,2vw,1.5rem);min-height:92px;padding:1rem clamp(.8rem,2vw,1.5rem);display:grid}.timeline-song{background:var(--paper)}.timeline-mc{background:var(--green)}.timeline-index{font-family:var(--font-display), Impact, sans-serif;font-size:1.4rem}.timeline strong,.timeline small{overflow-wrap:anywhere;display:block}.timeline strong{font-size:1.12rem}.timeline small{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.timeline small{color:color-mix(in srgb, var(--ink) 70%, transparent)}}.timeline small{font-weight:700}.timeline time{background:var(--ink);color:var(--paper);font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;padding:.35rem .7rem;font-size:1.25rem}.form-layout{grid-template-columns:minmax(0,1.38fr) minmax(320px,1fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);width:min(1440px,100% - 10vw);margin:0 auto;display:grid}.form-main{min-width:0}.form-section{padding:clamp(3.5rem,7vw,7rem) 0 0}.identity-section{padding-top:0}.field-grid,.item-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;display:grid}.field{align-content:start;gap:.45rem;min-width:0;font-weight:700;display:grid}.field>span,.vocal-choice legend{font-size:.92rem;font-weight:900}.field input,.field select,.field textarea{border:3px solid var(--ink);background:var(--paper);border-radius:0;width:100%;min-width:0}@supports (color:color-mix(in lab, red, red)){.field input,.field select,.field textarea{background:color-mix(in srgb, var(--paper) 88%, var(--blue) 12%)}}.field input,.field select,.field textarea{color:var(--ink);box-shadow:inset 3px 3px 0 var(--ink);padding:.75rem .85rem}@supports (color:color-mix(in lab, red, red)){.field input,.field select,.field textarea{box-shadow:inset 3px 3px 0 color-mix(in srgb, var(--ink) 12%, transparent)}}.field input,.field select,.field textarea{outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:inset 3px 3px 0 var(--blue), 0 0 0 3px var(--yellow)}@supports (color:color-mix(in lab, red, red)){.field input:focus,.field select:focus,.field textarea:focus{box-shadow:inset 3px 3px 0 color-mix(in srgb, var(--blue) 22%, transparent), 0 0 0 3px var(--yellow)}}.field small{color:var(--muted);font-weight:500}.field-wide{grid-column:1/-1}.vocal-edit-list{gap:.9rem;display:grid}.vocal-edit{border:3px solid var(--ink);background:var(--paper);grid-template-columns:minmax(0,1.25fr) minmax(170px,.75fr);gap:.85rem 1rem;min-width:0;margin:0;padding:1rem;display:grid}.vocal-edit legend{background:var(--coral);border:3px solid var(--ink);font-family:var(--font-display), Impact, sans-serif;grid-column:1/-1;padding:.1rem .7rem;font-size:1.3rem;line-height:1.2}.row-actions{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;display:flex}.row-actions button,.add-line-button{border:2px solid var(--ink);background:var(--cream);cursor:pointer;border-radius:0;min-height:42px;padding:.45rem .75rem;font-weight:900}.row-actions button:hover,.add-line-button:hover{background:var(--yellow)}.row-actions button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.add-line-button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.row-actions button:disabled,.add-line-button:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.42}.row-actions .danger-button:hover{background:var(--coral)}.add-line-button{background:var(--yellow);width:100%;margin:1rem 0 2rem}.section-note{color:var(--muted);margin:-.25rem 0 1.5rem;font-weight:700}.add-item-rail{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.add-item-rail .primary-button,.add-item-rail .secondary-button{min-width:130px}.empty-timeline{border:3px dashed var(--ink);background:var(--yellow);gap:.2rem;padding:2rem;display:grid}@supports (color:color-mix(in lab, red, red)){.empty-timeline{background:color-mix(in srgb, var(--yellow) 24%, transparent)}}.empty-timeline{text-align:center}.empty-timeline strong{font-size:1.25rem}.editor-list{border-top:0}.timeline li.editor-row{border:3px solid var(--ink);margin-top:1rem;padding:0;display:block}.item-heading{border-bottom:3px solid var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem 1rem;display:grid}.timeline-song .item-heading{background:var(--yellow)}.timeline-mc .item-heading{background:var(--green)}.item-heading time{justify-self:end}.item-fields{background:var(--paper);padding:1.25rem}.item-actions{background:var(--paper);padding:0 1.25rem 1.25rem}.vocal-choice{border:2px solid var(--ink);min-width:0;margin:0;padding:1rem}.vocal-choice>div{flex-wrap:wrap;gap:.6rem;display:flex}.vocal-choice label{background:var(--cream);border:2px solid var(--ink);cursor:pointer;align-items:center;gap:.45rem;padding:.45rem .65rem;display:flex}.vocal-choice input{width:1.2rem;height:1.2rem;accent-color:var(--blue)}.submit-section{background:var(--ink);color:var(--paper);margin-top:clamp(3.5rem,7vw,7rem);padding:clamp(1.25rem,3vw,2.5rem)}.submit-section .section-heading,.submit-section .privacy-note{color:var(--paper)}.submit-section .field textarea{background:var(--paper);color:var(--ink)}.submit-summary{border:4px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem;display:grid}.submit-summary>div{background:var(--yellow);gap:.25rem;padding:1.25rem;display:grid}.submit-summary>div+div{background:var(--blue);color:var(--paper);border-left:4px solid var(--ink)}.submit-summary span{font-weight:900}.submit-summary strong{font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1}.submit-note{font-weight:700}.submit-button{border:4px solid var(--paper);background:var(--yellow);width:calc(100% - 7px);min-height:68px;color:var(--ink);box-shadow:7px 7px 0 var(--coral);cursor:pointer;font-size:1.25rem;font-weight:900;transition:box-shadow .15s,transform .15s,background-color .15s}.submit-button:hover{background:var(--green)}.submit-button:active{box-shadow:1px 1px 0 var(--coral);transform:translate(6px,6px)}.submit-button:disabled{cursor:not-allowed;opacity:.52}.submit-button:focus-visible{outline:4px solid var(--blue);outline-offset:4px}.form-message,.success-message{border:3px solid var(--ink);margin:1.25rem 0;padding:1rem;font-weight:900}.error-message{background:var(--coral)}.warning-message{background:var(--yellow)}.privacy-note{color:var(--muted);font-size:.9rem;font-weight:700}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.success-message{background:var(--green);gap:.2rem;display:grid}.success-message strong{font-size:1.25rem}.completion-shell{place-items:center;padding:clamp(1rem,5vw,4rem);display:grid}.completion-card{border:4px solid var(--ink);background:var(--paper);width:min(680px,100%);box-shadow:10px 10px 0 var(--ink);text-align:center;justify-items:center;padding:clamp(2rem,7vw,5rem);display:grid}.completion-card .brand-hex{width:64px}.completion-card p{max-width:34rem;margin:.75rem 0 0;font-weight:700}.completion-card h1{letter-spacing:-.06em;margin:1rem 0 2rem;font-size:clamp(3rem,11vw,7rem);font-weight:900;line-height:.9}.completion-card>span:not(.brand-hex){font-weight:900}.completion-card>strong{background:var(--yellow);font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.25rem 0 1.25rem;padding:.4rem .8rem;font-size:clamp(1.7rem,7vw,3.2rem)}.summary-rail{padding-top:.2rem;position:sticky;top:1.25rem}.summary-poster{border:4px solid var(--ink);background:linear-gradient(145deg, var(--paper) 0 76%, var(--coral) 76%);min-height:530px;box-shadow:10px 10px 0 var(--ink);padding:2rem;overflow:hidden}.summary-poster h2{overflow-wrap:anywhere;max-width:9ch;margin:0 0 2rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;line-height:1.05}.summary-poster dl{border-block:3px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.summary-poster dl>div{text-align:center;padding:.7rem .2rem}.summary-poster dt{font-family:var(--font-display), Impact, sans-serif;font-size:.8rem}.summary-poster dd{margin:0;font-weight:900}.summary-times{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem;display:grid}.summary-total,.summary-slot{border:3px solid var(--ink);gap:.1rem;min-width:0;padding:.85rem;display:grid}.summary-total{background:var(--ink);color:var(--paper)}.summary-slot{background:var(--yellow);border-left:0}.summary-total span,.summary-slot span{font-weight:900}.summary-total strong,.summary-slot strong{font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1}.summary-poster>p{margin:1rem 0 0;font-weight:900}.summary-setlist{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.summary-setlist li{border-bottom:2px solid var(--ink);grid-template-columns:auto minmax(0,1fr) auto;gap:.4rem;min-width:0;padding:.35rem 0;font-size:.78rem;display:grid}.summary-setlist strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.summary-setlist time{font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}.summary-more{font-size:.75rem;margin:.4rem 0 0!important}.mobile-total{display:none}.admin-shell{background:var(--cream);min-height:100svh;padding:clamp(1rem,4vw,4rem)}.admin-header{border-bottom:4px solid var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.5rem;display:flex}.admin-header>div{align-items:center;gap:1rem;display:flex}.admin-header h1{margin:0;font-size:clamp(2rem,6vw,5rem);font-weight:900;line-height:1}.admin-header a{color:inherit;font-weight:900}.admin-list{gap:1.25rem;margin-top:2rem;display:grid}.admin-empty,.admin-denied{border:4px solid var(--ink);background:var(--yellow);padding:2rem}.admin-denied{width:min(700px,100%);margin:10vh auto 0}.admin-denied h1{margin:0;font-size:clamp(2rem,8vw,5rem);line-height:1}.submission-record{border:4px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink)}.record-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:1.25rem;display:grid}.record-summary h2,.record-summary p{margin:0}.record-summary>div{min-width:0}.record-summary small,.record-summary p{overflow-wrap:anywhere}.record-summary small{font-family:var(--font-display), Impact, sans-serif}.record-summary dl{flex-wrap:wrap;gap:1.5rem;margin:0;display:flex}.record-summary dl>div{min-width:74px}.record-summary dt{font-size:.8rem;font-weight:900}.record-summary dd{font-family:var(--font-display), Impact, sans-serif;margin:0;font-size:1.5rem}.submission-record details{border-top:3px solid var(--ink)}.submission-record summary{background:var(--blue);color:var(--paper);cursor:pointer;padding:.85rem 1.25rem;font-weight:900}.record-detail{padding:1.25rem}.record-detail,.record-notes{overflow-wrap:anywhere}.admin-vocals,.admin-setlist{margin:0;padding:0;list-style:none}.admin-vocals{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.admin-vocals li{border:2px solid var(--ink);text-align:center;min-width:0;padding:.65rem .35rem}.admin-vocals strong,.admin-vocals span,.admin-vocals small{text-overflow:ellipsis;display:block;overflow:hidden}.admin-vocals span,.admin-vocals small{white-space:nowrap}.admin-setlist li{border-bottom:2px solid var(--ink);grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;padding:.65rem;display:grid}.admin-setlist li>div{min-width:0}.admin-setlist strong,.admin-setlist small,.admin-setlist p,.admin-setlist a{overflow-wrap:anywhere;display:block}.admin-setlist p{margin:.35rem 0}.admin-setlist a{color:var(--blue);font-weight:900}.invite-creator,.invite-list{border:4px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink);margin-top:2rem;padding:clamp(1rem,3vw,2rem)}.invite-creator>div h2,.invite-creator>div p{margin:0}.invite-creator form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-top:1.25rem;display:grid}.invite-message{font-weight:900}.invite-result{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.invite-result input,.invite-result button{border:2px solid var(--ink);min-width:0;padding:.65rem}.invite-result button{background:var(--yellow);cursor:pointer;font-weight:900}.invite-list ul{border-top:3px solid var(--ink);margin:0;padding:0;list-style:none}.invite-list li{border-bottom:2px solid var(--ink);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:1rem;padding:.75rem 0;display:grid}.invite-list strong{overflow-wrap:anywhere;min-width:0}.invite-status{border:2px solid var(--ink);padding:.1rem .5rem;font-size:.78rem;font-weight:900}.invite-status-submitted{background:var(--green)}.invite-status-pending{background:var(--yellow)}.invite-status-expired,.invite-status-revoked{background:var(--coral)}.invite-meta{display:grid}.invite-meta small{color:var(--muted)}.invite-list time{white-space:nowrap}.invite-revoke{gap:.25rem;display:grid}.invite-revoke button{border:2px solid var(--ink);background:var(--paper);cursor:pointer;padding:.4rem .65rem;font-weight:900}.invite-revoke button:hover{background:var(--coral)}.invite-revoke small{max-width:16rem;color:var(--coral);font-weight:900}@media (max-width:820px){.hero{grid-template-columns:minmax(0,1fr)}.time-honeycomb{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);place-items:center stretch}.time-hex{width:100%}.time-hex-slot{width:100%;margin:0 0 0 -1.5rem}.time-honeycomb>p{grid-column:1/-1;justify-self:center}.section-heading{flex-direction:column;align-items:start;gap:.5rem}.form-layout{grid-template-columns:minmax(0,1fr);width:calc(100% - 32px)}.summary-rail{margin-bottom:5rem;position:static}.mobile-total{z-index:20;padding:.65rem max(16px, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-top:3px solid var(--ink);background:var(--ink);color:var(--paper);grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:.5rem;display:grid;position:fixed;inset:auto 0 0}.mobile-total span{font-size:.72rem;font-weight:900}.mobile-total strong{color:var(--yellow);font-family:var(--font-display), Impact, sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.25rem}.record-summary{grid-template-columns:minmax(0,1fr)}.admin-vocals{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.invite-creator form,.invite-list li{grid-template-columns:minmax(0,1fr)}.invite-list time{white-space:normal}}@media (max-width:520px){.site-header{grid-template-columns:minmax(0,1fr) auto;min-height:62px;padding:.55rem 16px;display:grid}.save-state{grid-area:2/1/auto/-1;margin:0;font-size:.75rem}.discard-draft{padding-inline:.45rem;font-size:.7rem}.brand-mark{min-width:0;font-size:.82rem}.hero{padding:2.75rem 16px 4.5rem}.hero h1{font-size:clamp(3.25rem,19vw,4.8rem)}.hero-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.primary-button,.secondary-button{min-width:0;padding-inline:.5rem}.time-honeycomb{grid-template-columns:minmax(0,1fr)}.time-hex{justify-self:center;width:min(88vw,310px)}.time-hex-slot{width:min(62vw,210px);margin:-2rem 0 0}.stage-section,.setlist-preview{width:calc(100% - 32px)}.stage-symbol-palette{grid-template-columns:repeat(2,minmax(0,1fr));padding:.55rem}.stage-symbol-palette button{grid-template-columns:40px minmax(0,1fr);min-height:54px;padding:.3rem}.stage-symbol-palette img{width:40px;height:40px}.stage-plot-canvas{aspect-ratio:4/3;background-size:16px 16px;min-height:246px}.stage-direction{top:.35rem}.stage-direction-left{left:.35rem}.stage-direction-right{right:.35rem}.stage-symbol{width:52px}.stage-symbol-piano{width:74px}.stage-symbol-piano>img{width:66px}.stage-performer{width:14%;bottom:14%}.stage-performer-symbols{width:34px;height:27px}.stage-linked-mic{width:24px;height:24px;top:-15px;left:-15px}.stage-performer small{display:none}.stage-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline li{grid-template-columns:auto minmax(0,1fr)}.timeline time{grid-column:2;justify-self:start}.field-grid,.item-fields,.vocal-edit{grid-template-columns:minmax(0,1fr)}.field-wide,.vocal-edit legend,.row-actions{grid-column:1}.submit-summary{grid-template-columns:minmax(0,1fr)}.submit-summary>div+div{border-left:0;border-top:4px solid var(--ink)}.item-heading{gap:.6rem}.record-summary dl{gap:.75rem}.stage-map li{grid-template-columns:3.4rem minmax(0,1fr)}.stage-map small{grid-column:2}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button,.secondary-button{transition:none}.primary-button:active,.secondary-button:active{transform:none}.stage-symbol-palette button{transition:none}.stage-symbol-palette button:active{transform:none}.submit-button{transition:none}.submit-button:active{transform:none}}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
