:root{--color-text: #263026;--color-text-muted: #64705f;--color-text-inverse: #fff;--color-accent: #315f40;--color-accent-soft: #ded6b8;--color-warning: #7c5c1b;--color-danger: #a1392b;--surface-page: #f3f0df;--surface-nav: #fff8dc;--surface-card: #fffdf2;--surface-muted: #f8f4df;--border-default: #ded6b8;--border-muted: #c6c0a7;--border-subtle: #eee4c7;--shadow-card: 0 10px 30px rgb(49 95 64 / 10%);--shadow-card-focus: 0 10px 30px rgb(49 95 64 / 18%);--radius-sm: .75rem;--radius-md: 1rem;--radius-lg: 1.25rem;--radius-xl: 1.5rem;--radius-pill: 999px;--space-1: .35rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--content-width: 1100px;color:var(--color-text);background:var(--surface-page);font-family:Avenir Next,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--color-text: #e2ddc8;--color-text-muted: #8e9488;--color-text-inverse: #1e2419;--color-accent: #5c9970;--color-accent-soft: #2c3828;--color-warning: #c49030;--color-danger: #c05040;--surface-page: #181d16;--surface-nav: #1e2519;--surface-card: #222a1e;--surface-muted: #1c2219;--border-default: #364232;--border-muted: #2c3628;--border-subtle: #2a3427;--shadow-card: 0 10px 30px rgb(0 0 0 / 30%);--shadow-card-focus: 0 10px 30px rgb(0 0 0 / 45%)}*{box-sizing:border-box}html{overflow-x:hidden}body{background:var(--surface-page);margin:0;overflow-x:hidden}a{color:var(--color-accent);font-weight:700;text-decoration:none}.button,.button-link,button{border:0;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-text-inverse);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;padding:.7rem 1rem}.button-secondary,.secondary-button{background:var(--color-accent-soft);color:var(--color-text)}.button-ghost,.text-button{background:transparent;color:var(--color-accent);padding:0}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,.button:focus-visible,.button-link:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input,select{background:var(--surface-card);border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;padding:var(--space-3);width:100%}label{display:grid;gap:var(--space-1);font-weight:700}.field-message{font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}form{display:grid;gap:var(--space-4)}.error{color:var(--color-danger);font-weight:700}main{margin:0 auto;max-width:var(--content-width);padding:var(--space-6)}.app-shell{min-height:100dvh}.topbar{align-items:center;background:var(--surface-nav);border-bottom:1px solid var(--border-default);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4) var(--space-6);position:relative}.brand{color:var(--color-text);font-size:1.35rem;flex-shrink:0}.topbar-nav{align-items:center;display:flex;flex:1;gap:var(--space-4)}.topbar-right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-3)}.topbar-currency{font-size:.85rem;font-weight:700;white-space:nowrap}.burger-btn{align-items:center;background:none;border:none;border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;display:none;height:2rem;justify-content:center;padding:0;width:2rem}.burger-btn svg{height:1.2rem;width:1.2rem}.burger-btn:hover,.burger-btn:focus-visible{background:var(--color-accent-soft);outline:none}.mobile-nav-drawer{display:none}.mobile-nav-drawer--open{background:var(--surface-nav);border-top:1px solid var(--border-default);display:flex;flex-direction:column;left:0;position:absolute;right:0;top:100%;z-index:40}.mobile-nav-drawer a{border-bottom:1px solid var(--border-default);color:var(--color-text);font-size:1rem;font-weight:600;padding:var(--space-4) var(--space-6);text-decoration:none}.mobile-nav-drawer a:last-child{border-bottom:none}.mobile-nav-drawer a:hover,.mobile-nav-drawer a:focus-visible{background:var(--surface-muted);outline:none}.user-bubble-initial{display:none}@media(max-width:640px){.topbar-nav{display:none}.burger-btn{display:flex}.brand-text{display:none}.brand{margin-right:auto}.user-bubble-initial{display:inline}.user-bubble-name{display:none}.user-bubble{align-items:center;border-radius:50%;display:flex;height:2rem;justify-content:center;padding:0;width:2rem}}.user-menu-wrapper{position:relative}.user-bubble{background:var(--color-accent-soft);border:0;border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;font:inherit;font-weight:700;padding:.5rem 1rem}.user-bubble:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.user-dropdown{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-width:160px;position:absolute;right:0;top:calc(100% + .5rem);z-index:50;overflow:hidden}.user-dropdown-item{align-items:center;background:none;border:0;color:var(--color-text);cursor:pointer;display:grid;grid-template-columns:1.25rem 1fr;gap:var(--space-2);font:inherit;font-weight:600;padding:var(--space-3) var(--space-4);text-align:left;text-decoration:none;width:100%}.user-dropdown-item svg{display:block;width:100%;height:auto;justify-self:center}.user-dropdown-item:hover,.user-dropdown-item:focus-visible{background:var(--surface-muted);outline:none}.panel,.surface{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-5)}.surface-muted{background:var(--surface-muted)}.rarity-text{color:var(--color-accent);font-weight:800;margin:.25rem 0}.cooldown-note{color:var(--color-warning);font-weight:700}.snail-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);position:relative;touch-action:pan-y}.snail-card__drag-handle{display:block;margin:0 auto;width:fit-content}.snail-card__drag-handle--enabled{touch-action:none}.snail-card__cooldown-icon{position:absolute;top:var(--space-3);right:var(--space-3);line-height:0}.snail-card__hunger-icon{position:absolute;top:var(--space-3);right:var(--space-6);line-height:0}.snail-age-text{position:absolute;top:var(--space-4);left:var(--space-4);line-height:0;font-size:.7rem}.shop-card{width:250px;display:flex;flex-direction:column;gap:var(--space-2);padding:1rem}.shop-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.shop-filter-pill{align-items:flex-start;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;min-width:11rem;padding:.85rem 1rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.shop-filter-pill:hover{border-color:var(--border-strong);transform:translateY(-1px)}.shop-filter-pill--active{background:color-mix(in srgb,var(--color-accent) 12%,var(--surface-card));border-color:color-mix(in srgb,var(--color-accent) 45%,var(--border-default));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 20%,transparent)}.shop-filter-pill__label{font-weight:700}.shop-filter-pill__description{color:var(--color-text-muted);font-size:.82rem;line-height:1.35}.shop-card__image{width:80px;height:80px;object-fit:contain}.shop-card__category{align-self:flex-start;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:999px;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.2rem .55rem;text-transform:uppercase}.shop-card__title,.shop-card__description,.shop-card__price{margin:0}.shop-card__description{color:var(--color-muted, #64748b);font-size:.875rem;line-height:1.4;min-height:calc(.875rem * 1.4 * 3)}.shop-card__footer{margin-top:auto;display:grid;gap:var(--space-3)}.shop-card__footer .button{width:100%}.inventory-table{border-collapse:collapse;width:100%}.inventory-table th,.inventory-table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle}.inventory-table thead th{border-bottom:2px solid var(--border-default);color:var(--color-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.inventory-table tbody tr{border-bottom:1px solid var(--border-subtle)}.inventory-table tbody tr:last-child{border-bottom:0}.inventory-table__icon-col{width:3rem}.inventory-table__count-col{text-align:right;width:4rem}.inventory-table__icon-cell{width:3rem}.inventory-table__icon{border-radius:var(--radius-sm);display:block;height:2.5rem;object-fit:cover;width:2.5rem}.inventory-table__icon-fallback{display:block;font-size:1.5rem;text-align:center;width:2.5rem}.inventory-table__name{font-weight:600;white-space:nowrap}.inventory-table__description{color:var(--color-text-muted);font-size:.9rem}.inventory-table__count{font-weight:700;text-align:right}.tooltip-wrapper{position:relative;display:inline-flex;cursor:default}.tooltip-wrapper__bubble,.tooltip-wrapper:after{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity .15s ease;white-space:nowrap;z-index:100}.tooltip-wrapper__bubble{background:var(--surface-tooltip, #222);color:var(--text-on-tooltip, #fff);border-radius:var(--radius-sm, 4px);font-size:.75rem;padding:.75rem}.tooltip-wrapper:after{content:"";border:5px solid transparent;border-top-color:var(--surface-tooltip, #222);bottom:calc(100% + 1px)}.tooltip-wrapper:hover .tooltip-wrapper__bubble,.tooltip-wrapper:hover:after{opacity:1}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain;touch-action:pan-y;z-index:100}.dialog{max-width:28rem;width:calc(100% - 2rem);display:flex;flex-direction:column;gap:var(--space-4)}.dialog-title{margin:0;font-size:1.125rem}.dialog-body{color:var(--text-muted, #64748b);font-size:.9375rem;line-height:1.5}.dialog-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.effect-studio-dialog{max-width:60rem;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:min(60rem,calc(100% - 2rem))}.effect-studio__header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between}.effect-studio__intro,.effect-studio__copy,.effect-studio__consumption-note,.effect-studio__option-copy,.effect-studio__option-count,.effect-studio__option-status{color:var(--color-text-muted)}.effect-studio__intro,.effect-studio__copy,.effect-studio__consumption-note,.effect-studio__option-copy,.effect-studio__option-status,.effect-studio__empty-copy{margin:.35rem 0 0}.effect-studio__layout{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);overflow:hidden;padding:var(--space-2)}.effect-studio__preview-panel,.effect-studio__inventory-panel{background:transparent;border:0;border-radius:calc(var(--radius-lg) - .25rem);box-shadow:none;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.effect-studio__preview-panel{border-right:1px solid var(--border-subtle);padding-right:calc(var(--space-4) + var(--space-2))}.effect-studio__inventory-panel{max-height:32rem;overflow-y:auto;padding-left:calc(var(--space-4) + var(--space-2));scrollbar-color:var(--border-muted) transparent;scrollbar-width:thin}.effect-studio__inventory-panel::-webkit-scrollbar{width:10px}.effect-studio__inventory-panel::-webkit-scrollbar-track{background:transparent}.effect-studio__inventory-panel::-webkit-scrollbar-thumb{background:var(--border-muted);border:2px solid var(--surface-muted);border-radius:var(--radius-pill)}.effect-studio__inventory-panel::-webkit-scrollbar-thumb:hover{background:var(--border-default)}.effect-studio__eyebrow{color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.effect-studio__title,.effect-studio__inventory-title{margin:.35rem 0 0}.effect-studio__preview-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.effect-studio__preview-card{align-items:center;background:color-mix(in srgb,var(--surface-card) 35%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-3);min-height:16rem;padding:var(--space-4);text-align:center}.effect-studio__preview-card .snail-art{height:96px;width:165px}.effect-studio__preview-label{color:var(--color-text-muted);font-size:.875rem;margin:0}.effect-studio__preview-summary{margin:0;min-height:2.8rem}.effect-studio__error{margin:0}.effect-studio__footer{align-items:center;display:flex;gap:var(--space-3)}.effect-studio__consumption-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-studio__actions{display:flex;flex-shrink:0;gap:var(--space-2)}.effect-studio__empty-state{padding:var(--space-4)}.effect-studio__empty-copy{margin:0}.effect-studio__option{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:color-mix(in srgb,var(--surface-card) 22%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:none;color:var(--color-text);cursor:pointer;display:grid;gap:var(--space-2);justify-content:stretch;justify-items:stretch;padding:.9rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease}.effect-studio__option:hover{background:color-mix(in srgb,var(--surface-card) 38%,transparent);border-color:var(--border-default)}.effect-studio__option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.effect-studio__option--selected{background:var(--surface-card);border-color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-accent)}.effect-studio__option-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.effect-studio__option-status{color:var(--color-accent);font-size:.875rem;font-weight:700}@media(max-width:860px){.dialog-backdrop{align-items:center;overflow:hidden;padding:0}.effect-studio-dialog{display:flex;flex-direction:column;height:calc(100dvh - 2 * var(--space-3));margin:var(--space-3) auto;max-height:none;overflow:hidden;width:calc(100% - var(--space-4))}.effect-studio__header{align-items:flex-start;flex-shrink:0}.effect-studio__layout{border-radius:var(--radius-md);display:flex;flex-direction:column;flex:1 1 0;gap:0;min-height:0;overflow:hidden;padding:0}.effect-studio__inventory-panel{flex:1 1 0;max-height:none;min-height:0;order:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-4) var(--space-4) var(--space-3)}.effect-studio__preview-panel{background:var(--surface-card);border:0;border-top:2px solid var(--border-default);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:var(--space-2);flex-shrink:0;order:2;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.effect-studio__preview-grid{grid-column:1;grid-row:1 / span 2;align-self:center}.effect-studio__preview-panel>div:first-child{grid-column:2;grid-row:1;align-self:end}.effect-studio__footer{align-items:stretch;border-top:0;flex-direction:row;gap:var(--space-2);grid-column:2;grid-row:2;padding-top:0;align-self:start}.effect-studio__preview-card:first-child{display:none}.effect-studio__preview-card{background:transparent;border:0;border-radius:var(--radius-sm);flex-shrink:0;gap:0;min-height:auto;padding:0;text-align:center;width:auto}.effect-studio__preview-card .snail-art{height:72px;width:124px}.effect-studio__preview-label,.effect-studio__preview-summary,.effect-studio__preview-panel .effect-studio__eyebrow,.effect-studio__preview-panel .effect-studio__copy,.effect-studio__consumption-note{display:none}.effect-studio__preview-panel .effect-studio__title{font-size:1rem;font-weight:700;margin:0 0 var(--space-1)}.effect-studio__actions{flex-direction:column;width:100%}.effect-studio__actions .button{flex:none;width:100%}}.egg-hatch-overlay{background:#000000d1;cursor:pointer}.egg-hatch-dialog{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:2rem 2.5rem;width:calc(100% - 2rem);max-width:22rem;text-align:center;cursor:default}.egg-hatch-title{font-size:1.25rem;font-style:italic;margin:0;letter-spacing:.02em}.egg-hatch-stage{display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem 0}.egg-hatch-sprite-wrap{display:inline-block;image-rendering:pixelated}.egg-hatch-sprite-wrap canvas{width:165px;height:96px;image-rendering:pixelated}.egg-hatch-sprite-wrap--flicker{animation:egg-hatch-spin .7s linear infinite}.egg-hatch-sprite-wrap--settle{animation:egg-hatch-pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes egg-hatch-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes egg-hatch-pop{0%{transform:scale(.5) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.egg-hatch-info{display:flex;flex-direction:column;gap:.25rem}.egg-hatch-snail-name{font-size:1.125rem;font-style:italic;margin:0;animation:egg-hatch-fade-in .3s ease both}.egg-hatch-rarity{color:var(--text-muted, #64748b);font-size:.875rem;margin:0}.egg-hatch-dismiss-hint{color:var(--text-muted, #64748b);font-size:.8rem;margin:.75rem 0 0;opacity:.7}@keyframes egg-hatch-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.snail-card h2{margin-bottom:.25rem}.snail-name{align-items:normal;display:flex;gap:var(--space-1);justify-content:center}.snail-name h1,.snail-name h2{margin:0;margin-bottom:.25rem;font-size:1rem;font-style:italic}.snail-name-form{gap:var(--space-2);margin-bottom:var(--space-3)}.snail-name-actions{display:flex;gap:var(--space-2)}.snail-profile{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-4)}.snail-profile__hero{align-items:center;display:flex;gap:var(--space-5)}.snail-profile__hero .snail-art{height:144px;width:247px;flex-shrink:0}.snail-profile__header{flex:1}.snail-profile__header .snail-name{justify-content:flex-start}.snail-profile__header .snail-name h1{font-size:1.4rem;font-style:normal;font-weight:700}.snail-profile__meta{align-items:center;display:flex;gap:var(--space-3);margin:var(--space-2) 0}.snail-profile__breeding-ready{color:var(--color-accent);font-weight:600;margin:0}.snail-profile__traits{border-top:1px solid var(--border-subtle);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;padding-top:var(--space-4)}.snail-profile__section-label{color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin:0 0 var(--space-3) 0;text-transform:uppercase}.snail-profile dl{display:grid;gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;margin:0}.snail-profile dt{font-weight:700}.color-swatch{border-radius:var(--radius-sm);display:inline-block;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.color-swatch--dark{color:#222}.color-swatch--light{color:#fff}.snail-profile__tabs{border-bottom:2px solid var(--border-default);display:flex;gap:0}.snail-profile__tab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-radius:0;box-shadow:inset 0 -2px 0 transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.85rem;font-weight:600;margin-bottom:-2px;padding:var(--space-3) var(--space-4);transition:color .1s}.snail-profile__tab-btn:hover{color:var(--color-text)}.snail-profile__tab-btn[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--color-accent);color:var(--color-accent)}.snail-profile__ancestry-loading,.snail-profile__ancestry-empty{color:var(--color-text-muted);font-size:.85rem;padding:var(--space-4) 0}.snail-profile__ancestry .trait-comparison{margin-top:0}.snail-profile__ownership{padding-top:var(--space-4)}.snail-profile__ownership-loading,.snail-profile__ownership-error{color:var(--color-text-muted);font-size:.85rem}.snail-profile__tags{border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}.trait-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:var(--space-3) 0;padding:0}.trait-chips li{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:.85rem;padding:.35rem .6rem}.trait-chips span{color:var(--color-text-muted);font-weight:800;margin-right:.35rem}.trait-chips-compact{display:grid;gap:var(--space-1)}.trait-chips-compact li{border-radius:var(--radius-sm)}.tag-chip-list{display:flex;flex-wrap:wrap;gap:var(--space-1);min-height:1.6rem;margin-bottom:.35rem}.tag-chip{align-items:center;background:var(--color-accent-soft);border:1px solid var(--border-default);border-radius:var(--radius-pill);display:inline-flex;font-size:.8rem;gap:.25rem;padding:.2rem .55rem}.tag-chip__label{color:inherit;text-decoration:none}.tag-chip__label:hover,.tag-chip__label:focus-visible{text-decoration:underline}.tag-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.tag-chip__remove{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0;opacity:.7}.tag-chip__remove:hover{opacity:1}.tag-empty-hint{color:var(--color-text-muted);font-size:.85rem}.tag-input-row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.tag-input-wrap{flex:1;position:relative}.tag-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.9rem;padding:.4rem .6rem;width:100%}.tag-input:focus{border-color:var(--color-accent);outline:none}.tag-suggestions{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.tag-suggestion{cursor:pointer;font-size:.88rem;padding:.4rem .75rem}.tag-suggestion:hover,.tag-suggestion--active{background:var(--color-accent-soft)}.tag-editor{margin:var(--space-3) 0}.tag-filter{display:flex;flex-direction:column;gap:var(--space-2)}.tag-filter-empty{color:var(--color-text-muted);font-size:.88rem}.tag-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);color:var(--color-text);max-width:420px;overflow:visible;padding:0;width:90vw}.tag-modal::backdrop{background:#0006}.tag-modal__content{overflow:visible;padding:var(--space-5)}.tag-modal__header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.tag-modal__title{font-size:1rem;margin:0}.tag-modal__close{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:50%;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;height:32px;line-height:1;padding:0;transition:background .15s;width:32px}.tag-modal__close:hover{background:var(--border-default)}.snail-card__tags{color:var(--color-text-muted);font-size:.75rem;margin:.25rem 0 0;overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.snail-card__tags-wrapper{position:relative}.snail-card__tags-overflow{position:absolute;top:0;left:calc(-1 * var(--space-4) - 1px);right:calc(-1 * var(--space-4) - 1px);background:var(--surface-card);border-left:1px solid var(--border-default);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:0 var(--space-4) var(--space-4);color:var(--color-text-muted);font-size:.75rem;line-height:1.5;box-shadow:0 4px 12px #00000026;clip-path:inset(0 -20px -20px -20px)}.snail-card__tag-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:.2rem}.snail-card__tag-btn:hover{color:var(--color-accent)}.snail-card__tag-filter-btn{color:inherit;cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.snail-card__tag-filter-btn:hover{color:var(--color-text)}.empty-state{background:var(--surface-card);border:1px dashed var(--border-muted);border-radius:var(--radius-md);color:var(--color-text-muted);margin:0;padding:var(--space-4)}.snail-art{display:block;height:96px;image-rendering:pixelated;margin:auto;width:165px}.page-header,.page-heading{align-items:center;display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header-copy{display:grid;gap:var(--space-1)}.page-header-copy h1,.page-header-copy p{margin:0}.page-header-actions{display:flex;align-items:center;gap:var(--space-2)}.terrarium-canvas-wrapper{width:100%;max-width:640px;margin:0 auto var(--space-5)}.terrarium-canvas-wrapper canvas{display:block;width:100%;border:2px solid var(--border-default);background:#d4e8e0}.terrarium-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);max-width:640px;margin:0 auto}.terrarium-slot{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-height:96px}.terrarium-slot__link{color:inherit;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-decoration:none}.terrarium-slot__link:hover .terrarium-slot__name,.terrarium-slot__link:focus-visible .terrarium-slot__name{text-decoration:underline}.terrarium-slot--empty{border-style:dashed;background:var(--surface-muted);justify-content:center}.terrarium-slot__name{font-style:italic;font-size:.85rem;text-align:center}.terrarium-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.terrarium-picker-dialog{color:var(--color-text);width:min(560px,90vw);max-height:80vh;display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden}.terrarium-picker-header{border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3)}.terrarium-picker-header h2{margin:0}.terrarium-picker-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-4) 0}.terrarium-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-3);overflow-y:auto;padding-bottom:var(--space-2)}.terrarium-picker-card{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);transition:border-color .15s ease,background .15s ease}.terrarium-picker-card:hover:not(:disabled){border-color:var(--color-accent);background:var(--surface-card)}.terrarium-picker-card:disabled{opacity:.5;cursor:not-allowed}.terrarium-picker-card__name{font-style:italic;font-size:.65rem;text-align:center}.terrarium-picker-card .snail-art{max-width:100%;height:auto}.terrarium-picker-card .rarity-text{margin-top:0;margin-bottom:0;font-size:.6rem}.terrarium-toolbar{display:flex;align-items:center;gap:var(--space-3);max-width:640px;margin:0 auto var(--space-3)}.terrarium-toolbar--edit{border:1px dashed var(--color-accent);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--surface-muted)}.terrarium-canvas-wrapper--edit canvas{cursor:crosshair}.terrarium-selection-bar{display:flex;align-items:center;gap:var(--space-3);max-width:640px;margin:0 auto var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.terrarium-selection-bar__name{font-weight:700;flex:1}.decoration-picker-thumb{display:block;width:64px;height:64px;object-fit:contain}@media(max-width:480px){.terrarium-slots{grid-template-columns:repeat(2,1fr)}.terrarium-slot .snail-art{max-width:100%;height:auto}}.notif-bell-wrapper{position:relative;display:flex;align-items:center}.notif-bell-btn{align-items:center;background:none;border:none;border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;display:flex;height:2rem;justify-content:center;padding:0;transition:background .15s;width:2rem}.notif-bell-btn:hover,.notif-bell-btn:focus-visible{background:var(--color-accent-soft);outline:none}.notif-bell-btn svg{height:1.2rem;width:1.2rem}.notif-badge{background:var(--color-danger);border-radius:var(--radius-pill);color:var(--color-text-inverse);font-size:.6rem;font-weight:800;letter-spacing:-.01em;line-height:1;min-width:1rem;padding:.15rem .28rem;pointer-events:none;position:absolute;right:-.25rem;top:-.25rem}.notif-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;max-height:440px;min-width:360px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:60}@media(max-width:640px){.notif-panel{position:fixed;top:4rem;left:.75rem;right:.75rem;min-width:0;width:auto;max-height:70dvh}}.notif-panel-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--space-2) var(--space-3)}.notif-panel-header h2{font-size:.85rem;font-weight:800;letter-spacing:-.01em}.notif-mark-read-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.notif-mark-read-btn:hover{color:var(--color-text)}.notif-list{flex:1;list-style:none;margin:0;overflow-y:auto;padding:0}.notif-item{align-items:flex-start;border-bottom:1px solid var(--border-default);display:grid;gap:var(--space-2);grid-template-columns:1.75rem 1fr auto;padding:var(--space-2) var(--space-3);transition:background .1s}.notif-item:last-child{border-bottom:none}.notif-item--unread{background:color-mix(in srgb,var(--color-accent-soft) 35%,transparent)}.notif-item:hover{background:var(--surface-muted)}.notif-icon{align-items:center;background:var(--surface-muted);border-radius:var(--radius-pill);display:flex;flex-shrink:0;font-size:.85rem;height:1.75rem;justify-content:center;width:1.75rem}.notif-icon--bid_received{background:#e8f0ea}.notif-icon--sold{background:#e9f5e2}.notif-icon--won{background:#fef6d6}.notif-icon--outbid{background:#fdeee7}.notif-icon--expired{background:#f0ede3}.notif-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.notif-text{font-size:.85rem;line-height:1.4}.notif-link{color:var(--color-accent);font-weight:700;text-decoration:none}.notif-link:hover{text-decoration:underline}.notif-unread-dot{background:var(--color-danger);border-radius:50%;display:inline-block;flex-shrink:0;height:.45rem;margin-right:.3rem;vertical-align:middle;width:.45rem}.notif-time{color:var(--color-text-muted);font-size:.75rem}.notif-dismiss{align-items:center;align-self:center;background:none;border:none;border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;height:1.5rem;justify-content:center;opacity:.6;width:1.5rem}.notif-dismiss:hover{background:var(--border-default);opacity:1}.notif-empty{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.88rem;gap:var(--space-2);justify-content:center;padding:2.5rem var(--space-4);text-align:center}.notif-empty-icon{font-size:2rem;opacity:.5}.notif-panel-footer{border-top:1px solid var(--border-default);flex-shrink:0;padding:var(--space-2) var(--space-3);text-align:center}.notif-view-all-btn{color:var(--color-accent);font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:2px}.notif-view-all-btn:hover{color:var(--color-text)}.notif-read-pill{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.1rem .45rem;text-transform:uppercase;white-space:nowrap}.notif-unread-pill{background:color-mix(in srgb,var(--color-danger) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent);border-radius:var(--radius-pill);color:var(--color-danger);font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.1rem .45rem;text-transform:uppercase;white-space:nowrap}.auth-panel{margin:4rem auto;max-width:420px}.snail-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.collection-controls{display:flex;align-items:stretch;gap:0;margin-bottom:var(--space-4);padding:0}.collection-controls__tags{flex:1 1 0;min-width:0;padding:var(--space-4);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.collection-controls__options{display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-4);border-left:1px solid var(--border-default);border-radius:0 var(--radius-xl) var(--radius-xl) 0;flex-shrink:0}.collection-page__filter-toggle{font-size:.875rem;gap:var(--space-3);white-space:nowrap}.collection-count{color:var(--color-text-muted);font-weight:700;margin:0 0 var(--space-3)}.collection-grid--tray-open{padding-bottom:9rem}.snail-card__drag-handle[draggable=true]{cursor:grab}.snail-card__drag-handle[draggable=true]:active{cursor:grabbing}.snail-card--touch-dragging{opacity:.5;transform:scale(.97);transition:opacity .1s,transform .1s}.snail-drag-preview{width:80px;height:80px;pointer-events:none;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));transform-origin:center center;translate:-40px -40px;z-index:51}.breeding-tray{background:var(--surface-nav);border-top:1px solid var(--border-default);bottom:0;box-shadow:0 -4px 24px #315f401a;left:0;padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;right:0;transform:translateY(100%);transition:transform .15s ease-out;z-index:50}.breeding-tray--visible{transform:translateY(0)}.breeding-tray__inner{align-items:center;display:flex;gap:var(--space-4);margin:0 auto;max-width:var(--content-width);padding:var(--space-3) var(--space-6)}.breeding-tray__heading{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.breeding-tray__divider{color:var(--border-muted);flex-shrink:0;font-size:1rem;font-weight:800}.breeding-tray__slot{align-items:center;align-self:stretch;border:2px dashed var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-1);height:auto;justify-content:center;min-height:72px;min-width:120px;padding:var(--space-2);position:relative;transition:background .15s,border-color .15s;width:140px}.breeding-tray__slot--receptive{animation:tray-slot-pulse 1.2s ease-in-out infinite;border-color:var(--color-accent)}@keyframes tray-slot-pulse{0%,to{background:transparent}50%{background:#315f400f}}.breeding-tray__slot--over{background:#315f4014;border-color:var(--color-accent);border-style:solid}.breeding-tray__slot--filled{background:var(--surface-card);border-style:solid;border-color:var(--border-muted)}.breeding-tray__slot--unavailable{border-color:var(--color-warning)}.breeding-tray__slot-icon{font-size:1.25rem;line-height:1}.breeding-tray__slot-label{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.breeding-tray__slot-hint{color:var(--color-text-muted);font-size:.65rem;opacity:.7}.breeding-tray__slot-meta{align-items:center;display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.breeding-tray__slot-name{font-size:.72rem;font-weight:700;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.breeding-tray__slot-warning{color:var(--color-warning);font-size:.65rem;font-weight:600;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.breeding-tray__slot .snail-art{height:40px;width:auto}.breeding-tray__slot-clear{background:var(--surface-page);border:1px solid var(--border-default);border-radius:50%;color:var(--color-text-muted);cursor:pointer;font-size:.6rem;height:18px;line-height:1;opacity:0;padding:0;position:absolute;right:4px;top:4px;transition:opacity .15s;width:18px}.breeding-tray__slot:hover .breeding-tray__slot-clear{opacity:1}.breeding-tray__slot-clear:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.breeding-tray__actions{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-2);margin-left:var(--space-2)}.breeding-tray__breed-link{font-size:.75rem}.breeding-tray__dismiss{background:none;border:1px solid var(--border-default);border-radius:50%;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-size:.75rem;height:28px;margin-left:auto;padding:0;transition:background .15s;width:28px}.breeding-tray__dismiss:hover{background:var(--border-subtle)}@media(max-width:480px){.collection-page .page-header{gap:var(--space-2);margin-bottom:var(--space-3)}.collection-page .page-header-copy{gap:.2rem}.collection-page .page-header-copy h1{font-size:1.55rem;line-height:1.1}.collection-page .page-header-copy p{font-size:.9rem;line-height:1.3;max-width:28ch}.collection-page .page-header-actions{width:100%}.collection-page__actions{display:grid!important;gap:.5rem!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.collection-page__actions .error{grid-column:1 / -1}.collection-page__actions .button,.collection-page__actions .button-link{font-size:.85rem;min-height:2.5rem;padding:.55rem .75rem;width:100%}.collection-page__actions .button-link:last-child{grid-column:1 / -1}.collection-controls{flex-direction:column;margin-bottom:var(--space-3)}.collection-controls__tags{padding:var(--space-3)}.collection-controls__options{border-left:none;border-top:1px solid var(--border-default);flex-direction:row;flex-wrap:wrap;gap:var(--space-3) var(--space-4);padding:var(--space-3)}.collection-page .tag-filter{gap:.35rem}.collection-page .tag-chip-list{margin-bottom:0;min-height:0}.collection-page .tag-chip{font-size:.75rem;padding:.15rem .45rem}.collection-page .tag-input{font-size:.85rem;padding:.35rem .55rem}.collection-page__sort{gap:0}.collection-page__sort select{font-size:.85rem;padding:.55rem .7rem}.collection-count{font-size:.85rem;margin-bottom:var(--space-2)}.breeding-tray__heading{display:none}.breeding-tray__inner{flex-wrap:wrap;gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-3);position:relative}.breeding-tray__slot{flex-shrink:1;min-width:80px;width:auto}.breeding-tray__slot .snail-art{height:28px}.breeding-tray__actions{flex:0 1 100%;flex-direction:row;justify-content:center;margin-left:0;order:2}.breeding-tray__dismiss{margin-left:0;position:absolute;right:var(--space-3);top:var(--space-2)}}@media(hover:none){.breeding-tray__slot-clear{opacity:1}}.breeding-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:0 24px 60px #0000002e;color:var(--color-text);max-height:min(90vh,800px);overflow-y:auto;padding:0;width:min(90vw,680px)}.breeding-modal::backdrop{background:#0006}.breeding-modal__content{display:flex;flex-direction:column}.breeding-modal__header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-4)}.breeding-modal__title{font-size:1.25rem;margin:0}.breeding-modal__close{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:50%;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;height:32px;line-height:1;padding:0;transition:background .15s;width:32px}.breeding-modal__close:hover{background:var(--border-default)}.breeding-modal__body{padding:var(--space-5)}.breeding-modal__success-note{color:var(--color-text-muted);margin-bottom:var(--space-4)}.breeding-modal__offspring-card{margin-bottom:var(--space-4);max-width:260px}.breeding-modal__offspring-links{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.breeding-modal__breed-action{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.breeding-modal__breed-action--confirm{margin-top:0;margin-bottom:var(--space-5)}.breed-form{max-width:520px}.breed-tag-filter{margin-bottom:var(--space-4);max-width:520px}.parent-preview-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.parent-summary{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4)}.parent-summary h2{margin:0 0 .25rem}.offspring-result{margin-top:var(--space-6)}.offspring-result .snail-card{max-width:260px}.offspring-links{display:flex;gap:var(--space-4);margin:var(--space-4) 0}.colour-spoiler{border:1px solid var(--border-default);border-radius:var(--radius-lg);margin-top:var(--space-5)}.colour-spoiler__toggle{cursor:pointer;font-weight:700;list-style:none;padding:var(--space-4);-webkit-user-select:none;user-select:none}.colour-spoiler__toggle::marker,.colour-spoiler__toggle::-webkit-details-marker{display:none}.colour-spoiler__toggle:before{content:"▶";display:inline-block;font-size:.65em;margin-right:var(--space-2);transition:transform .15s ease}details[open] .colour-spoiler__toggle:before{transform:rotate(90deg)}.colour-spoiler__body{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.colour-spoiler__row{align-items:flex-start;display:flex;gap:var(--space-3)}.colour-spoiler__label{flex-shrink:0;font-size:.85rem;font-weight:600;min-width:9rem;padding-top:2px}.colour-spoiler__swatches{border:1px solid rgb(0 0 0 / 18%);border-radius:var(--radius-sm, 3px);display:flex;flex-wrap:wrap;overflow:hidden}.colour-swatch{display:inline-block;height:1.5rem;width:1.5rem}.trait-comparison{margin-top:var(--space-5)}.trait-comparison-table{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.trait-row{display:contents}.trait-cell{border-bottom:1px solid var(--border-subtle);padding:var(--space-3)}.trait-row:last-child .trait-cell{border-bottom:none}.trait-cell--heading{background:var(--surface-muted);font-weight:800}.trait-cell--offspring{font-weight:800;display:flex;align-items:center;gap:var(--space-2)}.trait-mutation-badge{background:#dcfce7;border-radius:var(--radius-pill);color:#14532d;font-size:.68rem;font-weight:700;padding:.1rem .45rem}.lineage-page{display:grid;gap:var(--space-5)}.lineage-tree-scroll{display:grid;gap:var(--space-5);overflow-x:auto;padding-bottom:var(--space-4)}.lineage-row-section{min-width:min-content}.lineage-row-section h2{margin-top:0;text-align:center}.lineage-row{align-items:stretch;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-inline:auto;max-width:calc(924px + 4.5rem)}.lineage-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:.9rem;display:grid;gap:var(--space-1);justify-items:center;padding:.65rem;position:relative;text-align:center;width:132px}.lineage-card-focus{border-color:var(--color-accent);box-shadow:var(--shadow-card-focus)}.lineage-card h3{font-size:.95rem;line-height:1.15;margin:0}.lineage-card .snail-art{height:54px;width:92px}.lineage-label{color:var(--color-text-muted);font-size:.8rem;font-weight:800;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.lineage-card-links{display:flex;font-size:.9rem;gap:var(--space-2)}.lineage-card--small{border-radius:.4rem;gap:.2rem;padding:.35rem .4rem;width:70px}.lineage-card--small h3{font-size:.6rem;line-height:1.1}.lineage-card--small .snail-art{height:36px;width:60px}.lineage-card--small .lineage-card-links{font-size:.5rem}.lineage-card__sold-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(to bottom right,transparent calc(50% - 2px),#d32f2f calc(50% - 2px),#d32f2f calc(50% + 2px),transparent calc(50% + 2px)),linear-gradient(to bottom left,transparent calc(50% - 2px),#d32f2f calc(50% - 2px),#d32f2f calc(50% + 2px),transparent calc(50% + 2px));opacity:.85}main:has(>.shared-terrarium-page){max-width:none;padding:0;margin:0;min-height:calc(100dvh - 4rem);display:flex;flex-direction:column}.shared-terrarium-page{flex:1;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.shared-terrarium-status{padding:1rem;color:var(--color-text-muted)}.shared-terrarium-canvas-wrapper{position:relative;width:100%;max-width:calc((100dvh - 4.375rem) * (480 / 280));aspect-ratio:480 / 280}.shared-terrarium-owner{position:absolute;top:5%;left:3%;z-index:1;margin:0;font-size:1rem;color:var(--color-text-muted);pointer-events:none}.shared-terrarium-canvas-wrapper .terrarium-canvas-wrapper{max-width:none;width:100%;height:100%;margin:0}.shared-terrarium-canvas-wrapper canvas{display:block;width:100%;height:100%}.settings-layout{display:grid;gap:var(--space-5);max-width:520px}.settings-layout h1{margin:0 0 var(--space-2)}.section-heading{font-size:1.1rem;margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.theme-toggle-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.theme-toggle-label{font-weight:600}.theme-toggle-switch{position:relative;display:inline-flex;align-items:center}.theme-toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.theme-toggle-track{display:block;width:2.75rem;height:1.5rem;border-radius:var(--radius-pill);background:var(--border-muted);transition:background .2s}.theme-toggle-track:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;border-radius:var(--radius-pill);background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.theme-toggle-switch input:checked~.theme-toggle-track{background:var(--color-accent)}.theme-toggle-switch input:checked~.theme-toggle-track:after{transform:translate(1.25rem)}.theme-toggle-switch input:focus-visible~.theme-toggle-track{outline:2px solid var(--color-accent);outline-offset:2px}.info-grid{display:grid;gap:var(--space-3)}.info-row{display:grid;gap:var(--space-1)}.info-label{font-size:.85rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.info-value{font-size:1rem}.success{color:var(--color-accent);font-weight:700}.snebay-page .page__header{margin-bottom:var(--space-4)}.snebay-page .page__header h1{font-size:2rem;font-weight:800}.snebay-page .page__subtitle{color:var(--color-text-muted);margin-top:.35rem}.snebay-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5)}.snebay-tab{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;padding:.55rem 1.2rem;text-decoration:none;transition:background .12s ease}.snebay-tab:hover{background:var(--surface-muted)}.snebay-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.snebay-layout{display:grid;gap:var(--space-5);grid-template-columns:220px 1fr;align-items:start}.auction-filters{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);position:sticky;top:var(--space-5)}.auction-filters__section-label{color:var(--color-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.07em;margin-bottom:.4rem;text-transform:uppercase}.auction-filters__group{display:flex;flex-direction:column;gap:.4rem}.auction-filters__label{color:var(--color-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.auction-filters select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:.85rem;padding:.45rem .65rem;width:100%;cursor:pointer}.auction-filters select:focus{outline:2px solid var(--color-accent);border-color:transparent}.auction-filters__rarity-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.auction-filters__rarity-item{list-style:none}.auction-filters__rarity-item label{align-items:center;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;-webkit-user-select:none;user-select:none}.auction-filters__rarity-item input[type=radio]{flex-shrink:0;padding:0;width:auto}.auction-filters__rarity-item input{accent-color:var(--color-accent)}.snebay-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3);flex-wrap:wrap}.snebay-result-count{color:var(--color-text-muted);font-size:.85rem}.snebay-empty-note{margin-bottom:var(--space-3)}.snebay-grid{min-width:0}.auction-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.auction-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s ease,transform .1s ease}.auction-card:hover{box-shadow:var(--shadow-card-focus);transform:translateY(-2px)}.auction-card__sprite{align-items:center;background:var(--surface-muted);border-bottom:1px solid var(--border-subtle);display:flex;height:90px;justify-content:center;position:relative}.auction-card__badge{position:absolute;top:.5rem;right:.5rem}.auction-card__body{display:flex;flex:1;flex-direction:column;gap:.15rem;padding:.5rem .65rem}.auction-card__body>*{margin:0}.auction-card__name{font-size:.95rem;font-weight:800}.auction-card__rarity{color:var(--color-accent);font-size:.78rem;font-weight:700;text-transform:capitalize}.auction-card__footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:.4rem .65rem}.auction-card__footer p{margin:0}.auction-card__bid-label{color:var(--color-text-muted);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auction-card__bid-amount{color:var(--color-accent);font-size:1rem;font-weight:800}.auction-card__bid-count{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.auction-card__time{font-size:.72rem;font-weight:700;color:var(--color-text-muted);text-align:right}.auction-card__time--urgent{color:var(--color-warning)}.auction-card__view-btn{background:var(--color-accent);border:0;border-top:1px solid var(--border-default);border-radius:0 0 var(--radius-lg) var(--radius-lg);color:#fff;display:block;font:inherit;font-size:.85rem;font-weight:800;padding:.6rem;text-align:center;text-decoration:none;transition:background .12s ease;width:100%}.auction-card__view-btn:hover{background:#254d33}.badge{border-radius:var(--radius-pill);font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:.2rem .5rem;text-transform:uppercase}.badge--ending-soon{background:#fdf0e0;border:1px solid #f3d9a8;color:var(--color-warning)}.badge--new{background:#e6f2ec;border:1px solid #b8d8c4;color:var(--color-accent)}.badge--sold{background:#e8e4d8;border:1px solid var(--border-muted);color:var(--color-text-muted)}.badge--expired,.badge--cancelled{background:#fae8e6;border:1px solid #e8c0bb;color:var(--color-danger)}.snebay-dashboard__list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:0}.snebay-dashboard__item{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.snebay-dashboard__info{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:.9rem}.snebay-dashboard__actions{display:flex;gap:var(--space-2);flex-shrink:0}.list-modal{max-width:46rem;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:0;-webkit-overflow-scrolling:touch;width:min(46rem,calc(100% - 2rem))}.list-modal__header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4) var(--space-4) 0}.list-modal__close{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:50%;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-size:1.1rem;height:32px;line-height:1;padding:0;transition:background .15s ease;width:32px}.list-modal__close:hover{background:var(--border-default)}.list-modal form{padding:var(--space-4)}.list-modal__layout{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.list-modal__picker,.list-modal__details{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.list-modal__picker,.list-modal__fields,.list-modal__preview{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3)}.list-modal__picker{gap:var(--space-2)}.list-modal__filter .tag-filter{gap:var(--space-1)}.list-modal__filter .tag-chip-list{margin-bottom:0;min-height:0}.list-modal__filter .tag-chip-list:empty{display:none}.list-modal__preview-meta{color:var(--color-text-muted);font-size:.82rem}.list-modal__preview{align-items:start;display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.list-modal__preview-art{align-items:center;align-self:start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;height:3.75rem;justify-content:center;overflow:hidden;width:5rem}.list-modal__preview-art .snail-art{height:auto;max-width:100%;width:52px}.list-modal__preview-copy{display:flex;flex-direction:column;gap:.35rem;min-width:0}.list-modal__preview-copy h3,.list-modal__preview-copy p{margin:0}.list-modal__preview-tags{align-items:flex-start;margin-bottom:0;min-height:0}.list-modal__tag-chip{font-size:.72rem;padding:.12rem .45rem}.list-modal__tag-more,.list-modal__preview-tag-summary{color:var(--color-text-muted);font-size:.76rem}.list-modal__tag-more{align-self:center;font-weight:600}.list-modal__preview-tag-summary{line-height:1.35}.list-modal__fields{display:grid;gap:var(--space-2)}.list-modal__field-label{align-items:center;display:inline-flex;gap:.35rem;justify-self:start}.list-modal__empty-state{margin:0;padding:1rem .25rem}.snebay-listing__header{align-items:center;display:flex;gap:var(--space-5);margin-bottom:var(--space-5)}.snebay-listing__rarity{color:var(--color-accent);font-weight:700;text-transform:capitalize}.snebay-listing__details{margin-bottom:var(--space-5)}.snebay-listing__owner-note{color:var(--color-text-muted);font-size:.9rem;margin-top:var(--space-3)}.snebay-bid-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.snebay-bid-list__item{align-items:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:var(--space-4);justify-content:space-between;padding:.5rem var(--space-4)}.snebay-bid-list__amount{color:var(--color-accent);font-weight:800}.snebay-bid-list__date{color:var(--color-text-muted);font-size:.8rem}.ownership-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}.ownership-timeline:before{background:var(--border-default);bottom:9px;content:"";left:50%;position:absolute;top:9px;transform:translate(-50%);width:2px}.ownership-timeline__item{display:grid;grid-template-columns:minmax(0,1fr) 3rem minmax(0,1fr);gap:var(--space-4);padding-bottom:var(--space-4);position:relative}.ownership-timeline__item:nth-child(odd) .ownership-timeline__content{grid-column:1;justify-self:end;text-align:right}.ownership-timeline__item:nth-child(2n) .ownership-timeline__content{grid-column:3;justify-self:start;text-align:left}.ownership-timeline__dot{background:var(--color-accent);border:4px solid var(--surface-base);border-radius:50%;flex-shrink:0;height:18px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;z-index:1}.ownership-timeline__item--hatched .ownership-timeline__dot{background:var(--color-accent)}.ownership-timeline__item--bred .ownership-timeline__dot{background:#7a3fa0}.ownership-timeline__item--auction_won .ownership-timeline__dot{background:var(--color-warning)}.ownership-timeline__content{display:flex;flex-direction:column;gap:.15rem;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);max-width:min(100%,20rem);padding:.75rem .9rem}.ownership-timeline__label{font-size:.92rem;font-weight:700;line-height:1.3;margin:0}.ownership-timeline__date{color:var(--color-text-muted);font-size:.82rem;line-height:1.2;margin:0}@media(max-width:720px){.ownership-timeline:before{left:9px;top:9px;bottom:9px;transform:none}.ownership-timeline__item{grid-template-columns:18px minmax(0,1fr);gap:var(--space-3)}.ownership-timeline__item:nth-child(odd) .ownership-timeline__content,.ownership-timeline__item:nth-child(2n) .ownership-timeline__content{grid-column:2;justify-self:stretch;max-width:none;text-align:left}.ownership-timeline__dot{left:9px;transform:translateY(-50%)}.snebay-layout{grid-template-columns:1fr}.auction-filters{position:static}.snebay-tabs{flex-wrap:wrap}.list-modal__layout,.list-modal__preview{grid-template-columns:1fr}.list-modal__preview-art{width:100%;min-height:7rem}.list-modal__preview-art .snail-art{width:56px}.list-modal form,.list-modal__header{padding-left:var(--space-4);padding-right:var(--space-4)}}.achievements-page{margin:0 auto;max-width:var(--content-width);padding:var(--space-6) var(--space-5)}.achievements-page .page-header{margin-bottom:var(--space-6)}.achievements-page .page-header h1{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .25rem}.achievements-page .page-header p{color:var(--color-text-muted);font-size:.9rem;margin:0}.achievements-progress{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding:1.25rem 1.5rem}.achievements-progress__label{color:var(--color-text-muted);font-size:.85rem;font-weight:700;white-space:nowrap}.achievements-progress__track{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);flex:1;height:.6rem;overflow:hidden}.achievements-progress__fill{background:var(--color-accent);border-radius:var(--radius-pill);height:100%;transition:width .4s ease}.achievements-progress__count{font-size:.9rem;font-weight:800;white-space:nowrap}.achievements-category{margin-bottom:2.5rem}.achievements-category__heading{align-items:center;display:flex;gap:.5rem;margin:0 0 .75rem}.achievements-category__heading h2{color:var(--color-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;margin:0;text-transform:uppercase}.achievements-category__divider{background:var(--border-subtle);flex:1;height:1px}.achievements-category__count{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:.7rem;font-weight:700;padding:.1rem .5rem}.achievements-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.achievement-card{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:grid;gap:0 1rem;grid-template-columns:3rem 1fr;grid-template-rows:auto auto;padding:.85rem 1rem}.achievement-card__icon{align-items:center;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;font-size:1.5rem;grid-row:1 / 3;height:3rem;justify-content:center;line-height:1;width:3rem;flex-shrink:0}.achievement-card__icon img{height:1.6rem;width:auto}.achievement-card[data-category=breeding] .achievement-card__icon{background:#2d3820;border-color:#3d5030}.achievement-card[data-category=collection] .achievement-card__icon{background:#2a2d20;border-color:#40462e}.achievement-card[data-category=economy] .achievement-card__icon{background:#312b19;border-color:#4a3f22}.achievement-card[data-category=snebay] .achievement-card__icon{background:#1e2530;border-color:#2b3a4a}.achievement-card[data-category=feeding] .achievement-card__icon{background:#1e2c1e;border-color:#2b3e2b}.achievement-card[data-category=terrarium] .achievement-card__icon{background:#28221e;border-color:#3c3028}.achievement-card[data-category=lineage] .achievement-card__icon{background:#221e30;border-color:#302848}.achievement-card[data-category=admin] .achievement-card__icon{background:#2d2020;border-color:#4a3030}.achievement-card__title{align-self:end;font-size:.9rem;font-weight:700;line-height:1.2;margin:0}.achievement-card__badge{background:var(--color-warning);border-radius:var(--radius-pill);color:#fff;display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.06em;margin-left:.4rem;padding:.1rem .45rem;text-transform:uppercase;vertical-align:middle}.achievement-card__body{align-self:start;margin:.15rem 0 0}.achievement-card__desc{color:var(--color-text-muted);font-size:.8rem;line-height:1.4;margin:0}.achievement-card__date{color:var(--color-text-muted);display:block;font-size:.75rem;margin-top:.2rem}.achievements-empty{color:var(--color-text-muted);padding:3rem 0;text-align:center}.achievements-empty__icon{font-size:2rem;margin-bottom:.5rem}.notifications-page{padding-bottom:var(--space-6)}.notif-center-toolbar{align-items:stretch;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;margin-bottom:var(--space-5);overflow:hidden}.notif-center-toolbar__search{align-items:center;display:flex;flex:1;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4)}.notif-center-toolbar__search-icon{color:var(--color-text-muted);flex-shrink:0;height:1rem;width:1rem}.notif-center-toolbar__search-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--color-text);flex:1;font:inherit;font-size:.9rem;min-width:0;outline:none}.notif-center-toolbar__search-input::placeholder{color:var(--color-text-muted)}.notif-center-toolbar__search-input::-webkit-search-cancel-button{opacity:.5}.notif-center-toolbar__sep{align-self:stretch;background:var(--border-default);flex-shrink:0;width:1px}.notif-center-toolbar__controls{align-items:center;display:flex;flex-shrink:0}.notif-center-ctrl{display:flex;flex-direction:column;gap:.25rem;padding:var(--space-3) var(--space-4)}.notif-center-ctrl+.notif-center-ctrl{border-left:1px solid var(--border-default)}.notif-center-ctrl__label{color:var(--color-text-muted);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.notif-center-ctrl__select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font:inherit;font-size:.85rem;padding:.45rem .65rem;width:100%}.notif-center-ctrl__select:focus{border-color:transparent;outline:2px solid var(--color-accent)}.notif-center-total{color:var(--color-text-muted);font-size:.8rem;margin:0 0 var(--space-4)}.notif-center-list{display:flex;flex-direction:column;gap:var(--space-4)}.notif-center-group__label{color:var(--color-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;margin:0 0 var(--space-2);text-transform:uppercase}.notif-center-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.notif-center-item{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:grid;gap:var(--space-3);grid-template-columns:2rem 1fr auto;padding:var(--space-3) var(--space-4);transition:background .1s}.notif-center-item:last-child{border-bottom:none}.notif-center-item--unread{background:color-mix(in srgb,var(--color-accent-soft) 30%,transparent)}.notif-center-item:hover{background:var(--surface-muted)}.notif-center-icon{align-items:center;background:var(--surface-muted);border-radius:var(--radius-pill);display:flex;flex-shrink:0;font-size:1rem;height:2rem;justify-content:center;width:2rem}.notif-center-icon--bid_received{background:#e8f0ea}.notif-center-icon--sold{background:#e9f5e2}.notif-center-icon--won{background:#fef6d6}.notif-center-icon--outbid{background:#fdeee7}.notif-center-icon--expired{background:#f0ede3}.notif-center-icon--system{background:#e3eff5}.notif-center-icon--achievement{background:#fdf4d6}[data-theme=dark] .notif-center-icon--bid_received{background:#1c2e1e}[data-theme=dark] .notif-center-icon--sold{background:#1a2d16}[data-theme=dark] .notif-center-icon--won{background:#2b2710}[data-theme=dark] .notif-center-icon--outbid{background:#2c1b18}[data-theme=dark] .notif-center-icon--expired{background:#25231a}[data-theme=dark] .notif-center-icon--system{background:#1e2a2e}[data-theme=dark] .notif-center-icon--achievement{background:#2a2410}.notif-center-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.notif-center-text{font-size:.9rem;line-height:1.45}.notif-center-meta{align-items:center;color:var(--color-text-muted);display:flex;font-size:.75rem;gap:var(--space-2)}.notif-center-badge{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.1rem .5rem;text-transform:uppercase}.notif-center-badge--auction{color:var(--color-accent)}.notif-center-badge--system{color:var(--color-warning)}.notif-center-badge--achievement{color:#b08030}[data-theme=dark] .notif-center-badge--achievement{color:#c49a30}.notif-center-right{align-items:flex-start;display:flex;flex-shrink:0;padding-top:.15rem}.notif-center-load-more{display:flex;justify-content:center;padding-top:var(--space-2)}.notif-center-load-more__btn{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--color-accent);cursor:pointer;font:inherit;font-size:.85rem;font-weight:700;padding:.5rem 1.5rem;transition:background .15s}.notif-center-load-more__btn:hover:not(:disabled){background:var(--color-accent-soft)}.notif-center-load-more__btn:disabled{color:var(--color-text-muted);cursor:default}.notif-center-empty{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:var(--space-3);padding:var(--space-6) 0;text-align:center}.notif-center-empty__icon{font-size:2.5rem;opacity:.6}@media(max-width:640px){.notif-center-toolbar{flex-direction:column;border-radius:var(--radius-lg)}.notif-center-toolbar__sep{height:1px;width:auto}.notif-center-toolbar__controls{flex-wrap:wrap}.notif-center-ctrl{flex:1;min-width:0}.notif-center-item{grid-template-columns:1.75rem 1fr auto;gap:var(--space-2);padding:var(--space-3)}}@media(max-width:700px){.collection-controls,.parent-preview-grid,.snail-profile__traits{grid-template-columns:1fr}.snail-profile__hero{flex-direction:column;align-items:flex-start}.page-header,.page-heading{align-items:flex-start;flex-direction:column;gap:1rem}.user-bubble{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lineage-tree-scroll{overflow-x:visible}.lineage-row{align-items:stretch;flex-direction:column}.trait-comparison-table{background:transparent;border:none;border-radius:0;display:flex;flex-direction:column;gap:var(--space-2);overflow:visible}.trait-comparison-table .trait-row--header{display:none}.trait-row{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden}.trait-cell{border-bottom:1px solid var(--border-subtle);padding:var(--space-2) var(--space-3)}.trait-row:last-child .trait-cell{border-bottom:1px solid var(--border-subtle)}.trait-cell:last-child{border-bottom:none}.trait-cell--label{background:var(--surface-muted);font-size:.8rem;font-weight:700;line-clamp:2;letter-spacing:.04em;text-transform:uppercase}.trait-row--mutation .trait-cell--label:after{background:#dcfce7;border-radius:var(--radius-pill);color:#14532d;content:"new ✦";font-size:.62rem;font-weight:700;margin-left:var(--space-2);padding:1px 6px}.trait-cell:not(.trait-cell--label){align-items:center;display:flex;justify-content:space-between}.trait-cell:not(.trait-cell--label):before{color:var(--text-secondary);content:attr(data-snail);font-size:.75rem;font-weight:600}.trait-cell--offspring{background:#f4faf6}.trait-cell--offspring:before{color:var(--accent);font-weight:700}.trait-cell--offspring .trait-mutation-badge{display:none}.lineage-card{width:100%}.shop-card{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr);gap:.5rem .75rem;padding:.875rem}.shop-card__image{width:64px;height:64px;grid-column:1;grid-row:1 / span 3}.shop-card__title,.shop-card__description,.shop-card__footer{grid-column:2}.shop-card__description{min-height:0;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.shop-card__footer{margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.shop-card__footer .button{width:auto;flex-shrink:0;min-width:5.25rem}}
