@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--accent:#1515f5;--ink:#19191b;--paper:#f5f5f2;--line:#dddeda}
.workshop-app{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55}
.workshop-app *,.live-workshop *{box-sizing:border-box}
.workshop-app [hidden],.live-workshop [hidden]{display:none!important}
.workshop-app a{color:inherit}.workshop-app button,.workshop-app .button,.live-workshop button,.live-workshop .button{font:inherit;font-weight:700;border:1px solid var(--line);background:white;color:var(--ink);padding:.7rem 1rem;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.workshop-app button:hover,.live-workshop button:hover{border-color:var(--accent)}
.workshop-app button:disabled{cursor:wait;opacity:.5}.workshop-app .primary,.live-workshop .primary{background:var(--accent);color:white;border-color:var(--accent)}
.workshop-app :focus-visible,.live-workshop :focus-visible{outline:3px solid #fe8b3e;outline-offset:3px}
.wordmark{font-size:2.2rem;font-weight:800;letter-spacing:-.1em;text-decoration:none;line-height:1}.wordmark span{font-size:.8rem;vertical-align:top;letter-spacing:0;margin-left:4px}
.app-header{display:flex;align-items:center;gap:2rem;padding:1.3rem 3vw;border-bottom:1px solid var(--line);background:white}.app-header>span{font-size:.75rem;letter-spacing:.16em;font-weight:800}.app-header>.button{margin-left:auto}
.studio-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 88px)}
.studio-layout>aside{padding:2rem 1.5rem;border-right:1px solid var(--line);background:#fff}.studio-layout>aside>.primary{width:100%;margin:1rem 0}
.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--accent);margin:0 0 .8rem}
.workshop-app h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 1rem;font-weight:800}
.workshop-app h2,.live-workshop h2{line-height:1.15;letter-spacing:-.04em}.workshop-app h3{line-height:1.2;margin:.4rem 0}
.studio-main{padding:3rem clamp(1.5rem,4vw,5rem)}.workspace-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.counter{padding:.6rem 1rem;white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:50px;font-weight:800;font-size:1.15rem}
.session-item{display:block!important;width:100%;text-align:left!important;border:none!important;border-left:3px solid transparent!important;border-radius:0!important;margin:.4rem 0}.session-item.active{border-left-color:var(--accent)!important;background:#f1f1ff!important}.session-item small{display:block;font-weight:400;font-size:.8rem;color:#68686c}
.workshop-app details{margin:1.2rem 0}.workshop-app summary{cursor:pointer;font-weight:700;font-size:.9rem}.workshop-app form{display:grid;gap:1rem;margin-top:1rem}.workshop-app label{display:grid;gap:.4rem;font-weight:700;font-size:.9rem}.workshop-app input,.workshop-app select,.workshop-app textarea{width:100%;min-width:0;padding:.75rem;border:1px solid #c8c9c5;background:#fff;border-radius:6px;font:inherit;color:var(--ink)}.workshop-app input[type=color]{height:48px;padding:4px}.workshop-app textarea{min-height:90px;resize:vertical}.workshop-app fieldset{border:0;margin:0;padding:0}.workshop-app legend{font-size:.9rem;font-weight:700;margin-bottom:.65rem}
.session-tools{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.3rem 0}.notice{border-left:3px solid #ef8142;background:#fff5ec;padding:.85rem 1rem;font-size:.875rem;line-height:1.5}.small,.privacy-note{font-size:.8rem;color:#61616b;line-height:1.6}.empty-workspace{padding:5rem 2rem;text-align:center;border:1px dashed #c8c9c5;margin-top:2rem;background:#ffffff80}.large-number{font-size:5rem;line-height:1;color:var(--accent);font-weight:800;letter-spacing:-.08em}.empty-workspace h2{font-size:1.8rem}.empty-workspace p{color:#63636a}
.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin-top:2rem}.character-tile{border:1px solid var(--line);background:white;padding:1rem;border-radius:10px}.character-tile img{width:100%;height:190px;object-fit:contain;background:#fafafa;border-radius:5px}.character-tile .small{min-height:2.5rem}.character-tile button{width:100%;margin-top:.7rem}.status-label{display:inline-block;background:#f0f0f4;padding:.3rem .55rem;border-radius:4px;font-size:.75rem;font-weight:700}
.workshop-app dialog{border:1px solid var(--line);border-radius:16px;max-width:min(620px,calc(100vw - 32px));max-height:90vh;padding:2.3rem;width:100%;color:var(--ink)}.workshop-app dialog::backdrop{background:#10102488;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:12px;font-size:1.5rem!important;line-height:1;padding:.35rem .65rem!important}.workshop-app #qr{display:block;margin:1rem auto;max-width:100%;height:auto!important;width:240px!important}.workshop-app #joinLink{display:block;text-align:center}.workshop-app .character-dialog{max-width:min(1080px,calc(100vw - 32px))}
.detail-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem}.detail-sketch{width:100%;height:220px;object-fit:contain;background:#fafafa}.brief-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.brief-fields label:last-child{grid-column:1/-1}.variants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.variant{min-width:0;border:1px solid var(--line);padding:.65rem;border-radius:8px;background:white}.variant.selected{border:2px solid var(--accent)}.variant img{width:100%;aspect-ratio:9/16;object-fit:contain}.variant-placeholder{aspect-ratio:9/16;display:grid;place-content:center;background:#f2f2f4;color:#747480}.variant button{font-size:.8rem!important;width:100%}.variant label{font-size:.75rem}.variant input{font-size:.75rem;padding:.3rem}.prompt-text{font:12px/1.5 monospace;white-space:pre-wrap;word-break:break-word;background:#f3f3f5;padding:1rem;max-height:220px;overflow:auto}.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.keywords{display:flex;flex-wrap:wrap;gap:.5rem}.keyword{border-radius:50px!important;font-size:.875rem!important;padding:.6rem .9rem!important}.keyword[aria-pressed=true]{background:var(--accent)!important;color:white!important;border-color:var(--accent)!important}
.join-page{display:grid;place-items:start center;min-height:100svh;padding:2rem 1rem}.upload-card{width:100%;max-width:480px;background:white;border:1px solid var(--line);border-radius:18px;padding:2rem}.upload-card .wordmark{display:block;margin-bottom:3rem}.upload-card h1{font-size:2.8rem}.file-drop{border:1px dashed #9999b0;padding:1rem;border-radius:8px;background:#fafaff}.file-drop small{font-weight:400}.file-drop input{border:0;padding:.5rem 0;background:none;font-size:.8rem}.upload-preview{width:100%;height:180px;object-fit:contain}.receipt-mark{width:60px;height:60px;display:grid;place-content:center;background:var(--accent);color:white;border-radius:50%;font-size:2rem;margin:2rem 0}
.live-phone{aspect-ratio:9/16;width:min(100%,290px);background:#fff;border:7px solid #22222a;border-radius:32px;position:relative;overflow:hidden;margin:1rem auto;box-shadow:0 14px 35px #00000016;font-size:12px;color:#24242a}.phone-media{position:absolute;width:100%;height:100%;inset:0;object-fit:contain;background:white}.phone-top{position:absolute;top:2%;left:6%;right:6%;z-index:2;display:flex;justify-content:space-between;font-weight:800;font-size:11px}.phone-messages{position:absolute;top:8%;left:6%;right:6%;display:grid;gap:7px;pointer-events:none}.phone-messages span{background:#f0f0f5;border-radius:12px 12px 12px 2px;padding:8px;max-width:90%;font-size:11px}.phone-messages span+span{background:#e8e8ff;justify-self:end;border-radius:12px 12px 2px 12px}.phone-input{position:absolute;bottom:3%;left:5%;right:5%;border:1px solid #dddde3;border-radius:30px;padding:9px 12px;background:#fff;display:flex;justify-content:space-between;pointer-events:none;color:#666}.phone-empty{position:absolute;top:50%;left:10%;right:10%;text-align:center;font-size:14px;color:#777}.live-phone video{padding-bottom:0}.live-phone video::-webkit-media-controls-panel{position:relative;z-index:5}
.live-workshop{--ink:#19191b;--paper:#f5f5f2;--line:#dddeda;font-size:16px;width:100%;align-self:start}.live-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.live-toolbar select{font:inherit;padding:.7rem;max-width:100%}.live-join{display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:center}.live-join canvas{max-width:220px;height:auto!important}.live-join a{color:inherit}.live-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.live-gallery figure{margin:0;background:#fff;padding:.7rem;border:1px solid #ddd}.live-gallery img{width:100%;height:150px;object-fit:contain}.live-gallery figcaption{font-weight:700;font-size:14px}.live-gallery small{font-size:12px;line-height:1.5;display:block}.live-reveal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.live-reveal h3{text-align:center;font-size:20px}.live-reveal .live-phone{width:220px}.live-choice .variants{max-width:800px;margin:0 auto}.live-choice .variant img{max-height:330px}.live-choice .variant button{margin-top:.5rem}.live-choice .variant p{font-size:14px}.live-subtitle{font-size:16px;line-height:1.5;margin:.8rem 0}.live-footer{font-size:14px!important;color:#60606c}.deck-studio-link{position:fixed;right:1rem;top:1rem;z-index:60;background:#fff;border:1px solid #ddd;padding:.5rem .8rem;border-radius:30px;font:700 12px Manrope,sans-serif;text-decoration:none;color:#222}
@media(max-width:850px){.studio-layout{grid-template-columns:1fr}.studio-layout>aside{border-right:0;border-bottom:1px solid var(--line);padding:1.5rem}.studio-main{padding:2rem 1rem}.detail-layout{grid-template-columns:1fr}.app-header{gap:1rem;padding:1rem}.app-header>span{display:none}.live-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.live-join{grid-template-columns:1fr;gap:1rem}.live-reveal{grid-template-columns:1fr 1fr}.workshop-app dialog{padding:2.5rem 1rem 1.5rem}.upload-card{padding:1.5rem}.variants{gap:.35rem}.variant{padding:.4rem}.brief-fields{grid-template-columns:1fr}.live-toolbar{gap:.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
