.app-stage>astro-island{display:block;height:100%}.atp{height:100%;overflow:hidden;font-family:var(--font-body);color:var(--color-ink)}.atp *,.atp *:before,.atp *:after{box-sizing:border-box}.atp-shell{height:100%;max-width:1340px;margin:0 auto;padding:clamp(16px,2.4vw,34px);display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-template-rows:100%;gap:clamp(16px,2vw,28px);align-items:stretch}@media(max-width:960px){.atp{overflow-y:auto}.atp-shell{height:auto;min-height:100%;grid-template-columns:1fr;grid-template-rows:auto}.atp-controls{overflow:visible}.atp-preview{order:-1}.atp-stage-wrap{flex:none;height:clamp(420px,60vh,560px)}}.atp-controls{display:flex;flex-direction:column;gap:clamp(12px,1.4vw,18px);min-width:0;min-height:0;overflow-y:auto;padding-right:4px}.atp-grid{display:grid;gap:8px}.atp-grid--armor,.atp-grid--trim{grid-template-columns:repeat(2,minmax(0,1fr))}.atp-grid--pattern{grid-template-columns:repeat(3,minmax(0,1fr))}.atp-chip{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.atp-chip:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.atp-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary-soft)}.atp-chip--pattern{flex-direction:column;gap:6px;padding:9px 4px;text-align:center;font-size:.72rem}.atp-chip__img{width:28px;height:28px;flex:none;image-rendering:pixelated}.atp-chip--pattern .atp-chip__img{width:32px;height:32px}.atp-swatch{display:inline-flex;width:28px;height:28px;flex:none;border-radius:7px;overflow:hidden;border:1px solid var(--color-border)}.atp-swatch__canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.atp-pattern__none{width:32px;height:32px;border-radius:7px;border:1px dashed var(--color-border-strong);background:repeating-linear-gradient(45deg,transparent,transparent 5px,var(--color-border) 5px,var(--color-border) 6px)}.atp-dye{margin-top:12px}.atp-dye__row{display:flex;gap:8px;align-items:center}.atp-dye__swatch{width:44px;height:44px;flex:none;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;cursor:pointer}.atp-dye__row .pt-input{flex:1;min-width:0}.atp-pieces__list{display:flex;flex-direction:column;gap:9px}.atp-preview{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px);min-width:0;min-height:0}.atp-preview__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.atp-summary{margin:0;font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.05rem,2vw,1.32rem);background:linear-gradient(100deg,var(--color-ink) 0%,var(--color-primary) 30%,var(--color-purple) 50%,var(--color-primary) 70%,var(--color-ink) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:atp-summary-shine 6s linear infinite}@keyframes atp-summary-shine{to{background-position:-220% 0}}.atp-stage-wrap{position:relative;flex:1;min-height:300px;border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-card);background:radial-gradient(120% 100% at 50% 0%,var(--color-surface) 0%,var(--color-surface-soft) 58%,var(--color-page-bg-soft) 100%)}.atp-stage{width:100%;height:100%;display:block;cursor:grab}.atp-stage:active{cursor:grabbing}.atp-stage__hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-shell);color:var(--color-muted);font-size:.72rem;font-weight:600;pointer-events:none;backdrop-filter:blur(4px)}.atp-inventory__label{margin:0 0 12px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary)}.atp-icons{display:flex;gap:14px;flex-wrap:wrap}.atp-icon{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0;transition:opacity .16s ease;animation:atp-float 3.4s ease-in-out infinite}.atp-icon:nth-child(2){animation-delay:.35s}.atp-icon:nth-child(3){animation-delay:.7s}.atp-icon:nth-child(4){animation-delay:1.05s}.atp-icon[data-hidden=true]{opacity:.3;animation-play-state:paused}.atp-icon__frame{position:relative;display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-soft);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.atp-icon:hover .atp-icon__frame{transform:translateY(-3px) scale(1.06);box-shadow:var(--shadow-card-hover)}.atp-icon__frame:after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);transform:translate(-120%);animation:atp-sheen 3.6s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}.atp-icon:nth-child(2) .atp-icon__frame:after{animation-delay:.5s}.atp-icon:nth-child(3) .atp-icon__frame:after{animation-delay:1s}.atp-icon:nth-child(4) .atp-icon__frame:after{animation-delay:1.5s}.atp-icon__frame canvas{width:48px;height:48px;image-rendering:pixelated}.atp-icon figcaption{font-size:.74rem;font-weight:600;color:var(--color-muted)}@keyframes atp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes atp-sheen{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@keyframes atp-pop{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}.atp-chip{will-change:transform}.atp-chip:active{transform:scale(.96)}.atp-chip--trim[aria-pressed=true] .atp-swatch,.atp-chip--armor[aria-pressed=true] .atp-chip__img{animation:atp-pop .4s ease}.atp-chip--pattern[aria-pressed=true] .atp-chip__img{animation:atp-pop .4s ease;filter:drop-shadow(0 0 6px var(--color-primary-soft))}.atp-chip__img{transition:transform .2s ease}.atp-chip:hover .atp-chip__img{transform:rotate(-6deg) scale(1.12)}.atp-textbtn{align-self:flex-start;margin-top:8px;padding:0;border:0;background:none;color:var(--color-primary);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.atp-textbtn:hover{color:var(--color-purple)}.atp-alltoggle{width:100%;margin-bottom:10px;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:700;font-size:.84rem;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.atp-alltoggle:hover{border-color:var(--color-border-strong)}.atp-alltoggle[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary-soft)}.atp-piecegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.atp-piececard{position:relative;display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.atp-piececard[data-active=true]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.atp-piececard[data-hidden=true]{opacity:.5}.atp-piececard__pick{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.atp-piececard__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:7px;background:var(--color-surface-soft);border:1px solid var(--color-border)}.atp-piececard__icon canvas{width:26px;height:26px;image-rendering:pixelated}.atp-piececard__text{display:flex;flex-direction:column;min-width:0}.atp-piececard__name{font-size:.8rem;font-weight:700}.atp-piececard__sub{font-size:.68rem;font-weight:500;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atp-piececard__eye{flex:none;width:30px;border:0;border-left:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .16s ease,background .16s ease}.atp-piececard__eye svg{width:16px;height:16px}.atp-piececard__eye:hover{color:var(--color-ink);background:var(--color-surface)}.atp-piececard__eye[aria-pressed=false]{color:var(--color-border-strong)}.atp-editing{margin:12px 0 0;font-size:.76rem;color:var(--color-muted)}.atp-editing strong{color:var(--color-primary);text-transform:capitalize}.atp-dye__presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.atp-dye__preset{width:22px;height:22px;border-radius:6px;border:1px solid var(--color-border);cursor:pointer;padding:0;transition:transform .12s ease,box-shadow .12s ease}.atp-dye__preset:hover{transform:translateY(-1px) scale(1.08)}.atp-dye__preset[aria-pressed=true]{box-shadow:0 0 0 2px var(--color-primary),0 0 0 3px var(--color-surface)}.atp-scene{position:absolute;top:12px;right:12px;z-index:2;display:flex;gap:8px}.atp-scene__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-shell);color:var(--color-muted);font:inherit;font-size:.74rem;font-weight:700;cursor:pointer;backdrop-filter:blur(4px);transition:color .16s ease,border-color .16s ease,background .16s ease}.atp-scene__btn svg{width:15px;height:15px}.atp-scene__btn:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.atp-scene__btn[aria-pressed=true]{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.atp-copy{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:999px;background:linear-gradient(120deg,var(--color-primary),var(--color-purple));color:#fff;font:inherit;font-weight:700;font-size:.86rem;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .14s ease,box-shadow .2s ease,filter .16s ease}.atp-copy:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover);filter:brightness(1.04)}.atp-copy:active{transform:scale(.97)}.atp-copy__icon{display:inline-flex}.atp-copy__icon svg{width:17px;height:17px}.atp-copy[data-copied=true]{background:linear-gradient(120deg,#1ba049,#1fb6a8);animation:atp-copied-pop .4s ease}@keyframes atp-copied-pop{0%{transform:scale(1)}40%{transform:scale(1.07)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.atp-summary,.atp-icon,.atp-icon__frame:after,.atp-copy[data-copied=true]{animation:none}.atp-summary{color:var(--color-ink);-webkit-text-fill-color:currentColor}}
