:root{--bg:#fff;--ink:#000;--ink-soft:#666;--line:#d9d9d9;--accent:#f1c40f;--link:#1abc9c}*{box-sizing:border-box}html,body,#app{min-height:100%}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:var(--link);text-decoration:none}img{max-width:100%;image-rendering:pixelated}button,input,select{font:inherit}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.page-shell{background:#fff;flex-direction:column;min-height:100vh;display:flex}.page-section{width:min(1200px,100%);margin:0 auto;padding:20px}.page-title{margin:30px 0;font-size:2.5rem;font-weight:300}.section-heading{margin:0 0 20px}.section-heading__eyebrow{color:var(--ink-soft);margin:0 0 .4rem;font-size:.9rem}.section-heading h2,.detail-hero__copy h2,.detail-card h3,.panel-card h3,.catalog-column h3{margin:0 0 16px;font-weight:400}.site-header{border-bottom:1px solid #000;align-items:center;gap:20px;padding:20px;display:flex}.site-header h1{text-align:center;margin:0 auto;font-size:2rem;font-weight:400}.site-header__title{flex:auto;justify-content:center;min-width:0;display:flex}.site-header__home,.site-header__random{background:0 0;border:none;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.site-header__home svg,.site-header__random img{width:32px;height:32px}.site-header__home:hover,.site-header__home:focus,.site-header__random:hover,.site-header__random:focus{background:0 0}.site-header__home:hover svg g:first-of-type path,.site-header__home:focus svg g:first-of-type path{fill:red;stroke:#000;stroke-width:2.5px}.site-header__spacer{flex:0 0 32px;width:32px;height:32px}.pokemon-route-picker{flex-direction:column;align-items:center;gap:10px;width:min(100%,460px);margin:0 auto;display:flex;position:relative}.pokemon-route-picker__title{width:100%;margin:0;font-size:2rem;font-weight:400;line-height:1.1}.pokemon-route-picker__title-button{color:#000;width:100%;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:center;cursor:text;background:0 0;border:none;padding:0}.pokemon-route-picker__title-button:hover,.pokemon-route-picker__title-button:focus{text-decoration:underline}.pokemon-route-picker__search{width:100%;position:relative}.pokemon-route-picker__input{color:#000;text-align:center;background:#fff;border:2px solid #000;width:100%;padding:.5rem .75rem;font-size:1.5rem}.pokemon-route-picker__results{z-index:10;background:#fff;border:2px solid #000;max-height:280px;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.pokemon-route-picker__result{border:none;border-bottom:1px solid var(--line);color:#000;text-align:left;background:#fff;justify-content:space-between;width:100%;padding:.75rem .9rem;display:flex}.pokemon-route-picker__results li:last-child .pokemon-route-picker__result{border-bottom:none}.pokemon-route-picker__result:hover,.pokemon-route-picker__result:focus,.pokemon-route-picker__result--active{color:#fff;background:#000}.pokemon-route-picker__result-name{font-weight:700}.pokemon-route-picker__result-id{color:var(--ink-soft)}.pokemon-route-picker__result:hover .pokemon-route-picker__result-id,.pokemon-route-picker__result:focus .pokemon-route-picker__result-id,.pokemon-route-picker__result--active .pokemon-route-picker__result-id{color:inherit}.pokemon-route-picker__empty{color:#000;background:#fff;border:2px solid #000;margin:6px 0 0;padding:.75rem .9rem}.pokemon-route-picker__variant{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.pokemon-route-picker__variant span{letter-spacing:1px;text-transform:uppercase}.pokemon-route-picker__variant select{background:#fff;border:2px solid #000;min-width:12rem;padding:.45rem .75rem}.canvas{width:100%;height:100%;display:block}.loading-state{text-align:center;padding:20px}.intro{margin:0 0 20px;line-height:1.5}.detail-hero{flex-direction:column;gap:20px;display:flex}.detail-hero__sprite{width:100%;min-height:320px;position:relative}.detail-hero__sprite--poster{min-height:420px}.detail-hero__copy,.detail-card,.panel-card,.mapping-card,.brick-table{border-top:1px solid var(--line);width:100%;padding:20px 0}.palette-container{min-height:240px;position:relative}.preview-row{flex-direction:column;gap:20px;display:flex}.preview-column{flex:1}.center{text-align:center}.options-container{flex-wrap:wrap;align-items:center;gap:20px;padding:20px 0;display:flex}.options-container--centered{justify-content:center}.tag-row,.version-row,.control-row,.download-form,.split-nav{flex-wrap:wrap;gap:.5rem;display:flex}.type-pill{border-radius:0;margin:0 .2rem .2rem 0;padding:.3rem .6rem;font-size:1rem;font-weight:400;display:inline-block}.not-found-page{text-align:center}.button-chip,.split-nav__link{color:#000;white-space:nowrap;letter-spacing:1px;text-transform:uppercase;background:#fff;border:2px solid #000;justify-content:center;align-items:center;gap:.35rem;padding:15px 45px;display:inline-flex}.button-chip:hover,.button-chip:focus,.split-nav__link:hover,.split-nav__link:focus{color:#fff;background:#000}.button-chip--solid{background:#fff}.button-chip--active,.button-chip--active:hover,.button-chip--active:focus{background:var(--accent);color:#000}.simple-list{margin:0;padding-left:1.2rem;line-height:1.7}.detail-grid{flex-wrap:wrap;gap:20px;margin:20px 0;display:flex}.detail-card,.panel-card,.mapping-card{flex:280px}.evolution-list{flex-wrap:wrap;gap:.5rem;display:flex}.mini-link{color:#000;background:#ccc;padding:.3rem .6rem;display:inline-block}.split-nav{border-top:1px solid #333;border-bottom:1px solid #333;justify-content:space-between;margin:20px 0;padding:20px 0}.palette-strip{min-height:240px;display:flex;overflow:hidden}.palette-strip__swatch{color:#ffffffe6;text-shadow:0 1px 1px #000000b3;flex:1;justify-content:center;align-items:flex-end;padding:.75rem;font-size:.75rem;display:flex}.panel-card--palette{min-height:240px;position:relative}.palette-source{width:128px;position:absolute;bottom:20px;right:20px}.data-table,.brick-table table{border-collapse:collapse;width:100%}.data-table th,.data-table td,.brick-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.8rem}.brick-table__heading{background:#f0f0f0;font-weight:700}.swatch-chip,.brick-table__colour,.mapping-grid__swatch{vertical-align:middle;border:1px solid #0003;border-radius:0;width:1rem;height:1rem;margin-right:.45rem;display:inline-block}.mapping-card p{margin-top:0}.brick-table__image{object-fit:contain;width:64px;height:64px;display:block}.brick-table__meta-stack{gap:.2rem;display:grid}.brick-table__meta-stack span{color:var(--ink-soft);font-size:.92rem}.lego-order-summary,.lego-order-export{padding:0 0 20px}.lego-order-summary p,.lego-order-export p,.lego-order-alert p{margin-top:0}.lego-order-summary__meta,.lego-order-export__batch-label{color:var(--ink-soft)}.lego-order-alert{background:#fff5b1;border:2px solid #000;margin:0 0 20px;padding:16px 20px}.lego-order-export__batches{gap:16px;display:grid}.lego-export__hint{color:var(--ink-soft);margin:10px 0 0}.mapping-grid{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.mapping-grid__pair{align-items:center;gap:.45rem;display:flex}.catalog-grid{flex-wrap:wrap;align-content:flex-start;display:flex}.catalog-column{flex:180px;min-width:180px;margin-bottom:20px;padding-right:20px}.catalog-link{padding:.35rem 0;display:block}.project-links{flex-wrap:wrap;margin-top:20px;display:flex}.project-links__option{border:1px solid #000;flex:100%;height:100px;display:flex;position:relative;overflow:hidden}.project-links__sprite{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.project-links__option span{z-index:1;color:#fff;text-transform:uppercase;text-align:center;background:#0009;flex:1;justify-content:center;align-items:center;padding:0 2rem;font-size:1.5rem;font-weight:700;display:flex;position:relative}.site-footer{text-align:left;color:#fff;background:#000;border-top:1px solid #ddd;margin-top:auto}.site-footer a,.site-footer a:hover,.site-footer a:focus,.site-footer a:visited{color:var(--link)}.site-footer p{margin:0;font-weight:300}.site-footer hr{border:none;border-top:1px dashed #fff;height:1px;margin:24px 0 1em}.site-footer__content{padding:24px 20px}.detail-card--centered{text-align:center}.toggle-label{align-items:center;gap:.5rem;display:inline-flex}.download-form{align-items:flex-end}.download-form label{gap:.35rem;display:grid}.download-form--inline label{display:block}.download-form__dimensions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.download-form input{background:#fff;border:2px solid #000;border-radius:0;min-width:7rem;padding:.7rem .8rem}.preset-grid{flex-wrap:wrap;gap:10px;display:flex}.preset-grid__button{color:#000;text-align:left;background:#fff;border:2px solid #000;flex-direction:column;justify-content:center;align-items:flex-start;min-width:180px;padding:12px 20px;display:flex}.preset-grid__button:hover,.preset-grid__button:focus{color:#fff;background:#000}.custom-download,.download-options,.subheading{padding:0 0 20px}.table-link{color:var(--link);cursor:pointer;background:0 0;border:none;padding:0}.table-link:hover,.table-link:focus{text-decoration:underline}.codename-stage{min-height:400px;position:relative}.codename-stage__overlay{color:#fff;text-transform:uppercase;text-align:center;-webkit-text-stroke:1px #000;text-shadow:3px 3px #000,-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;pointer-events:none;justify-content:center;align-items:flex-end;padding:20px;font-size:clamp(2.5rem,8vw,6rem);line-height:1.1;display:flex;position:absolute;inset:0}.pokemon-description{text-align:center;max-width:70ex;margin:0 auto 20px;font-weight:400}.lego-page .intro{background:var(--accent);padding:20px}.pokedex-page__title{margin:0;font-size:3rem;font-weight:300}.pokedex-page__title small{font-size:.5em}.pokedex-page__tags{flex-wrap:wrap;align-items:flex-start;display:flex}.pokedex-page__label{padding:.3rem .6rem .3rem 0}.pokedex-page__tag-link{color:#000;background:#ccc;margin:0 .2rem .2rem 0;padding:.3rem .6rem;display:inline-block}.pokedex-page__tag-link--active{background:var(--accent)}.pokedex-page__preview,.pokedex-page__details,.pokedex-page__content{flex-direction:column;display:flex}.pokedex-page__details{flex:auto;padding:0 1rem}.pokedex-page__desktop{display:none}.pokedex-page__evolutions{flex-wrap:wrap;display:flex}.pokedex-page__evolution-group{width:100%}.pokedex-page__evolution-buttons{flex-wrap:wrap;justify-content:space-between;display:flex}.pokedex-page__evolution-link{color:#000;text-align:center;flex-direction:column;flex:1;align-items:center;padding:0;display:flex}.pokedex-page__evolution-link span{line-height:1.8}.pokedex-page__navigation{border-top:1px solid #333;border-bottom:1px solid #333;flex-wrap:nowrap;justify-content:space-between;margin:20px 0;padding:20px 0;display:flex}.pokedex-page__navigation-link{color:#000;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;line-height:32px;display:flex}@media screen and (width>=769px){.detail-hero:not(.detail-hero--stacked){flex-direction:row}.detail-hero:not(.detail-hero--stacked)>*{flex:1}.preview-row{flex-direction:row}.project-links__option{flex-basis:50%}.pokedex-page__content{flex-direction:row;display:flex}.pokedex-page__preview,.pokedex-page__details{width:50%}.pokedex-page__desktop{display:block}.pokedex-page__mobile{display:none}.pokedex-page__evolution-group{width:50%}.pokedex-page__evolution-group--full{width:100%}}@media screen and (width>=750px){.project-links__option{flex-basis:25%}}@media screen and (width<=768px){.split-nav{justify-content:flex-start}.pokemon-route-picker{width:100%}.pokemon-route-picker__variant{flex-direction:column;width:100%}.pokemon-route-picker__variant select{width:100%}}@media screen and (width<=475px){.pokedex-page__navigation-link{font-size:0}}
