:root{--cream:#f4eddf;--paper:#fffaf0;--ink:#10263b;--muted:#66778a;--line:#cbd4d8;--blue:#1565c8;--blue-dark:#0d417f;--orange:#f47b20;--yellow:#ffd66a;--success:#137a56;--danger:#b33c35;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:13px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100svh;padding:0 clamp(14px,2.8vw,46px) 84px;background:linear-gradient(135deg,#f4eddf 0 50%,#edf3f3 50%)}button,select{font:inherit}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);gap:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:var(--orange);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-size:11px;font-weight:950}.brand b,.brand small{display:block;font-weight:900;letter-spacing:.12em}.brand b{font-size:12px}.brand small{font-size:8px;color:var(--blue);margin-top:2px}.topbar-actions{display:flex;align-items:center;gap:12px}.no-mint{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--blue-dark)}.workspace-toggle{border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-size:9px;font-weight:900;letter-spacing:.08em;padding:7px 9px;cursor:pointer}.workspace-toggle:hover,.workspace-toggle:focus-visible{background:var(--yellow)}.studio-workbench{width:min(1720px,100%);margin:clamp(16px,3vh,32px) auto 0;display:grid;grid-template-columns:190px minmax(420px,1fr) minmax(330px,430px);gap:clamp(14px,1.8vw,28px);align-items:stretch}.loadout-panel,.inventory-panel,.stage-panel{border:2px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink)}.loadout-panel{padding:16px 12px;display:flex;flex-direction:column;min-height:640px}.panel-kicker{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--blue-dark)}.panel-kicker>span{display:grid;place-items:center;width:20px;height:20px;background:var(--blue);color:#fff;font-size:9px}.tabs{display:grid;gap:6px;margin-top:18px}.tab{width:100%;border:2px solid transparent;background:transparent;color:var(--ink);padding:9px 8px;text-align:left;font-size:10px;font-weight:900;letter-spacing:.06em;cursor:pointer}.tab:hover,.tab:focus-visible{border-color:var(--ink);background:#e8f1fa}.tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.loadout-note{display:grid;gap:5px;margin-top:18px;padding-top:15px;border-top:2px solid var(--ink)}.loadout-note strong{font-size:10px;letter-spacing:.1em}.loadout-note span{color:var(--muted);font-size:11px}.recipe-panel{margin-top:auto;padding-top:16px}.recipe-panel summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:9px;font-weight:900;letter-spacing:.08em;list-style:none}.recipe-panel summary::-webkit-details-marker{display:none}.recipe-id{color:var(--muted);font-size:8px}.recipe-panel pre{overflow:auto;margin:9px 0;padding:9px;border:1px solid var(--line);background:#f0f4f2;color:var(--blue-dark);font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.text-action{padding:0;border:0;background:transparent;color:var(--blue-dark);font-size:9px;font-weight:950;letter-spacing:.08em;cursor:pointer}.text-action:hover,.text-action:focus-visible{text-decoration:underline}.stage-panel{min-width:0;padding:clamp(14px,1.8vw,24px);display:flex;flex-direction:column;background:var(--paper)}.stage-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:14px}.kicker{margin:0;color:var(--blue);font-size:9px;font-weight:950;letter-spacing:.13em}.stage-heading h1{margin:5px 0 0;font-size:clamp(34px,4.1vw,64px);line-height:.88;letter-spacing:-.07em}.stage-heading h1 em{font-style:normal;color:var(--orange)}.valid{flex:0 0 auto;border:2px solid var(--success);background:#e3f3e8;color:var(--success);padding:6px 8px;font-size:8px;font-weight:950;letter-spacing:.08em}.valid.invalid{border-color:var(--danger);background:#fde9e7;color:var(--danger)}.preview-frame{border:2px solid var(--ink);background:#dce7e9;padding:8px}.preview-meta,.preview-footer{display:flex;justify-content:space-between;gap:10px;font-size:8px;font-weight:900;letter-spacing:.08em}.preview-meta{padding:0 1px 7px;color:var(--blue-dark)}.preview-footer{padding:7px 1px 0;color:var(--muted)}.art-stage{position:relative;aspect-ratio:1;background:#172c40;border:2px solid var(--ink);overflow:hidden;cursor:crosshair;transition:border-color .2s,box-shadow .2s}.art-stage svg{display:block;width:100%;height:100%}.art-stage:after{content:"";position:absolute;inset:10px;border:1px dashed #fff8;pointer-events:none}.drop-hint{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;padding:5px 8px;font-size:8px;font-weight:900;letter-spacing:.08em;pointer-events:none}.art-stage.drag-active{box-shadow:inset 0 0 0 5px var(--yellow)}.art-stage.drop-valid{border-color:var(--success);box-shadow:0 0 0 4px #137a5633}.art-stage.drop-invalid{border-color:var(--danger);box-shadow:0 0 0 4px #b33c3533}.art-stage.drop-success{animation:drop-success .52s ease both}.creation-identity,.notice{margin:10px 0 0;font-size:10px}.creation-identity{color:var(--blue-dark);font-weight:900;letter-spacing:.05em}.notice{color:var(--muted)}.notice.error{color:var(--danger)}.inventory-panel{min-width:0;padding:16px;display:flex;flex-direction:column;min-height:640px;background:#fffdf6}.inventory-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:13px}.inventory-heading h2{margin:6px 0 0;font-size:23px;line-height:1;letter-spacing:-.04em}.inventory-heading>span{border:1px solid var(--blue);color:var(--blue-dark);padding:4px 6px;font-size:8px;font-weight:900;letter-spacing:.08em}.trait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:9px;overflow:auto;padding:14px 2px;min-height:0;flex:1}.trait-card{position:relative;min-width:0;border:2px solid var(--line);background:#fff;color:var(--ink);padding:5px;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.trait-card:hover,.trait-card:focus-visible{border-color:var(--ink);transform:translateY(-2px);box-shadow:3px 3px 0 var(--ink)}.trait-card.selected{border-color:var(--orange);box-shadow:inset 0 0 0 2px var(--orange)}.trait-card.disabled{opacity:.4;cursor:not-allowed}.trait-card img,.trait-card .swatch{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:#e7eef0}.trait-card .none-swatch{display:grid;place-items:center;background:#eef1ed;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}.trait-card strong{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.trait-card small{display:block;margin-top:1px;color:var(--muted);font-size:8px}.selected-mark{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:17px;height:17px;background:var(--orange);border:1px solid var(--ink);font-size:10px;font-weight:950}.inventory-foot{display:flex;justify-content:space-between;align-items:center;gap:9px;padding-top:12px;border-top:2px solid var(--ink)}.inventory-foot label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.06em}.inventory-foot select{max-width:130px;border:1px solid var(--ink);background:#fff;padding:5px;color:var(--ink);font-size:8px}.action-dock{position:fixed;z-index:30;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:6px;border:2px solid var(--ink);background:var(--ink);padding:6px;box-shadow:5px 5px 0 var(--orange)}.dock-button{min-height:35px;border:1px solid #ffffff44;background:var(--ink);color:#fff;padding:0 12px;font-size:9px;font-weight:950;letter-spacing:.07em;cursor:pointer;white-space:nowrap}.dock-button:hover,.dock-button:focus-visible{background:var(--blue)}.dock-button.primary{background:var(--orange);border-color:var(--orange);color:var(--ink)}.dock-button.primary:hover,.dock-button.primary:focus-visible{background:var(--yellow)}.x-share{background:var(--blue)}.layer-enter{transform-origin:512px 512px;animation:layer-in .38s cubic-bezier(.2,.8,.2,1) both}@keyframes layer-in{from{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}@keyframes drop-success{0%{box-shadow:0 0 0 0 var(--orange)}100%{box-shadow:0 0 0 16px #f47b2000}}.studio-workspace .public-shell>.header,.studio-workspace .public-shell>.footer{display:none}.studio-workspace .community-studio-page{min-height:100vh}.studio-loading{display:grid;place-items:center;min-height:480px;background:var(--cream);color:var(--ink);font-size:10px;font-weight:900;letter-spacing:.1em}@media(max-width:1180px){.studio-workbench{grid-template-columns:170px minmax(360px,1fr) minmax(300px,360px)}.trait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){.studio-workbench{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.loadout-panel{grid-column:1/-1;min-height:0;padding:12px}.tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}.tab{text-align:center;padding:7px 4px}.loadout-note,.recipe-panel{display:none}.stage-panel,.inventory-panel{min-height:0}}@media(max-width:620px){.app-shell{padding:0 10px calc(72px + env(safe-area-inset-bottom));background:var(--cream)}.topbar{height:55px}.brand small,.no-mint{display:none}.workspace-toggle{font-size:8px;padding:6px}.studio-workbench{display:flex;flex-direction:column;gap:10px;margin-top:10px}.loadout-panel{order:1;border-width:2px;box-shadow:3px 3px 0 var(--ink);padding:7px}.loadout-panel>.panel-kicker{display:none}.tabs{display:flex;overflow-x:auto;gap:5px;margin:0;scroll-snap-type:x proximity}.tab{flex:0 0 auto;text-align:left;padding:7px 9px;font-size:8px;scroll-snap-align:start}.stage-panel{order:2;padding:10px;box-shadow:3px 3px 0 var(--ink)}.stage-heading{margin-bottom:8px}.stage-heading h1{font-size:31px}.kicker{font-size:7px}.valid{padding:4px;font-size:7px}.preview-frame{padding:5px}.art-stage{height:min(49svh,440px);aspect-ratio:auto}.drop-hint{display:none}.preview-meta,.preview-footer{font-size:7px}.creation-identity,.notice{font-size:9px;margin-top:7px}.inventory-panel{order:3;padding:10px;min-height:0;box-shadow:3px 3px 0 var(--ink)}.inventory-heading{padding-bottom:8px}.inventory-heading h2{font-size:17px}.trait-grid{display:flex;overflow-x:auto;overflow-y:hidden;gap:7px;padding:10px 2px;flex:none;scroll-snap-type:x proximity}.trait-card{flex:0 0 100px;scroll-snap-align:start}.trait-card img,.trait-card .swatch{height:72px;aspect-ratio:auto}.trait-card small{display:none}.inventory-foot{padding-top:8px}.inventory-foot label{font-size:7px}.inventory-foot select{max-width:112px}.action-dock{left:0;right:0;bottom:0;transform:none;justify-content:space-between;gap:3px;border-width:2px 0 0;padding:5px max(7px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));box-shadow:none}.dock-button{min-height:35px;padding:0 6px;font-size:7px;flex:1}.recipe-panel{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
:root{--target-left:31%;--target-right:31%;--target-top:12%;--target-bottom:12%}.layer-exit{transform-origin:512px 512px;animation:layer-out .08s ease both}.layer-background.layer-enter{animation-name:background-in}.layer-eyes.layer-enter,.layer-glasses.layer-enter{transform-origin:512px 430px}.layer-headwear.layer-enter,.layer-capLogo.layer-enter{transform-origin:512px 280px}.layer-outfit.layer-enter{transform-origin:512px 690px}.layer-accessory.layer-enter{transform-origin:610px 640px}.layer-fur.layer-enter{transform-origin:512px 540px}@keyframes layer-out{to{opacity:0;transform:translateY(-5px) scale(.985)}}@keyframes background-in{from{opacity:0}to{opacity:1}}.creation-status{min-height:0;text-align:center;overflow:hidden;font-size:9px;font-weight:950;letter-spacing:.11em}.creation-status.generating,.creation-status.created{min-height:27px;padding:7px;margin-bottom:6px;border:2px solid var(--ink);background:var(--yellow);animation:status-in .18s ease both}.creation-status.created{background:#d9f2e4;border-color:var(--success);color:var(--success);animation:status-created 1.7s ease both}@keyframes status-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes status-created{0%{opacity:0;transform:translateY(-5px)}12%,75%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-4px)}}.target-brackets{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .12s ease}.target-brackets i{position:absolute;width:18px;height:18px;border-color:var(--yellow);border-style:solid}.target-brackets i:nth-child(1){left:var(--target-left);top:var(--target-top);border-width:3px 0 0 3px}.target-brackets i:nth-child(2){right:var(--target-right);top:var(--target-top);border-width:3px 3px 0 0}.target-brackets i:nth-child(3){left:var(--target-left);bottom:var(--target-bottom);border-width:0 0 3px 3px}.target-brackets i:nth-child(4){right:var(--target-right);bottom:var(--target-bottom);border-width:0 3px 3px 0}.target-brackets span{position:absolute;left:50%;top:calc(var(--target-top) - 24px);transform:translateX(-50%);background:var(--ink);color:#fff;padding:3px 6px;font-size:8px;font-weight:950;letter-spacing:.08em;white-space:nowrap}.art-stage.target-active .target-brackets{opacity:1}.art-stage[data-target="head"]{--target-left:31%;--target-right:31%;--target-top:12%;--target-bottom:59%}.art-stage[data-target="face"]{--target-left:34%;--target-right:34%;--target-top:31%;--target-bottom:45%}.art-stage[data-target="torso"]{--target-left:24%;--target-right:24%;--target-top:50%;--target-bottom:12%}.art-stage[data-target="accessory"]{--target-left:47%;--target-right:16%;--target-top:51%;--target-bottom:16%}.art-stage[data-target="silhouette"]{--target-left:16%;--target-right:16%;--target-top:9%;--target-bottom:10%}.art-stage[data-target="background"]{--target-left:4%;--target-right:4%;--target-top:4%;--target-bottom:4%}.art-stage.target-valid .target-brackets i{border-color:#71d69c}.art-stage.target-invalid .target-brackets i{border-color:#f1766d}.art-stage.target-success .target-brackets{animation:target-lock .42s ease both}.art-stage.equip-feedback:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 3px var(--yellow);animation:equip-pulse .42s ease both}.art-stage[data-target="head"].equip-feedback:before{clip-path:inset(10% 28% 57% 28%)}.art-stage[data-target="face"].equip-feedback:before{clip-path:inset(29% 31% 43% 31%)}.art-stage[data-target="torso"].equip-feedback:before{clip-path:inset(49% 21% 9% 21%)}.art-stage[data-target="accessory"].equip-feedback:before{clip-path:inset(48% 12% 12% 43%)}.art-stage[data-target="background"].equip-feedback:before{clip-path:none}.art-stage[data-target="silhouette"].equip-feedback:before{clip-path:inset(8% 14% 8% 14%)}@keyframes target-lock{0%{transform:scale(1.04)}100%{transform:scale(1)}}@keyframes equip-pulse{0%{opacity:0;box-shadow:inset 0 0 0 1px var(--yellow)}45%{opacity:1;box-shadow:inset 0 0 0 5px var(--yellow)}100%{opacity:0;box-shadow:inset 0 0 0 8px var(--yellow)}}.trait-card.dragging{transform:translate(-2px,-4px) rotate(-1deg);border-color:var(--orange);box-shadow:5px 6px 0 var(--ink);opacity:.78}.trait-grid.drag-source-active{outline:2px solid var(--orange);outline-offset:3px}.drag-preview{position:fixed;left:-9999px;top:-9999px;border:2px solid var(--ink);background:var(--orange);color:var(--ink);padding:7px 9px;font-size:9px;font-weight:950;letter-spacing:.06em;white-space:nowrap}.studio-dragging{cursor:copy}
