:root{--bg:oklch(98% .005 250);--surface:oklch(100% 0 0);--fg:oklch(22% .02 240);--muted:oklch(50% .018 240);--border:oklch(90% .008 240);--accent:oklch(58% .16 145);--font-display:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',system-ui,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',system-ui,sans-serif;--font-mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,Menlo,monospace;--night:oklch(13% .018 250);--panel:oklch(21% .024 250);--panel-2:oklch(25% .026 250);--ink:oklch(93% .012 95);--dim:oklch(68% .025 115);--line:oklch(34% .028 245);--gold:oklch(78% .115 88);--ruby:oklch(58% .15 28)}*{box-sizing:border-box}html{background:oklch(10% .018 250)}body{margin:0;min-block-size:100vh;color:var(--ink);background:radial-gradient(circle at 18% 4%,color-mix(in oklch,var(--accent) 18%,transparent),transparent 30rem),radial-gradient(circle at 80% 8%,color-mix(in oklch,var(--ruby) 12%,transparent),transparent 26rem),linear-gradient(180deg,oklch(10% .018 250),var(--night) 34rem,oklch(11% .015 250));font-family:var(--font-body);line-height:1.5}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.76}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.shell{inline-size:min(1200px,calc(100% - 32px));margin-inline:auto}.topbar{position:sticky;inset-block-start:0;z-index:20;border-block-end:1px solid color-mix(in oklch,var(--line) 70%,transparent);background:color-mix(in oklch,var(--night) 88%,transparent);backdrop-filter:blur(14px)}.nav{min-block-size:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;position:relative}.navlinks{position:absolute;inset-inline-start:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:6px;color:var(--dim);font-size:14px}.brand{display:inline-flex;align-items:center;gap:12px;border:0;padding:0;color:var(--ink);background:transparent;font-weight:700;letter-spacing:-.01em;text-align:start}.brand-title b{font:inherit}.brand-title b+b{margin-inline-start:.25em}.sigil{inline-size:40px;block-size:40px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--accent) 70%,var(--line));border-radius:8px;padding:0;overflow:hidden;background:color-mix(in oklch,var(--panel) 88%,black)}.sigil img{inline-size:100%;block-size:100%;display:block;border-radius:4px;object-fit:cover}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.mobile-menu-wrap{display:none;position:relative;margin-inline-start:auto}.mobile-menu-toggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;inline-size:46px;block-size:42px;border:1px solid color-mix(in oklch,var(--line) 80%,transparent);border-radius:12px;color:var(--ink);background:color-mix(in oklch,var(--panel) 72%,transparent)}.mobile-menu-toggle span{inline-size:20px;block-size:2px;border-radius:999px;background:currentColor}.mobile-menu-panel{display:none;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;min-inline-size:min(320px,calc(100vw - 24px));padding:8px;border:1px solid color-mix(in oklch,var(--line) 80%,transparent);border-radius:14px;background:color-mix(in oklch,var(--night) 96%,black);box-shadow:0 18px 40px oklch(0% 0 0 / .32);z-index:2000}.mobile-menu-panel.is-open{display:grid;gap:6px}.mobile-menu-panel button{min-block-size:42px;padding-inline:12px;border:1px solid transparent;border-radius:10px;color:var(--ink);background:transparent;text-align:start;font-size:15px;font-weight:700}.mobile-menu-panel button:hover,.mobile-menu-panel button[aria-current=page]{color:var(--accent);background:color-mix(in oklch,var(--panel) 72%,transparent);border-color:color-mix(in oklch,var(--line) 70%,transparent)}.navlinks button,.nav-actions .ghost,.nav-actions .cta{min-block-size:40px;padding-inline:14px;border:1px solid transparent;border-radius:8px;color:inherit;background:transparent;font-size:14px;font-weight:400;line-height:1}.navlinks button:hover,.navlinks button[aria-current=page],.nav-actions .ghost:hover,.nav-actions .cta:hover{color:var(--ink);background:color-mix(in oklch,var(--panel) 72%,transparent);border-color:color-mix(in oklch,var(--line) 70%,transparent)}.ghost,.nav-actions .ghost{border-color:var(--line);color:var(--ink)}.nav-actions .cta{border-color:color-mix(in oklch,var(--accent) 70%,var(--line));background:color-mix(in oklch,var(--accent) 22%,var(--panel))}.services-menu,.mobile-services-menu{position:relative}.services-menu-panel,.mobile-services-panel{display:none}.services-menu.is-open .services-menu-panel,.mobile-services-menu.is-open .mobile-services-panel{display:grid}.services-menu-panel{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);min-inline-size:270px;max-inline-size:min(360px,calc(100vw - 24px));padding:8px;gap:4px;border:1px solid color-mix(in oklch,var(--line) 80%,transparent);border-radius:14px;background:color-mix(in oklch,var(--night) 96%,black);box-shadow:0 18px 40px oklch(0% 0 0 / .32);z-index:2000}.services-menu-panel a,.mobile-services-panel a{display:block;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:var(--ink);text-decoration:none;text-align:start;font-size:14px;font-weight:750;line-height:1.2}.services-menu-panel a:hover,.mobile-services-panel a:hover{color:var(--accent);background:color-mix(in oklch,var(--panel) 72%,transparent);border-color:color-mix(in oklch,var(--line) 70%,transparent)}.mobile-services-menu{display:grid;gap:6px}.mobile-services-toggle{inline-size:100%}.mobile-services-panel{gap:4px;padding:4px;border:1px solid color-mix(in oklch,var(--line) 50%,transparent);border-radius:12px;background:color-mix(in oklch,var(--panel) 45%,transparent)}.mobile-services-panel a{padding-inline-start:16px;font-size:14px;color:color-mix(in oklch,var(--ink) 88%,var(--dim))}.navlinks .services-menu{display:inline-flex!important;align-items:center;position:relative;z-index:60;padding-block:12px;margin-block:-12px}.navlinks .services-menu-toggle{min-block-size:40px;padding-inline:14px;border:1px solid transparent!important;border-radius:8px!important;color:inherit!important;background:transparent!important;box-shadow:none!important;font-size:14px;font-weight:400!important;line-height:1;white-space:nowrap}.navlinks .services-menu-toggle:hover,.navlinks .services-menu.is-open .services-menu-toggle,.navlinks .services-menu:focus-within .services-menu-toggle{color:var(--ink)!important;background:color-mix(in oklch,var(--panel) 72%,transparent)!important;border-color:color-mix(in oklch,var(--line) 70%,transparent)!important}.navlinks .services-menu-toggle::after{content:none!important}.services-menu-panel{inset-block-start:100%!important;padding-block-start:10px;background-clip:padding-box}.services-menu-panel::before{content:'';position:absolute;inset-inline:0;inset-block-start:-16px;block-size:18px}.services-menu:hover .services-menu-panel,.services-menu-panel:hover,.services-menu:focus-within .services-menu-panel,.services-menu.is-open .services-menu-panel{display:grid!important}.mobile-services-toggle::after{content:'▾';margin-inline-start:6px;font-size:.78em}.mobile-menu-panel .mobile-services-menu{display:grid!important;inline-size:100%}.mobile-menu-panel .mobile-services-toggle{min-block-size:44px;inline-size:100%;padding-inline:12px;border:1px solid color-mix(in oklch,var(--accent) 55%,var(--line))!important;border-radius:10px;color:var(--ink)!important;background:color-mix(in oklch,var(--accent) 18%,transparent)!important;text-align:start;font-size:15px;font-weight:850}.mobile-nav{display:none}.workshop{padding-block:28px 56px}.workshop-card{background:linear-gradient(180deg,color-mix(in oklch,var(--panel) 72%,transparent),color-mix(in oklch,var(--panel) 48%,transparent));border:1px solid color-mix(in oklch,var(--line) 70%,transparent);border-radius:28px;box-shadow:0 28px 90px oklch(0% 0 0 / .42),inset 0 1px 0 oklch(100% 0 0 / .04);backdrop-filter:blur(14px)}.hero{padding:38px;margin-bottom:18px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-120px;top:-120px;width:310px;height:310px;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 20%,transparent),transparent 68%)}.eyebrow,.kicker{color:var(--accent);font-family:var(--font-mono);font-weight:850;letter-spacing:.1em;text-transform:uppercase;font-size:12px;margin:0 0 10px}.kicker{color:var(--accent);letter-spacing:.1em}.hero h1{font-size:clamp(38px,6vw,68px);line-height:.92;letter-spacing:-.06em;margin:0 0 16px;max-width:850px}.builder h2,.stage h2,.status h2,.model-stage h2{font-size:25px;line-height:1.1;margin:0;letter-spacing:-.025em}.sub{margin:0;color:var(--dim);max-width:760px;font-size:17px}.builder,.stage,.status,.model-stage{padding:26px;margin-top:18px}.builder,.stage,.model-stage{position:relative;overflow:visible}.step-title{display:flex;align-items:center;gap:14px;margin-bottom:20px}.step-title>span{display:grid;place-items:center;width:42px;height:42px;min-width:42px;flex-shrink:0;border-radius:50%;background:color-mix(in oklch,var(--accent) 14%,transparent);border:1px solid color-mix(in oklch,var(--accent) 28%,transparent);color:var(--accent);font-weight:950}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.builder label{display:block;color:color-mix(in oklch,var(--ink) 86%,var(--dim));font-size:14px;font-weight:760}textarea,input{width:100%;margin-top:8px;border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:18px;background:color-mix(in oklch,var(--night) 78%,black);color:var(--ink);padding:14px 15px;font:inherit;outline:none}textarea{resize:vertical;min-height:148px}::placeholder{color:color-mix(in oklch,var(--dim) 76%,transparent)}textarea:focus,input:focus{border-color:color-mix(in oklch,var(--accent) 65%,transparent);box-shadow:0 0 0 4px color-mix(in oklch,var(--accent) 14%,transparent)}.upload-box{display:flex!important;min-height:148px;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed color-mix(in oklch,var(--accent) 42%,transparent);border-radius:20px;background:color-mix(in oklch,var(--accent) 7%,transparent);padding:18px;cursor:pointer}.upload-box input{position:absolute;opacity:0;pointer-events:none}.upload-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklch,var(--accent) 42%,transparent);border-radius:14px;background:color-mix(in oklch,var(--accent) 13%,transparent);color:var(--ink);padding:12px 16px;font-weight:900}.upload-box small{color:var(--dim);margin-top:10px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}fieldset{border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:18px;padding:14px 16px;margin:0;background:oklch(0% 0 0 / .12)}legend{color:var(--accent);font-weight:850;padding:0 6px}fieldset label{display:inline-flex!important;align-items:center;gap:8px;margin-right:18px;color:var(--ink)}fieldset input{width:auto;margin:0;accent-color:var(--accent)}.builder>button,#modelBtn,.actions button,.button-link{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:18px;border:1px solid color-mix(in oklch,var(--accent) 55%,var(--line));border-radius:14px;padding:15px 18px;color:var(--ink);text-decoration:none;font-weight:800;font-size:16px;background:color-mix(in oklch,var(--accent) 18%,transparent);cursor:pointer;box-shadow:0 12px 28px color-mix(in oklch,var(--accent) 10%,transparent)}.actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-top:12px}.actions button,.actions .button-link{margin-top:0}.actions button.ghost{background:oklch(100% 0 0 / .035);color:var(--ink);border-color:var(--line);box-shadow:none}.actions button.print{background:linear-gradient(135deg,var(--accent),color-mix(in oklch,var(--accent) 65%,#1a3d2f));border-color:color-mix(in oklch,var(--accent) 55%,var(--line));color:var(--ink)}.statusHead,.viewer-head{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid color-mix(in oklch,var(--line) 62%,transparent);padding-bottom:16px}.statusHead span{color:var(--dim);font-size:13px}ol{margin:16px 0 0;padding-left:22px;color:color-mix(in oklch,var(--ink) 88%,var(--dim))}li{margin:8px 0}.error{color:oklch(90% .04 32);background:color-mix(in oklch,var(--ruby) 13%,transparent);border:1px solid color-mix(in oklch,var(--ruby) 32%,transparent);padding:12px 14px;border-radius:16px}.sketch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sketch-card{display:block;margin:0;padding:10px;background:oklch(0% 0 0 / .18);border:1px solid color-mix(in oklch,var(--line) 62%,transparent);box-shadow:none;color:var(--ink)}.sketch-card.selected{border-color:color-mix(in oklch,var(--accent) 86%,transparent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 14%,transparent)}.sketch-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;background:oklch(8% .01 250)}.sketch-card span{display:block;margin-top:9px;font-size:13px;color:color-mix(in oklch,var(--ink) 86%,var(--dim))}.mini-badge{border:1px solid color-mix(in oklch,var(--accent) 35%,transparent);border-radius:999px;padding:7px 10px;color:var(--dim);background:color-mix(in oklch,var(--accent) 9%,transparent);font-size:12px}.viewer-stage{position:relative;margin-top:18px;border-radius:22px;overflow:hidden;background-color:#2a2a2a;background-image:radial-gradient(circle at 50% 50%,#3a3a3a 0%,#222 70%)}model-viewer{display:block;width:100%;height:560px;--poster-color:#2a2a2a;background:transparent}.footer{padding-block:32px;color:var(--dim);border-block-start:1px solid var(--line);font-size:14px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;padding-block-end:24px}.footer-col{display:flex;flex-direction:column;gap:8px}.footer-col strong{color:var(--ink);margin-block-end:4px}.footer-col a{color:var(--dim);text-decoration:none}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-block-start:1px solid color-mix(in oklch,var(--line) 50%,transparent);padding-block-start:16px;font-size:13px;color:var(--dim)}@media(max-width:1180px){.navlinks{display:none}.mobile-menu-wrap{display:block}.nav{grid-template-columns:auto 1fr auto;gap:12px}.nav-actions{display:none}.brand{max-inline-size:min(70vw,420px);overflow:hidden}.brand span:last-child{font-size:18px;flex:1}.brand-title{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0;line-height:1.1}.brand-title b{display:inline;white-space:nowrap;font-size:inherit;line-height:inherit}.brand-title b+b{margin-inline-start:.25em}.mobile-menu-toggle span{display:block!important}}@media(max-width:850px){.workshop{padding-block:18px 44px}.two-col,.controls,.actions{grid-template-columns:1fr}.sketch-grid{grid-template-columns:repeat(2,1fr)}.statusHead,.viewer-head{display:block}model-viewer{height:420px}.hero h1{font-size:42px}.footer-grid{grid-template-columns:1fr}}@media(max-width:640px){.shell{inline-size:100%;padding-inline:12px}.brand{flex:1 1 auto!important;justify-content:flex-start}.brand .sigil{inline-size:42px;block-size:42px;flex:0 0 auto}.brand span:last-child{display:block;font-size:18px;flex:1}.nav{gap:6px}.mobile-menu-wrap{margin-inline-start:0}.mobile-menu-panel{inset-inline-end:0}.hero{padding:26px}.hero h1{font-size:38px}.builder,.stage,.status,.model-stage{padding:20px}.footer{padding-block-end:88px}}

