:root{color-scheme:light dark;font-family:Inter,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0d1117;color:#e5e7eb}#tsparticles,.koi-pond{position:fixed;inset:0;z-index:0;pointer-events:none}.koi-water{background:#16302f}.app-shell{position:relative;z-index:1;min-height:100vh;padding:1.25rem;display:grid;place-items:center}.panel{width:min(100%,720px);padding:1.5rem;border-radius:16px;background:#0d1117d1;box-shadow:0 20px 45px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(76,127,247,.18)}.panel-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.panel-header h1{margin:0;font-size:clamp(1.8rem,4vw,2.3rem)}.panel-header p{margin:.35rem 0 1.25rem;color:#9ca3af}.header-action{flex-shrink:0;width:2.5rem;height:2.5rem;border:none;background:transparent;color:#9ca3af;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.header-action:hover{color:#4c7ff7}.reset-icon{display:inline-block;font-size:1.6rem;line-height:1;transition:transform .2s ease}.header-action:hover .reset-icon{transform:rotate(90deg)}.header-actions{display:flex;align-items:center}.settings-icon{display:inline-block;font-size:1.5rem;line-height:1;transition:transform .3s ease}.header-action:hover .settings-icon{transform:rotate(60deg)}.github-icon{display:inline-block;transition:transform .3s ease}.header-action:hover .github-icon{transform:rotate(60deg)}.settings-backdrop{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 1rem;background:#020617b3;overflow-y:auto}.settings-panel{width:min(28rem,100%);display:grid;gap:1rem;padding:1.25rem;border-radius:16px;background:#0d1117;border:1px solid rgba(76,127,247,.3);box-shadow:0 20px 45px #0009;color:#f3f4f6}.settings-panel section{display:grid;gap:.75rem;justify-items:start}.settings-panel h2,.settings-panel h3{margin:0}.settings-panel-header{display:flex;align-items:center;justify-content:space-between}.type-chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.type-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .2rem .15rem .7rem;border-radius:999px;background:#1e293b;border:1px solid #334155;color:#dbeafe}.type-chip .btn-remove{padding:.2rem .45rem;border-radius:999px;font-size:.8rem}.type-add-row{display:flex;gap:.5rem;width:100%}.type-add-row input{flex:1;min-width:0}.settings-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer}.settings-toggle input{width:auto;margin:0}.settings-select{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.95rem}.settings-select select{width:auto;padding:.35rem 1.75rem .35rem .6rem}.settings-fieldset{display:grid;gap:.5rem;justify-items:start;margin:0;padding:0;border:none}.settings-fieldset legend{padding:0;margin-bottom:.5rem;font-size:1.17rem;font-weight:700}.settings-hint{margin:.15rem 0 0;font-size:.85rem;color:#9ca3af}.settings-error{margin:0;color:#f87171;font-size:.9rem}.btn-remove:disabled{cursor:not-allowed;opacity:.5}.btn:disabled{cursor:not-allowed;opacity:.5}.form-grid,.type-ticket-row{display:grid;gap:.9rem}.description-row{display:flex;align-items:flex-end;gap:.5rem}.description-row label{flex:1;min-width:0}.ai-handoff{display:flex;align-items:center;height:2.9rem}.ai-link{text-decoration:none;transition:color .2s ease,transform .2s ease}a.ai-link:hover{transform:scale(1.12)}.ai-icon{transition:transform .2s ease}a.ai-link:hover .ai-icon{transform:rotate(20deg)}.ai-link[aria-disabled=true]{cursor:not-allowed;opacity:.4}.ai-link[aria-disabled=true]:hover{color:#9ca3af}.separator-field{justify-items:center;text-align:center}.separator-field input{width:4rem;text-align:center}label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}input,select,button{border-radius:10px;border:1px solid #374151;padding:.7rem .8rem;font-size:1rem;background:#111827;color:#f3f4f6}select{padding-right:2.25rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%239ca3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}input:focus,select:focus,button:focus-visible{outline:2px solid #4c7ff7;outline-offset:1px}.btn{cursor:pointer;border:none;background:#315efb;color:#fff;font-weight:700}.btn-secondary{background:#1e293b;color:#dbeafe;border:1px solid #334155;font-weight:600}.recent-actions{display:flex;gap:.4rem;align-items:center}.btn-remove{cursor:pointer;border:1px solid #e5e7eb;background:#f3f4f6;color:#6b7280;padding:.5rem .6rem;border-radius:8px;font-size:1.1rem;line-height:1;font-weight:600;transition:all .2s ease}.btn-remove:hover{background:#dc2626;color:#fff;border-color:#dc2626}.btn-remove:focus-visible{outline:2px solid #dc2626;outline-offset:1px}.output-grid{display:grid;gap:1rem;margin-top:1.15rem}.output-grid article,.recent-list{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.9rem}code{display:block;width:100%;overflow-x:auto;margin:.4rem 0 .6rem;padding:.6rem;border-radius:8px;background:#111827;color:#f9fafb;font-size:.92rem}.recent-list{margin-top:1rem}.recent-list h3{margin-top:0}.recent-list ul{display:grid;gap:.6rem;list-style:none;padding:0;margin:0}.recent-list li{display:grid;gap:.4rem}@media(min-width:640px){.type-ticket-row{grid-template-columns:1fr auto 1fr auto;align-items:end}.output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.output-wide{grid-column:1 / -1}.recent-list li{align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.recent-actions{flex-wrap:nowrap}}@media(prefers-color-scheme:dark){.panel-header p{color:#9ca3af}input,select{background:#111827;color:#f3f4f6;border-color:#374151}.btn-secondary{background:#1e293b;color:#dbeafe;border-color:#334155}.btn-remove{background:#374151;color:#d1d5db;border-color:#4b5563}.btn-remove:hover{background:#dc2626;color:#fff;border-color:#dc2626}.output-grid article,.recent-list{background:#111827;border-color:#1f2937}code{background:#020617}}.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}.coin-amount{display:inline-flex;align-items:center;gap:.3rem;font-variant-numeric:tabular-nums;white-space:nowrap}.coin-icon{flex-shrink:0}.market-action{position:relative;display:inline-flex}.market-icon{display:inline-block;transform-origin:70% 50%}.header-action:hover .market-icon,.header-action:focus-visible .market-icon{animation:koi-wiggle .7s ease-in-out}.market-dot{position:absolute;top:.45rem;right:.35rem;width:.5rem;height:.5rem;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 2px #0d1117}.coin-pop{position:absolute;top:-.2rem;left:50%;display:inline-flex;align-items:center;gap:.15rem;color:#fcd679;font-size:.8rem;font-weight:800;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.6);animation:coin-pop 1.6s ease-out forwards}@keyframes koi-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}55%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}@keyframes coin-pop{0%{opacity:0;transform:translate(-50%,.4rem) scale(.8)}15%{opacity:1;transform:translate(-50%,-.3rem) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-1.8rem) scale(1)}}@media(max-width:480px){.app-shell{padding:.75rem}.panel{padding:1.1rem}.panel-header-top{flex-wrap:wrap}.panel-header h1{font-size:1.6rem}.header-actions{margin-left:auto}.header-action{width:2.1rem;height:2.1rem}}.market-backdrop{background:#02061780;padding-top:2.5rem}.market-panel{width:min(62rem,100%);display:grid;gap:1rem;padding:1.25rem;border-radius:18px;background:#0d1117;border:1px solid rgba(76,127,247,.3);box-shadow:0 24px 60px #0009;color:#f3f4f6}.market-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.market-header h2{margin:0}.market-subtitle{margin:.2rem 0 0;color:#9ca3af;font-size:.9rem}.market-header-actions{display:flex;align-items:center;gap:.35rem}.market-balance{padding:.3rem .75rem;border-radius:999px;background:#f2b6321f;border:1px solid rgba(242,182,50,.35);color:#fcd679;font-weight:700}.market-explainer{border-radius:12px;background:linear-gradient(135deg,#14534c66,#315efb24);border:1px solid rgba(94,234,212,.22);color:#d1fae5;font-size:.92rem}.market-explainer summary{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;cursor:pointer;font-weight:700;list-style:none}.market-explainer summary::-webkit-details-marker{display:none}.market-explainer summary:before{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}.market-explainer[open] summary:before{transform:rotate(45deg)}.market-explainer summary:focus-visible{outline:2px solid #4c7ff7;outline-offset:2px;border-radius:12px}.market-explainer>:not(summary){margin-left:1rem;margin-right:1rem}.market-explainer-welcome{margin-top:0;margin-bottom:.5rem}.market-explainer ul{display:grid;gap:.45rem;margin-top:0;margin-bottom:1rem;padding-left:1.1rem}.market-explainer li{line-height:1.5}.market-explainer .coin-amount{color:#fcd679;font-weight:700}.market-explainer>.btn{margin-bottom:1rem}.link-button{display:inline;padding:0;border:none;border-radius:4px;background:none;color:#93c5fd;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-button:hover{color:#bfdbfe}.market-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.restock-control,.restock-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.restock-count{color:#9ca3af;font-size:.82rem}.restock-button,.restock-confirm .btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.9rem}.restock-button .coin-amount{color:#fcd679;font-weight:700}.restock-confirm span{color:#e5e7eb;font-size:.9rem}.market-guide-toggle[aria-pressed=true]{color:#93c5fd}.market-tabs{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:999px;background:#111827;border:1px solid #1f2937}.market-tabs button{border:none;border-radius:999px;padding:.45rem 1rem;background:transparent;color:#9ca3af;font-weight:600;font-size:.92rem;cursor:pointer}.market-tabs button:hover{color:#e5e7eb}.market-tabs button[aria-selected=true]{background:#1e293b;color:#fff}.market-tab-count{margin-left:.25rem;padding:.05rem .45rem;border-radius:999px;background:#94a3b829;font-size:.78rem}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}.koi-card{--rarity: #9ca3af;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#111827;border:1px solid #1f2937;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.koi-card:hover{transform:translateY(-3px);border-color:var(--rarity);box-shadow:0 12px 30px #00000059}[data-rarity=uncommon]{--rarity: #34d399}[data-rarity=rare]{--rarity: #60a5fa}[data-rarity=legendary]{--rarity: #fbbf24}.koi-card[data-rarity=legendary]{border-color:#fbbf2466}.koi-card-photo{position:relative}.koi-photo{position:relative;aspect-ratio:13 / 8;overflow:hidden;background:radial-gradient(ellipse at 30% 25%,rgba(143,214,196,.16),transparent 45%),radial-gradient(ellipse at 75% 80%,rgba(0,0,0,.35),transparent 60%),radial-gradient(circle at 45% 40%,#2c5d57,#16302f 75%)}.koi-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform 1.2s cubic-bezier(.25,.8,.3,1)}.koi-card:hover .koi-photo:not([data-live]) img{transform:translate(4%) rotate(-1.5deg)}.koi-live{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.koi-photo[data-live] img{visibility:hidden}.koi-photo[data-state=loading]:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.08) 45%,transparent 70%);background-size:200% 100%;animation:portrait-shimmer 1.4s linear infinite}@keyframes portrait-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.rarity-badge{display:inline-block;padding:.12rem .55rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rarity, #9ca3af);background:#0206179e;border:1px solid rgba(148,163,184,.35)}.rarity-badge[data-rarity=uncommon]{border-color:#34d39973}.rarity-badge[data-rarity=rare]{border-color:#60a5fa80}.rarity-badge[data-rarity=legendary]{border-color:#fbbf2499;background:linear-gradient(120deg,#784806cc,#020617b3);box-shadow:0 0 12px #fbbf2459}.koi-card-badges{position:absolute;top:.6rem;left:.6rem;display:flex;flex-wrap:wrap;gap:.3rem}.new-badge{padding:.12rem .55rem;border-radius:999px;background:#10b981e6;color:#022c22;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.koi-size{position:absolute;top:.6rem;right:.6rem;padding:.12rem .5rem;border-radius:999px;background:#0206178c;color:#d1d5db;font-size:.75rem;font-variant-numeric:tabular-nums}.koi-card-body{flex:1;display:flex;flex-direction:column;gap:.4rem;padding:.8rem .9rem .95rem}.koi-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.koi-card-heading h3{margin:0;font-size:1.12rem}.koi-name-meaning{color:#6b7280;font-size:.82rem;font-weight:500;font-style:italic}.koi-price{color:#fcd679;font-weight:800}.koi-variety{margin:0;color:#cbd5e1;font-size:.9rem;font-weight:600}.koi-kanji{margin-left:.2rem;color:#94a3b8;font-weight:400}.koi-traits{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.koi-traits li{padding:.08rem .5rem;border-radius:999px;background:#60a5fa1f;border:1px solid rgba(96,165,250,.3);color:#bfdbfe;font-size:.72rem;font-weight:600;cursor:help}.koi-blurb{flex:1;margin:0;color:#9ca3af;font-size:.85rem;line-height:1.45}.koi-card .btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.35rem;padding:.6rem .8rem}.btn-owned,.btn-owned:disabled{opacity:1;cursor:default;background:#34d39924;border:1px solid rgba(52,211,153,.4);color:#6ee7b7}.btn-danger{background:#dc2626}.koi-card[data-fresh]{border-color:#34d39999;animation:koi-card-in .55s cubic-bezier(.2,.8,.3,1)}.koi-card[data-fresh] .koi-card-photo:after{content:"";position:absolute;top:50%;left:50%;width:40%;aspect-ratio:1;border-radius:50%;border:2px solid rgba(167,243,208,.85);transform:translate(-50%,-50%) scale(.2);animation:koi-ripple 1.3s ease-out forwards;pointer-events:none}@keyframes koi-card-in{0%{opacity:0;transform:translateY(.6rem) scale(.98)}}@keyframes koi-ripple{to{opacity:0;transform:translate(-50%,-50%) scale(3.2)}}.market-pond{display:grid;gap:.75rem}.market-note{margin:0;color:#9ca3af;font-size:.88rem}.market-empty{display:grid;justify-items:center;gap:.75rem;padding:2rem 1rem;border-radius:12px;border:1px dashed #334155;color:#9ca3af;text-align:center}.market-empty p{max-width:32rem;margin:0}.owned-list{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.owned-koi{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.5rem .75rem .5rem .5rem;border-radius:12px;background:#111827;border:1px solid #1f2937}.owned-koi .koi-photo{border-radius:8px}.owned-koi-info{display:grid;gap:.2rem;min-width:0}.owned-koi-info h3{margin:0;font-size:1.05rem}.owned-koi-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;color:#9ca3af;font-size:.8rem}.release-confirm{display:grid;gap:.45rem;justify-items:end;max-width:20rem}.release-confirm p{margin:0;font-size:.85rem;color:#e5e7eb;text-align:right}.release-confirm .coin-amount{color:#fcd679;font-weight:700}.release-actions{display:flex;gap:.4rem}.release-actions .btn{padding:.45rem .8rem}.market-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem;padding-top:.85rem;border-top:1px solid #1f2937;color:#9ca3af;font-size:.85rem;text-align:center}.market-footer .coin-amount{color:#fcd679;font-weight:700}.market-toast-region{position:fixed;left:50%;bottom:1.5rem;z-index:20;width:min(30rem,calc(100% - 2rem));transform:translate(-50%);pointer-events:none}.market-toast{margin:0;padding:.75rem 1rem;border-radius:12px;background:#0f172a;border:1px solid rgba(52,211,153,.45);color:#d1fae5;box-shadow:0 16px 40px #00000080;animation:toast-in .3s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)}}@media(max-width:560px){.market-panel{padding:1rem}.market-toolbar{align-items:stretch}.restock-control,.restock-confirm{width:100%}.restock-button{flex:1;justify-content:center}.owned-koi{grid-template-columns:6.5rem minmax(0,1fr)}.owned-koi>.btn,.release-confirm{grid-column:1 / -1;justify-self:stretch;max-width:none}.release-confirm{justify-items:stretch}.release-confirm p{text-align:left}}@media(prefers-reduced-motion:reduce){.header-action:hover .market-icon,.header-action:focus-visible .market-icon,.koi-photo[data-state=loading]:after,.koi-card[data-fresh],.koi-card[data-fresh] .koi-card-photo:after,.market-toast,.market-explainer summary:before{animation:none;transition:none}.coin-pop{display:none}.koi-card,.koi-card:hover,.koi-card:hover .koi-photo:not([data-live]) img{transform:none;transition:none}}.koi-guide{display:grid;gap:1.75rem;color:#d1d5db;line-height:1.6}.koi-guide .guide-back{justify-self:start}.guide-hero{display:grid;gap:.5rem;padding:1.25rem;border-radius:14px;background:radial-gradient(ellipse at 85% 20%,rgba(143,214,196,.18),transparent 55%),radial-gradient(circle at 20% 90%,#1f4a45,#122725 80%);border:1px solid rgba(94,234,212,.2)}.guide-kicker{margin:0;color:#5eead4;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.guide-hero h3{margin:0;color:#f9fafb;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2}.guide-lede{max-width:40rem;margin:0;color:#cbd5e1;font-size:1.02rem}.guide-contents{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.guide-contents button{padding:.3rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#02061766;color:#e2e8f0;font-size:.85rem;cursor:pointer}.guide-contents button:hover{border-color:#5eead4;color:#fff}.guide-section{display:grid;gap:.75rem;scroll-margin-top:1rem}.guide-section>p,.guide-group-blurb{max-width:44rem;margin:0}.guide-section h4{margin:0;color:#f9fafb;font-size:1.25rem}.guide-fact{max-width:44rem;padding:.8rem 1rem;border-left:3px solid #fbbf24;border-radius:0 10px 10px 0;background:#fbbf2414;color:#fde68a}.guide-example{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.guide-example span{display:grid;gap:.1rem;padding:.45rem .8rem;border-radius:10px;background:#111827;border:1px solid #1f2937;color:#f9fafb;font-weight:700}.guide-example small{color:#94a3b8;font-size:.78rem;font-weight:500}.guide-glossary{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem;margin:0}.guide-glossary div{padding:.55rem .75rem;border-radius:10px;background:#111827;border:1px solid #1f2937}.guide-glossary dt{color:#f9fafb;font-weight:700}.guide-glossary dd{margin:0;color:#9ca3af;font-size:.88rem}.guide-group{display:grid;gap:.5rem;margin-top:.75rem}.guide-group-title{margin:0;color:#e2e8f0;font-size:1.05rem}.guide-varieties,.guide-traits,.guide-liberties{margin:0;padding:0;list-style:none}.guide-varieties{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem}.guide-variety,.guide-trait{--rarity: #9ca3af;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:#111827;border:1px solid #1f2937;transition:border-color .25s ease}.guide-variety:hover,.guide-trait:hover{border-color:var(--rarity)}.guide-variety-text{display:grid;gap:.3rem;justify-items:start;padding:.7rem .8rem .85rem}.guide-variety h5,.guide-trait h5{margin:0;color:#f9fafb;font-size:1rem}.guide-variety p,.guide-trait p{margin:0;color:#9ca3af;font-size:.86rem;line-height:1.5}.guide-variety .guide-meaning{color:#cbd5e1;font-style:italic}.guide-traits{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem}.guide-trait h5,.guide-trait p{padding:0 .8rem}.guide-trait h5{padding-top:.7rem}.guide-trait p{padding-bottom:.85rem}.guide-liberties{display:grid;gap:.6rem;max-width:44rem}.guide-liberties li{position:relative;padding:.7rem .9rem .7rem 2.4rem;border-radius:10px;background:#111827;border:1px solid #1f2937}.guide-liberties li:before{position:absolute;top:.7rem;left:.85rem;font-weight:800}.guide-liberties li[data-kind=real]:before{content:"✓";color:#34d399}.guide-liberties li[data-kind=flair]:before{content:"✦";color:#fbbf24}.guide-liberties strong{color:#f9fafb}.particles-icon{display:inline-block;transition:transform .4s ease}.header-action:hover .particles-icon,.header-action:focus-visible .particles-icon{transform:rotate(72deg) scale(1.08)}.particle-panel{position:fixed;top:1rem;right:1rem;z-index:5;width:min(22rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:.6rem;padding:1rem 1.1rem 1.1rem;border-radius:16px;background:#0d1117eb;border:1px solid rgba(76,127,247,.3);box-shadow:0 20px 45px #0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f3f4f6}.particle-panel h2{margin:0;font-size:1.25rem}.particle-field{display:grid;grid-template-columns:6.75rem minmax(0,1fr) 3.25rem;align-items:center;gap:.6rem}.particle-field-wide{grid-template-columns:6.75rem minmax(0,1fr)}.particle-field label{display:block;font-size:.88rem;color:#d1d5db}.particle-field output{font-size:.8rem;color:#9ca3af;text-align:right;font-variant-numeric:tabular-nums}.particle-field select,.particle-field input[type=text]{width:100%;padding:.35rem .6rem;font-size:.9rem}.particle-field select{padding-right:2rem;background-position:right .6rem center}.particle-field input[type=range]{width:100%;padding:0;border:none;background:transparent;accent-color:#4c7ff7}.particle-field input[type=color]{width:2.75rem;height:1.75rem;padding:.1rem;border-radius:6px;cursor:pointer}.particle-toggle{font-weight:500;font-size:.9rem}.particle-field:has(:disabled),.particle-toggle:has(:disabled){opacity:.45}.particle-group{border-top:1px solid #1f2937;padding-top:.45rem}.particle-group summary{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-weight:700;cursor:pointer;list-style:none}.particle-group summary::-webkit-details-marker{display:none}.particle-group summary:before{content:"";width:.4rem;height:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}.particle-group[open] summary:before{transform:rotate(45deg)}.particle-group summary:focus-visible{outline:2px solid #4c7ff7;outline-offset:2px;border-radius:4px}.particle-group-body,.particle-subfields{display:grid;gap:.55rem}.particle-group-body{padding:.45rem 0 .3rem}.particle-subfields{min-width:0;margin:0;padding:0;border:none}@media(max-width:560px){.particle-panel{top:auto;left:.5rem;right:.5rem;bottom:.5rem;width:auto;max-height:60vh}}@media(prefers-reduced-motion:reduce){.particles-icon,.particle-group summary:before{transition:none}}.koi-growth,.goldfish-origin{margin:0;color:#9ca3af;font-size:.8rem}.goldfish-origin{color:#6b7280}.goldfish-card,[data-rarity=goldfish]{--rarity: #fb923c}.rarity-badge[data-rarity=goldfish]{border-color:#fb923c8c}.market-goldfish{display:grid;gap:.75rem}.koi-grown{color:#34d399;font-variant-numeric:tabular-nums}.owned-koi-worth{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;color:#d1d5db;font-size:.85rem}.koi-gain{color:#34d399;font-size:.78rem}.pond-summary{display:grid;gap:.3rem;padding:.9rem 1rem;border-radius:12px;background:linear-gradient(135deg,#78480659,#111827e6);border:1px solid rgba(251,191,36,.35)}.pond-summary-value{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.pond-summary-value h3{margin:0;color:#d1d5db;font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pond-value-amount{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.pond-value-amount .coin-icon{width:1.3rem;height:1.3rem}.pond-summary-growth,.pond-summary-count{margin:0;color:#9ca3af;font-size:.85rem}.pond-summary-growth{color:#a7f3d0}.market-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.koi-over-fish{cursor:grab}.koi-carrying,.koi-carrying *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.fish-card{--rarity: #9ca3af;position:fixed;top:0;left:0;z-index:5;width:min(20rem,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);overflow-y:auto;display:grid;gap:.45rem;padding:.9rem 1rem 1rem;border-radius:14px;background:#0d1117eb;border:1px solid color-mix(in srgb,var(--rarity) 45%,transparent);box-shadow:0 18px 40px #0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f3f4f6;visibility:hidden}.fish-card[data-placed]{visibility:visible;animation:fish-card-in .18s ease-out}@keyframes fish-card-in{0%{opacity:0;transform:translateY(4px) scale(.98)}}.fish-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.fish-card-header h2{margin:0;font-size:1.15rem}.fish-card-close{flex-shrink:0;padding:.1rem .35rem;border:none;border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer}.fish-card-close:hover,.fish-card-close:focus-visible{color:#f3f4f6;background:#94a3b826}.fish-card .koi-photo{border-radius:10px}.fish-card-meaning{margin:-.3rem 0 0;color:#6b7280;font-size:.8rem;font-style:italic}.fish-card-status{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0}.fish-card-activity{color:#9ca3af;font-size:.78rem}.fish-card-personality{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.fish-card-personality li{padding:.08rem .5rem;border-radius:999px;background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#a7f3d0;font-size:.72rem;font-weight:600}.fish-card-facts{display:grid;gap:.25rem;margin:.15rem 0 0;font-size:.84rem}.fish-card-facts div{display:flex;justify-content:space-between;gap:.75rem}.fish-card-facts dt{color:#9ca3af}.fish-card-facts dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere}.fish-card-facts .coin-amount{color:#fcd679;font-weight:700}.fish-card-note{color:#6b7280;font-size:.76rem}.fish-card-hint{margin:.1rem 0 0;color:#6b7280;font-size:.75rem}@media(prefers-reduced-motion:reduce){.fish-card[data-placed]{animation:none}}.fish-card-name,.fish-card-name-input{font:inherit;color:inherit}.fish-card-name{display:inline-flex;align-items:baseline;gap:.35rem;max-width:100%;padding:0;border:none;background:none;text-align:left;cursor:text}.fish-card-name-edit{color:#6b7280;font-size:.8em;opacity:0;transition:opacity .15s ease}.fish-card-name:hover .fish-card-name-edit,.fish-card-name:focus-visible .fish-card-name-edit{opacity:1}@media(hover:none){.fish-card-name-edit{opacity:.7}}.fish-card-name:focus-visible,.fish-card-name-input:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:4px}.fish-card-name-input{width:100%;min-width:0;padding:.05rem .35rem;border:1px solid rgba(96,165,250,.6);border-radius:6px;background:#020617b3}.fish-card-header h2{min-width:0;flex:1}.fish-card-header h2:has(.fish-card-name-input) .koi-name-meaning{display:none}
