@import "https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Permanent+Marker&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#0a0a0a;background:#fff;font-family:Jost,sans-serif}button,input{font:inherit}.mothership-app{justify-content:center;align-items:flex-start;min-height:100dvh;padding:1.25rem;display:flex}.generator-card{background:#fff;border:1px solid #111;border-radius:18px;width:min(860px,100%);padding:1rem}.app-header h1{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:clamp(2rem,4.8vw,3rem);line-height:1}.app-header p{letter-spacing:.02em;margin:.2rem 0 1rem;font-size:clamp(1rem,2.8vw,1.3rem)}.roll-all-btn{color:#111;background:#fff;border:1px solid #111;border-radius:11px;padding:.6rem 1rem;font-weight:600;transition:background .12s,color .12s}.roll-all-btn:hover{color:#fff;background:#111}.roll-all-btn:disabled{opacity:.45;cursor:not-allowed}.field-list{gap:.8rem;margin-top:1rem;display:grid}.field-row{gap:.35rem;display:grid}.field-label{letter-spacing:.02em;text-transform:uppercase;font-size:.95rem;font-weight:600}.field-control-wrap{grid-template-columns:1fr auto;gap:.5rem;display:grid}.field-control-wrap-static{grid-template-columns:1fr}.field-input{color:#111;background:#fff;border:1px solid #111;border-radius:11px;width:100%;padding:.72rem .85rem}.field-input:focus-visible,.field-roll-btn:focus-visible,.roll-all-btn:focus-visible,.app-footer a:focus-visible{outline-offset:2px;outline:2px solid #111}.field-roll-btn{background:#fff;border:1px solid #111;border-radius:11px;justify-content:center;align-items:center;width:46px;transition:background .12s;display:inline-flex}.field-roll-btn:hover{background:#efefef}.dice-icon{width:22px;height:22px}.app-footer{border-top:1px solid #111;justify-content:center;margin-top:1rem;padding-top:.8rem;display:flex}.app-footer a{color:#111;align-items:center}.itch-icon{opacity:.7;width:35px;height:35px}.creator-card{width:min(900px,100%)}.creator-warning{border:1px solid #111;border-radius:12px;padding:.55rem .7rem}.creator-panel{gap:.9rem;margin-top:1rem;display:grid}.creator-note{margin:0;font-size:1.05rem}.background-pill{border:1px solid #111;border-radius:14px;grid-template-columns:70px 1fr;align-items:center;gap:.8rem;padding:.65rem;display:grid}.background-pill p{margin:.22rem 0 0}.background-icon{object-fit:cover;border:1px solid #111;border-radius:11px;width:70px;height:70px}.skills-columns{grid-template-columns:1fr 1fr;gap:.9rem 3rem;display:grid;position:relative}.skills-column{z-index:2;background:linear-gradient(#fff 0%,#f7f7f7 100%);border:1px solid #111;border-radius:14px;padding:.6rem;position:relative}.skills-column:first-child{padding-left:0}.skills-column-prereq{padding-right:0}.skills-links-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.skills-link-path{fill:none;stroke:#111;stroke-width:1.4px;vector-effect:non-scaling-stroke}.skills-column-prereq{background:linear-gradient(#fafafa 0%,#f3f3f3 100%)}.skills-column-title{letter-spacing:.06em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:700}.skills-column-list{gap:.4rem;display:grid}.skill-chip{color:#111;text-align:left;overflow-wrap:anywhere;word-break:normal;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #111;border-radius:999px;align-self:start;padding:.45rem .7rem;font-size:.9rem;line-height:1.2;transition:background .12s,color .12s,opacity .12s;display:block}.skill-child-chip{border-style:dashed;border-radius:12px;width:100%}.skill-chip.locked{padding-right:1.7rem;position:relative}.skill-chip.locked:after{content:"";background:url(/lock.svg) 50%/contain no-repeat;width:12px;height:12px;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.skill-chip.locked.active:after,.skill-chip.locked:hover:after,.skill-chip.locked:focus-visible:after{filter:invert()}.skill-chip:focus-visible,.skill-chip.active{color:#fff;background:#111}@media (hover:hover) and (pointer:fine){.skill-chip:hover{color:#fff;background:#111}}.skill-chip:disabled{opacity:.4;cursor:not-allowed}.gender-toggle-row{flex-wrap:wrap;gap:.5rem;display:flex}.random-name-card{background:linear-gradient(#fff 0%,#f8f8f8 100%);border:1px solid #111;border-radius:14px;gap:.45rem;padding:.7rem;display:grid}.random-name-title{text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.9rem}.random-name-help{margin:0;font-size:.9rem}.gender-btn{color:#111;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #111;border-radius:999px;align-items:center;gap:.45rem;padding:.38rem .68rem;transition:background .12s,color .12s;display:inline-flex}.gender-btn img{width:18px;height:18px}.gender-btn.active,.gender-btn:focus-visible{color:#fff;background:#111}.gender-btn.active img,.gender-btn:focus-visible img{filter:invert()}@media (hover:hover) and (pointer:fine){.gender-btn:hover{color:#fff;background:#111}.gender-btn:hover img{filter:invert()}}.creator-example{border:1px solid #111;border-radius:14px;width:min(640px,100%)}.nameplate-example{width:min(620px,100%);margin-inline:auto;position:relative;overflow:clip}.nameplate-overlay{left:var(--plate-x,50%);top:var(--plate-y,68%);width:var(--plate-width,64%);text-align:center;color:#161616;transform-origin:50%;transform:translate(-50%, -50%) perspective(var(--plate-perspective,900px)) rotateX(var(--plate-rotate-x,10deg)) rotateY(var(--plate-rotate-y,12deg)) rotateZ(var(--plate-rotate-z,-7deg)) skewX(var(--plate-skew-x,-5deg)) skewY(var(--plate-skew-y,0deg)) scaleX(var(--plate-scale-x,1.08)) scaleY(var(--plate-scale-y,.85)) scale(var(--plate-text-scale,1));pointer-events:none;position:absolute}.nameplate-overlay-name,.nameplate-overlay-background{letter-spacing:.01em;text-shadow:0 1px #ffffff4d;margin:0;font-family:Permanent Marker,cursive;line-height:1}.nameplate-overlay-name{font-size:clamp(1.1rem,3vw,1.9rem)}.nameplate-overlay-background{font-size:clamp(.95rem,2.3vw,1.45rem)}.nameplate-overlay-divider{width:var(--plate-divider-width,26%);margin:var(--plate-line-gap,.2em) auto;border:0;border-top:2px solid #202020}.creator-note-large{text-align:center;font-size:clamp(1.2rem,3vw,1.6rem)}.creator-example-step3,.creator-example-step4{width:100%;margin-inline:auto;display:block}.creator-app-step3 .nameplate-example,.creator-app-step4 .nameplate-example{--plate-text-scale:.85}.creator-example-step5{width:min(70px,100%);display:block}.creator-example-step6{width:min(80px,100%);display:block}.creator-list{gap:.25rem;margin:0;padding-left:1.15rem;display:grid}.creator-loadout-table-wrap{border:1px solid #111;border-radius:12px;overflow:auto}.creator-loadout-table{border-collapse:collapse;background:#fff;width:100%;font-size:1.1rem}.creator-loadout-table th,.creator-loadout-table td{text-align:left;vertical-align:top;border:1px solid #111;padding:.55rem .65rem}.creator-loadout-table th{text-transform:uppercase;letter-spacing:.03em;background:#f6f6f6;font-weight:700}.creator-nav{border-top:1px solid #111;justify-content:space-between;gap:.6rem;margin-top:1rem;padding-top:.8rem;display:flex}.map-page{background:radial-gradient(circle at 10% 20%,#f2f2f2 0%,#fff 42%),linear-gradient(160deg,#fff 0%,#f7f7f7 100%);justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:1rem;display:flex}.map-image{object-fit:contain;border:1px solid #111;border-radius:16px;width:min(1200px,100%);max-height:calc(100dvh - 2rem);box-shadow:0 18px 50px #00000024}.map-nav-bubble{z-index:20;transform-origin:100% 100%;will-change:left, top, transform;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff0;border:1px solid #111;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem;display:flex;position:fixed;top:calc(100dvh - 1rem);left:calc(100vw - 1rem);transform:translate(-100%,-100%);box-shadow:0 8px 24px #0000001f}.map-nav-link{color:#111;white-space:nowrap;letter-spacing:.04em;cursor:pointer;background:#fff;border:1px solid #111;border-radius:999px;flex:none;padding:.35rem .7rem;font-size:1.03rem;font-weight:600;line-height:1;transition:background .12s,color .12s}.map-nav-link:hover,.map-nav-link:focus-visible,.map-nav-link.active{color:#fff;background:#111}@media (width<=640px){body{overflow-x:hidden}.mothership-app{padding:.7rem}.creator-app{padding-inline:0;padding-top:.25rem}.generator-card{border-radius:14px;padding:.8rem}.creator-app .creator-card{border-left:0;border-right:0;border-radius:0;width:100%;padding-inline:.3rem}.field-input{padding:.65rem .72rem}.creator-panel-step1{gap:.45rem;margin-top:.55rem}.creator-panel-step1 .background-pill{grid-template-columns:48px 1fr;gap:.4rem;padding:.4rem}.creator-panel-step1 .background-icon{width:48px;height:48px}.creator-panel-step1 .skills-column{border-radius:10px;padding-top:.35rem;padding-bottom:.35rem}.creator-panel-step1 .skills-column-title{margin-bottom:.32rem}.creator-panel-step1 .skills-column-list{gap:.25rem}.creator-panel-step1 .skill-chip{padding:.3rem .52rem;line-height:1.1}.background-pill{grid-template-columns:56px 1fr;gap:.55rem;padding:.55rem}.background-icon{width:56px;height:56px}.skills-columns{grid-template-columns:1fr 1fr;column-gap:1.7rem;margin-inline:-.3rem}.skills-column:first-child{padding-right:.25rem}.skills-column-prereq{padding-left:.25rem}.creator-nav{flex-wrap:wrap}.creator-app-step3,.creator-app-step4{min-height:100svh;max-height:100svh;overflow:hidden clip}.creator-app-step3 .creator-card,.creator-app-step4 .creator-card{height:calc(100svh - .6rem);min-height:0;max-height:calc(100svh - .6rem);overflow:clip}.creator-app-step3 .creator-panel,.creator-app-step4 .creator-panel{gap:.5rem;margin-top:.55rem}.creator-app-step3 .nameplate-example,.creator-app-step4 .nameplate-example{--plate-text-scale:.5;width:min(300px,50vw)}.nameplate-overlay-name{font-size:clamp(.95rem,5vw,1.35rem)}.nameplate-overlay-background{font-size:clamp(.78rem,3.7vw,1.05rem)}.map-page{padding:.55rem}.map-image{border-radius:12px;max-height:calc(100dvh - 1.1rem)}.map-nav-bubble{gap:.3rem;padding:.35rem;top:calc(100dvh - .55rem);left:calc(100vw - .55rem)}.map-nav-link{padding:.3rem .55rem;font-size:.88rem}}