/* Main-site chat widget + scroll-up */
.chat-widget{position:fixed;inset-inline-end:20px;inset-block-end:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-inline-size:calc(100vw - 24px)}.chat-bubble,.scroll-top-bubble{inline-size:48px;block-size:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:color-mix(in oklch,var(--panel-2) 90%,black);color:var(--ink);font-size:22px;cursor:pointer;transition:border-color 160ms ease,transform 160ms ease}.chat-bubble:hover,.scroll-top-bubble:hover{border-color:var(--accent);transform:scale(1.08)}.scroll-top-bubble{display:none;opacity:0;transform:translateY(8px) scale(.96);pointer-events:none}.scroll-top-bubble.is-visible{display:grid;opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.chat-popup{display:none;box-sizing:border-box;inline-size:min(340px,calc(100vw - 32px));max-block-size:min(460px,calc(100dvh - 96px));border:1px solid var(--line);border-radius:14px;background:color-mix(in oklch,var(--panel) 94%,black);flex-direction:column;overflow:hidden}.chat-popup.is-open{display:flex}.chat-popup-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-block-end:1px solid var(--line);background:color-mix(in oklch,var(--panel-2) 88%,black)}.chat-popup-head span{font-size:13px;font-weight:600}.chat-close{border:none;background:none;color:var(--dim);font-size:16px;cursor:pointer}.chat-close:hover{color:var(--ink)}.chat-guest-form{box-sizing:border-box;flex:0 0 auto;padding:8px 10px 6px;border-block-end:1px solid color-mix(in oklch,var(--line) 70%,transparent)}.chat-guest-form .search-field{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--night);color:var(--ink);font-family:inherit}.chat-guest-form .cta{min-block-size:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklch,var(--accent) 70%,var(--line));border-radius:8px;background:color-mix(in oklch,var(--accent) 22%,var(--panel));color:var(--ink);font-weight:700;line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-block-size:132px;max-block-size:280px}.chat-msg{max-inline-size:85%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.4;display:grid;gap:6px}.chat-msg--them{align-self:flex-start;background:color-mix(in oklch,var(--panel-2) 85%,black);border:1px solid var(--line);border-end-start-radius:4px}.chat-msg--me{align-self:flex-end;background:color-mix(in oklch,var(--accent) 22%,black);border:1px solid color-mix(in oklch,var(--accent) 40%,var(--line));border-end-end-radius:4px}.chat-input-row{box-sizing:border-box;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:10px;border-block-start:1px solid var(--line)}.chat-input-row .chat-textarea{flex:1;min-inline-size:0;box-sizing:border-box;block-size:36px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--night);color:var(--ink);font-family:inherit;font-size:16px!important;line-height:1.2;margin:0}.chat-send-btn{flex-shrink:0;inline-size:36px;block-size:36px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--ink);font-size:16px;cursor:pointer}.chat-send-btn:hover{background:color-mix(in oklch,var(--accent) 85%,white)}.chat-attach-preview{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-block-start:1px solid color-mix(in oklch,var(--line) 70%,transparent);background:color-mix(in oklch,var(--panel-2) 68%,black)}.chat-attach-preview[hidden]{display:none}.chat-attach-preview img{inline-size:42px;block-size:42px;object-fit:cover;border-radius:10px;border:1px solid color-mix(in oklch,var(--accent) 42%,var(--line))}.chat-attach-preview span{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-size:12px}.chat-attach-preview button,.chat-attach-btn{border:1px solid var(--line);background:color-mix(in oklch,var(--panel-2) 82%,black);color:var(--ink);border-radius:8px}.chat-attach-preview button{inline-size:28px;block-size:28px}.chat-attach-btn{flex-shrink:0;inline-size:36px;block-size:36px;display:grid;place-items:center;font-size:16px}.chat-attach-btn:hover{border-color:var(--accent)}.chat-image-thumb{display:block;padding:0;border:0;background:transparent;border-radius:12px;overflow:hidden;cursor:zoom-in}.chat-image-thumb img{display:block;inline-size:min(190px,100%);max-block-size:170px;object-fit:cover;border-radius:12px;border:1px solid color-mix(in oklch,var(--line) 70%,white 8%)}.chat-image-lightbox[hidden]{display:none}.chat-image-lightbox{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.chat-image-lightbox img{max-inline-size:min(96vw,1200px);max-block-size:88dvh;object-fit:contain;border-radius:18px;box-shadow:0 24px 90px rgba(0,0,0,.55)}.chat-image-lightbox button{position:fixed;inset-block-start:18px;inset-inline-end:18px;inline-size:42px;block-size:42px;border-radius:50%;border:1px solid color-mix(in oklch,white 24%,transparent);background:rgba(20,20,20,.72);color:white;font-size:18px}.chat-popup.chat-input-locked .chat-input-row{opacity:.62;filter:grayscale(.18)}.chat-popup.chat-input-locked .chat-textarea,.chat-popup.chat-input-locked .chat-attach-btn,.chat-popup.chat-input-locked .chat-send-btn{background:color-mix(in oklch,var(--panel-2) 70%,#8b8b8b 30%);border-color:color-mix(in oklch,var(--line) 55%,#9a9a9a 45%);color:color-mix(in oklch,var(--dim) 80%,#bdbdbd 20%);cursor:not-allowed}.chat-popup.chat-input-locked .chat-send-btn{box-shadow:none}.chat-popup.chat-input-locked .chat-textarea::placeholder{color:color-mix(in oklch,var(--dim) 78%,#a0a0a0 22%)}body.chat-open .topbar{z-index:1000}
/* Mobile header/action fixes */
.nav-actions .ghost,.nav-actions .cta{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding-block:0}.mobile-menu-panel button{display:flex;align-items:center;line-height:1.1}.brand{min-inline-size:0}.brand-title{min-inline-size:0}@media(max-width:1024px){.topbar{position:fixed!important;inset-block-start:0;inset-inline:0;padding-block:8px;z-index:1200}.topbar .shell.nav{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;overflow:visible!important;gap:10px!important;padding-inline:8px!important}.topbar .shell.nav .brand{flex:1 1 auto!important;min-inline-size:0!important;justify-content:flex-start!important;max-inline-size:calc(100% - 56px)!important}.topbar .shell.nav .brand .sigil{inline-size:48px!important;block-size:48px!important;flex:0 0 auto}.topbar .shell.nav .brand .brand-title{display:flex!important;flex-direction:row;align-items:center;gap:0;flex:1 1 auto;min-inline-size:0;max-block-size:48px;white-space:nowrap;font-size:16px!important;line-height:1;overflow:hidden}.topbar .shell.nav .brand .brand-title b{display:inline;white-space:nowrap;font-size:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:.25em}.navlinks,.nav-actions{display:none!important}.mobile-menu-wrap{display:block!important;flex:0 0 auto;margin-inline-start:auto!important;position:relative}.mobile-menu-toggle{display:inline-flex!important}.mobile-menu-toggle span{display:block!important;background:currentColor!important}.workshop{padding-block-start:96px}.chat-widget{inset-inline-end:12px;inset-block-end:18px}.chat-popup{inline-size:min(340px,calc(100vw - 24px));max-inline-size:calc(100vw - 24px);max-block-size:min(520px,calc(100dvh - 126px))}.chat-messages{max-block-size:none;min-block-size:0}.chat-popup.is-open{position:fixed;inset-block-start:10px;inset-inline:10px;inset-block-end:calc(10px + env(safe-area-inset-bottom));inline-size:auto!important;max-inline-size:none!important;max-block-size:none!important;block-size:auto;border-radius:16px;z-index:1400;border:1px solid var(--line)}.chat-popup.is-open .chat-messages{max-block-size:none;flex:1}.chat-popup.is-open .chat-input-row{position:sticky;bottom:0;background:oklch(12% .015 250)}.chat-widget{z-index:1400}}@media(max-width:380px){.topbar .shell.nav .brand .brand-title{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;white-space:normal;font-size:13px!important;line-height:.86;transform:scale(.82);transform-origin:left center;overflow:visible}.topbar .shell.nav .brand .brand-title b{display:block;white-space:nowrap;font-size:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:0}}
/* Precise main-nav action centering */
.nav-actions a,.nav-actions button,.nav-actions .ghost,.nav-actions .cta{min-block-size:40px;block-size:40px;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding-block:0!important;line-height:1!important;vertical-align:middle}.nav-actions .ghost,.nav-actions .cta{font-size:14px;font-weight:400}.mobile-menu-panel button{display:flex!important;align-items:center!important;min-block-size:42px;line-height:1.1!important;padding-block:0!important}
/* Workshop tabs */
.workshop-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.ws-tab{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:18px;background:color-mix(in oklch,var(--panel) 58%,transparent);color:var(--dim);text-align:start;cursor:pointer;transition:border-color .2s,background .2s}.ws-tab:hover:not(:disabled){border-color:color-mix(in oklch,var(--accent) 42%,var(--line))}.ws-tab.is-active{border-color:color-mix(in oklch,var(--accent) 65%,var(--line));background:color-mix(in oklch,var(--accent) 12%,var(--panel));color:var(--ink)}.ws-tab.is-locked,.ws-tab:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.ws-tab-num{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;border:2px solid currentColor;font-weight:950;font-size:16px;flex:0 0 auto}.ws-tab.is-active .ws-tab-num{border-color:var(--accent);background:var(--accent);color:oklch(12% .018 250)}.ws-tab-label{font-weight:850;font-size:16px;line-height:1.1}.ws-tab-desc{display:block;font-size:12px;font-weight:400;opacity:.7}.ws-panels{position:relative}.ws-panel{display:none}.ws-panel.is-active{display:block}
/* Mobile tabs */
@media(max-width:640px){.workshop-tabs{gap:6px}.ws-tab{padding:12px 14px;gap:10px}.ws-tab-label{font-size:14px}.ws-tab-num{min-width:32px;height:32px;font-size:14px}.ws-tab-desc{display:none}}
.status-text{text-align:center;color:var(--accent);font-weight:800;font-size:15px;margin:0 0 12px;min-height:22px}.progress-bar{width:100%;height:8px;border-radius:8px;background:color-mix(in oklch,var(--panel) 72%,transparent);overflow:hidden}.progress-fill{height:100%;border-radius:8px;background:var(--accent);transition:width .5s ease;width:0}.progress-fill.running{width:70%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:.7}50%{opacity:1}}
/* Force workshop mobile brand to match main page: 3-line title on phone viewports */
@media(max-width:640px){.topbar .shell.nav .brand .brand-title{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;white-space:normal!important;font-size:15px!important;font-weight:700!important;line-height:.9!important;transform:none!important;transform-origin:left center!important;overflow:visible!important;max-block-size:none!important}.topbar .shell.nav .brand .brand-title b{display:block!important;white-space:nowrap!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:0!important}}

/* Tavern narrative layer */
.tavern-cast{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;padding:20px;margin-bottom:18px;position:relative;overflow:hidden}.tavern-cast:before{content:'';position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 18%,transparent),transparent 68%);pointer-events:none}.cast-card{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid color-mix(in oklch,var(--line) 65%,transparent);border-radius:20px;background:oklch(0% 0 0 / .13)}.cast-card--owner{background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 12%,transparent),oklch(0% 0 0 / .13))}.cast-avatar{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;border:1px solid color-mix(in oklch,var(--accent) 40%,var(--line));background:color-mix(in oklch,var(--panel) 76%,black);font-size:24px}.cast-card h2{font-size:18px;line-height:1.05;margin:0 0 6px;letter-spacing:-.02em}.cast-card p:not(.kicker){color:var(--dim);font-size:14px;line-height:1.35}.tavern-log{position:fixed!important;inset-inline:12px;inset-block-end:74px;z-index:1350;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;pointer-events:none}.tavern-msg{max-width:min(330px,74vw);padding:9px 12px;border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:18px;background:color-mix(in oklch,var(--night) 90%,black);box-shadow:0 18px 42px oklch(0% 0 0 / .36);backdrop-filter:blur(14px);display:flex;align-items:flex-end;gap:9px;animation:tavernBubbleIn .32s cubic-bezier(.2,.8,.2,1) both}.tavern-msg--owner{align-self:flex-start;margin-inline-end:64px;border-bottom-left-radius:6px;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 20%,var(--panel)),color-mix(in oklch,var(--panel) 90%,black))}.tavern-msg--crew{align-self:flex-end;margin-inline-start:64px;border-bottom-right-radius:6px;background:linear-gradient(135deg,color-mix(in oklch,var(--ruby) 12%,var(--panel)),color-mix(in oklch,var(--panel) 90%,black))}.tavern-msg.is-leaving{animation:tavernBubbleOut .38s ease both}.tavern-msg-icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in oklch,var(--accent) 38%,var(--line));background:color-mix(in oklch,var(--panel) 82%,black);font-size:16px;box-shadow:0 8px 20px oklch(0% 0 0 / .25)}.tavern-msg-body{display:block;min-width:0}.tavern-msg strong{display:block;color:var(--accent);font-size:11px;font-family:var(--font-mono);letter-spacing:.02em;text-transform:none;margin-bottom:4px}.tavern-msg--crew .tavern-msg-icon{border-color:color-mix(in oklch,var(--gold) 42%,var(--line))}.tavern-msg--crew strong{color:color-mix(in oklch,var(--gold) 92%,white)}.tavern-msg span{display:block;color:color-mix(in oklch,var(--ink) 94%,var(--dim));font-size:13px;line-height:1.35}.viewer-stage:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--accent) 18%,transparent),transparent 32%),conic-gradient(from 0deg,color-mix(in oklch,var(--accent) 10%,transparent),transparent,color-mix(in oklch,var(--ruby) 10%,transparent),transparent);opacity:.55;animation:portalSpin 11s linear infinite;pointer-events:none}.viewer-stage model-viewer{position:relative;z-index:1}@keyframes tavernBubbleIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tavernBubbleOut{to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes portalSpin{to{transform:rotate(360deg)}}@media(max-width:850px){.tavern-cast{grid-template-columns:1fr}.cast-card{padding:14px}.tavern-log{inset-inline:10px;inset-block-end:74px}.tavern-msg{max-width:min(285px,78vw);padding:9px 11px}.tavern-msg--owner{margin-inline-end:46px}.tavern-msg--crew{margin-inline-start:46px}.tavern-msg span{font-size:13px}}


/* Workshop header aligned with main site */
.sr-only{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nav-actions .nav-icon-button{position:relative;inline-size:42px;min-inline-size:42px;padding-inline:0!important;border-radius:12px!important}
.nav-icon{font-size:18px;line-height:1;display:block}
.navlinks button[aria-current=page]{color:var(--ink);background:color-mix(in oklch,var(--panel) 72%,transparent);border-color:color-mix(in oklch,var(--accent) 58%,var(--line))}
@media(max-width:1180px){.mobile-menu-panel button[aria-current=page]{color:var(--accent)!important;background:color-mix(in oklch,var(--panel) 72%,transparent)!important;border-color:color-mix(in oklch,var(--accent) 42%,var(--line))!important}}


/* Workshop page: clearer product flow + account balance */
.workshop-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:stretch}.workshop-hero .hero-copy{position:relative;z-index:1}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-actions .button-link,.hero-actions .ghost-link{width:auto;margin:0;padding:13px 16px;border-radius:14px;font-weight:900}.ghost-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklch,var(--line) 80%,transparent);background:oklch(100% 0 0 / .035);color:var(--ink);text-decoration:none}.ghost-link:hover{border-color:color-mix(in oklch,var(--accent) 55%,var(--line));color:var(--accent)}.workshop-balance-card{position:relative;z-index:1;display:grid;align-content:center;gap:8px;padding:20px;border:1px solid color-mix(in oklch,var(--accent) 36%,var(--line));border-radius:22px;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 13%,var(--panel)),color-mix(in oklch,var(--panel) 74%,black));box-shadow:inset 0 1px 0 oklch(100% 0 0 / .05)}.workshop-balance-card strong{display:block;color:var(--ink);font-size:clamp(28px,4vw,42px);line-height:1;font-weight:950;letter-spacing:-.04em}.workshop-balance-card span{color:var(--dim);font-size:14px}.balance-link{justify-self:start;margin-top:4px;color:var(--accent);font-weight:850;text-decoration:none}.balance-link:hover{text-decoration:underline}.workshop-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;margin-bottom:18px;position:relative;overflow:hidden}.workshop-how:before{content:'';position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 18%,transparent),transparent 68%);pointer-events:none}.how-card{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid color-mix(in oklch,var(--line) 65%,transparent);border-radius:20px;background:oklch(0% 0 0 / .13)}.how-icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;border:1px solid color-mix(in oklch,var(--accent) 40%,var(--line));background:color-mix(in oklch,var(--panel) 76%,black);font-size:24px}.how-card h2{font-size:18px;line-height:1.05;margin:0 0 6px;letter-spacing:-.02em}.how-card p:not(.kicker){color:var(--dim);font-size:14px;line-height:1.35}.workshop-note{display:flex;gap:12px;align-items:flex-start;margin:-2px 0 18px;padding:14px 16px;border:1px solid color-mix(in oklch,var(--gold) 30%,var(--line));border-radius:18px;background:color-mix(in oklch,var(--gold) 7%,transparent);color:color-mix(in oklch,var(--ink) 88%,var(--dim));font-size:14px}.workshop-note span{font-size:20px;line-height:1}.workshop-note p{margin:0}.tavern-cast{display:none!important}
@media(max-width:850px){.workshop-hero,.workshop-how{grid-template-columns:1fr}.hero-actions .button-link,.hero-actions .ghost-link{width:100%}.workshop-balance-card{min-block-size:160px}}


