@font-face{font-family:Fredoka;src:url('brand/fredoka-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Fredoka;src:url('brand/fredoka-600.ttf') format('truetype');font-style:normal;font-weight:500 700;font-display:swap}
:root{--paper:#fbf8ef;--white:#fffef9;--ink:#34392f;--muted:#77796d;--line:#e5e6d8;--green:#364c35;--sage:#ecf0df;--lavender:#eee6f4;--gold:#a38b56;font-family:Fredoka,'Trebuchet MS',sans-serif;background:var(--paper)}
body,button,input,textarea{font-family:Fredoka,'Trebuchet MS',sans-serif}h1,h2,.brand-light{font-family:Fredoka,'Trebuchet MS',sans-serif;font-weight:400}h1{letter-spacing:-1.1px}a,button,input,textarea{outline-offset:4px}:focus-visible{outline-color:#9c6999!important}
.village-ribbon{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#e9eddf;border-bottom:1px solid #dbe1cd;padding:9px 42px;font-size:10px;color:#647252}.village-ribbon a{text-decoration:none;color:inherit}.village-ribbon strong{letter-spacing:.4px;color:#344b35}.village-ribbon span{font-size:8px;letter-spacing:1.2px}.site-header{height:87px;background:#fbf8ef;border-color:#dfe3d1}.brand{font-family:Fredoka,sans-serif;font-weight:600;font-size:25px;min-width:265px;letter-spacing:-.7px}.brand-light{color:#7c8e4b;font-weight:400}.brand small{font-size:7px;letter-spacing:1.25px;color:#798268}.brand-mark{background:transparent;transform:rotate(-6deg);width:44px;height:44px}.brand-mark img{width:44px;height:44px;display:block}.header-end{min-width:110px}.tiny-star{color:#9c7baa}nav button{font-size:12px}.sign-in{border-radius:30px;border-color:#cbd4bb;padding:11px 17px}.site-header nav button.nav-active:after{height:3px;border-radius:5px 5px 0 0;background:#829650}
.create-main{padding-top:24px}.branded-intro{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px 35px;align-items:center;min-height:190px;background:#edf0e0;border:1px solid #e0e5d1;border-radius:22px;padding:25px 30px;margin-bottom:25px;overflow:hidden}.intro-copy{position:relative;z-index:1;grid-column:1;grid-row:1}.intro .eyebrow{font-size:9px;color:#75824f;letter-spacing:1.6px}.intro h1{font-size:39px;color:#364b35;margin-top:10px}.intro h1>span{color:#ab86b1;font-size:27px}.intro p{font-size:14px;color:#697458;margin-top:8px}.intro-postcard{grid-column:2;grid-row:1/3;position:absolute;inset:-25px -30px -25px -15px;overflow:hidden;transform:rotate(0);border-radius:65px 0 0 65px}.intro-postcard:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#211e3b85)}.intro-postcard img{width:100%;height:100%;object-fit:cover;object-position:center 43%;display:block}.postcard-caption{position:absolute;left:28px;bottom:19px;right:15px;color:#fff;font-size:11px;z-index:1}.intro .intro-import{grid-column:1;grid-row:2;justify-self:start;min-height:32px;padding:7px 12px;font-size:10px;border-radius:30px;background:#ffffff95;border-color:#d0d9bf;color:#596946;margin-top:-6px}
.parts-panel,.canvas-panel,.identity-card,.position-card{border-radius:18px;border-color:#e2e4d7;box-shadow:0 6px 22px #46533705}.panel-heading{background:#f0f2e6;padding:18px}.panel-heading h2{font-size:21px;color:#415638}.panel-heading>span{font-size:7px;color:#899478}.part-tabs button.active{background:#e9efda;color:#526536}.part-tabs button.active:after{background:#829650}.body-card{border-radius:12px}.body-card.chosen{border-color:#879c58;background:#eff3e2}.body-card strong{font-size:12px}.section-label h3{font-size:14px}.section-hint{font-size:11px;color:#7b8072}.parts-footer{font-size:10px;color:#7f8b6d;background:#f5f5ec}.parts-footer svg{color:#a37a9c}.canvas-toolbar{background:#f9f9f0}.canvas-scene{background:radial-gradient(ellipse at 50% 40%,#fffdf9 10%,#eee8f2 72%,#e6e4ed 100%)}.canvas-toolbar>span{font-size:10px}.canvas-bottom,.canvas-footer{background:#f8f7ef}.button{border-radius:30px;font-size:12px}.button.primary{background:#364c35;border-color:#364c35}.button.primary:hover{background:#536841}.button.outline{background:#fbfcf7;border-color:#ccd5b9;color:#526740}.save-actions .button{border-radius:12px}.identity-card h2,.position-card h3{color:#52613e}.collection-heading{background:#edf0e0;border-radius:22px;padding:30px;margin-bottom:25px}.collection-heading h1{font-size:36px;color:#364b35}.collection-heading p{font-size:13px}.character-card{border-radius:18px}.character-info h2{font-family:Fredoka,sans-serif}.studio-footer{color:#808b6e;font-size:9px;letter-spacing:.7px}.studio-footer a{color:#526740}.modal{border-radius:24px}.modal h2{font-family:Fredoka,sans-serif}.empty-state h2{font-family:Fredoka,sans-serif}.empty-state{border-radius:22px}.toast{font-family:Fredoka,sans-serif}
/* Shared welcome for sign-in, registration and password recovery. */
.branded-account{padding:40px 22px;background:radial-gradient(ellipse at top,#f0eddf,#fbf8ef 70%);min-height:100vh}.account-shell{max-width:1000px;margin:35px auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border:1px solid #dfe3d3;border-radius:28px;overflow:hidden;background:#fffef9;box-shadow:0 24px 65px #353b2910}.account-welcome{position:relative;isolation:isolate;min-height:620px;background:#262343;overflow:hidden;color:#fff;padding:32px}.account-welcome>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:47% center}.account-welcome:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#211c40cf 0%,#211c4095 36%,#211c4010 70%,#211c40b0 100%)}.account-wordmark{font-size:25px;font-weight:600;letter-spacing:-1px;color:#fff;text-decoration:none;line-height:1;display:inline-block}.account-wordmark>span{display:block;font-size:10px;letter-spacing:5px;margin-top:8px;font-weight:400;color:#d9e4bf}.account-welcome-copy{margin-top:65px;max-width:310px}.brand-eyebrow{font-size:8px;letter-spacing:1.7px;color:#dce8c5}.account-welcome h2{font-family:Fredoka,sans-serif;font-size:35px;line-height:1.14;letter-spacing:-.7px;margin:16px 0;color:#fff}.account-welcome p{font-size:14px;line-height:1.6;color:#e0dfed}.account-home{position:absolute;bottom:28px;left:32px;color:#fff;font-size:12px;text-decoration:none}.account{max-width:none;width:100%;margin:0;padding:38px;background:#fffef9;border:0;border-radius:0}.account>.back{display:inline-block;margin-bottom:10px;font-size:12px;color:#788a51}.account h1{font-family:Fredoka,sans-serif;font-size:34px;line-height:1.15;letter-spacing:-.7px;color:#364c35;margin:17px 0}.account h2{font-family:Fredoka,sans-serif;color:#53643e;font-size:24px}.account p{font-size:14px;color:#797e6d;line-height:1.65}.account label{font-size:13px;color:#5b644c;margin:18px 0}.account input{padding:13px 14px;font-size:15px;background:#fafbf5;border:1px solid #dbe2cd;border-radius:10px}.account button,.account .button{font-family:Fredoka,sans-serif;font-size:14px;min-height:43px;border-radius:30px;padding:12px 21px;background:#364c35;color:white}.account section{margin:26px 0;border-color:#e5e8da;padding-top:8px}.account .error{background:#f9e9e4;color:#9a4a3e}.account [role=status]{background:#edf3e3;padding:14px;border-radius:12px;color:#4e683a}.account .honeypot{position:absolute;left:-10000px}.account .note{font-size:12px}
@media(min-width:1700px){.branded-intro{grid-template-columns:minmax(0,1fr) 390px}.intro-postcard{inset:-25px -30px -25px -15px}}
@media(max-width:1100px){.site-header{padding-inline:25px;gap:16px}.brand{min-width:230px;font-size:22px}.brand small{font-size:6px;letter-spacing:1px}.site-header nav{gap:15px}.header-end{min-width:85px;gap:12px}.village-ribbon{padding-inline:25px}.branded-intro{grid-template-columns:minmax(0,1fr) 260px}.intro h1{font-size:34px}.intro p{font-size:12px}}
@media(max-width:800px){.village-ribbon{padding:9px 20px}.site-header{height:auto;min-height:85px;flex-wrap:wrap;padding:18px 20px 0;gap:15px}.site-header .brand{min-width:0;font-size:23px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:12px;height:43px}.site-header nav button{font-size:12px;padding-bottom:12px}.header-end{margin-left:auto}.header-end .tiny-star{display:none}.brand small{font-size:6px}.branded-intro{grid-template-columns:minmax(0,1fr) 220px;padding:23px;gap:15px}.intro-postcard{inset:-23px -23px -23px 0;border-radius:45px 0 0 45px}.intro h1{font-size:31px}.intro .eyebrow{font-size:8px}.intro p{max-width:330px}.account-shell{grid-template-columns:.9fr 1.1fr}.account{padding:28px}.account-welcome{padding:25px}.account-welcome h2{font-size:29px}.account-welcome-copy{margin-top:55px}.account-home{left:25px;font-size:11px}}
@media(max-width:600px){.village-ribbon{padding:8px 16px;font-size:9px}.village-ribbon span{display:none}.site-header{padding-inline:16px}.brand small{max-width:210px;font-size:6px}.brand-mark,.brand-mark img{width:36px;height:36px}.site-header .brand{gap:8px;font-size:22px}.header-end{min-width:0;font-size:10px}.sign-in{padding:8px 11px}.site-header nav{gap:6px}.site-header nav button{font-size:10px}.create-main{padding-top:18px}.branded-intro{display:block;padding:24px 20px 124px;min-height:0;border-radius:19px}.intro h1{font-size:32px}.intro h1>span{font-size:20px;margin-left:8px}.intro p{font-size:13px;max-width:280px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro .intro-import{margin-top:15px;position:relative;z-index:2}.intro-postcard{position:absolute;inset:auto 0 0 0;height:100px;border-radius:45px 0 0 0}.intro-postcard img{object-position:center 44%}.postcard-caption{bottom:12px;left:20px;font-size:10px}.intro-postcard:after{background:linear-gradient(180deg,transparent,#211e3b8c)}.collection-heading{padding:22px}.collection-heading h1{font-size:30px}.studio-footer{line-height:1.6}.branded-account{padding:18px 14px}.account-shell{display:block;margin:0 auto;border-radius:23px;max-width:480px}.account-welcome{min-height:240px;padding:22px}.account-welcome>img{object-position:50% 48%}.account-welcome:after{background:linear-gradient(90deg,#211c40db,#211c4055)}.account-welcome-copy{margin-top:22px;max-width:245px}.account-welcome h2{font-size:25px;margin:10px 0}.account-wordmark{font-size:21px}.account-wordmark>span{font-size:8px}.brand-eyebrow{font-size:6px}.account-welcome p{display:none}.account-home{font-size:10px;bottom:18px;left:22px}.account{padding:25px}.account h1{font-size:30px}.account input{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
