:root{color-scheme:light;--ink: #0d0d0f;--muted: #65646b;--paper: #f3f1ee;--surface: #ffffff;--line: #dfdce0;--accent: #c41422;--accent-dark: #970d18;--blue: #155f9f;--header-height: 74px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);min-height:100%;scroll-behavior:smooth}body{display:flex;flex-direction:column;margin:0;min-height:100svh;min-width:320px}body>main{flex:1 0 auto}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{align-items:center;background:#0c0c0e94;color:#fff;display:flex;height:var(--header-height);justify-content:space-between;left:0;padding:0 clamp(16px,4vw,44px);position:fixed;right:0;top:0;z-index:30;backdrop-filter:blur(14px)}.brand{align-items:center;display:inline-flex;min-width:0}.brand-logo{height:44px;width:58px;object-fit:contain}.site-nav{align-items:center;display:flex;font-size:.78rem;font-weight:850;gap:8px;min-width:0;text-transform:uppercase}.site-nav a{border:1px solid rgba(255,255,255,.28);color:#ffffffe6;min-height:36px;min-width:0;padding:10px 12px;transition:background .16s ease,border-color .16s ease}.site-nav a:hover{background:#ffffff24;border-color:#ffffff8f}.social-link{align-items:center;display:inline-flex;justify-content:center;min-width:38px;padding-left:9px;padding-right:9px;text-align:center}.social-link svg{fill:currentColor;height:18px;width:18px}.site-footer{align-items:start;background:var(--ink);color:#fff;display:grid;gap:34px;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);justify-content:space-between;padding:54px clamp(20px,4vw,44px);flex-shrink:0}.footer-brand{display:grid;gap:8px}.footer-brand strong{font-size:clamp(1.8rem,5vw,4.2rem);line-height:.9;text-transform:uppercase}.footer-links{display:grid;gap:12px 22px;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:end;min-width:0}.footer-links a{border-bottom:1px solid rgba(255,255,255,.22);font-size:.84rem;font-weight:850;min-height:34px;padding-bottom:9px;text-transform:uppercase}.site-footer span,.muted{color:#ffffff9e}.home-hero{align-items:center;background:linear-gradient(180deg,#0000006b,#00000029 44%,#000000b8),var(--hero-image, url(/images/theatre-hero.png)) center / cover;color:#fff;display:grid;min-height:100svh;padding:calc(var(--header-height) + 40px) 20px 62px;position:relative;text-align:center}.hero-title{animation:rise-in .78s ease both;justify-self:center;max-width:980px;text-shadow:0 3px 28px rgba(0,0,0,.5)}.hero-title p{font-size:clamp(.82rem,2vw,1.05rem);font-weight:850;margin:0 0 14px;text-transform:uppercase}.hero-title h1{font-size:clamp(3.7rem,12vw,9.8rem);line-height:.88;margin:0;text-transform:uppercase}.hero-title h1.logo-heading{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(14px,2.4vw,28px);justify-content:center}.hero-title h1.logo-heading img{filter:drop-shadow(0 3px 22px rgba(0,0,0,.45));height:clamp(5.4rem,15vw,12rem);max-width:min(42vw,260px);object-fit:contain;width:auto}.hero-title h1.logo-heading span{display:inline-block}.scroll-cue{animation:cue-pulse 1.7s ease-in-out infinite;align-items:center;bottom:24px;display:inline-flex;font-size:.86rem;font-weight:900;gap:10px;justify-self:center;min-height:44px;padding:0 14px;position:absolute;text-transform:uppercase}.scroll-cue:after{border-bottom:2px solid currentColor;border-right:2px solid currentColor;content:"";height:10px;transform:rotate(45deg);width:10px}.section{background:var(--surface);padding:72px 20px}.section.compact{padding-top:calc(var(--header-height) + 48px)}.home-section{background:#fff}.tool-section{background:var(--paper)}.section-inner{margin:0 auto;max-width:1160px;min-width:0}.section-heading{display:grid;gap:12px;margin-bottom:34px;max-width:780px;min-width:0}.section-heading.center{margin-left:auto;margin-right:auto;text-align:center}.section-heading h1,.section-heading h2{font-size:clamp(2.5rem,9vw,6.8rem);line-height:.9;margin:0;overflow-wrap:anywhere;text-transform:uppercase}.section-heading p{color:var(--muted);font-size:1.02rem;line-height:1.65;margin:0;overflow-wrap:anywhere}.small-heading h2{font-size:clamp(1.8rem,6vw,3.8rem)}.kicker{color:var(--accent);font-size:.76rem;font-weight:900;margin:0 0 10px;max-width:100%;overflow-wrap:anywhere;text-transform:uppercase}.button{align-items:center;background:var(--accent);color:#fff;display:inline-flex;font-size:.82rem;font-weight:900;justify-content:center;min-height:46px;padding:0 18px;text-transform:uppercase;transition:background .16s ease,transform .16s ease}.button:hover{background:var(--accent-dark);transform:translateY(-2px)}.secondary-button{background:var(--ink)}.secondary-button:hover{background:#2a292d}.button-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.compact-button{min-height:40px;padding:0 16px}.home-play-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);justify-content:stretch;min-width:0}.home-play-card{background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);min-width:0;overflow:hidden;transition:border-color .16s ease,transform .16s ease}.home-play-card:hover{border-color:#c4142273;transform:translateY(-3px)}.home-play-card img,.home-card-fallback{aspect-ratio:16 / 10;height:100%;object-fit:cover;width:100%}.home-card-fallback{background:linear-gradient(135deg,#c41422f0,#155f9fe6),radial-gradient(circle at 30% 25%,rgba(255,255,255,.32),transparent 34%)}.blog-fallback{background:linear-gradient(135deg,#0d0d0ff5,#c41422e0),radial-gradient(circle at 72% 18%,rgba(255,255,255,.24),transparent 32%)}.home-play-card>div{display:grid;gap:12px;min-width:0;padding:22px}.home-play-card h3{font-size:clamp(1.55rem,6vw,2.5rem);line-height:.96;margin:0;text-transform:uppercase}.home-play-card p{color:var(--muted);line-height:1.55;margin:0}.home-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:8px}.home-card-meta span{color:var(--ink);font-size:.9rem;font-weight:850;text-transform:uppercase}.tool-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);min-width:0}.tool-tile{color:#fff;display:grid;grid-template-columns:minmax(0,1fr);min-height:210px;min-width:0;padding:28px;place-content:end start;transition:filter .16s ease,transform .16s ease}.tool-tile:hover{filter:brightness(1.04);transform:translateY(-3px)}.tool-tile.red{background:var(--accent)}.tool-tile.blue{background:var(--blue)}.tool-tile.black{background:var(--ink)}.tool-tile.white{background:#fff;border:1px solid var(--line);color:var(--ink)}.tool-tile span{font-size:clamp(1.65rem,6vw,4rem);font-weight:950;line-height:.9;max-width:100%;overflow-wrap:anywhere;text-transform:uppercase}.tool-tile strong{font-size:.9rem;margin-top:14px;max-width:100%;overflow-wrap:anywhere;text-transform:uppercase}.split{display:grid;gap:40px}.prose{color:var(--muted);font-size:1.06rem;line-height:1.8;max-width:780px}.play-browser{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);min-width:0}.browser-tools{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);min-width:0}.advanced-filters{border-top:1px solid var(--line);min-width:0;padding-top:8px}.advanced-filters summary{cursor:pointer;font-size:.78rem;font-weight:900;min-height:42px;padding:12px 0;text-transform:uppercase}.advanced-grid{padding-top:8px}label{display:grid;gap:8px;min-width:0}label span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.range-filter{display:grid;gap:8px;min-width:0}.range-filter>span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.range-filter output{color:var(--ink);font-size:.82rem;font-weight:850;min-height:1.2em}.dual-range{display:grid;min-height:48px;position:relative}.dual-range:before{background:var(--line);content:"";height:3px;left:0;position:absolute;right:0;top:22px}.dual-range input[type=range]{appearance:none;background:transparent;border:0;grid-area:1 / 1;height:48px;min-height:48px;padding:0;pointer-events:none}.dual-range input[type=range]:focus{outline:0}.dual-range input[type=range]::-webkit-slider-runnable-track{background:transparent;height:3px}.dual-range input[type=range]::-moz-range-track{background:transparent;height:3px}.dual-range input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 1px var(--accent-dark);cursor:pointer;height:18px;margin-top:-7px;pointer-events:auto;width:18px}.dual-range input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 1px var(--accent-dark);cursor:pointer;height:18px;pointer-events:auto;width:18px}input,select{background:#fff;border:1px solid var(--line);color:var(--ink);font:inherit;min-width:0;min-height:48px;padding:0 14px;width:100%}input[type=number]{appearance:textfield}input:focus,select:focus{border-color:var(--accent);outline:2px solid rgba(196,20,34,.14)}textarea{background:#fff;border:1px solid var(--line);color:var(--ink);font:inherit;line-height:1.45;min-width:0;padding:12px 14px;resize:vertical;width:100%}textarea:focus{border-color:var(--accent);outline:2px solid rgba(196,20,34,.14)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.play-list,.idea-list,.article-list{border-top:2px solid var(--ink)}.play-row,.idea-row,.article-list a,.article-list article{border-bottom:1px solid var(--line)}.play-row,.idea-row{transition:background .16s ease}.play-row:hover,.idea-row:hover{background:#f8f7f6}.play-row[hidden],.idea-row[hidden]{display:none}.play-row a,.idea-row,.article-list a,.article-list article{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);min-width:0;padding:26px 14px}.play-row h2,.idea-row h2,.article-list h2{font-size:clamp(1.65rem,6vw,3.4rem);line-height:.96;margin:0 0 12px;overflow-wrap:anywhere;text-transform:uppercase}.play-row p,.idea-row p,.article-list p{color:var(--muted);line-height:1.65;margin:0;overflow-wrap:anywhere}.play-row a>div,.idea-row>div,.article-list a>div,.article-list article>div{min-width:0}dl{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;min-width:0}dl>div,dt,dd{min-width:0}dt{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}dd{font-weight:750;margin:5px 0 0;overflow-wrap:anywhere}.taxonomy{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.taxonomy span{border:1px solid var(--line);color:var(--muted);font-size:.82rem;font-weight:750;padding:7px 10px}.row-kicker{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.played-badge{background:var(--ink);color:#fff;display:inline-flex;font-size:.72rem;font-weight:900;line-height:1;padding:6px 8px;text-transform:none}.detail-source-button{justify-self:start;margin-top:8px}.related-section{margin-top:58px}.compact-list h2{font-size:clamp(1.35rem,4vw,2.5rem)}.staging-row{align-items:start}.staging-row>img{aspect-ratio:16 / 10;object-fit:cover;width:100%}.staging-cover{aspect-ratio:16 / 7;margin-bottom:34px;object-fit:cover;width:100%}.photo-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}.photo-grid figure{margin:0;min-width:0}.photo-grid img{aspect-ratio:4 / 3;object-fit:cover;width:100%}.photo-grid figcaption{color:var(--muted);font-size:.9rem;line-height:1.5;margin-top:8px}.detail-meta{border-bottom:1px solid var(--line);border-top:2px solid var(--ink);display:grid;gap:18px;grid-template-columns:repeat(2,1fr);margin:36px 0;padding:22px 0}.contact-layout{display:grid;gap:42px;grid-template-columns:minmax(0,1fr)}.contact-heading h1{font-size:clamp(2.5rem,7vw,5.6rem);overflow-wrap:normal;word-break:normal}.contact-list{border-top:2px solid var(--ink);display:grid;margin-bottom:24px}.contact-list a{border-bottom:1px solid var(--line);display:grid;gap:6px;min-width:0;padding:18px 0}.contact-list span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.contact-list strong{font-size:clamp(1.05rem,3vw,1.55rem);overflow-wrap:anywhere}.contact-map{display:grid;gap:12px;min-width:0}.contact-map iframe{aspect-ratio:4 / 3;border:0;filter:grayscale(1) contrast(1.08);min-height:360px;width:100%}.contact-map p{color:var(--muted);line-height:1.5;margin:0}.empty-state{color:var(--muted);padding:24px 0}.center-empty{text-align:center}.browser-status{color:var(--muted);font-size:.9rem;font-weight:750;margin:0}.import-empty{border-bottom:1px solid var(--line);border-top:2px solid var(--ink);display:grid;gap:12px;padding:30px 0}.import-empty h2{font-size:clamp(1.8rem,6vw,3.2rem);line-height:.96;margin:0;text-transform:uppercase}.import-empty p{color:var(--muted);line-height:1.65;margin:0;max-width:760px}.pager{align-items:center;display:flex;gap:14px;justify-content:flex-end}.pager button{background:var(--ink);border:0;color:#fff;cursor:pointer;font:inherit;font-size:.78rem;font-weight:900;min-height:40px;padding:0 14px;text-transform:uppercase}.pager button:disabled{cursor:not-allowed;opacity:.42}.pager span{color:var(--muted);font-size:.86rem;font-weight:850}.text-bank-assistant{bottom:24px;display:grid;justify-items:end;pointer-events:none;position:fixed;right:24px;z-index:70}.assistant-toggle{background:var(--accent);border:0;color:#fff;cursor:pointer;font:inherit;font-size:.78rem;font-weight:900;min-height:46px;min-width:104px;pointer-events:auto;text-transform:none;transition:background .16s ease,transform .16s ease}.assistant-toggle:hover{background:var(--accent-dark);transform:translateY(-2px)}.assistant-panel{background:#fff;border:2px solid var(--ink);bottom:58px;box-shadow:0 18px 44px #1614182e;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;max-height:min(620px,calc(100svh - 120px));pointer-events:auto;position:absolute;right:0;width:min(380px,calc(100vw - 32px))}.assistant-panel[hidden]{display:none}.assistant-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:16px}.assistant-header .kicker{margin-bottom:4px;text-transform:none}.assistant-header h2{font-size:1.25rem;line-height:1;margin:0;overflow-wrap:anywhere}.assistant-clear{background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer;flex:0 0 auto;font:inherit;font-size:.74rem;font-weight:900;min-height:36px;padding:0 12px}.assistant-clear:hover{border-color:var(--accent);color:var(--accent)}.assistant-log{display:grid;gap:12px;min-height:260px;overflow-y:auto;padding:16px}.assistant-message{display:grid;gap:10px;min-width:0}.assistant-message p{border:1px solid var(--line);line-height:1.5;margin:0;max-width:88%;overflow-wrap:anywhere;padding:10px 12px;white-space:pre-wrap}.assistant-message.user{justify-items:end}.assistant-message.user p{background:var(--ink);border-color:var(--ink);color:#fff}.assistant-message.assistant{justify-items:start}.assistant-message.assistant p{background:var(--surface)}.assistant-results{display:grid;gap:8px;width:100%}.assistant-results a{border-left:3px solid var(--accent);color:var(--ink);display:grid;gap:4px;min-width:0;padding:8px 10px;text-decoration:none}.assistant-results a:hover{background:var(--surface)}.assistant-results strong,.assistant-results span{overflow-wrap:anywhere}.assistant-results strong{font-size:.9rem}.assistant-results span{color:var(--muted);font-size:.78rem;line-height:1.45}.assistant-form{border-top:1px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.assistant-form textarea{max-height:120px;min-height:48px;resize:none}.assistant-form button{align-self:stretch;background:var(--accent);border:0;color:#fff;cursor:pointer;font:inherit;font-size:.76rem;font-weight:900;min-width:78px;padding:0 14px}.assistant-form button:disabled{cursor:wait;opacity:.55}.assistant-error{color:var(--accent-dark);font-size:.78rem;font-weight:800;margin:0;min-height:1.2em;overflow-wrap:anywhere;padding:0 12px 12px}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes cue-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media(min-width:720px){.home-play-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-play-grid.centered{grid-template-columns:repeat(var(--home-play-count),minmax(0,360px));justify-content:center}.browser-tools{grid-template-columns:minmax(0,1fr) repeat(4,minmax(0,150px))}.advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.browser-tools.three{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,210px))}.browser-tools.four{grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,170px))}.tool-tile span{font-size:clamp(2.4rem,5.2vw,4rem)}.play-row a,.idea-row,.article-list a,.article-list article{grid-template-columns:minmax(0,1fr) minmax(250px,.42fr);padding:30px 18px}.staging-row{grid-template-columns:minmax(180px,.34fr) minmax(0,1fr) minmax(190px,.28fr)}.split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.contact-layout{grid-template-columns:minmax(0,.78fr) minmax(360px,1fr)}.detail-meta{grid-template-columns:repeat(4,1fr)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:980px){.home-play-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-play-grid.centered{grid-template-columns:repeat(var(--home-play-count),minmax(0,360px));justify-content:center}.section{padding:94px 32px}}@media(max-width:760px){:root{--header-height: 66px}.site-header{padding:0 12px}.brand-logo{height:42px;width:54px}.site-nav{gap:6px}.site-nav a{font-size:.68rem;min-height:34px;padding:9px 8px}.site-nav a:nth-child(4){display:none}.home-hero{min-height:100svh}.section.compact{padding-top:calc(var(--header-height) + 36px)}.site-footer{align-items:flex-start;grid-template-columns:minmax(0,1fr);flex-direction:column}.text-bank-assistant{bottom:14px;left:12px;right:12px}.assistant-toggle{justify-self:end}.assistant-panel{bottom:58px;left:0;max-height:78svh;right:0;width:auto}.assistant-log{min-height:220px}.footer-links{grid-template-columns:minmax(0,1fr);justify-self:stretch;width:100%}dl{grid-template-columns:1fr}}@media(min-width:761px)and (max-width:900px){.site-header{padding:0 18px}.brand{gap:8px}.brand-logo{width:48px}.site-nav{font-size:.68rem;gap:6px}.site-nav a{padding:9px 8px}.social-link{min-width:34px}}@media(max-width:420px){.site-nav .social-link{display:none}}@media(max-width:340px){.site-header{padding:0 8px}.site-nav{gap:4px}.site-nav a{font-size:.62rem;padding:8px 6px}.social-link{min-width:32px}}