/* Workshop generation gate */
.button-link[aria-disabled="true"]{opacity:.62;filter:grayscale(.6);cursor:not-allowed}
#sketchBtn:disabled,#modelBtn:disabled{opacity:.62;filter:grayscale(.35)}

.hero-actions .button-link.is-disabled{background:color-mix(in oklch,var(--panel-2) 82%,black);border-color:color-mix(in oklch,var(--line) 75%,transparent);color:var(--dim);box-shadow:none}


/* Workshop generation notice */
.generation-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;margin-top:18px;padding:18px;border:1px solid color-mix(in oklch,var(--accent) 38%,var(--line));border-radius:22px;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 12%,var(--panel)),color-mix(in oklch,var(--panel) 82%,black));box-shadow:0 18px 48px oklch(0% 0 0 / .28),inset 0 1px 0 oklch(100% 0 0 / .05)}.generation-notice[hidden]{display:none!important}.generation-orb{inline-size:64px;block-size:64px;border-radius:22px;display:grid;place-items:center;position:relative;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 28%,transparent),color-mix(in oklch,var(--panel) 78%,black));border:1px solid color-mix(in oklch,var(--accent) 44%,var(--line));overflow:hidden}.generation-orb:before{content:'';position:absolute;inset:-32%;background:conic-gradient(from 0deg,transparent,color-mix(in oklch,var(--accent) 55%,transparent),transparent,color-mix(in oklch,var(--ruby) 35%,transparent),transparent);animation:generationSpin 2.8s linear infinite}.generation-orb span{position:relative;z-index:1;font-size:28px;animation:generationDice 1.2s ease-in-out infinite}.generation-copy h3{margin:0 0 6px;font-size:22px;line-height:1.12;letter-spacing:-.025em}.generation-copy p:not(.kicker){color:var(--dim);font-size:15px}.generation-steps{display:flex;gap:6px;margin-top:12px}.generation-steps span{inline-size:32px;block-size:5px;border-radius:999px;background:color-mix(in oklch,var(--line) 80%,transparent);overflow:hidden}.generation-steps span.is-active{background:linear-gradient(90deg,var(--accent),color-mix(in oklch,var(--gold) 72%,var(--accent)));box-shadow:0 0 18px color-mix(in oklch,var(--accent) 28%,transparent)}@keyframes generationSpin{to{transform:rotate(360deg)}}@keyframes generationDice{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3px) rotate(14deg)}}@media(max-width:640px){.generation-notice{grid-template-columns:1fr;text-align:center}.generation-orb{margin-inline:auto}.generation-steps{justify-content:center}}


