:root{--paper:#f5f1e4;--paper-aged:#ede0c4;--paper-deep:#e5d6b4;--ink:#2d3a1e;--ink-soft:#4a5a38;--ink-muted:#6b7858;--ribbon:#7a8a5a;--ribbon-dark:#5f6d46;--hair:#b9b38c;--hair-soft:#d8d1ae;--gold:#c9a24a;--gold-deep:#a07c2c;--amber:#b8691e;--red:#8b2e1e;--card-severe-tint:rgba(139,46,30,0.08);--pip-filled:var(--ribbon);--pip-empty:var(--hair-soft);--rarity-gem-common:#8a8a78;--rarity-gem-uncommon:#7a8a5a;--rarity-gem-rare:#c9a24a;--rarity-gem-epic:#6b3a6b;--rarity-gem-legendary:#a07c2c;--serif:var(--font-serif,"Cormorant Garamond"),"EB Garamond",Garamond,serif;--sans:var(--font-sans,"Inter"),"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:var(--font-mono,"IBM Plex Mono"),"Courier New",monospace;--radius-xs:2px;--radius-pill:999px;--radius-circle:50%;--bp-sm:680px;--bp-md:760px;--bp-lg:900px;--content-app:1440px;--content-wide:1100px;--content-medium:920px;--content-settings:820px;--content-search:560px;--content-modal:520px;--content-empty:460px;--content-search-inline:420px;--content-narrow:360px;--fs-xs:10.5px;--fs-sm:11.5px;--fs-base:12.5px;--fs-body:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:26px;--fs-display:30px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--tracking-wide:0.08em;--tracking-wider:0.14em;--tracking-widest:0.18em;--leading-tight:1.35;--leading:1.5;--leading-loose:1.6;--z-base:0;--z-sticky:10;--z-overlay:20;--z-modal:30;--z-toast:40;--duration-instant:100ms;--duration-quick:150ms;--duration-reveal:260ms;--duration-bloom:500ms;--duration-signature:900ms;--ease-standard:ease;--ease-out:ease-out;--ease-settle:cubic-bezier(0.22,1,0.36,1);--motion-hover:var(--duration-quick) var(--ease-standard);--motion-reveal:var(--duration-reveal) var(--ease-out);--motion-flip:var(--duration-signature) var(--ease-settle);--motion-bloom:var(--duration-bloom) var(--ease-out);--touch-target-min:48px;--shadow-card:0 1px 1px rgba(45,58,30,0.08),0 8px 22px rgba(45,58,30,0.15),0 24px 50px -24px rgba(45,58,30,0.2);--shadow-panel:0 32px 80px -20px rgba(0,0,0,0.35);--shadow-pop:0 12px 32px -12px rgba(45,58,30,0.35);--shadow-toast:0 12px 32px -12px rgba(0,0,0,0.35)}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--ribbon);outline-offset:2px}@media (prefers-contrast:more){:focus-visible{outline:3px solid var(--ink)}}main:focus,main:focus-visible{outline:none}.skip-to-main{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;font-family:var(--sans);font-size:var(--fs-base);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--paper);background:var(--ink);text-decoration:none;border-radius:var(--radius-xs)}.skip-to-main:focus,.skip-to-main:focus-visible{position:fixed;top:var(--space-2);left:var(--space-2);width:auto;height:auto;padding:var(--space-2) var(--space-3);z-index:var(--z-toast);outline:2px solid var(--ribbon);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:var(--duration-instant)!important}.card-bloom,.fade-up,.leaf-flourish{animation:none!important}}body,html{margin:0;padding:0;font-family:var(--serif);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background-image:radial-gradient(ellipse 800px 600px at 20% 10%,rgba(201,162,74,.05),transparent 60%),radial-gradient(ellipse 1000px 700px at 90% 90%,rgba(122,138,90,.06),transparent 60%);background-color:var(--paper)}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--hair-soft);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--hair)}.serif{font-family:var(--serif)}.eyebrow,.sans{font-family:var(--sans)}.eyebrow{font-size:var(--fs-xs);font-weight:600;letter-spacing:var(--tracking-widest);color:var(--ink-soft)}.display,.eyebrow{text-transform:uppercase}.display{font-weight:500;letter-spacing:var(--tracking-wide)}.display,.italic-sci{font-family:var(--serif)}.italic-sci{font-style:italic}.hairline{height:1px;background:var(--hair);border:0;opacity:.6}.hairline-gold{background:var(--gold);opacity:.5}.double-rule{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);height:4px;opacity:.7}.btn{font-family:var(--sans);font-size:var(--fs-base);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:11px 18px;min-height:var(--touch-target-min);border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:var(--radius-xs);transition:all var(--motion-hover);display:inline-flex;align-items:center;justify-content:center}.btn:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.btn.secondary{background:transparent;color:var(--ink)}.btn.secondary:hover{background:var(--ink);color:var(--paper)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--hair)}.btn.ghost:hover{border-color:var(--ink)}.chip{font-family:var(--sans);font-size:var(--fs-sm);font-weight:500;letter-spacing:var(--tracking-wide);padding:6px var(--space-3);border:1px solid var(--hair);border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);transition:all var(--motion-hover);white-space:nowrap;min-height:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center}.chip:hover{border-color:var(--ink-soft);color:var(--ink)}.chip.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.chip.sm{font-size:10px;padding:var(--space-1) 9px;pointer-events:none;min-height:0}.native-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--gold-deep)}.native-badge:before{content:"";width:6px;height:6px;background:var(--gold);border-radius:var(--radius-circle)}.input{font-family:var(--sans);font-size:var(--fs-body);padding:8px var(--space-3);border:1px solid var(--hair);border-radius:var(--radius-xs);background:var(--paper);color:var(--ink);transition:border-color var(--motion-hover);min-height:var(--touch-target-min)}.input:hover:not(:disabled):not(:focus){border-color:var(--ink-muted)}.input:not(:placeholder-shown):not(:focus):not(:disabled):not(.input-error):not(.input-success){border-color:var(--ink-muted)}.input:disabled{background:var(--paper-aged);color:var(--ink-muted);cursor:not-allowed}.input-error{border-color:var(--red);color:var(--ink)}.input-error:focus-visible{outline-color:var(--red)}.input-success{border-color:var(--ribbon)}.error-message{font-family:var(--sans);font-size:var(--fs-body);color:var(--red);margin-top:var(--space-1)}.dropdown-menu{position:absolute;z-index:var(--z-overlay);background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius-xs);box-shadow:var(--shadow-panel);padding:var(--space-1) 0;min-width:180px;list-style:none;margin:0;animation:fade-up var(--motion-reveal) both}.dropdown-item{font-family:var(--sans);font-size:var(--fs-body);padding:var(--space-2) var(--space-3);color:var(--ink);cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;width:100%;text-align:left;min-height:var(--touch-target-min)}.dropdown-item:hover{background:var(--paper-aged)}.dropdown-item.selected{background:var(--ribbon);color:var(--paper)}.dropdown-item.selected:before{content:"•";font-weight:700}.modal-backdrop{position:fixed;inset:0;background:rgba(45,58,30,.55);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fade-up var(--motion-reveal) both}.modal-surface{background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius-xs);box-shadow:var(--shadow-panel);padding:var(--space-5);max-width:var(--content-modal);width:100%;max-height:90vh;overflow-y:auto;animation:modal-rise var(--motion-flip) both}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-toast);background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:var(--fs-body);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xs);box-shadow:var(--shadow-toast);animation:toast-in var(--motion-reveal) both;max-width:var(--content-narrow)}.toast.success{background:var(--ribbon)}.toast.error{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);color:var(--ink)}.empty-state .empty-icon{width:48px;height:48px;color:var(--ink-muted)}.empty-state .empty-headline{font-family:var(--serif);font-size:var(--fs-lg);font-weight:500;color:var(--ink);margin:0}.empty-state .empty-body{font-family:var(--sans);font-size:var(--fs-body);color:var(--ink-soft);max-width:36ch;line-height:var(--leading);margin:0}.skeleton{background:var(--paper-aged);border-radius:var(--radius-xs);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-ellipsis:after{content:"...";display:inline-block;width:1.2em;text-align:left;animation:ellipsis-dots 1.4s steps(4) infinite}@keyframes ellipsis-dots{0%{content:"."}25%{content:".."}50%{content:"..."}75%{content:"...."}to{content:"."}}.tooltip-anchor{position:relative;display:inline-flex}.tooltip{position:absolute;left:50%;transform:translate(-50%,4px);background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:var(--tracking-wide);border-radius:var(--radius-xs);box-shadow:var(--shadow-pop);z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--motion-hover),transform var(--motion-hover);text-align:center;width:0;height:0;padding:0;overflow:hidden;white-space:nowrap}.tooltip-top{bottom:calc(100% + 6px)}.tooltip-bottom{top:calc(100% + 6px)}.tooltip:before{content:"";position:absolute;left:50%;width:8px;height:8px;background:var(--ink);transform:translateX(-50%) rotate(45deg)}.tooltip-top:before{bottom:-3px}.tooltip-bottom:before{top:-3px}.tooltip-open{opacity:1;transform:translate(-50%);width:auto;height:auto;padding:6px 10px;overflow:visible;white-space:normal;max-width:36ch}.stub-panel{border:1px solid var(--amber);border-left-width:4px;background:rgba(184,105,30,.06);border-radius:var(--radius-xs);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.stub-panel.stub-coming-later{border-color:var(--ribbon-dark);background:rgba(122,138,90,.08)}.stub-panel.stub-sample{border-color:var(--gold-deep);background:rgba(201,162,74,.08)}.stub-panel.stub-unavailable{border-color:var(--hair);background:rgba(45,58,30,.04)}.stub-panel-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.stub-panel-tag{font-family:var(--sans);font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--amber)}.stub-coming-later .stub-panel-tag{color:var(--ribbon-dark)}.stub-sample .stub-panel-tag{color:var(--gold-deep)}.stub-unavailable .stub-panel-tag{color:var(--ink-muted)}.stub-panel-title{margin:0;font-family:var(--serif);font-weight:500;font-size:var(--fs-md);color:var(--ink);letter-spacing:.01em}.stub-panel-body{font-family:var(--serif);font-size:var(--fs-body);color:var(--ink-soft);line-height:var(--leading);max-width:60ch}.stub-panel-body p{margin:0 0 var(--space-2)}.stub-panel-body p:last-child{margin-bottom:0}.plant-placeholder{position:relative;background-color:var(--paper-aged);background-image:repeating-linear-gradient(135deg,rgba(122,138,90,.1),rgba(122,138,90,.1) 1px,transparent 0,transparent 7px);overflow:hidden}.plant-placeholder .ph-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);font-family:var(--mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--ink-soft);text-align:center;padding:var(--space-2)}.plant-placeholder .ph-label .ph-kind{font-size:8.5px;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ink-muted);opacity:.8}.plant-placeholder .ph-detail{font-size:9px;opacity:.75;max-width:85%}.corner-bracket{position:absolute;width:22px;height:22px;border:1px solid var(--ribbon);opacity:.7}.corner-bracket.tl{top:10px;left:10px;border-right:0;border-bottom:0}.corner-bracket.tr{top:10px;right:10px;border-left:0;border-bottom:0}.corner-bracket.bl{bottom:10px;left:10px;border-right:0;border-top:0}.corner-bracket.br{bottom:10px;right:10px;border-left:0;border-top:0}.botanical-border{position:absolute;inset:14px;border:1px solid var(--ribbon);pointer-events:none}.botanical-border:before{content:"";position:absolute;inset:var(--space-1);border:1px solid var(--hair);opacity:.7}.app{max-width:var(--content-app);margin:0 auto;min-height:100vh;display:flex;flex-direction:column}@keyframes leaf-flourish{0%{transform:translateY(8px) rotate(-10deg) scale(.6);opacity:0}40%{transform:translateY(-4px) rotate(6deg) scale(1.08);opacity:1}to{transform:translateY(-20px) rotate(18deg) scale(.9);opacity:0}}.leaf-flourish{position:absolute;pointer-events:none;animation:leaf-flourish var(--duration-signature) var(--ease-out) forwards;color:var(--ribbon);font-size:22px;font-family:var(--serif)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up var(--motion-reveal) both}@media print{body{background:white}.app>:not(.print-root){display:none}}.card{--card-w:260px;--card-h:380px;--card-radius:4px;position:relative;width:var(--card-w);height:var(--card-h);perspective:1600px;font-family:var(--serif);color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.card.size-lg{--card-w:360px;--card-h:520px}.card.size-hero{--card-w:420px;--card-h:600px}.card.size-compact{--card-w:180px;--card-h:260px}.card.size-inspector{--card-w:360px;--card-h:520px;--card-inspect-scale:1}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform var(--motion-flip)}.card.flipped .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--card-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-card);transition:opacity .25s linear .25s,visibility 0s linear .45s;background:var(--paper);border:1px solid var(--hair)}.card-face.back{transform:rotateY(180deg)}.card.flipped .card-face.front,.card:not(.flipped) .card-face.back{opacity:0;visibility:hidden}.card.rarity-common .card-face{background:var(--paper)}.card.rarity-uncommon .card-face{background:var(--paper);border-color:var(--gold);box-shadow:0 0 0 .5px var(--gold) inset,var(--shadow-card)}.card.rarity-rare .card-face{background:linear-gradient(180deg,rgba(201,162,74,.06),transparent 40%),var(--paper-aged);border-color:var(--ribbon)}.card.rarity-epic .card-face{background:radial-gradient(ellipse at 50% 0,rgba(201,162,74,.12),transparent 60%),radial-gradient(ellipse at 50% 100%,rgba(95,109,70,.1),transparent 60%),var(--paper-aged);border-color:var(--ribbon-dark);box-shadow:0 0 0 .5px var(--ribbon-dark) inset,0 1px 1px rgba(45,58,30,.08),0 10px 28px rgba(45,58,30,.2),0 28px 60px -24px rgba(45,58,30,.25)}.card.rarity-legendary .card-face{background:radial-gradient(ellipse at 50% 0,rgba(201,162,74,.22),transparent 60%),radial-gradient(ellipse at 50% 100%,rgba(201,162,74,.14),transparent 60%),var(--paper-aged);border-color:var(--gold);box-shadow:0 0 0 1.5px var(--gold) inset,0 0 0 3px var(--paper-aged) inset,0 0 0 3.5px var(--gold) inset,0 1px 1px rgba(45,58,30,.08),0 12px 30px rgba(201,162,74,.18),0 30px 70px -24px rgba(45,58,30,.3)}.card.warn-moderate .card-face{border-color:var(--amber)}.card.warn-severe .card-face{border-color:var(--red)}.card.warn-moderate .card-warn-stripe,.card.warn-severe .card-warn-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:repeating-linear-gradient(45deg,var(--amber) 0 6px,transparent 6px 12px);opacity:.6;z-index:5}.card.warn-severe .card-warn-stripe{background:repeating-linear-gradient(45deg,var(--red) 0 6px,transparent 6px 12px)}.card.card-severe .card-face{border-color:var(--red);border-width:2px;box-shadow:0 0 0 1px var(--red) inset,0 1px 1px rgba(45,58,30,.08),0 10px 28px rgba(139,46,30,.22),0 28px 60px -24px rgba(139,46,30,.28)}.card.card-severe .card-face:before{content:"";position:absolute;inset:0;background:var(--card-severe-tint);pointer-events:none;z-index:1}.card.unowned .card-face{filter:grayscale(.35) brightness(.98);opacity:.92}.card.unowned .card-face:after{content:"";position:absolute;inset:0;background:rgba(245,241,228,.25);pointer-events:none}.card-front{padding:14px 14px var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);height:100%}.card-meta-top{display:flex;align-items:center;justify-content:space-between;font-family:var(--sans);font-size:9px;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ink-muted)}.card-rarity-mark{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-soft)}.card-rarity-mark .dot{width:5px;height:5px;border-radius:var(--radius-circle);background:var(--hair)}.card.rarity-uncommon .card-rarity-mark .dot{background:var(--gold)}.card.rarity-rare .card-rarity-mark .dot{background:var(--ribbon-dark)}.card.rarity-epic .card-rarity-mark .dot{background:var(--ribbon-dark);box-shadow:0 0 0 2px var(--gold)}.card.rarity-legendary .card-rarity-mark .dot{background:var(--gold);box-shadow:0 0 0 2px var(--gold-deep)}.card-owned-mark{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--ribbon-dark);font-weight:700}.card-illus{position:relative;flex:0 0 auto;height:45%;min-height:0;margin:0 2px;border:1px solid var(--hair);display:flex;align-items:center;justify-content:center}.card.size-hero .card-illus,.card.size-lg .card-illus{height:44%}.card.size-compact .card-illus{height:48%}.card-name{text-align:center;padding:2px 4px 0}.card-name .primary{font-family:var(--serif);font-weight:500;font-size:var(--fs-lg);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:1.1;margin:0}.card.size-lg .card-name .primary{font-size:var(--fs-xl)}.card.size-hero .card-name .primary{font-size:var(--fs-display)}.card-name .sci{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--ink-soft);margin-top:3px;line-height:1.1}.card.size-lg .card-name .sci{font-size:14px}.card-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:2px 4px 0}.card-tag{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:3px 7px;border:1px solid var(--hair);border-radius:var(--radius-xs);color:var(--ink-soft);background:rgba(255,255,255,.3)}.card-tag.native{border-color:var(--gold);color:var(--gold-deep)}.card-tag.warn{border-color:var(--amber);color:var(--amber)}.card.rarity-epic .wax-seal{position:absolute;bottom:var(--space-3);right:var(--space-3);width:22px;height:22px;border-radius:var(--radius-circle);background:radial-gradient(circle at 35% 30%,#8b4a2e,#6b2e18);box-shadow:0 1px 2px rgba(0,0,0,.25),inset 0 0 3px rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:10px;color:rgba(245,241,228,.85);z-index:3}.card.rarity-epic .wax-seal:after{content:"P"}.card.rarity-legendary .gold-corner{position:absolute;width:18px;height:18px;z-index:3;background:linear-gradient(135deg,var(--gold) 0,var(--gold-deep) 100%);opacity:.9;-webkit-clip-path:polygon(0 0,100% 0,0 100%);clip-path:polygon(0 0,100% 0,0 100%)}.card.rarity-legendary .gold-corner.tr{top:0;right:0;transform:scaleX(-1)}.card.rarity-legendary .gold-corner.bl{bottom:0;left:0;transform:scaleY(-1)}.card.rarity-legendary .gold-corner.br{bottom:0;right:0;transform:scale(-1)}.card-back-body{padding:20px var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:6px;height:100%;overflow:hidden}.card-back-body .back-border{position:absolute;inset:10px;border:1px solid var(--ribbon);pointer-events:none}.card-back-body .back-border:before{content:"";position:absolute;inset:3px;border:1px solid var(--hair);opacity:.7}.card.size-hero .card-back-body{padding:26px 22px 20px;gap:var(--space-2)}.back-photo{height:38%;border:1px solid var(--hair);position:relative;flex-shrink:0}.card.size-hero .back-photo{height:36%}.back-names{text-align:center;margin-top:6px}.back-names .primary{font-family:var(--serif);font-weight:500;font-size:var(--fs-lg);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:1.05;margin:0}.card.size-hero .back-names .primary{font-size:var(--fs-xl)}.back-names .sci{font-family:var(--serif);font-style:italic;font-size:11px;color:var(--ink-soft);margin-top:2px}.card.size-hero .back-names .sci{font-size:14px}.back-ribbon{position:relative;background:var(--ribbon);color:var(--paper);padding:var(--space-2) 10px;margin:var(--space-2) -4px 0;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px 10px;gap:6px 10px;font-family:var(--sans);font-size:9px;letter-spacing:var(--tracking-wide)}.card.size-hero .back-ribbon{font-size:var(--fs-xs);padding:11px var(--space-4);gap:10px var(--space-4)}.back-ribbon:after,.back-ribbon:before{content:"";position:absolute;top:0;bottom:0;width:10px;background:var(--ribbon-dark)}.back-ribbon:before{left:-4px;-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%)}.back-ribbon:after{right:-4px;-webkit-clip-path:polygon(100% 0,0 50%,100% 100%);clip-path:polygon(100% 0,0 50%,100% 100%)}.back-ribbon .fact{position:relative;padding-top:2px}.back-ribbon .fact .label{display:block;font-family:var(--sans);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,241,228,.95);font-size:8px;margin-bottom:var(--space-1);padding-bottom:3px;border-bottom:1px solid rgba(245,241,228,.45)}.card.size-hero .back-ribbon .fact .label{font-size:9.5px;margin-bottom:5px;letter-spacing:.24em}.back-ribbon .fact .value{display:block;font-family:var(--serif);font-size:var(--fs-sm);font-weight:500;line-height:1.2;letter-spacing:.01em;color:var(--paper);font-style:normal}.card.size-hero .back-ribbon .fact .value{font-size:14px}.back-block{font-family:var(--serif);font-size:11px;line-height:var(--leading-tight);color:var(--ink);margin-top:6px}.card.size-hero .back-block{font-size:var(--fs-body);margin-top:var(--space-2)}.back-block .label{display:block;font-family:var(--sans);font-size:8.5px;font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ribbon-dark);margin-bottom:3px;padding-bottom:2px;border-bottom:1px solid var(--hair-soft)}.card.size-hero .back-block .label{font-size:9.5px}.back-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;font-family:var(--sans);font-size:8px;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ink-muted);padding-top:var(--space-1);flex-shrink:0}.card.size-hero .back-footer{font-size:9px}.back-names .back-alt-names{font-family:var(--serif);font-style:italic;font-size:10px;color:var(--ink-muted);margin-top:1px;line-height:1.2}.back-names .back-family{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted);margin-top:2px}.back-harvest-parts{font-family:var(--serif);font-weight:500}.back-harvest-cue{display:block;font-family:var(--serif);font-style:italic;font-size:10px;color:var(--ink-soft);margin-top:2px;line-height:var(--leading-tight);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.back-warn-chip{display:inline-block;font-family:var(--sans);font-size:8.5px;font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-xs);border:1px solid}.back-warn-notice{color:var(--ribbon-dark);border-color:var(--ribbon);background:rgba(122,138,90,.08)}.back-warn-caution{color:var(--amber);border-color:var(--amber);background:rgba(184,105,30,.06)}.back-warn-severe{color:var(--red);border-color:var(--red);background:rgba(139,46,30,.06)}.back-caution-note{display:block;font-family:var(--serif);font-style:italic;font-size:10px;color:var(--ink-soft);margin-top:3px;line-height:var(--leading-tight)}.back-reference-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);flex-shrink:0;margin-top:var(--space-2)}.back-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.back-qr-placeholder{width:44px;height:44px;border:1.5px dashed var(--hair);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:10px;background:rgba(245,241,228,.5);flex-shrink:0}.back-qr-placeholder,.back-qr-url{font-family:var(--mono);color:var(--ink-muted)}.back-qr-url{font-size:8px;white-space:nowrap}.card.size-compact .card-front{padding:10px 10px 8px;gap:5px}.card.size-compact .card-name .primary{font-size:var(--fs-body);letter-spacing:.1em}.card.size-compact .card-name .sci{font-size:10px}.card.size-compact .card-tag{font-size:8px;padding:2px 5px}.card.size-compact .card-meta-top{font-size:8px}.pip-cluster{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--ink-soft)}.pip-row{display:inline-flex;gap:2px}.pip-cell{position:relative;width:12px;height:14px}.pip-cell,.pip-cell-fill{display:inline-flex;line-height:0}.pip-cell-fill{position:absolute;inset:0}.pip{display:inline-flex;width:12px;height:14px;line-height:0;align-items:center;justify-content:center}.pip.pip-empty{color:var(--pip-empty)}.pip.pip-filled{color:var(--pip-filled)}.pip-ladder{color:var(--ink-muted)}.soil-chips{display:inline-flex;gap:var(--space-1);flex-wrap:wrap}.soil-chip{letter-spacing:var(--tracking-wider);padding:3px 7px;border:1px solid var(--hair);border-radius:var(--radius-xs);background:rgba(255,255,255,.3)}.rarity-gem,.soil-chip{font-family:var(--sans);font-size:9px;font-weight:600;text-transform:uppercase;color:var(--ink-soft)}.rarity-gem{display:inline-flex;align-items:center;gap:6px;letter-spacing:var(--tracking-widest)}.rarity-gem-common .rarity-gem-icon,.rarity-gem-icon{color:var(--rarity-gem-common)}.rarity-gem-uncommon .rarity-gem-icon{color:var(--rarity-gem-uncommon)}.rarity-gem-rare .rarity-gem-icon{color:var(--rarity-gem-rare)}.rarity-gem-epic .rarity-gem-icon{color:var(--rarity-gem-epic)}.rarity-gem-legendary .rarity-gem-icon{color:var(--rarity-gem-legendary);filter:drop-shadow(0 0 1px var(--gold))}.keystone-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:2px 6px;border:1px solid var(--gold);background:rgba(201,162,74,.08);border-radius:var(--radius-xs)}.keystone-badge,.keystone-badge-icon{color:var(--gold-deep)}.type-line{font-family:var(--sans);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--ink-soft)}.hazard-icon-row{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.hazard-icon-cell{display:inline-flex}.hazard-icon{width:20px;height:20px;padding:2px;border-radius:var(--radius-circle);box-sizing:content-box;flex:0 0 auto}.hazard-icon-calm{color:var(--ink-muted);border:1px solid transparent}.hazard-icon-low{color:var(--amber);border:1px solid var(--amber)}.hazard-icon-moderate{color:var(--amber);border:2px double var(--amber)}.hazard-icon-severe{color:var(--red);border:2px double var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.card-trade-dress{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:8.5px;letter-spacing:var(--tracking-wider);color:var(--ink-muted);white-space:nowrap}.card-trade-dress-sep{opacity:.6}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-family:var(--sans);font-size:9px;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ink-muted)}.card-header-lead,.card-header-trail{display:inline-flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.card-header-trail{justify-content:flex-end}.card-sa-native-badge{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:2px 6px;border:1px solid var(--gold);color:var(--gold-deep);background:rgba(201,162,74,.08);border-radius:var(--radius-xs)}.card-type-line{text-align:center}.card-growth-strip{display:flex;justify-content:space-between;gap:var(--space-2);margin:0;padding:0;font-family:var(--sans);font-size:9px}.card-growth-fact{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}.card-growth-fact dt{font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ink-muted);font-size:8px;margin:0}.card-growth-fact dd{font-family:var(--serif);font-size:10px;color:var(--ink);margin:0;white-space:nowrap}.card-requirement-cluster{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.keyword-tag-row{gap:6px;flex-wrap:wrap;padding:0;margin:0;list-style:none}.keyword-tag-chip,.keyword-tag-row{display:flex;justify-content:center}.keyword-tag-chip{align-items:center;width:22px;height:22px;padding:3px;border:1px solid var(--hair);border-radius:var(--radius-xs);color:var(--ink-soft);background:rgba(255,255,255,.3)}.keyword-tag-overflow{font-family:var(--sans);font-size:8px;font-weight:700;width:auto;padding:3px 5px}.card-trade-dress-footer{margin-top:auto;display:flex;justify-content:center;padding-top:var(--space-1)}.card-inspector{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(45,58,30,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-3);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;animation:fade-up var(--motion-reveal) both}.card-inspector-stage{position:relative;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:min-content;max-width:100%;max-height:none;animation:modal-rise var(--motion-flip) both}.card-inspector-card-wrap{position:relative;--inspector-card-w:360px;--inspector-card-h:520px;width:var(--inspector-card-w);height:var(--inspector-card-h)}.card.size-inspector .card-front{padding:calc(14px * var(--card-inspect-scale)) calc(14px * var(--card-inspect-scale)) calc(var(--space-3) * var(--card-inspect-scale));gap:calc(var(--space-2) * var(--card-inspect-scale))}.card.size-inspector .card-header-row{gap:calc(var(--space-2) * var(--card-inspect-scale));font-size:calc(9px * var(--card-inspect-scale))}.card.size-inspector .card-header-lead,.card.size-inspector .card-header-trail{gap:calc(var(--space-1) * var(--card-inspect-scale))}.card.size-inspector .card-owned-mark,.card.size-inspector .card-sa-native-badge{font-size:calc(9px * var(--card-inspect-scale));padding:calc(2px * var(--card-inspect-scale)) calc(6px * var(--card-inspect-scale))}.card.size-inspector .card-owned-mark svg{width:calc(10px * var(--card-inspect-scale));height:calc(10px * var(--card-inspect-scale))}.card.size-inspector .card-name{padding:calc(2px * var(--card-inspect-scale)) calc(4px * var(--card-inspect-scale)) 0}.card.size-inspector .card-name .primary{font-size:calc(var(--fs-xl) * var(--card-inspect-scale))}.card.size-inspector .card-name .sci{font-size:calc(14px * var(--card-inspect-scale));margin-top:calc(3px * var(--card-inspect-scale))}.card.size-inspector .card-illus{margin:0 calc(2px * var(--card-inspect-scale))}.card.size-inspector .plant-placeholder .ph-label{gap:calc(var(--space-1) * var(--card-inspect-scale));font-size:calc(10px * var(--card-inspect-scale));padding:calc(var(--space-2) * var(--card-inspect-scale))}.card.size-inspector .plant-placeholder .ph-label .ph-kind{font-size:calc(8.5px * var(--card-inspect-scale))}.card.size-inspector .plant-placeholder .ph-detail{font-size:calc(9px * var(--card-inspect-scale))}.card.size-inspector .corner-bracket{width:calc(22px * var(--card-inspect-scale));height:calc(22px * var(--card-inspect-scale))}.card.size-inspector .corner-bracket.tl,.card.size-inspector .corner-bracket.tr{top:calc(10px * var(--card-inspect-scale))}.card.size-inspector .corner-bracket.bl,.card.size-inspector .corner-bracket.br{bottom:calc(10px * var(--card-inspect-scale))}.card.size-inspector .corner-bracket.bl,.card.size-inspector .corner-bracket.tl{left:calc(10px * var(--card-inspect-scale))}.card.size-inspector .corner-bracket.br,.card.size-inspector .corner-bracket.tr{right:calc(10px * var(--card-inspect-scale))}.card.size-inspector .type-line{font-size:calc(10px * var(--card-inspect-scale))}.card.size-inspector .keyword-tag-row{gap:calc(6px * var(--card-inspect-scale))}.card.size-inspector .keyword-tag-chip{width:calc(22px * var(--card-inspect-scale));height:calc(22px * var(--card-inspect-scale));padding:calc(3px * var(--card-inspect-scale))}.card.size-inspector .keyword-icon{width:calc(14px * var(--card-inspect-scale));height:calc(14px * var(--card-inspect-scale))}.card.size-inspector .keyword-tag-overflow{font-size:calc(8px * var(--card-inspect-scale));padding:calc(3px * var(--card-inspect-scale)) calc(5px * var(--card-inspect-scale))}.card.size-inspector .card-growth-strip{gap:calc(var(--space-2) * var(--card-inspect-scale));font-size:calc(9px * var(--card-inspect-scale))}.card.size-inspector .card-growth-fact{gap:calc(1px * var(--card-inspect-scale))}.card.size-inspector .card-growth-fact dt{font-size:calc(8px * var(--card-inspect-scale))}.card.size-inspector .card-growth-fact dd{font-size:calc(10px * var(--card-inspect-scale))}.card.size-inspector .card-requirement-cluster{gap:calc(var(--space-2) * var(--card-inspect-scale))}.card.size-inspector .pip-cluster{gap:calc(6px * var(--card-inspect-scale));font-size:calc(10px * var(--card-inspect-scale))}.card.size-inspector .pip-row{gap:calc(2px * var(--card-inspect-scale))}.card.size-inspector .pip,.card.size-inspector .pip svg,.card.size-inspector .pip-cell{width:calc(12px * var(--card-inspect-scale));height:calc(14px * var(--card-inspect-scale))}.card.size-inspector .soil-chips{gap:calc(var(--space-1) * var(--card-inspect-scale))}.card.size-inspector .soil-chip{font-size:calc(9px * var(--card-inspect-scale));padding:calc(3px * var(--card-inspect-scale)) calc(7px * var(--card-inspect-scale))}.card.size-inspector .rarity-gem{gap:calc(6px * var(--card-inspect-scale));font-size:calc(9px * var(--card-inspect-scale))}.card.size-inspector .rarity-gem-icon{width:calc(12px * var(--card-inspect-scale));height:calc(12px * var(--card-inspect-scale))}.card.size-inspector .keystone-badge{gap:calc(var(--space-1) * var(--card-inspect-scale));font-size:calc(9px * var(--card-inspect-scale));padding:calc(2px * var(--card-inspect-scale)) calc(6px * var(--card-inspect-scale))}.card.size-inspector .keystone-badge-icon{width:calc(11px * var(--card-inspect-scale));height:calc(11px * var(--card-inspect-scale))}.card.size-inspector .hazard-icon-row{gap:calc(var(--space-2) * var(--card-inspect-scale))}.card.size-inspector .hazard-icon{width:calc(20px * var(--card-inspect-scale));height:calc(20px * var(--card-inspect-scale));padding:calc(2px * var(--card-inspect-scale))}.card.size-inspector .card-trade-dress-footer{padding-top:calc(var(--space-1) * var(--card-inspect-scale))}.card.size-inspector .card-trade-dress{gap:calc(6px * var(--card-inspect-scale));font-size:calc(8.5px * var(--card-inspect-scale))}.card.size-inspector .card-back-body{padding:calc(20px * var(--card-inspect-scale)) calc(var(--space-4) * var(--card-inspect-scale)) calc(var(--space-4) * var(--card-inspect-scale));gap:calc(6px * var(--card-inspect-scale))}.card.size-inspector .card-back-body .back-border{inset:calc(10px * var(--card-inspect-scale))}.card.size-inspector .card-back-body .back-border:before{inset:calc(3px * var(--card-inspect-scale))}.card.size-inspector .back-names{margin-top:calc(6px * var(--card-inspect-scale))}.card.size-inspector .back-names .primary{font-size:calc(var(--fs-lg) * var(--card-inspect-scale))}.card.size-inspector .back-names .back-alt-names{font-size:calc(10px * var(--card-inspect-scale))}.card.size-inspector .back-names .sci{font-size:calc(11px * var(--card-inspect-scale))}.card.size-inspector .back-names .back-family,.card.size-inspector .back-ribbon{font-size:calc(9px * var(--card-inspect-scale))}.card.size-inspector .back-ribbon{padding:calc(var(--space-2) * var(--card-inspect-scale)) calc(10px * var(--card-inspect-scale));gap:calc(6px * var(--card-inspect-scale)) calc(10px * var(--card-inspect-scale))}.card.size-inspector .back-ribbon .fact .label{font-size:calc(8px * var(--card-inspect-scale))}.card.size-inspector .back-ribbon .fact .value{font-size:calc(var(--fs-sm) * var(--card-inspect-scale))}.card.size-inspector .back-block{font-size:calc(11px * var(--card-inspect-scale));margin-top:calc(6px * var(--card-inspect-scale))}.card.size-inspector .back-block .label{font-size:calc(8.5px * var(--card-inspect-scale))}.card.size-inspector .back-caution-note,.card.size-inspector .back-harvest-cue{font-size:calc(10px * var(--card-inspect-scale))}.card.size-inspector .back-warn-chip{font-size:calc(8.5px * var(--card-inspect-scale));padding:calc(2px * var(--card-inspect-scale)) calc(7px * var(--card-inspect-scale))}.card.size-inspector .back-reference-row{gap:calc(var(--space-2) * var(--card-inspect-scale));margin-top:calc(var(--space-2) * var(--card-inspect-scale))}.card.size-inspector .back-qr-wrap{gap:calc(2px * var(--card-inspect-scale))}.card.size-inspector .back-qr-placeholder{width:calc(44px * var(--card-inspect-scale));height:calc(44px * var(--card-inspect-scale));font-size:calc(10px * var(--card-inspect-scale))}.card.size-inspector .back-footer,.card.size-inspector .back-qr-url{font-size:calc(8px * var(--card-inspect-scale))}.card-inspector-dismiss{position:absolute;top:var(--space-2);right:var(--space-2);width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--hair);background:var(--paper);border-radius:var(--radius-circle);color:var(--ink-soft);font-family:var(--sans);font-size:var(--fs-md);font-weight:600;cursor:pointer}.card-inspector-dismiss:hover{color:var(--ink);border-color:var(--ink)}.card-inspect-trigger{font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:var(--space-1) var(--space-2);border:1px solid var(--hair);border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);cursor:pointer;min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);transition:border-color var(--motion-hover),color var(--motion-hover),transform var(--motion-hover)}.card-inspect-trigger:focus-visible,.card-inspect-trigger:hover{border-color:var(--ink-soft);color:var(--ink)}@media (prefers-reduced-motion:no-preference){.card-inspect-trigger:focus-visible,.card-inspect-trigger:hover{transform:scale(1.04)}}.card-inspect-trigger-icon{width:12px;height:12px}.card.papercut{--tilt-x:0deg;--tilt-y:0deg;--tilt-magnitude:0}.card.papercut .card-face{box-shadow:inset 0 0 0 1px rgba(245,241,228,.35),0 4px 14px rgba(45,58,30,.18),var(--shadow-card)}.card.papercut.rarity-uncommon .card-face{box-shadow:inset 0 0 0 1px rgba(245,241,228,.35),0 0 0 .5px var(--gold) inset,0 4px 14px rgba(45,58,30,.18),var(--shadow-card)}.card.papercut.rarity-epic .card-face{box-shadow:inset 0 0 0 1px rgba(245,241,228,.35),0 0 0 .5px var(--ribbon-dark) inset,0 1px 1px rgba(45,58,30,.08),0 4px 14px rgba(45,58,30,.22),0 10px 28px rgba(45,58,30,.2),0 28px 60px -24px rgba(45,58,30,.25)}.card.papercut.rarity-legendary .card-face{box-shadow:inset 0 0 0 1px rgba(245,241,228,.35),0 0 0 1.5px var(--gold) inset,0 0 0 3px var(--paper-aged) inset,0 0 0 3.5px var(--gold) inset,0 1px 1px rgba(45,58,30,.08),0 4px 14px rgba(45,58,30,.22),0 12px 30px rgba(201,162,74,.18),0 30px 70px -24px rgba(45,58,30,.3)}.card.papercut .card-inner{transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}.card.papercut.flipped .card-inner{transform:rotateX(var(--tilt-x)) rotateY(calc(var(--tilt-y) + 180deg))}.card.papercut.tilting .card-inner{transition:none}.card.papercut .papercut-foil{position:absolute;inset:0;pointer-events:none;border-radius:var(--card-radius);background:linear-gradient(115deg,rgba(245,241,228,0) 30%,rgba(255,248,220,.55) 47%,rgba(255,252,240,.9) 50%,rgba(255,248,220,.55) 53%,rgba(245,241,228,0) 70%);mix-blend-mode:soft-light;opacity:.06;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:4}.card.papercut.rarity-rare .papercut-foil{opacity:calc(.04 + var(--tilt-magnitude) * .06)}.card.papercut.rarity-epic .papercut-foil{opacity:calc(.06 + var(--tilt-magnitude) * .08)}.card.papercut.rarity-legendary .papercut-foil{opacity:calc(.08 + var(--tilt-magnitude) * .1)}.card.papercut.card-severe .card-face{box-shadow:inset 0 0 0 1px rgba(245,241,228,.35),0 0 0 1px var(--red) inset,0 1px 1px rgba(45,58,30,.08),0 4px 14px rgba(139,46,30,.22),0 10px 28px rgba(139,46,30,.22),0 28px 60px -24px rgba(139,46,30,.28)}@keyframes card-bloom{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.card.just-collected{animation:card-bloom var(--motion-bloom)}