.app-stage>astro-island{height:100%;display:block}.bds{height:100%;font-family:var(--font-body);color:var(--color-ink);padding:clamp(18px,3vw,44px);overflow-y:auto}.bds__inner{gap:clamp(18px,2.4vw,28px);max-width:1180px;margin:0 auto;display:grid}.bds__intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.bds__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .3rem;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:800}.bds__lede{max-width:52ch;color:var(--color-muted);margin:0;font-size:.95rem;line-height:1.5}.bds__lede code{font-family:var(--font-mono,ui-monospace, monospace);font-size:.88em}.bds__intro-actions{gap:.5rem;display:flex}.bds__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,26px);display:grid}.bds__controls,.bds__preview-col{gap:clamp(14px,1.6vw,18px);min-width:0;display:grid}.bds__preview-col{position:sticky;top:clamp(12px,2vw,24px)}.bds-swatches{border:0;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem;min-inline-size:0;margin:0;padding:0;display:grid}@media (width<=480px){.bds-swatches{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}}.bds-swatch{aspect-ratio:1;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;place-items:center;transition:transform .12s,box-shadow .12s;display:grid}.bds-swatch:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.bds-swatch--selected{box-shadow:0 0 0 3px var(--color-primary)}.bds-swatch__check{color:#fff;filter:drop-shadow(0 0 1.4px #000000d9);width:60%;height:60%}.bds-active-name,.bds-count{color:var(--color-muted);font-size:.78rem;font-weight:700}.bds-help{color:var(--color-muted);margin:.6rem 0 0;font-size:.82rem;line-height:1.45}.bds-character-picker{max-height:300px;border:0;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem;min-inline-size:0;margin:.75rem 0 0;padding:.15rem;display:grid;overflow-y:auto}.bds-character{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:58px;color:var(--color-ink);cursor:pointer;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:.45rem;padding:.4rem .45rem;transition:transform .12s,border-color .12s,box-shadow .12s;display:grid}.bds-character:hover{border-color:var(--color-primary);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.bds-character--selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary-soft)}.bds-character__img{aspect-ratio:1/2;background:var(--color-surface-soft);border-radius:3px;grid-row:1/3;width:24px;display:block;overflow:hidden}.bds-character__img img{width:100%;height:100%;image-rendering:pixelated;display:block}.bds-character__value{font-family:var(--font-display);align-self:end;font-size:.94rem;font-weight:800;line-height:1}.bds-character__steps{color:var(--color-muted);white-space:nowrap;align-self:start;font-size:.62rem;line-height:1.2}@media (width<=480px){.bds-character-picker{max-height:none;overflow:visible}}.bds-picker{max-height:340px;border:0;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:.5rem;min-inline-size:0;margin:0;padding:.15rem;display:grid;overflow-y:auto}.bds-tile{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;justify-items:center;gap:.3rem;padding:.45rem .3rem;transition:transform .12s,border-color .12s,box-shadow .12s;display:grid;position:relative}.bds-tile:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.bds-tile:disabled{opacity:.45;cursor:not-allowed}.bds-tile__img{aspect-ratio:1/2;background:var(--color-surface-soft);border-radius:3px;width:26px;display:block;overflow:hidden}.bds-tile__img img{width:100%;height:100%;image-rendering:pixelated;display:block}.bds-tile__name{text-align:center;color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.62rem;line-height:1.15;display:-webkit-box;overflow:hidden}.bds-tile__badge{color:var(--color-orange);font-size:.66rem;line-height:1;position:absolute;top:2px;right:4px}.bds-layers{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.bds-layer{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.4rem .55rem;display:grid}.bds-layer__img{aspect-ratio:1/2;background:var(--color-surface);border-radius:3px;width:18px;display:block;overflow:hidden}.bds-layer__img img{width:100%;height:100%;image-rendering:pixelated;display:block}.bds-layer__text{min-width:0;display:grid}.bds-layer__name{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;overflow:hidden}.bds-layer__color-name{color:var(--color-muted);font-size:.74rem}.bds-layer__color{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;width:26px;height:26px}.bds-layer__color:hover{box-shadow:0 0 0 2px var(--color-primary-soft)}.bds-layer__btns{gap:.15rem;display:flex}.bds-iconbtn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;place-items:center;transition:background .12s,color .12s;display:grid}.bds-iconbtn svg{width:17px;height:17px}.bds-iconbtn:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.bds-iconbtn--danger:hover:not(:disabled){background:var(--color-orange-soft);color:var(--color-orange)}.bds-iconbtn:disabled{opacity:.35;cursor:not-allowed}.bds-preview-panel{justify-items:center;gap:.7rem;display:grid}.bds-preview{place-items:center;display:grid}.bds-preview canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.bds-preview__loading{color:var(--color-muted);font-size:.82rem}.bds-preview__caption{color:var(--color-muted);margin:0;font-size:.84rem;font-weight:600}.bds-guide__start{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-muted);align-items:center;gap:.55rem;padding:.55rem .65rem;font-size:.84rem;display:flex}.bds-guide__start strong{color:var(--color-ink)}.bds-guide__swatch{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);flex:none;width:26px;height:26px}.bds-guide__intro{color:var(--color-muted);margin:.65rem 0;font-size:.78rem;line-height:1.45}.bds-guide{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.bds-guide__step{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:24px 22px minmax(0,1fr);align-items:center;gap:.55rem;min-height:48px;padding:.35rem .5rem;display:grid}.bds-guide__number{background:var(--color-primary-soft);width:24px;height:24px;color:var(--color-primary);border-radius:999px;place-items:center;font-size:.72rem;font-weight:800;display:grid}.bds-guide__result{aspect-ratio:1/2;background:var(--color-surface-soft);border-radius:3px;width:22px;display:block;overflow:hidden}.bds-guide__result img{width:100%;height:100%;image-rendering:pixelated;display:block}.bds-guide__text{min-width:0;display:grid}.bds-guide__text strong{color:var(--color-ink);font-size:.82rem}.bds-guide__text span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.bds-cmd{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);max-height:160px;margin-top:.7rem;padding:.7rem .8rem;overflow:auto}.bds-cmd__code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-ink);white-space:pre-wrap;word-break:break-word;user-select:all;font-size:.8rem;line-height:1.5}.bds-actions{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.bds-version{text-align:center;color:var(--color-muted-light);margin:0;font-size:.76rem}.bds-ico{width:16px;height:16px;margin-right:.1rem}@media (width<=768px){.bds__grid{grid-template-columns:1fr}.bds__preview-col{position:static}}