/* Smooth transition from image generation to sketch selection */
.stage.is-entering{opacity:0;transform:translateY(18px) scale(.985);filter:blur(4px)}
.stage.is-entering.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease}
.stage.is-entering .sketch-card{opacity:0;transform:translateY(14px) scale(.98);animation:sketchCardReveal .52s cubic-bezier(.2,.8,.2,1) forwards}
.stage.is-entering .sketch-card:nth-child(2){animation-delay:.08s}.stage.is-entering .sketch-card:nth-child(3){animation-delay:.16s}.stage.is-entering .sketch-card:nth-child(4){animation-delay:.24s}
@keyframes sketchCardReveal{to{opacity:1;transform:translateY(0) scale(1)}}


/* Workshop print confirmation modal */
.print-confirm-modal{position:fixed;inset:0;z-index:5200;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .18s ease}.print-confirm-modal.is-visible{opacity:1;pointer-events:auto}.print-confirm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(8px)}.print-confirm-card{position:relative;inline-size:min(480px,calc(100vw - 32px));padding:26px;border:1px solid color-mix(in oklch,var(--accent) 36%,var(--line));border-radius:26px;background:linear-gradient(180deg,color-mix(in oklch,var(--panel) 94%,black),color-mix(in oklch,var(--night) 96%,black));box-shadow:0 28px 100px rgba(0,0,0,.55),inset 0 1px 0 oklch(100% 0 0 / .05);transform:translateY(10px) scale(.98);transition:transform .2s cubic-bezier(.2,.8,.2,1)}.print-confirm-modal.is-visible .print-confirm-card{transform:translateY(0) scale(1)}.print-confirm-card h3{margin:0 0 10px;font-size:28px;line-height:1.05;letter-spacing:-.035em}.print-confirm-card p:not(.kicker){color:var(--dim);font-size:15px}.print-confirm-x{position:absolute;inset-block-start:14px;inset-inline-end:14px;inline-size:36px;block-size:36px;border:1px solid color-mix(in oklch,var(--line) 70%,transparent);border-radius:999px;background:color-mix(in oklch,var(--panel-2) 72%,black);color:var(--ink)}.print-confirm-price{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0;padding:14px 16px;border:1px solid color-mix(in oklch,var(--gold) 32%,var(--line));border-radius:18px;background:color-mix(in oklch,var(--gold) 8%,transparent)}.print-confirm-price span{color:var(--dim);font-size:14px}.print-confirm-price strong{color:var(--accent);font-size:24px;font-weight:950}.print-confirm-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}.print-confirm-actions button{min-block-size:46px;border-radius:14px;border:1px solid color-mix(in oklch,var(--line) 70%,transparent);color:var(--ink);font-weight:900}.print-confirm-actions .ghost{background:oklch(100% 0 0 / .035)}.print-confirm-actions .print{background:linear-gradient(135deg,var(--accent),color-mix(in oklch,var(--accent) 65%,#1a3d2f));border-color:color-mix(in oklch,var(--accent) 55%,var(--line))}@media(max-width:520px){.print-confirm-card{padding:22px}.print-confirm-actions{grid-template-columns:1fr}.print-confirm-card h3{font-size:24px}}


/* Workshop test mode warning */
.workshop-mode-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.test-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid color-mix(in oklch,var(--gold) 65%,var(--line));border-radius:999px;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 28%,transparent),color-mix(in oklch,var(--gold) 10%,transparent));color:var(--gold);box-shadow:0 0 22px color-mix(in oklch,var(--gold) 18%,transparent);font-family:var(--font-mono);font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.test-mode-badge:before{content:'⚠️';font-size:12px;letter-spacing:0}.test-mode-warning{display:grid;gap:4px;margin:0 0 16px;padding:13px 15px;border:1px solid color-mix(in oklch,var(--gold) 48%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 13%,transparent),color-mix(in oklch,var(--panel) 58%,transparent));color:color-mix(in oklch,var(--ink) 92%,var(--gold));box-shadow:inset 0 1px 0 oklch(100% 0 0 / .05)}.test-mode-warning strong{color:var(--gold);font-size:14px}.test-mode-warning span{color:color-mix(in oklch,var(--ink) 84%,var(--dim));font-size:14px;line-height:1.35}@media(max-width:640px){.workshop-mode-line{align-items:flex-start}.test-mode-warning{margin-block-end:14px}}


