@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Space+Grotesk:wght@400;500;600;700&display=swap");:root{--green:#075e36;--deep:#063f2b;--yellow:#ffe50b;--pink:#ff137c;--cream:#fffbe9;--ink:#10281d;--muted:#6b766a;--line:rgba(7,94,54,.18);--mono:"DM Mono",monospace;--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--body)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.mono,.overline{font-family:var(--mono);letter-spacing:.04em}.overline{margin:0;color:var(--green);font-size:11px;font-weight:500}.sr-only{clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:baseline;gap:3px;color:var(--green);font-family:var(--display);font-weight:700;letter-spacing:-.09em;font-size:23px;text-decoration:none}.wordmark i{color:var(--pink);font-size:11px;letter-spacing:-.03em;font-style:normal;transform:rotate(-8deg);margin-inline:2px}.wordmark b{color:var(--pink);font-size:17px;margin-left:2px}.header-meta{font:10px var(--mono);color:var(--green);display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px rgba(255,19,124,.12)}.header-rule{color:#a5ac9f}.official-link{display:flex;gap:5px;align-items:center;color:var(--green);font:10px var(--mono);text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:3px}.hero{min-height:474px;padding:74px 0 42px;overflow:hidden}.hero,.hero h1{position:relative}.hero h1{z-index:1;color:var(--green);font:700 clamp(48px,7.3vw,98px)/.86 var(--display);letter-spacing:-.09em;margin:13px 0 22px}.hero h1 em,.manifesto h2 em{color:var(--pink);font-style:normal}.hero-copy{position:relative;z-index:1;width:min(350px,100%);color:#486553;font-size:16px;line-height:1.45;margin:0}.hero-foot{bottom:29px;right:0;display:flex;gap:17px;color:#58806b;font-size:9px}.hero-foot,.sun{position:absolute}.sun{width:345px;height:345px;border-radius:50%;background:var(--yellow);top:24px;right:4%;overflow:hidden;border:1px solid rgba(7,94,54,.15)}.sun:after,.sun:before{content:"";position:absolute;left:-10%;right:-10%;height:18px;background:var(--pink);transform:rotate(-12deg)}.sun:after{bottom:62px}.sun:before{bottom:124px;background:var(--green);height:8px}.sun span{position:absolute;inset:25px;border:1px dashed var(--green);border-radius:50%;opacity:.55}.studio{margin-bottom:0}.studio-heading{display:grid;grid-template-columns:195px 1fr;padding:28px 0 21px;align-items:start}.mode-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.mode-button{padding:11px 12px 12px;border:1px solid var(--line);background:transparent;color:var(--green);text-align:left;transition:.2s}.mode-button.active,.mode-button:hover{background:var(--green);color:var(--cream);border-color:var(--green);transform:translateY(-2px);box-shadow:4px 4px 0 var(--pink)}.mode-button i,.mode-button span{display:block;font:9px var(--mono);font-style:normal;opacity:.75}.mode-button strong{display:block;font:700 18px var(--display);letter-spacing:-.06em;margin:4px 0}.mode-button small{font-size:11px;display:block;min-height:31px;line-height:1.25}.mode-button i{margin-top:8px;color:var(--pink);opacity:1}.workbench{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);background:#fffdf2;border:1px solid var(--green);box-shadow:7px 7px 0 var(--yellow)}.editor-panel{padding:25px 28px 28px}.progress{gap:8px;font:10px var(--mono);color:#a3aaa0;margin-bottom:27px}.progress,.progress span{display:flex;align-items:center}.progress span{gap:6px}.progress span.on{color:var(--green)}.progress b{font-weight:500}.progress i{width:28px;height:1px;background:#c9d3c7}.people-tabs{display:flex;gap:6px;margin:-4px 0 24px;flex-wrap:wrap}.person-tab{background:#eef2df;border:1px solid #ccdbc8;color:var(--green);padding:7px 9px;font:9px var(--mono);display:flex;align-items:center;gap:5px}.person-tab span{color:var(--pink);font-weight:700}.person-tab.selected{background:var(--yellow);border-color:var(--green)}.person-tab.add{background:transparent;border-style:dashed}.person-tab i{display:flex;padding:2px;margin-left:4px}.editor-section{border-top:1px solid var(--line);padding:20px 0}.photo-section{border-top:0;padding-top:0}.section-label{display:grid;grid-template-columns:28px 1fr auto;align-items:baseline;grid-gap:6px;gap:6px;margin-bottom:12px}.section-label span{color:var(--pink);font:11px var(--mono)}.section-label label{font:600 12px var(--mono);color:var(--green);letter-spacing:.02em}.section-label small{font:10px var(--mono);color:#7b897b}.upload-zone{height:155px;width:100%;border:1.5px dashed #8bab93;background:#f3f6e5;color:var(--green);display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden;transition:.2s}.upload-zone.dragging,.upload-zone:hover{background:#e7f0c8;border-color:var(--pink)}.upload-zone.uploaded{border-style:solid;background:#153e2d}.upload-zone img{width:100%;height:100%;object-fit:cover;opacity:.85}.upload-icon{display:grid;place-items:center;border-radius:100%;background:var(--yellow);width:38px;height:38px;margin-bottom:8px}.upload-zone strong{font:600 13px var(--mono)}.upload-zone small{font-size:11px;margin-top:4px;color:#67806f}.replace-photo{position:absolute;right:10px;bottom:10px;background:var(--yellow);color:var(--green);padding:6px 8px;font:9px var(--mono);display:flex;gap:5px;align-items:center}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.field span{display:block;color:#6a7d6e;font:9px var(--mono);margin-bottom:6px}.field input{width:100%;border:0;border-bottom:1px solid #9eae9c;background:transparent;padding:7px 0 9px;color:var(--green);font:500 16px var(--display);outline:0}.field input:focus{border-color:var(--pink)}.field input::placeholder{color:#a3ada3}.tag-grid{display:flex;gap:7px;flex-wrap:wrap}.tag{border:1px solid #abc3ae;background:#fffdf2;padding:6px 9px;color:var(--green);font:10px var(--mono);display:flex;gap:4px;align-items:center}.tag.active{background:var(--green);color:var(--yellow);border-color:var(--green)}.class-note{display:flex;gap:5px;align-items:center;color:#6a806f;font:9px var(--mono);margin:16px 0 0}.class-note svg{color:var(--pink)}.class-note strong{color:var(--pink);font-weight:500}.editor-actions{margin-top:4px;display:flex;gap:15px;justify-content:space-between;align-items:center}.editor-actions p{font:10px/1.3 var(--mono);max-width:170px;color:#6e826f;display:flex;gap:5px;margin:0}.generate-button{border:0;background:var(--pink);color:white;min-height:47px;padding:0 15px;display:flex;align-items:center;gap:7px;font:600 11px var(--mono);box-shadow:3px 3px 0 var(--green);transition:.2s}.generate-button:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--green)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.preview-panel{background:var(--green);padding:18px 21px 21px;color:var(--cream);flex-direction:column}.preview-panel,.preview-top{display:flex;align-items:center}.preview-top{width:100%;justify-content:space-between;margin-bottom:16px}.preview-top p{margin:0;font-size:10px}.preview-top>span{font:9px var(--mono);color:#dbe8c7;display:flex;gap:6px;align-items:center}.preview-top .live-dot{width:5px;height:5px;background:var(--yellow);box-shadow:none}.credential{position:relative;overflow:hidden;isolation:isolate;background:var(--yellow);color:var(--green);width:min(100%,330px);aspect-ratio:3/4;box-shadow:7px 8px 0 #042c1e}.credential.generated-output{background:#dce4cd}.generated-output img{width:100%;height:100%;object-fit:contain;display:block}.credential.pfp{aspect-ratio:1}.credential.team{width:100%;max-width:440px;aspect-ratio:16/9}.credential-sun{position:absolute;width:250px;height:250px;border-radius:50%;background:var(--pink);right:-104px;top:-101px;border:1px solid var(--green)}.credential-sun:after{content:"";position:absolute;width:200px;height:200px;border:1px dashed var(--yellow);border-radius:50%;inset:24px}.credential-tape{white-space:nowrap;position:absolute;background:var(--green);color:var(--yellow);font:8px var(--mono);padding:5px;transform:rotate(-35deg);width:160%;top:39%;left:-30%;z-index:4}.credential-head{position:absolute;top:16px;left:16px;right:14px;display:flex;justify-content:space-between;align-items:start;font:700 20px/.76 var(--display);letter-spacing:-.1em;z-index:2}.credential-head strong{font:10px/.9 var(--mono);letter-spacing:0;color:var(--cream);background:var(--green);padding:6px}.portrait{position:absolute;left:16px;right:16px;top:81px;height:42%;background:#8dc97f;overflow:hidden;border:1px solid var(--green)}.portrait-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 28px,rgba(7,94,54,.25) 29px 30px),repeating-linear-gradient(0deg,transparent 0 28px,rgba(7,94,54,.25) 29px 30px)}.portrait img{width:100%;height:100%;object-fit:cover;position:relative;filter:saturate(.9) contrast(1.08)}.portrait-placeholder{height:100%;display:flex;align-items:center;justify-content:center;gap:8px;font:10px var(--mono);color:var(--green);position:relative}.portrait-stamp{position:absolute;right:7px;bottom:6px;color:var(--cream);background:var(--pink);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;text-align:center;font:7px/.98 var(--mono);transform:rotate(-13deg);border:1px dashed var(--cream)}.id-details{position:absolute;bottom:13px;left:16px;right:16px;z-index:2}.id-details>.mono{font-size:8px}.id-details h3{font:700 23px/.92 var(--display);letter-spacing:-.08em;margin:4px 0 8px}.id-details p{font:600 12px var(--mono);margin:0}.id-details small{font:9px var(--mono);color:#4c7457}.id-tags{display:flex;gap:4px;margin-top:8px}.id-tags span{font:8px var(--mono);border:1px solid var(--green);padding:3px 4px}.barcode{height:16px;margin-top:9px;display:flex;gap:2px;align-items:stretch}.barcode i{background:var(--green);width:2px}.barcode i:nth-child(2n){width:4px}.barcode i:nth-child(3n){width:1px}.pfp .portrait{inset:52px 52px 52px;height:auto;border-radius:50%;z-index:2}.pfp .portrait-stamp{display:none}.pfp .credential-head{font-size:16px}.pfp .credential-tape{top:49%;z-index:3}.pfp-ring{position:absolute;border-radius:50%;border:1px dashed var(--green);z-index:1}.pfp-ring.p1{width:92%;height:92%;inset:4%}.pfp-ring.p2{width:75%;height:75%;inset:12.5%;border-color:var(--pink)}.pfp-copy{left:13px;bottom:17px;background:var(--green);color:var(--yellow);padding:6px;font:10px/.95 var(--mono)}.pfp-copy,.pfp-date{position:absolute;z-index:5}.pfp-date{right:13px;bottom:16px;font:9px/.95 var(--mono);text-align:right}.team{background:var(--yellow);padding:14px}.team:after{content:"";position:absolute;width:100%;height:22px;background:var(--pink);bottom:38px;left:0;transform:skewY(-4deg)}.team-top{display:flex;align-items:start;justify-content:space-between;font:700 19px/.78 var(--display);letter-spacing:-.1em;position:relative;z-index:2}.team-top strong{font-size:25px;color:var(--pink);text-align:right}.team-top i{font:8px/.9 var(--mono);letter-spacing:0;font-style:normal;color:var(--cream);background:var(--green);padding:5px}.team-portraits{height:calc(100% - 71px);display:flex;gap:7px;align-items:center;position:relative;z-index:1;padding:5px 0 21px}.team-person{height:100%;min-width:0;flex:1 1;position:relative;padding-bottom:25px}.team-photo{height:100%;background:#9cce83;border:1px solid var(--green);display:grid;place-items:center;overflow:hidden}.team-photo img{height:100%;width:100%;object-fit:cover;filter:saturate(.9)}.team-person>span{position:absolute;top:4px;left:4px;color:var(--yellow);background:var(--green);font:8px var(--mono);padding:3px}.team-person strong{bottom:12px;font:700 12px var(--display);letter-spacing:-.05em}.team-person small,.team-person strong{position:absolute;left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.team-person small{bottom:0;color:#456c53;font:7px var(--mono)}.team-bottom{height:20px;position:absolute;z-index:3;bottom:7px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;font:7px var(--mono)}.team-bottom b{font-weight:500}.preview-tip{display:flex;align-items:flex-start;gap:5px;width:100%;font:10px/1.35 var(--mono);color:#dbe8c7;margin:17px 0 0}.preview-tip svg{color:var(--yellow);flex:0 0 auto}.export-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;grid-gap:8px;gap:8px;margin-top:15px}.export-actions button{min-height:41px;border:1px solid var(--yellow);font:10px var(--mono);display:flex;justify-content:center;align-items:center;gap:5px}.download-button{background:var(--yellow);color:var(--green)}.share-button{background:transparent;color:var(--yellow)}.manifesto{margin-top:90px;background:var(--pink);color:var(--cream);padding:72px 0}.manifesto-grid{display:grid;grid-template-columns:1fr 2fr 1fr;grid-gap:30px;gap:30px;align-items:start}.manifesto-grid>p:first-child{font-size:10px;line-height:1.4;margin:6px 0}.manifesto h2{font:700 clamp(34px,5vw,63px)/.86 var(--display);letter-spacing:-.09em;margin:0}.manifesto h2 em{color:var(--yellow)}.manifesto-copy{font-size:14px;line-height:1.45;margin:6px 0;color:#ffe7f2}.site-footer{min-height:155px;display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand .wordmark{font-size:18px}.footer-brand p{color:#628171;font:8px/1.5 var(--mono);margin:8px 0 0}.privacy{color:#668372;max-width:290px;font:9px/1.45 var(--mono);margin:0;display:flex;gap:5px}.privacy svg{color:var(--pink);flex:0 0 auto}.back-top{font:10px var(--mono);color:var(--green);text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:2px}.back-top,.toast{display:flex;align-items:center}.toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);background:var(--green);color:var(--cream);padding:11px 15px;font:11px var(--mono);box-shadow:4px 4px 0 var(--pink);gap:7px;white-space:nowrap}@media(max-width:760px){.shell{width:min(100% - 32px,560px)}.site-header{height:64px}.header-meta,.official-link{display:none}.hero{min-height:425px;padding-top:57px}.hero h1{font-size:clamp(48px,14.2vw,76px)}.sun{width:250px;height:250px;right:-85px;top:50px}.hero-copy{font-size:14px;max-width:245px}.hero-foot{left:0;right:0;gap:0;justify-content:space-between;font-size:8px}.hero-foot span:nth-child(2){display:none}.studio-heading{display:block;padding:24px 0 15px}.studio-heading .overline{margin-bottom:11px}.mode-list{gap:5px}.mode-button{padding:9px 7px}.mode-button span{font-size:7px}.mode-button strong{font-size:14px;margin:3px 0}.mode-button small{font-size:9px;min-height:43px}.mode-button i{font-size:7px}.workbench{display:flex;flex-direction:column;box-shadow:5px 5px 0 var(--yellow)}.editor-panel{padding:20px 16px 17px}.progress{justify-content:space-between;font-size:9px;margin-bottom:22px}.progress i{width:18px}.section-label{grid-template-columns:24px 1fr;margin-bottom:10px}.section-label small{grid-column:2;font-size:8px;margin-top:1px}.upload-zone{height:142px}.field-grid{grid-template-columns:1fr;gap:16px}.editor-actions{flex-direction:column;align-items:stretch;gap:12px}.editor-actions p{max-width:none}.generate-button{justify-content:center}.preview-panel{padding:17px 16px 20px}.credential{max-width:310px}.credential.team{max-width:100%}.manifesto{margin-top:66px;padding:53px 0}.manifesto-grid{grid-template-columns:1fr;gap:18px}.manifesto h2{font-size:48px}.manifesto-copy{margin:0;max-width:310px}.site-footer{padding:32px 0;align-items:flex-start;flex-direction:column;gap:22px}.privacy{max-width:320px}.back-top{align-self:flex-start;margin-top:0}.people-tabs{margin-bottom:18px}.person-tab{font-size:8px}.credential.team{aspect-ratio:1.6}.team-top{font-size:16px}.team-top strong{font-size:21px}.team-bottom{font-size:6px}}.generated-output img,.portrait img,.team-photo img,.upload-zone>img{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}