/* Workshop SEO content */
.workshop-seo,.workshop-faq{padding:26px;margin-top:18px}.workshop-seo h2,.workshop-faq h2{font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.04em;margin:0 0 16px}.workshop-seo-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;align-items:start}.workshop-seo-copy{display:grid;gap:12px;color:color-mix(in oklch,var(--ink) 88%,var(--dim));font-size:16px}.workshop-seo-list{margin:0;padding:18px 18px 18px 38px;border:1px solid color-mix(in oklch,var(--accent) 28%,var(--line));border-radius:20px;background:color-mix(in oklch,var(--accent) 7%,transparent);color:color-mix(in oklch,var(--ink) 90%,var(--dim))}.workshop-seo-list li{margin:7px 0}.workshop-seo-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.workshop-seo-links a{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid color-mix(in oklch,var(--line) 72%,transparent);border-radius:999px;background:oklch(100% 0 0 / .035);color:var(--dim);font-weight:800;font-size:14px}.workshop-seo-links a:hover{border-color:color-mix(in oklch,var(--accent) 55%,var(--line));color:var(--accent)}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid color-mix(in oklch,var(--line) 64%,transparent);border-radius:18px;background:oklch(0% 0 0 / .13);overflow:hidden}.faq-list summary{padding:15px 16px;cursor:pointer;font-weight:900;color:var(--ink)}.faq-list details[open] summary{border-bottom:1px solid color-mix(in oklch,var(--line) 56%,transparent);color:var(--accent)}.faq-list p{padding:14px 16px;color:var(--dim)}@media(max-width:850px){.workshop-seo-grid{grid-template-columns:1fr}.workshop-seo,.workshop-faq{padding:22px}.workshop-seo-links a{width:100%;justify-content:center}}


/* Workshop sketch mode selector */
.sketch-mode-control{margin-top:14px}.sketch-mode-control label{margin-block:4px}.sketch-mode-control small{display:block;margin-top:8px;line-height:1.35}.sketch-mode-control input{accent-color:var(--accent)}

/* Purple glow for Portal nav item */
@keyframes portalNavPurpleGlow{0%,100%{box-shadow:0 0 0 rgba(168,85,247,0),0 0 0 rgba(124,58,237,0);text-shadow:0 0 0 rgba(216,180,254,0)}50%{box-shadow:0 0 0 1px rgba(216,180,254,.32),0 0 18px rgba(168,85,247,.46),0 0 34px rgba(124,58,237,.26);text-shadow:0 0 10px rgba(216,180,254,.72)}}
.navlinks .portal-nav-glow,.mobile-menu-panel .portal-nav-glow{color:#eadcff!important;border-color:rgba(168,85,247,.42)!important;background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(168,85,247,.10))!important;animation:portalNavPurpleGlow 2.8s ease-in-out infinite}
.navlinks .portal-nav-glow:hover,.mobile-menu-panel .portal-nav-glow:hover{color:#fff!important;background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(168,85,247,.18))!important}

/* Match main-site mobile header brand exactly */
@media(max-width:640px){.topbar .shell.nav .brand .brand-title{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;white-space:normal!important;font-size:18px!important;font-weight:700!important;line-height:1.1!important;transform:none!important;overflow:hidden!important;max-block-size:48px!important}.topbar .shell.nav .brand .brand-title b{display:inline!important;white-space:nowrap!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:.25em!important}}
@media(max-width:380px){.topbar .shell.nav .brand .brand-title{flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;white-space:normal!important;font-size:13px!important;line-height:.86!important;transform:scale(.82)!important;transform-origin:left center!important;overflow:visible!important;max-block-size:48px!important}.topbar .shell.nav .brand .brand-title b{display:block!important;white-space:nowrap!important;font-size:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:0!important}}

/* Exact main-site header brand behavior parity */
@media(max-width:1024px){.topbar .shell.nav .brand{flex:1 1 auto!important;min-inline-size:0!important;justify-content:flex-start!important;max-width:calc(100% - 56px)!important}.topbar .shell.nav .brand .sigil{inline-size:48px!important;block-size:48px!important}.topbar .shell.nav .brand .brand-title{display:flex!important;flex-direction:row!important;align-items:center!important;gap:0!important;flex:1 1 auto!important;min-inline-size:0!important;max-block-size:48px!important;white-space:nowrap!important;font-size:16px!important;line-height:1!important;transform:none!important;overflow:hidden!important}.topbar .shell.nav .brand .brand-title b{display:inline!important;white-space:nowrap!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:.25em!important}}
@media(max-width:430px){.topbar .shell.nav .brand{max-width:calc(100% - 64px)!important}.topbar .shell.nav .brand .brand-title{flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;white-space:normal!important;font-size:13px!important;line-height:.88!important;transform:none!important;overflow:visible!important;max-block-size:48px!important}.topbar .shell.nav .brand .brand-title b{display:block!important;white-space:nowrap!important;font-size:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand .brand-title b+b{margin-inline-start:0!important}}

/* Match main-site brand-title cascade/specificity */
@media(max-width:1024px){.topbar .shell.nav .brand span.brand-title,.topbar .shell.nav .brand span:last-child{font-size:20px!important;display:flex!important}}
@media(max-width:430px){.topbar .shell.nav .brand span.brand-title,.topbar .shell.nav .brand span:last-child{font-size:20px!important;line-height:.88!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;white-space:normal!important;transform:none!important}.topbar .shell.nav .brand span.brand-title b,.topbar .shell.nav .brand span:last-child b{display:block!important;white-space:nowrap!important;font-size:inherit!important;line-height:inherit!important}.topbar .shell.nav .brand span.brand-title b+b,.topbar .shell.nav .brand span:last-child b+b{margin-inline-start:0!important}}

/* Final tiny-mobile brand visual parity with main page */
@media(max-width:430px){.topbar .shell.nav .brand span.brand-title{display:grid!important;grid-template-rows:repeat(3,auto)!important;grid-auto-flow:row!important;align-content:center!important;justify-content:start!important;gap:0!important;font-size:20px!important;line-height:.88!important;white-space:normal!important;transform:none!important;overflow:visible!important;max-block-size:58px!important}.topbar .shell.nav .brand span.brand-title b{display:block!important;margin:0!important;white-space:nowrap!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important}.topbar .shell.nav .brand span.brand-title b+b{margin:0!important}}

/* Workshop mobile bottom nav: scroll-coupled hide/show */
.workshop-mobile-nav{display:none}.workshop-bottom-menu-copy{display:none!important}
@media(max-width:850px){
  body{padding-block-end:calc(78px + env(safe-area-inset-bottom))}
  .workshop-mobile-nav{display:flex;position:fixed;inset-inline:0;inset-block-end:0;z-index:900;justify-content:space-evenly;background:oklch(12% .015 250);border-block-start:1px solid var(--line);padding:8px 6px calc(10px + env(safe-area-inset-bottom));transform:translate3d(0,var(--workshop-mobile-nav-offset,0px),0);will-change:transform;box-shadow:0 -16px 38px oklch(0% 0 0 / .24)}
  .workshop-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-inline-size:72px;min-block-size:54px;border:none;background:transparent;color:var(--dim);font-size:19px;padding:7px 10px;border-radius:12px;transition:color 140ms ease,background 140ms ease}
  .workshop-mobile-nav button[aria-current=page]{color:var(--accent);background:color-mix(in oklch,var(--accent) 12%,transparent)}
  .workshop-mobile-nav button span{font-size:12px;font-weight:800;line-height:1.1}
  .workshop-mobile-nav .portal-nav-glow{color:#eadcff!important;background:linear-gradient(135deg,rgba(124,58,237,.20),rgba(168,85,247,.12))!important;animation:portalNavPurpleGlow 2.8s ease-in-out infinite}
  .workshop-mobile-nav .portal-nav-glow span{color:#eadcff!important}
  body.chat-open .workshop-mobile-nav{display:none!important}
  body.workshop-bottom-nav-hidden .mobile-menu-panel .workshop-bottom-menu-copy{display:flex!important}
}
@media(max-width:390px){.workshop-mobile-nav{justify-content:space-between;padding-inline:3px!important}.workshop-mobile-nav button{min-inline-size:0!important;flex:1 1 20%;padding:6px 2px!important;font-size:17px!important;gap:3px!important}.workshop-mobile-nav button span{font-size:10.5px!important;letter-spacing:-.02em}.workshop-mobile-nav .portal-nav-glow{border-radius:10px!important}}
@media(max-width:340px){.workshop-mobile-nav{padding-inline:2px!important}.workshop-mobile-nav button{font-size:16px!important;padding-inline:1px!important}.workshop-mobile-nav button span{font-size:9.5px!important}}

/* Keep chat controls dynamically tied to workshop bottom nav on phones */
@media(max-width:850px){body:not(.chat-open) .chat-widget{inset-block-end:calc(var(--workshop-chat-bottom,104px) + env(safe-area-inset-bottom))!important;transition:inset-block-end 80ms linear}.mobile-menu-panel .workshop-bottom-menu-copy{display:none!important}body.workshop-bottom-nav-hidden .mobile-menu-panel .workshop-bottom-menu-copy{display:flex!important}}

/* Tavern floating message icon centering fix */
.tavern-msg .tavern-msg-icon{display:grid!important;place-items:center!important;align-items:center!important;justify-items:center!important;inline-size:30px!important;block-size:30px!important;min-inline-size:30px!important;min-block-size:30px!important;line-height:1!important;text-align:center!important;font-size:16px!important;padding:0!important;overflow:hidden!important}.tavern-msg .tavern-msg-icon svg,.tavern-msg .tavern-msg-icon img{display:block;inline-size:1em;block-size:1em}

/* Workshop direct token purchase */
.workshop-token-buy{display:grid;grid-template-columns:minmax(92px,120px) minmax(0,1fr);gap:8px;align-items:end;margin-top:8px}.workshop-token-buy__qty{display:grid;gap:5px;color:var(--dim);font-size:12px;font-weight:850}.workshop-token-buy__qty input{margin:0;min-block-size:44px;border-radius:14px;padding:10px 12px;text-align:center;font-weight:950}.workshop-token-buy .button-link{width:100%;margin:0;min-block-size:44px;padding:10px 12px;white-space:nowrap}.workshop-token-buy small{grid-column:1/-1;color:var(--dim);font-size:12px}.workshop-token-buy small#workshopTokenBuyTotal{color:color-mix(in oklch,var(--ink) 86%,var(--dim));font-weight:850}.workshop-token-buy.is-busy{opacity:.78;pointer-events:none}.workshop-token-buy.is-highlight{animation:tokenBuyPulse 1.2s ease 2}@keyframes tokenBuyPulse{50%{filter:drop-shadow(0 0 18px rgba(168,85,247,.48))}}
@media(max-width:480px){.workshop-token-buy{grid-template-columns:88px minmax(0,1fr)}.workshop-token-buy .button-link{font-size:14px;padding-inline:8px}.workshop-token-buy__qty input{padding-inline:8px}}

/* Clear balance, sale price, premium and glowing generation CTAs */
.balance-summary{display:grid;gap:7px}.workshop-balance-card #generationBalanceHint{display:grid;gap:5px}.workshop-balance-card #generationBalanceHint span{display:block;color:var(--dim);font-size:14px;line-height:1.3}.workshop-balance-card #generationBalanceHint strong{display:inline;color:var(--ink);font-size:inherit;letter-spacing:0}.token-price-line{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-top:4px}.old-price{position:relative;display:inline-block;color:color-mix(in oklch,var(--dim) 76%,transparent);font-weight:900}.old-price::after{content:'';position:absolute;left:-4px;right:-4px;top:52%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--ruby) 92%,red),transparent);transform:rotate(-8deg)}.new-price{display:inline!important;color:oklch(76% .16 145)!important;font-size:clamp(25px,3.4vw,36px)!important;line-height:1!important;text-shadow:0 0 18px color-mix(in oklch,var(--accent) 34%,transparent)}.price-note{color:var(--dim);font-size:13px}.old-price--small{font-size:12px;margin-inline-end:4px}.workshop-token-buy small#workshopTokenBuyTotal strong{display:inline;color:oklch(76% .16 145);font-size:14px;letter-spacing:0}.workshop-premium-box{display:grid;gap:7px;margin-top:12px}.premium-buy-button{appearance:none;border:1px solid color-mix(in oklch,var(--gold) 68%,var(--line));border-radius:14px;min-block-size:46px;padding:12px 14px;color:oklch(96% .035 88);font-weight:950;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 34%,var(--panel)),color-mix(in oklch,var(--panel) 84%,black));box-shadow:0 0 0 1px color-mix(in oklch,var(--gold) 20%,transparent),0 14px 30px color-mix(in oklch,var(--gold) 13%,transparent);animation:premiumGoldGlow 2.9s ease-in-out infinite}.premium-active-note{display:grid;gap:4px;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 54%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 18%,transparent),oklch(0% 0 0 / .12));animation:premiumGoldGlow 3.2s ease-in-out infinite}.premium-active-note strong{display:block!important;color:oklch(88% .09 88)!important;font-size:16px!important;letter-spacing:0!important}.premium-active-note span{color:color-mix(in oklch,var(--ink) 88%,var(--dim));font-size:13px;line-height:1.35}.workshop-premium-box.is-busy{opacity:.78;pointer-events:none}@keyframes premiumGoldGlow{0%,100%{filter:drop-shadow(0 0 5px color-mix(in oklch,var(--gold) 16%,transparent))}50%{filter:drop-shadow(0 0 18px color-mix(in oklch,var(--gold) 45%,transparent))}}
#sketchBtn:not(:disabled),#modelBtn:not(:disabled){animation:portalActionGlow 2.8s ease-in-out infinite;border-color:color-mix(in oklch,var(--accent) 74%,var(--line))!important;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 31%,transparent),color-mix(in oklch,var(--panel) 78%,black))!important;box-shadow:0 0 0 1px color-mix(in oklch,var(--accent) 18%,transparent),0 15px 34px color-mix(in oklch,var(--accent) 14%,transparent)!important}@keyframes portalActionGlow{0%,100%{filter:drop-shadow(0 0 4px color-mix(in oklch,var(--accent) 18%,transparent))}50%{filter:drop-shadow(0 0 18px color-mix(in oklch,var(--accent) 44%,transparent))}}
@media(max-width:480px){.token-price-line{gap:7px}.workshop-balance-card #generationBalanceHint span{font-size:13px}.new-price{font-size:28px!important}}

/* Balance card readability polish */
.workshop-balance-card [hidden]{display:none!important}.workshop-balance-card{align-content:start!important;gap:14px!important}.balance-summary{padding-bottom:4px;border-bottom:1px solid color-mix(in oklch,var(--line) 44%,transparent)}.workshop-balance-card #generationBalance{font-size:clamp(30px,4vw,42px)!important;margin-bottom:2px}.workshop-balance-card #generationBalanceHint{margin-top:2px;padding:10px 0 2px;border:0}.workshop-balance-card #generationBalanceHint span{padding:6px 8px;border-radius:12px;background:oklch(0% 0 0 / .10)}.token-price-line{padding:12px 14px;border:1px solid color-mix(in oklch,var(--accent) 25%,var(--line));border-radius:16px;background:color-mix(in oklch,var(--accent) 8%,transparent);margin-top:0}.old-price{font-size:16px}.new-price{font-size:34px!important}.workshop-token-buy{grid-template-columns:1fr;gap:10px;margin-top:0;padding:12px;border:1px solid color-mix(in oklch,var(--line) 56%,transparent);border-radius:18px;background:oklch(0% 0 0 / .12)}.workshop-token-buy__qty{font-size:13px}.workshop-token-buy__qty input{font-size:20px}.workshop-token-buy .button-link{min-block-size:50px;font-size:16px;text-transform:none;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 36%,var(--panel)),color-mix(in oklch,var(--accent) 18%,black));animation:portalActionGlow 2.8s ease-in-out infinite}.workshop-token-buy small#workshopTokenBuyTotal{padding-top:2px;font-size:13px}.workshop-token-buy small#workshopTokenBuyTotal strong{font-size:16px}.workshop-premium-box{padding-top:2px}.premium-buy-button{min-block-size:52px;font-size:16px}.premium-active-note[hidden]{display:none!important}.premium-active-note:not([hidden]){display:grid!important}#sketchBtn,#modelBtn{transition:filter .18s ease,box-shadow .18s ease,transform .18s ease}#sketchBtn:not(:disabled),#modelBtn:not(:disabled),.builder>button:not(:disabled)#sketchBtn,.model-stage button:not(:disabled)#modelBtn{animation:portalActionGlow 2.8s ease-in-out infinite!important;color:var(--ink)!important}.builder>button:not(:disabled)#sketchBtn:hover,.model-stage button:not(:disabled)#modelBtn:hover{transform:translateY(-1px)}
@media(max-width:480px){.workshop-balance-card{gap:12px!important}.token-price-line{padding:11px 12px}.new-price{font-size:31px!important}.workshop-token-buy{padding:11px}.workshop-token-buy .button-link,.premium-buy-button{font-size:15px}}

/* Portal free generation entrance modal */
.portal-free-modal{position:fixed;inset:0;z-index:6500;display:grid;place-items:center;padding:18px}.portal-free-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.portal-free-modal__dialog{position:relative;inline-size:min(440px,100%);padding:24px;border:1px solid color-mix(in oklch,var(--accent) 46%,var(--line));border-radius:24px;background:linear-gradient(145deg,color-mix(in oklch,var(--panel) 92%,black),color-mix(in oklch,var(--night) 96%,black));box-shadow:0 28px 90px rgba(0,0,0,.56),0 0 46px color-mix(in oklch,var(--accent) 18%,transparent);animation:portalFreeModalIn .24s ease both}.portal-free-modal__close{position:absolute;inset-block-start:12px;inset-inline-end:12px;inline-size:36px;block-size:36px;border-radius:50%;border:1px solid color-mix(in oklch,var(--line) 70%,transparent);background:oklch(0% 0 0 / .18);color:var(--ink)}.portal-free-modal__icon{display:grid;place-items:center;inline-size:54px;block-size:54px;margin-bottom:12px;border-radius:18px;border:1px solid color-mix(in oklch,var(--accent) 52%,var(--line));background:color-mix(in oklch,var(--accent) 16%,transparent);font-size:28px;animation:portalNavPurpleGlow 2.8s ease-in-out infinite}.portal-free-modal__dialog h3{font-size:25px;line-height:1.05;margin:4px 0 10px;letter-spacing:-.03em}.portal-free-modal__dialog p:not(.eyebrow){color:var(--dim);font-size:15px}.portal-free-modal__actions{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:18px}.portal-free-modal__actions .button-link,.portal-free-modal__actions button{min-block-size:44px;border-radius:12px;margin:0}@keyframes portalFreeModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:520px){.portal-free-modal{padding-block-end:calc(96px + env(safe-area-inset-bottom))}.portal-free-modal__actions{grid-template-columns:1fr}.portal-free-modal__dialog{padding:22px 18px}}

/* Portal free modal secondary button contrast */
.portal-free-modal__actions .ghost{background:color-mix(in oklch,var(--panel) 82%,black)!important;color:var(--ink)!important;border:1px solid color-mix(in oklch,var(--line) 82%,transparent)!important;box-shadow:none!important}.portal-free-modal__actions .ghost:hover{background:color-mix(in oklch,var(--panel-2) 86%,black)!important;border-color:color-mix(in oklch,var(--accent) 45%,var(--line))!important;color:#fff!important}
