:root{--bg:#07111f;--panel:#10243c;--panel2:#0c1b2c;--line:#284664;--text:#f2f7ff;--muted:#9fc3ec;--green:#21c15b;--yellow:#ffd84d;--red:#ff6464;--blue:#39b8ff}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#08172a,#030914);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.top{max-width:1240px;margin:0 auto;padding:28px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:26px;font-weight:900;color:white;text-decoration:none}nav a{color:white;text-decoration:none;margin-left:22px;font-weight:800}.wrap{max-width:1240px;margin:0 auto;padding:0 20px 60px}.card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}h1,h2,h3{margin-top:0}.grid{display:grid;gap:16px}.grid4{grid-template-columns:repeat(4,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:1fr 1fr}.stat{border:1px solid var(--line);border-radius:13px;padding:16px;background:rgba(255,255,255,.035)}.stat b{font-size:28px}.btn{display:inline-block;border:0;border-radius:11px;padding:13px 20px;font-weight:900;background:#233f61;color:white;text-decoration:none;cursor:pointer}.btn.green{background:var(--green)}.btn.red{background:#bf3333}.btn.yellow{background:#6f5b13;color:white}.btn.blue{background:#176aa4}.btn.ghost{background:#0b1726;border:1px solid var(--line)}input,select{width:100%;padding:12px;border-radius:10px;background:#07111f;border:1px solid var(--line);color:white}label{display:block;margin:12px 0 6px;color:var(--muted);font-weight:800}.alert{padding:14px;border-radius:12px;background:#0d3b32;border:1px solid #1e765f;margin-bottom:16px}.tank-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.tank-card{border:1px solid var(--line);background:#0b1b2d;border-radius:14px;padding:16px}.mission{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;background:#0a1727;display:flex;justify-content:space-between;gap:10px}.done{color:#20d56a;font-weight:900}.reward{color:var(--yellow);font-weight:900}.aquarium-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.aquarium-card:fullscreen{background:#06111f;padding:20px;overflow:auto}.aquarium-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.canvas-box{position:relative;background:#062035;border:1px solid var(--line);border-radius:14px;overflow:hidden}.canvas-box canvas{display:block;width:100%;height:auto;min-height:480px}.hint{position:absolute;left:12px;bottom:8px;color:#c8e5ff;font-size:14px}.fish-card{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:12px;background:#071626}.mini-table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left}.muted{color:var(--muted)}@media(max-width:900px){.grid4,.grid3,.grid2,.aquarium-layout{grid-template-columns:1fr}.top{display:block}nav a{display:inline-block;margin:12px 14px 0 0}.canvas-box canvas{min-height:340px}}
.alert.danger{background:#402028;border-color:#aa3c4a;color:#ffd3d8}.gen-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#12375a;border:1px solid var(--line);margin:2px;font-size:12px}.fish-card small{color:#b8d8ff}.canvas-box .hint a{color:#8bd8ff}
/* v9 — melhorias visuais do aquário */
.aquarium-card:fullscreen .canvas-box canvas{height:calc(100vh - 160px);width:100%;object-fit:contain;background:#061927}.aquarium-card:fullscreen{max-width:none;border-radius:0}.canvas-box{box-shadow:inset 0 0 45px rgba(30,130,190,.14)}.canvas-box canvas{background:#062035}.aquarium-toolbar select{min-width:220px}.fish-card ul{margin:8px 0 10px 18px;padding:0}.fish-card a.btn{margin-top:8px;margin-right:6px}.mission .done{white-space:nowrap}.tank-card p{line-height:1.45}
/* v10 — administração, busca e soltura */
.admin-cross-preview{margin-top:16px}.admin-cross-preview .fish-card{min-height:150px}.inline-actions select{max-width:360px}.mini-table details form{margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03)}.mini-table details summary{white-space:nowrap}.btn.yellow:hover,.btn.red:hover,.btn.green:hover,.btn.blue:hover{filter:brightness(1.08)}
/* v11 — cruzamento visual e busca refinada */
.cross-search .checkline{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--text);font-weight:700}.checkline input{width:auto}.cross-list{display:grid;gap:12px;max-height:780px;overflow:auto;padding-right:4px}.cross-fish-card{display:grid;grid-template-columns:165px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#071626;padding:10px;transition:.15s}.cross-fish-card:hover{border-color:#4aa0d5;transform:translateY(-1px)}.cross-fish-card.selected{border-color:#20d56a;box-shadow:0 0 0 2px rgba(32,213,106,.14)}.cross-fish-card canvas{width:165px;height:84px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#061927}.cross-fish-card p{margin:8px 0 10px;color:#b9d8f6;font-size:13px;line-height:1.35}.selected-fish-visual canvas{width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:#061927;margin-bottom:12px}.danger-badge{background:#401b24!important;border-color:#a83d52!important;color:#ffd6df!important}.btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
@media(max-width:700px){.cross-fish-card{grid-template-columns:1fr}.cross-fish-card canvas{width:100%;height:auto}.cross-list{max-height:none}}
/* v12 — menu contextual do aquário */
.fish-context-menu{position:fixed;z-index:99999;min-width:260px;max-width:330px;background:linear-gradient(180deg,#10233a,#071523);border:1px solid #386080;border-radius:14px;box-shadow:0 22px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05) inset;padding:10px;color:var(--text);font-size:14px;user-select:none}.ctx-title{font-weight:900;font-size:16px;margin:3px 4px 2px}.ctx-sub{color:var(--muted);font-size:12px;margin:0 4px 9px}.ctx-section{margin:10px 4px 6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);color:#9fc3ec;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.ctx-section.admin{color:#ffd84d}.ctx-action{display:block;width:100%;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0b1b2d;color:white;font-weight:800;margin:5px 0;padding:10px 12px;cursor:pointer}.ctx-action:hover{background:#153452;border-color:#4aa0d5}.ctx-action.greenish{background:#0d3b2a;border-color:#1e765f}.ctx-action.warn{background:#493b12;border-color:#8a711d}.ctx-action.danger{background:#4a1721;border-color:#b94d5d}.ctx-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ctx-row .ctx-action{font-size:12px;padding:8px}.ctx-muted{color:var(--muted);font-size:13px;padding:8px 4px}.fish-card .btn.blue{margin-top:8px;margin-right:6px}
/* v14 — editor genético visual */
.ctx-action.blueish{background:#123a5c;border-color:#2b83c0}.genetic-editor-layout{display:grid;grid-template-columns:420px 1fr;gap:18px}.genetic-preview-panel{position:sticky;top:18px}.genetic-preview-canvas{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);background:#061927;display:block}.genetic-live-box{border:1px solid var(--line);border-radius:14px;background:#071626;padding:14px;margin-top:14px;line-height:1.45}.select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.checkline.inline{display:inline-flex;margin-right:14px}.form-actions-sticky{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(12,27,44,.65),#0c1b2c);padding:14px 0 0;margin-top:16px}.color-chip{display:inline-block;width:14px;height:14px;border-radius:99px;margin-right:6px;vertical-align:-2px;border:1px solid rgba(255,255,255,.4)}@media(max-width:950px){.genetic-editor-layout{grid-template-columns:1fr}.genetic-preview-panel{position:static}.select-grid{grid-template-columns:1fr}}
/* v17 — perfis, medalhas e controles de tempo */
.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.achievement-card{background:rgba(5,18,34,.75);border:1px solid rgba(88,166,255,.25);border-radius:14px;padding:14px}.achievement-icon{font-size:32px;margin-bottom:8px}.alert.err{background:#3b1216;border:1px solid #ff6b6b;color:#ffd1d1}.alert.ok{background:#0e3522;border:1px solid #25d366;color:#d7ffe7}.checkline{display:block;margin:6px 0}.gen-badge{display:inline-block;padding:4px 8px;margin:4px 4px 0 0;border-radius:999px;background:rgba(61,132,255,.18);border:1px solid rgba(111,174,255,.35);font-size:.9rem}
/* v20 — marketplace visual, loja com saúde do aquário */
.market-card canvas,.market-sell-card canvas,.fish-card canvas[data-guppy-preview]{width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:#061927;margin-bottom:10px}.market-sell-card form{margin-top:12px}.health-bar{height:12px;border-radius:999px;background:#18304a;border:1px solid var(--line);overflow:hidden;margin:10px 0}.health-bar span{display:block;height:100%;background:linear-gradient(90deg,#ff5959,#ffd84d,#21c15b);border-radius:999px}.tank-card .grid2 form{margin:0}.tank-card .grid2 .btn{width:100%;padding:10px 8px;font-size:12px}.alert.err{background:#3b1216;border-color:#ff6b6b;color:#ffd1d1}.alert.ok{background:#0e3522;border-color:#25d366;color:#d7ffe7}

/* v26 — menu contextual horizontal estável baseado na v20 */
.fish-context-menu-horizontal{min-width:520px;max-width:min(760px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:12px;border-radius:16px}
.fish-context-menu-horizontal .ctx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.fish-context-menu-horizontal .ctx-close{border:1px solid rgba(255,255,255,.12);background:#10233a;color:#fff;border-radius:10px;font-size:20px;font-weight:900;width:34px;height:34px;cursor:pointer;line-height:1}
.fish-context-menu-horizontal .ctx-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fish-context-menu-horizontal .ctx-action{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:112px;margin:0;padding:9px 11px;text-align:center;white-space:nowrap}
.fish-context-menu-horizontal .ctx-action.compact{min-width:86px}
.fish-context-menu-horizontal .ctx-section{margin:10px 2px 7px;padding-top:8px}
.fish-context-menu-horizontal .ctx-move-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fish-context-menu-horizontal .ctx-select{min-width:260px;flex:1;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#071626;color:#fff;padding:10px 12px;font-weight:800}
@media(max-width:620px){.fish-context-menu-horizontal{min-width:0;width:calc(100vw - 16px)}.fish-context-menu-horizontal .ctx-action{min-width:calc(50% - 5px)}.fish-context-menu-horizontal .ctx-select{min-width:100%;width:100%}}
/* v26.8 — inventário gráfico e editor de aquário */
.decor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.decor-card{border:1px solid var(--line);border-radius:14px;background:#071626;padding:14px;margin-bottom:12px}.decor-icon{font-size:38px;line-height:1;margin-bottom:10px}.aqua-preview{position:relative;min-height:260px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#083454,#052033 65%,#513b24 66%,#725333);box-shadow:inset 0 0 50px rgba(70,170,230,.16);margin-bottom:16px}.aqua-light{position:absolute;inset:0;background:repeating-linear-gradient(105deg,rgba(185,225,255,.15) 0 42px,rgba(185,225,255,0) 42px 110px);opacity:.55}.aqua-waterline{position:absolute;left:0;right:0;top:24px;height:2px;background:rgba(190,230,255,.35)}.aqua-icons{position:absolute;left:16px;right:16px;bottom:46px;display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.aqua-icons span{font-size:42px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}.aqua-gravel{position:absolute;left:0;right:0;bottom:0;height:48px;background:radial-gradient(circle at 12px 13px,#b38954 0 4px,transparent 5px),radial-gradient(circle at 38px 24px,#62472e 0 5px,transparent 6px),radial-gradient(circle at 72px 16px,#987040 0 4px,transparent 5px);background-color:#5f462b;background-size:90px 48px}.installed-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:#0a1727;padding:6px 10px;margin:3px}.store-item-type{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:900;letter-spacing:.04em}.decor-card details{margin-top:12px}.decor-card .btn{margin-top:8px}

/* Etapa 27 — editor gráfico de aquário por arrastar e soltar */
.tank-editor-stage{position:relative;height:390px;border:1px solid rgba(120,190,255,.28);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#06304a 0%,#08243a 58%,#041726 100%);box-shadow:inset 0 0 45px rgba(0,0,0,.28);margin:14px 0}
.tank-editor-stage.drag-over{outline:3px dashed rgba(72,200,255,.85);outline-offset:-10px;filter:saturate(1.12)}
.tank-editor-light{position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.16),transparent 18%,transparent 32%,rgba(180,220,255,.10) 42%,transparent 55%,rgba(255,255,255,.08) 72%,transparent 85%);pointer-events:none}
.tank-editor-waterline{position:absolute;left:0;right:0;top:18px;height:2px;background:rgba(170,230,255,.25);box-shadow:0 0 12px rgba(120,210,255,.3)}
.tank-editor-gravel{position:absolute;left:0;right:0;bottom:0;height:43px;background:linear-gradient(180deg,#7d5b35,#5a3f25)}
.tank-editor-gravel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 38%,#caa36c 0 3px,transparent 4px),radial-gradient(circle at 18% 70%,#8f7145 0 4px,transparent 5px),radial-gradient(circle at 34% 32%,#d0ad79 0 3px,transparent 4px),radial-gradient(circle at 47% 66%,#92764a 0 5px,transparent 6px),radial-gradient(circle at 62% 40%,#d3b17e 0 3px,transparent 4px),radial-gradient(circle at 76% 72%,#8d7146 0 4px,transparent 5px),radial-gradient(circle at 90% 44%,#c6a26c 0 3px,transparent 4px);background-size:110px 38px;opacity:.75}
.installed-decor{position:absolute;cursor:grab;user-select:none;touch-action:none;font-size:32px;filter:drop-shadow(0 7px 6px rgba(0,0,0,.35));transition:filter .12s, transform .12s}
.installed-decor:active{cursor:grabbing;filter:drop-shadow(0 10px 10px rgba(0,0,0,.55)) brightness(1.15)}
.installed-decor span{display:block;line-height:1}
.decor-type-planta{font-size:40px}.decor-type-filtro{font-size:42px}.decor-type-luz{font-size:38px}.decor-type-solo{font-size:44px}.decor-type-decoracao{font-size:39px}
.tank-empty-tip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;border-radius:14px;background:rgba(3,18,31,.72);border:1px solid rgba(130,210,255,.22);color:#bfe0ff;text-align:center}
.inventory-drag-list{display:grid;gap:12px}.inventory-drag-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid rgba(120,190,255,.22);border-radius:16px;padding:12px;background:rgba(6,25,43,.72);cursor:grab}.inventory-drag-item:active{cursor:grabbing}.inventory-drag-item small{color:#a9cfff}.mini-install-form{margin:0}.decor-icon{font-size:32px;line-height:1}.decor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.decor-card{border:1px solid rgba(120,190,255,.22);border-radius:16px;padding:13px;background:rgba(5,23,40,.72)}
@media(max-width:800px){.inventory-drag-item{grid-template-columns:auto 1fr}.mini-install-form{grid-column:1/-1}.tank-editor-stage{height:320px}.installed-decor{font-size:28px}}

/* Etapa 28 — otimização, performance e chat */
.chat-wrap{max-width:920px;margin-left:auto;margin-right:auto}.chat-box{height:430px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#071626;padding:12px;margin-bottom:12px}.chat-msg{display:grid;grid-template-columns:42px 1fr;gap:10px;border-bottom:1px solid rgba(255,255,255,.06);padding:9px 0}.chat-avatar{width:38px;height:38px;border-radius:12px;background:#102d48;display:flex;align-items:center;justify-content:center;font-size:22px}.chat-body small{color:var(--muted);margin-left:6px}.chat-emoji{font-size:22px;vertical-align:-3px}.chat-form{display:grid;grid-template-columns:1fr auto;gap:10px}.emoji-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.emoji-btn{border:1px solid var(--line);border-radius:10px;background:#0b1726;color:white;font-size:22px;padding:8px 10px;cursor:pointer}.emoji-btn:hover{background:#153452}.chat-block{border:0;background:#22384f;color:#bfe0ff;border-radius:8px;padding:3px 7px;margin-left:8px;cursor:pointer}.perf-on{box-shadow:0 0 0 2px rgba(33,193,91,.2)}
@media(max-width:700px){.chat-form{grid-template-columns:1fr}.chat-box{height:360px}}
/* v28.1 — editor visual fino dos itens do aquário */
.decor-custom-form{display:grid;gap:8px;margin:10px 0 12px;padding:10px;border:1px solid rgba(120,190,255,.18);border-radius:12px;background:rgba(3,13,24,.42)}
.decor-custom-form label{display:grid;grid-template-columns:105px 1fr;gap:8px;align-items:center;font-size:13px;color:#b9d8ff}
.decor-custom-form input[type="range"]{width:100%}
.decor-custom-form input[type="color"]{width:52px;height:34px;padding:2px;border:1px solid rgba(120,190,255,.25);border-radius:8px;background:#081521}
.installed-decor{border-radius:999px}
.installed-decor:hover{outline:2px solid var(--decor-color, rgba(90,210,230,.85));outline-offset:4px}
.installed-decor span{filter:drop-shadow(0 0 8px var(--decor-color, rgba(90,210,230,.35)))}

/* v28.2 — aquário sem dica fixa e itens mais realistas */
.canvas-box .hint{display:none!important}
.tank-editor-stage{background:linear-gradient(180deg,#063653 0%,#08263c 58%,#041625 100%)}
.tank-editor-gravel{display:none!important}
.installed-decor.real-decor{width:72px;height:92px;font-size:0;display:block;border-radius:0;outline:0!important;filter:drop-shadow(0 8px 7px rgba(0,0,0,.38));}
.installed-decor.real-decor span{display:none!important}
.installed-decor.real-decor::before,.installed-decor.real-decor::after{content:"";position:absolute;display:block;left:50%;top:50%;transform:translate(-50%,-50%)}
.installed-decor.real-decor:hover{filter:drop-shadow(0 9px 9px rgba(0,0,0,.42)) brightness(1.12)}

/* solos ficam como faixa real no fundo e respeitam cor/transparência */
.installed-decor.real-decor.decor-type-solo{width:230px;height:42px;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--decor-color,#9a7b55) 72%,#fff 8%),var(--decor-color,#9a7b55));box-shadow:inset 0 8px 12px rgba(255,255,255,.10),inset 0 -12px 18px rgba(0,0,0,.28);}
.installed-decor.real-decor.decor-type-solo::before{inset:0;left:0;top:0;transform:none;background:radial-gradient(circle at 12% 45%,rgba(255,240,200,.46) 0 4px,transparent 5px),radial-gradient(circle at 28% 70%,rgba(60,40,25,.26) 0 5px,transparent 6px),radial-gradient(circle at 46% 35%,rgba(255,235,190,.35) 0 3px,transparent 4px),radial-gradient(circle at 67% 75%,rgba(75,50,30,.25) 0 5px,transparent 6px),radial-gradient(circle at 84% 40%,rgba(255,235,190,.34) 0 3px,transparent 4px);background-size:82px 36px;border-radius:inherit;opacity:.95}

/* plantas reais estilizadas */
.installed-decor.real-decor.decor-type-planta{height:118px;width:82px;}
.installed-decor.real-decor.decor-type-planta::before{width:4px;height:96px;bottom:0;top:auto;transform:translateX(-50%);background:linear-gradient(180deg,color-mix(in srgb,var(--decor-color,#4fc878) 80%,#fff 8%),color-mix(in srgb,var(--decor-color,#4fc878) 80%,#000 18%));border-radius:999px;box-shadow:-18px 18px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 85%,#000 12%),18px 16px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 85%,#000 12%),-8px 36px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 80%,#000 10%),10px 50px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 80%,#000 10%)}
.installed-decor.real-decor.decor-type-planta::after{width:72px;height:92px;background:radial-gradient(ellipse at 30% 18%,color-mix(in srgb,var(--decor-color,#4fc878) 80%,#fff 7%) 0 8px,transparent 9px),radial-gradient(ellipse at 65% 30%,color-mix(in srgb,var(--decor-color,#4fc878) 85%,#000 8%) 0 9px,transparent 10px),radial-gradient(ellipse at 38% 48%,color-mix(in srgb,var(--decor-color,#4fc878) 82%,#000 5%) 0 8px,transparent 9px),radial-gradient(ellipse at 67% 62%,color-mix(in srgb,var(--decor-color,#4fc878) 80%,#000 12%) 0 10px,transparent 11px),radial-gradient(ellipse at 45% 78%,color-mix(in srgb,var(--decor-color,#4fc878) 90%,#000 8%) 0 8px,transparent 9px);opacity:.94}
.installed-decor.real-decor.decor-key-planta_vallisneria::after,.installed-decor.real-decor.decor-key-planta_espada_amazonica::after{width:95px;height:135px;background:repeating-linear-gradient(92deg,transparent 0 8px,color-mix(in srgb,var(--decor-color,#55c979) 75%,#000 6%) 9px 12px,transparent 13px 20px);border-radius:55% 45% 0 0;clip-path:polygon(45% 100%,50% 0,56% 100%,63% 8%,66% 100%,34% 100%,36% 12%)}
.installed-decor.real-decor.decor-key-planta_cabomba::after,.installed-decor.real-decor.decor-key-planta_rabo_raposa::after,.installed-decor.real-decor.decor-key-planta_musgo_java::after{width:88px;height:105px;background:radial-gradient(circle at 50% 12%,var(--decor-color,#61d889) 0 4px,transparent 5px),radial-gradient(circle at 42% 28%,var(--decor-color,#61d889) 0 4px,transparent 5px),radial-gradient(circle at 60% 36%,var(--decor-color,#61d889) 0 4px,transparent 5px),radial-gradient(circle at 35% 52%,var(--decor-color,#61d889) 0 4px,transparent 5px),radial-gradient(circle at 65% 66%,var(--decor-color,#61d889) 0 4px,transparent 5px),radial-gradient(circle at 50% 82%,var(--decor-color,#61d889) 0 4px,transparent 5px);opacity:.95}
.installed-decor.real-decor.decor-key-planta_salvinia,.installed-decor.real-decor.decor-key-planta_frogbit,.installed-decor.real-decor.decor-key-planta_lentilha_dagua{width:120px;height:38px;}
.installed-decor.real-decor.decor-key-planta_salvinia::before,.installed-decor.real-decor.decor-key-planta_frogbit::before,.installed-decor.real-decor.decor-key-planta_lentilha_dagua::before{width:110px;height:35px;background:radial-gradient(ellipse at 12% 48%,var(--decor-color,#75d56b) 0 8px,transparent 9px),radial-gradient(ellipse at 28% 42%,var(--decor-color,#75d56b) 0 9px,transparent 10px),radial-gradient(ellipse at 45% 55%,var(--decor-color,#75d56b) 0 8px,transparent 9px),radial-gradient(ellipse at 62% 45%,var(--decor-color,#75d56b) 0 10px,transparent 11px),radial-gradient(ellipse at 82% 50%,var(--decor-color,#75d56b) 0 8px,transparent 9px);opacity:.92}
.installed-decor.real-decor.decor-key-planta_frogbit::after{width:70px;height:70px;top:95%;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(210,190,130,.35) 8px 9px,transparent 10px 15px);clip-path:polygon(0 0,100% 0,70% 100%,30% 100%);opacity:.55}

/* filtros, luzes e rochas/troncos */
.installed-decor.real-decor.decor-type-filtro{width:46px;height:116px;border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--decor-color,#263f50) 70%,#fff 12%),var(--decor-color,#263f50));box-shadow:inset 0 0 0 2px rgba(180,230,255,.22),inset 0 -14px 16px rgba(0,0,0,.25)}
.installed-decor.real-decor.decor-type-filtro::before{width:26px;height:94px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.18) 0 3px,transparent 4px 10px);border-radius:8px;opacity:.75}
.installed-decor.real-decor.decor-type-luz{width:115px;height:18px;border-radius:999px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--decor-color,#dcefff) 70%,#fff 20%),transparent);box-shadow:0 16px 50px 26px color-mix(in srgb,var(--decor-color,#dcefff) 36%,transparent)}
.installed-decor.real-decor.decor-type-decoracao{width:90px;height:54px;}
.installed-decor.real-decor.decor-type-decoracao::before{width:82px;height:42px;border-radius:49% 51% 44% 56%;background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.22),transparent 20%),linear-gradient(145deg,color-mix(in srgb,var(--decor-color,#756c61) 85%,#fff 8%),color-mix(in srgb,var(--decor-color,#756c61) 80%,#000 20%));box-shadow:22px 8px 0 -8px color-mix(in srgb,var(--decor-color,#756c61) 82%,#000 10%),-22px 11px 0 -10px color-mix(in srgb,var(--decor-color,#756c61) 82%,#000 8%)}
.installed-decor.real-decor.decor-key-tronco_natural::before{width:95px;height:30px;border-radius:55% 45% 50% 50%;background:linear-gradient(90deg,color-mix(in srgb,var(--decor-color,#6a4329) 80%,#000 18%),var(--decor-color,#6a4329),color-mix(in srgb,var(--decor-color,#6a4329) 80%,#fff 9%));box-shadow:inset 0 4px 0 rgba(255,255,255,.10),inset 0 -5px 0 rgba(0,0,0,.18)}

.decor-custom-form .live-value{font-weight:900;color:#e8f5ff;min-width:46px;text-align:right}


/* v31 — menu agrupado, responsivo, rodapé fixo e identidade visual */
.top-v31{position:sticky;top:0;z-index:2000;max-width:none;margin:0;padding:10px 18px;background:rgba(4,13,24,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(92,205,255,.18);box-shadow:0 14px 40px rgba(0,0,0,.22)}
.topbar-v31{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand-v31{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:.02em}.brand-v31:hover{filter:brightness(1.12)}.brand-logo{width:48px;height:48px;border-radius:16px;object-fit:cover;box-shadow:0 0 28px rgba(0,233,255,.32),0 0 0 1px rgba(255,255,255,.12)}.brand-v31 small{display:block;font-size:11px;color:#8fd8ff;font-weight:800;margin-top:2px}.menu-toggle-v31{display:none;width:46px;height:42px;border:1px solid rgba(117,217,255,.22);border-radius:13px;background:#071b2d;color:white;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle-v31 span{display:block;width:22px;height:2px;background:#eaf8ff;border-radius:99px;transition:.18s}.menu-toggle-v31.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle-v31.open span:nth-child(2){opacity:0}.menu-toggle-v31.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-v31{max-width:1320px;margin:8px auto 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-v31 a{margin:0}.nav-group{position:relative}.nav-group>summary{list-style:none;cursor:pointer;user-select:none;border:1px solid rgba(117,217,255,.20);border-radius:999px;padding:10px 14px;background:linear-gradient(180deg,#10253d,#081827);color:#f2f7ff;font-weight:900}.nav-group>summary::-webkit-details-marker{display:none}.nav-group[open]>summary,.nav-group>summary:hover{border-color:#31d8ff;box-shadow:0 0 0 3px rgba(37,205,255,.08)}.admin-group>summary{border-color:rgba(255,216,77,.35);background:linear-gradient(180deg,#3b2b09,#121509)}.nav-drop{position:absolute;left:0;top:calc(100% + 8px);min-width:230px;padding:8px;background:linear-gradient(180deg,#10233a,#071523);border:1px solid rgba(117,217,255,.22);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.45);display:grid;gap:5px}.nav-link{display:flex!important;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;color:#eef8ff!important;text-decoration:none!important;font-weight:850}.nav-link:hover,.nav-link.active{background:rgba(67,196,255,.13)}.nav-ico{width:23px;text-align:center}.nav-exit{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#311320;border:1px solid rgba(255,100,100,.30);color:#ffdbe2!important;text-decoration:none!important;font-weight:900}.wrap-v31{padding-top:22px}.site-footer-v31{border-top:1px solid rgba(92,205,255,.16);background:linear-gradient(180deg,#06111f,#020812);padding:26px 18px 34px;color:#cce8ff}.footer-inner-v31{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:280px 1fr auto;gap:18px;align-items:center}.footer-brand-v31{display:flex;gap:12px;align-items:center}.footer-brand-v31 img{width:58px;height:58px;border-radius:18px;object-fit:cover;box-shadow:0 0 22px rgba(0,233,255,.22)}.footer-brand-v31 span,.site-footer-v31 small{color:#95bfe9}.footer-about-v31{line-height:1.45}.footer-about-v31 code{background:#081827;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:2px 6px;color:#fff}.footer-links-v31{display:flex;gap:10px;flex-wrap:wrap}.footer-links-v31 a{color:#9eeaff;text-decoration:none;font-weight:800}.precision-panel{margin-top:14px}.precision-panel .select-grid{margin-top:8px}.genotype-note{font-size:12px;color:#9fc3ec;margin-top:6px}.logo-preview-v31{max-width:180px;border-radius:22px;border:1px solid var(--line)}
@media(max-width:900px){.top-v31{padding:9px 12px}.topbar-v31{display:flex}.brand-logo{width:42px;height:42px}.menu-toggle-v31{display:flex}.nav-v31{display:none;margin-top:10px;align-items:stretch}.nav-v31.open{display:grid;gap:8px}.nav-group{width:100%}.nav-group>summary{border-radius:14px}.nav-drop{position:static;box-shadow:none;margin-top:8px;border-radius:14px;background:rgba(8,22,38,.82)}.nav-exit{justify-content:center;border-radius:14px}.footer-inner-v31{grid-template-columns:1fr}.footer-links-v31{justify-content:flex-start}.select-grid{grid-template-columns:1fr!important}.genetic-editor-layout{grid-template-columns:1fr!important}.genetic-preview-panel{position:relative!important;top:auto!important}.aquarium-toolbar .btn,.aquarium-toolbar select{width:100%;max-width:none!important;text-align:center}.canvas-box canvas{min-height:320px}}
@media(min-width:901px){.nav-group:not([open]) .nav-drop{display:none}.nav-group[open] .nav-drop{display:grid}}


/* v32 beta — refinamento visual do menu, editor e aquário */
.top-v31{background:radial-gradient(circle at 20% 0,rgba(0,229,255,.14),transparent 34%),linear-gradient(180deg,rgba(3,13,25,.94),rgba(3,10,20,.88));}
.nav-group>summary{display:flex;align-items:center;gap:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.nav-drop{backdrop-filter:blur(14px);}
.nav-link{transition:background .16s,transform .16s}.nav-link:hover{transform:translateX(2px)}
.site-footer-v31{background:radial-gradient(circle at 10% 0,rgba(0,231,255,.10),transparent 30%),linear-gradient(180deg,#06111f,#020812)}
.genetic-preview-canvas{background:linear-gradient(180deg,#052a42,#03111d);border-radius:16px;border:1px solid rgba(98,207,255,.20)}
.genetic-live-box{border:1px solid rgba(112,211,255,.16);border-radius:16px;background:rgba(7,23,39,.52);padding:12px;margin-top:12px}
@media(max-width:900px){.nav-v31.open{padding:10px;border:1px solid rgba(98,207,255,.16);border-radius:18px;background:rgba(4,13,24,.92)}.brand-v31 small{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-brand-v31 img{width:48px;height:48px}}


/* v33 beta — prévia genética maior, peitoral pós-opérculo, plantas/solo e menu que recolhe */
.genetic-editor-layout{display:grid;grid-template-columns:minmax(420px,620px) 1fr;gap:18px;align-items:start}.genetic-preview-panel{position:sticky;top:96px}.genetic-preview-canvas{width:100%;max-width:760px;aspect-ratio:760/420;display:block}.genetic-live-box b{color:#ffffff}.form-actions-sticky{position:sticky;bottom:0;z-index:30;background:linear-gradient(180deg,rgba(8,20,34,.55),rgba(8,20,34,.96));padding:12px 0 0;margin-top:16px;border-top:1px solid rgba(98,207,255,.14)}
.canvas-box::before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;background:linear-gradient(90deg,transparent,rgba(180,245,255,.65),transparent);box-shadow:0 0 16px rgba(120,220,255,.44);pointer-events:none;z-index:3}.canvas-box::after{content:"";position:absolute;left:0;right:0;top:0;height:26px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.015));pointer-events:none;z-index:2}.tank-editor-waterline,.aqua-waterline{top:26px;height:2px;background:linear-gradient(90deg,transparent,rgba(180,245,255,.58),transparent);box-shadow:0 0 16px rgba(120,220,255,.35)}
.installed-decor.real-decor.decor-type-solo{height:48px;border-radius:22px 22px 12px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--decor-color,#9a7b55) 68%,#fff 10%),color-mix(in srgb,var(--decor-color,#9a7b55) 82%,#000 10%) 44%,var(--decor-color,#9a7b55));box-shadow:inset 0 8px 12px rgba(255,255,255,.12),inset 0 -16px 22px rgba(0,0,0,.32),0 -3px 12px rgba(255,230,180,.08)}
.installed-decor.real-decor.decor-type-solo::before{background:radial-gradient(circle at 10% 42%,rgba(255,240,200,.50) 0 3px,transparent 4px),radial-gradient(circle at 24% 72%,rgba(50,35,25,.32) 0 5px,transparent 6px),radial-gradient(circle at 38% 35%,rgba(255,235,190,.40) 0 2px,transparent 3px),radial-gradient(circle at 52% 72%,rgba(70,50,35,.30) 0 4px,transparent 5px),radial-gradient(circle at 67% 47%,rgba(220,185,125,.38) 0 3px,transparent 4px),radial-gradient(circle at 82% 66%,rgba(65,45,30,.28) 0 5px,transparent 6px),radial-gradient(circle at 93% 36%,rgba(255,235,190,.36) 0 3px,transparent 4px);background-size:105px 44px;}
.installed-decor.real-decor.decor-type-planta{height:136px;width:92px;filter:drop-shadow(0 8px 8px rgba(0,0,0,.40)) drop-shadow(0 0 12px color-mix(in srgb,var(--decor-color,#4fc878) 35%,transparent))}.installed-decor.real-decor.decor-type-planta::before{width:5px;height:112px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--decor-color,#4fc878) 76%,#fff 14%),color-mix(in srgb,var(--decor-color,#4fc878) 82%,#000 20%));box-shadow:-22px 22px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 85%,#000 15%),22px 18px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 86%,#000 14%),-10px 43px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 82%,#000 12%),13px 60px 0 -1px color-mix(in srgb,var(--decor-color,#4fc878) 82%,#000 12%)}.installed-decor.real-decor.decor-type-planta::after{filter:drop-shadow(0 4px 3px rgba(0,0,0,.16))}
.installed-decor.real-decor.decor-key-planta_vallisneria::after,.installed-decor.real-decor.decor-key-planta_espada_amazonica::after{width:110px;height:155px;background:repeating-linear-gradient(91deg,transparent 0 7px,color-mix(in srgb,var(--decor-color,#55c979) 78%,#000 8%) 8px 10px,transparent 11px 18px);clip-path:polygon(45% 100%,50% 0,55% 100%,62% 6%,65% 100%,36% 100%,38% 9%,42% 100%)}
.installed-decor.real-decor.decor-key-planta_salvinia,.installed-decor.real-decor.decor-key-planta_frogbit,.installed-decor.real-decor.decor-key-planta_lentilha_dagua{height:44px;z-index:6}.installed-decor.real-decor.decor-key-planta_salvinia::before,.installed-decor.real-decor.decor-key-planta_frogbit::before,.installed-decor.real-decor.decor-key-planta_lentilha_dagua::before{filter:drop-shadow(0 4px 5px rgba(0,0,0,.25));background:radial-gradient(ellipse at 12% 48%,color-mix(in srgb,var(--decor-color,#75d56b) 84%,#fff 8%) 0 8px,transparent 9px),radial-gradient(ellipse at 28% 42%,color-mix(in srgb,var(--decor-color,#75d56b) 88%,#000 6%) 0 9px,transparent 10px),radial-gradient(ellipse at 45% 55%,var(--decor-color,#75d56b) 0 8px,transparent 9px),radial-gradient(ellipse at 62% 45%,color-mix(in srgb,var(--decor-color,#75d56b) 88%,#fff 7%) 0 10px,transparent 11px),radial-gradient(ellipse at 82% 50%,color-mix(in srgb,var(--decor-color,#75d56b) 86%,#000 6%) 0 8px,transparent 9px)}
@media(max-width:900px){.genetic-editor-layout{grid-template-columns:1fr}.genetic-preview-panel{position:relative;top:auto}.genetic-preview-canvas{max-width:100%;min-height:260px}.form-actions-sticky .btn{width:100%;margin-top:8px}}

/* v34 beta — corpo do guppy 15–20% mais robusto, delta 50% maior, sem sombra nos peixes, nadadeiras anatômicas. */

/* v35 beta — login/cadastro/recuperação de senha com avisos elegantes */
.auth-shell-v35{min-height:calc(100vh - 260px);display:grid;place-items:start center;padding:28px 0 44px}.auth-card-v35{width:min(100%,560px);background:radial-gradient(circle at 18% 0,rgba(0,229,255,.16),transparent 34%),linear-gradient(180deg,#112945,#071524);border:1px solid rgba(111,215,255,.22);border-radius:24px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)}.auth-card-v35 h1{font-size:34px;line-height:1.08;margin:10px 0 8px}.auth-badge-v35{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(111,215,255,.25);background:rgba(57,184,255,.08);color:#bdeeff;font-weight:900;border-radius:999px;padding:8px 12px}.auth-subtitle-v35{color:#a7c9ee;margin:0 0 20px;line-height:1.45}.auth-form-v35{margin-top:14px}.auth-form-v35 input{background:#061421;border-color:rgba(119,207,255,.24);transition:border-color .16s,box-shadow .16s,background .16s}.auth-form-v35 input:focus{outline:none;border-color:#3dd3ff;box-shadow:0 0 0 4px rgba(61,211,255,.12);background:#071b2d}.auth-main-btn-v35{width:100%;margin-top:18px;font-size:16px}.auth-row-v35{display:flex;justify-content:flex-end;margin-top:10px}.auth-row-v35 a,.auth-foot-v35 a,.inline-link-v35{color:#93e8ff;text-decoration:none;font-weight:900}.auth-row-v35 a:hover,.auth-foot-v35 a:hover,.inline-link-v35:hover{text-decoration:underline}.auth-foot-v35{margin-top:20px;padding-top:16px;border-top:1px solid rgba(120,209,255,.14);color:#a8c9ec;text-align:center}.alert-v35{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border-radius:16px;padding:14px 15px;margin:14px 0;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.alert-v35 b{display:block;margin-bottom:3px;color:#fff}.alert-v35 p{margin:0;line-height:1.45;color:#e8f6ff}.alert-icon-v35{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.10)}.alert-success{background:linear-gradient(180deg,rgba(21,200,106,.18),rgba(8,64,45,.35));border-color:rgba(21,200,106,.38)}.alert-danger{background:linear-gradient(180deg,rgba(255,100,100,.18),rgba(80,20,30,.38));border-color:rgba(255,100,100,.40)}.alert-warning{background:linear-gradient(180deg,rgba(255,216,77,.18),rgba(83,64,16,.36));border-color:rgba(255,216,77,.42)}.alert-info{background:linear-gradient(180deg,rgba(57,184,255,.16),rgba(20,63,96,.36));border-color:rgba(57,184,255,.34)}
@media(max-width:680px){.auth-shell-v35{padding:16px 0 28px}.auth-card-v35{border-radius:18px;padding:20px}.auth-card-v35 h1{font-size:28px}.alert-v35{grid-template-columns:1fr}.alert-icon-v35{width:30px;height:30px}.auth-row-v35{justify-content:center}.auth-main-btn-v35{padding:14px 16px}}

/* v37 beta — padrão corporal genético + camada H/M no aquário */
.marker-toggle{display:inline-flex!important;align-items:center;gap:8px;cursor:pointer;user-select:none}.marker-toggle input{accent-color:#36d5ff;transform:scale(1.1)}
.gen-badge.marker-badge{background:rgba(80,225,255,.16);border-color:rgba(80,225,255,.32);color:#dffbff}
@media(max-width:900px){.marker-toggle{justify-content:center;width:100%}}

/* v38 beta — listagens visuais, trocas com preview, genética destacada e menu recolhível */
.fish-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:stretch}.fish-visual-card{border:1px solid rgba(91,175,230,.24);border-radius:18px;background:linear-gradient(180deg,rgba(8,27,45,.92),rgba(5,16,28,.94));padding:12px;box-shadow:0 16px 48px rgba(0,0,0,.22);transition:transform .16s,border-color .16s,box-shadow .16s}.fish-visual-card:hover{transform:translateY(-2px);border-color:rgba(79,211,255,.55);box-shadow:0 18px 60px rgba(0,0,0,.32),0 0 0 1px rgba(79,211,255,.10) inset}.fish-visual-card canvas,.fish-select-card canvas,.trade-fish-preview canvas{width:100%;height:auto;border:1px solid rgba(124,218,255,.12);border-radius:14px;background:#061927;display:block;margin-bottom:10px}.fish-card-headline{display:flex;align-items:center;justify-content:space-between;gap:10px}.fish-card-headline h3{margin:0;font-size:18px}.fish-sex-pill{display:inline-grid;place-items:center;min-width:36px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-weight:900}.fish-sex-pill.male{background:rgba(57,184,255,.18);color:#bdeeff}.fish-sex-pill.female{background:rgba(255,115,185,.18);color:#ffd8ef}.fish-badge-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.fish-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fish-card-actions .btn{padding:10px 12px;font-size:13px}.fish-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin:8px 0 14px}.fish-select-grid.compact{max-height:520px;overflow:auto;padding-right:4px}.fish-select-card{display:block;position:relative;border:1px solid rgba(91,175,230,.22);border-radius:16px;background:linear-gradient(180deg,rgba(7,22,38,.92),rgba(4,14,25,.95));padding:10px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.fish-select-card:hover{transform:translateY(-1px);border-color:rgba(79,211,255,.55)}.fish-select-card input[type=radio]{position:absolute;top:10px;right:10px;width:22px;height:22px;accent-color:#32d6ff;z-index:2}.fish-select-card:has(input[type=radio]:checked){border-color:#21c15b;box-shadow:0 0 0 2px rgba(33,193,91,.22),0 18px 46px rgba(0,0,0,.24)}.fish-select-title{display:block;font-weight:900;color:#fff;line-height:1.25}.fish-select-meta{display:block;color:#a8c9ec;font-size:13px;margin-top:4px;line-height:1.35}.fish-select-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.fish-select-card.free-trade{padding:14px 46px 14px 14px}.trade-card{background:linear-gradient(180deg,rgba(8,27,45,.92),rgba(5,16,28,.96))}.trade-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.trade-fish-preview{border:1px solid rgba(91,175,230,.20);border-radius:14px;padding:10px;background:rgba(4,14,25,.76)}.trade-fish-preview.missing{min-height:120px}.trade-fish-preview p{margin:6px 0}.phenotype-panel canvas{width:100%;height:auto;max-width:100%;border-radius:16px;border:1px solid rgba(124,218,255,.16);background:#061927}.phenotype-summary-highlight{margin:12px 0;padding:12px 14px;border-radius:14px;background:linear-gradient(90deg,rgba(57,184,255,.14),rgba(33,193,91,.10));border:1px solid rgba(85,214,255,.24);font-size:16px}.phenotype-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}.phenotype-badge{display:block;border:1px solid rgba(124,218,255,.16);border-radius:14px;background:rgba(9,26,43,.74);padding:10px;min-height:72px}.phenotype-badge small{display:block;color:#95c4ee;font-weight:900;margin-bottom:4px}.phenotype-badge b{display:block;color:#fff;font-size:14px;line-height:1.25;word-break:break-word}.phenotype-badge.primary{border-color:rgba(77,211,255,.42);background:linear-gradient(180deg,rgba(57,184,255,.18),rgba(8,26,44,.84));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.phenotype-morph-box{margin-top:12px;border:1px solid rgba(124,218,255,.14);border-radius:14px;background:rgba(3,13,23,.52);padding:12px;line-height:1.55;color:#cfe9ff}.genotype-table-v38 tr.genotype-hetero td{background:linear-gradient(90deg,rgba(57,184,255,.22),rgba(57,184,255,.08));border-bottom-color:rgba(80,225,255,.35)}.genotype-table-v38 tr.genotype-hetero td:first-child{border-left:4px solid #49dfff;color:#e9fbff}.genotype-table-v38 .marker-badge{white-space:nowrap}.nav-group .nav-drop{will-change:opacity,transform}.nav-group[open] .nav-drop{animation:navDropIn .13s ease-out}@keyframes navDropIn{from{opacity:.65;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.fish-visual-grid,.fish-select-grid,.trade-preview-grid,.phenotype-focus-grid{grid-template-columns:1fr}.fish-select-grid.compact{max-height:none}.fish-card-actions .btn{width:100%;text-align:center}.trade-fish-preview canvas{max-height:190px;object-fit:contain}}

/* v39 beta — Medalha Fundador Beta com janela de 3 meses */
.beta-admin-card h1{display:flex;align-items:center;gap:10px}.beta-window-box{margin:16px 0;padding:14px 16px;border-radius:16px;background:linear-gradient(90deg,rgba(255,216,77,.16),rgba(57,184,255,.10));border:1px solid rgba(255,216,77,.30);line-height:1.55}.beta-config-form{margin-top:16px;padding-top:14px;border-top:1px solid rgba(124,218,255,.14)}.beta-check{height:100%;align-items:center;justify-content:center;border:1px solid rgba(124,218,255,.18);border-radius:14px;background:rgba(7,22,38,.68);padding:12px}.beta-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.beta-actions-row form{margin:0}.beta-dashboard-alert{border-color:rgba(255,216,77,.32)!important;background:linear-gradient(90deg,rgba(255,216,77,.13),rgba(0,216,255,.10))!important}.achievement-card:has(.achievement-icon:first-child){position:relative}@media(max-width:720px){.beta-actions-row .btn{width:100%}.beta-actions-row form{width:100%}}

/* v40 beta — landing page, heredograma e cauda ornamental ligada ao sexo */
.landing-hero-v40{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,560px);gap:28px;align-items:center;margin:20px 0 28px}.landing-hero-text{padding:28px 0}.landing-kicker{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(77,211,255,.30);background:rgba(57,184,255,.10);color:#c8f6ff;border-radius:999px;padding:8px 12px;font-weight:900}.landing-hero-v40 h1{font-size:clamp(38px,6vw,70px);line-height:.98;margin:18px 0 14px;letter-spacing:-.04em}.landing-hero-v40 p{font-size:18px;line-height:1.55;color:#cbe4ff;max-width:760px}.landing-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.landing-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.landing-badges span,.landing-checks li{border:1px solid rgba(124,218,255,.18);background:rgba(7,22,38,.72);border-radius:999px;padding:8px 11px;color:#d8f5ff;font-weight:800}.landing-aquarium-card{position:relative;min-height:430px;border:1px solid rgba(124,218,255,.24);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 20% 5%,rgba(180,240,255,.18),transparent 25%),linear-gradient(180deg,#074766 0%,#062943 56%,#04182a 100%);box-shadow:0 34px 110px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.10)}.landing-waterline{position:absolute;left:0;right:0;top:28px;height:2px;background:rgba(160,235,255,.45);box-shadow:0 0 20px rgba(100,210,255,.30)}.landing-fish-sample{position:absolute;background:transparent!important;border:0!important}.landing-fish-sample.sample-0{left:8%;top:22%;width:72%;height:auto}.landing-fish-sample.sample-1{right:-6%;top:48%;width:66%;height:auto}.landing-fish-sample.sample-2{left:-8%;top:58%;width:58%;height:auto;opacity:.88}.landing-gravel{position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,#8a6a42,#5b4029)}.landing-gravel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 9% 42%,rgba(255,230,180,.55) 0 4px,transparent 5px),radial-gradient(circle at 22% 68%,rgba(52,35,22,.35) 0 5px,transparent 6px),radial-gradient(circle at 38% 36%,rgba(244,219,165,.45) 0 4px,transparent 5px),radial-gradient(circle at 58% 70%,rgba(61,40,25,.32) 0 5px,transparent 6px),radial-gradient(circle at 78% 48%,rgba(255,230,180,.42) 0 3px,transparent 4px);background-size:110px 58px}.landing-plant{position:absolute;bottom:42px;width:55px;height:150px;border-radius:50%;background:radial-gradient(ellipse at 45% 25%,rgba(110,245,105,.72) 0 10px,transparent 11px),radial-gradient(ellipse at 58% 44%,rgba(65,210,95,.72) 0 14px,transparent 15px),radial-gradient(ellipse at 38% 60%,rgba(92,232,120,.70) 0 12px,transparent 13px)}.landing-plant:after{content:"";position:absolute;left:50%;bottom:0;width:4px;height:135px;background:rgba(68,170,82,.75);border-radius:99px}.landing-plant.p1{left:8%;transform:rotate(-8deg)}.landing-plant.p2{left:18%;height:120px;transform:rotate(10deg)}.landing-plant.p3{right:10%;height:132px;transform:rotate(-4deg)}.landing-grid-v40{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.landing-feature-card{border:1px solid rgba(124,218,255,.18);border-radius:22px;background:linear-gradient(180deg,rgba(8,27,45,.92),rgba(5,16,28,.94));padding:22px}.landing-feature-card h2,.landing-section-v40 h2{margin-top:0}.landing-feature-card p,.landing-section-v40 p{line-height:1.58;color:#cfe7ff}.landing-two-col{display:grid;grid-template-columns:1fr minmax(300px,430px);gap:22px;align-items:center}.landing-checks{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:15px 0 0;padding:0}.landing-video-placeholder{min-height:250px;border:1px dashed rgba(124,218,255,.32);border-radius:22px;display:grid;place-items:center;text-align:center;padding:28px;background:radial-gradient(circle at 50% 20%,rgba(57,184,255,.18),rgba(6,20,35,.78));color:#d8f4ff}.landing-video-placeholder .play-circle{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:rgba(57,184,255,.22);border:1px solid rgba(124,218,255,.35);font-size:28px;margin-bottom:8px}.landing-video-placeholder span{color:#9dc6e9;margin-top:6px}.pedigree-card-wrap{overflow:hidden}.pedigree-scroll{overflow:auto;padding:12px 6px 22px}.ped-node{display:flex;flex-direction:column;align-items:center;min-width:240px}.ped-card{width:245px;border:1px solid rgba(124,218,255,.20);border-radius:18px;background:linear-gradient(180deg,rgba(8,27,45,.96),rgba(4,14,25,.96));padding:10px;box-shadow:0 18px 60px rgba(0,0,0,.26)}.ped-card.male{border-color:rgba(57,184,255,.35)}.ped-card.female{border-color:rgba(255,120,190,.32)}.ped-card canvas{width:100%;height:auto;border-radius:12px;background:#061927;border:1px solid rgba(124,218,255,.12);display:block}.ped-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.ped-meta{font-size:12px;color:#a9cfff;margin-top:4px}.ped-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.ped-tags .gen-badge{font-size:11px;padding:5px 7px}.ped-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.ped-actions .btn{padding:7px 9px;font-size:12px}.ped-link{width:2px;height:22px;background:linear-gradient(180deg,rgba(77,211,255,.70),rgba(77,211,255,.05));margin:4px 0}.ped-parents{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative}.ped-parents:before{content:"";position:absolute;left:25%;right:25%;top:-11px;height:2px;background:rgba(77,211,255,.34)}.ped-parent{display:flex;flex-direction:column;align-items:center}.ped-parent-label{font-weight:900;color:#bfeaff;background:#071626;border:1px solid rgba(124,218,255,.18);border-radius:999px;padding:5px 10px;margin-bottom:8px}.ped-empty{width:220px;min-height:80px;border:1px dashed rgba(124,218,255,.16);border-radius:16px;display:grid;place-items:center;color:#8fb8d8;background:rgba(5,15,25,.52)}.cauda-sexlinked-note{border-left:4px solid #49dfff;background:rgba(57,184,255,.10);padding:10px 12px;border-radius:12px;color:#dff8ff}
@media(max-width:980px){.landing-hero-v40{grid-template-columns:1fr}.landing-aquarium-card{min-height:360px}.landing-grid-v40{grid-template-columns:1fr}.landing-two-col{grid-template-columns:1fr}.ped-parents{grid-template-columns:1fr}.ped-parents:before{display:none}.ped-card{width:min(245px,calc(100vw - 80px))}.ped-empty{width:min(220px,calc(100vw - 90px))}}
@media print{.top,.site-footer-v31,.ped-actions,.btn{display:none!important}.wrap{max-width:none!important}.pedigree-scroll{overflow:visible}.card{box-shadow:none!important}}


/* v41 — seletor de idioma PT/EN */
.lang-switcher-v41{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(124,218,255,.20);background:rgba(6,20,35,.68);border-radius:999px;padding:4px;margin-left:auto;white-space:nowrap}
.lang-option-v41{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;border-radius:999px;padding:7px 9px;color:#cfeaff;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.02em;border:1px solid transparent;transition:background .14s,border-color .14s,transform .14s}
.lang-option-v41:hover{background:rgba(77,211,255,.14);border-color:rgba(124,218,255,.24);transform:translateY(-1px)}
.lang-option-v41.active{background:linear-gradient(90deg,rgba(57,184,255,.30),rgba(33,193,91,.20));border-color:rgba(124,218,255,.40);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.landing-language-panel-v41{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px;padding:9px 11px;border:1px solid rgba(124,218,255,.20);border-radius:999px;background:rgba(6,20,35,.58);color:#dff8ff}
.landing-language-panel-v41 .lang-switcher-v41{margin-left:0;background:transparent;border:0;padding:0}
@media(max-width:900px){.topbar-v31{gap:8px}.lang-switcher-v41{order:3;width:100%;justify-content:center;margin-left:0}.menu-toggle-v31{margin-left:auto}.landing-language-panel-v41{border-radius:18px;align-items:flex-start}}


/* v42 structural language switcher */
.lang-switcher-v42{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(124,218,255,.28);background:rgba(4,18,32,.76);border-radius:999px;padding:5px;margin-left:auto;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.20)}
.lang-option-v42{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;text-decoration:none;color:#dff8ff;font-weight:800;font-size:12px;letter-spacing:.02em;border:1px solid transparent;transition:.16s ease;background:rgba(255,255,255,.03)}
.lang-option-v42:hover{transform:translateY(-1px);border-color:rgba(124,218,255,.35);background:rgba(90,210,255,.11)}
.lang-option-v42.active{background:linear-gradient(135deg,rgba(63,223,143,.26),rgba(68,181,255,.22));border-color:rgba(124,255,205,.48);color:#ffffff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.lang-flag-v42{font-size:17px;line-height:1}.lang-short-v42{font-weight:900}.lang-name-v42{opacity:.92;font-weight:700}
.landing-language-panel-v41 .lang-switcher-v42,.landing-language-panel-v42 .lang-switcher-v42{margin-left:0;background:transparent;border:0;box-shadow:none;padding:0}
@media(max-width:900px){.topbar-v31{gap:8px}.lang-switcher-v42{order:3;width:100%;justify-content:center;margin-left:0;flex-wrap:wrap;border-radius:18px}.lang-name-v42{display:inline}.menu-toggle-v31{margin-left:auto}}
@media(max-width:520px){.lang-name-v42{display:none}.lang-option-v42{padding:7px 9px}}

/* v43 — economia sustentável, loja/produção organizadas */
.alert-inline{display:inline-block;margin-top:4px;color:#ffd48a;font-weight:900}
.mission .gen-badge{margin-top:4px}
/* v44 - genética como fonte da verdade, cards NPC e ciclo de vida */
.genotype-truth-card code{background:rgba(0,0,0,.26);border:1px solid rgba(124,218,255,.18);border-radius:8px;padding:2px 6px;color:#dff8ff}.genetic-details-box{margin-top:14px}.genetic-details-box>summary{display:inline-flex;list-style:none;cursor:pointer}.genetic-details-box>summary::-webkit-details-marker{display:none}.npc-sell-card form{margin-top:12px}.npc-sell-card .btn{width:100%}.npc-resource-grid .decor-card,.npc-item-grid .decor-card{min-height:180px}.life-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.life-stage-card{border:1px solid rgba(91,175,230,.24);border-radius:18px;background:linear-gradient(180deg,rgba(8,27,45,.92),rgba(5,16,28,.96));padding:16px;box-shadow:0 16px 48px rgba(0,0,0,.18)}.life-stage-card h3{margin:6px 0 8px}.life-stage-age{display:inline-flex;border:1px solid rgba(89,222,255,.34);background:rgba(57,184,255,.13);color:#d9f7ff;border-radius:999px;padding:6px 10px;font-weight:900;font-size:13px}.life-stage-card p{color:#cfe9ff;line-height:1.45}.gg-lang-en .life-stage-card p,.gg-lang-en .genotype-truth-card p{line-height:1.45}


/* v45 — tempo gráfico por cards, fase apenas admin e rodapé GOD */
.admin-only-stage-card{border-color:rgba(255,205,90,.28);background:linear-gradient(180deg,rgba(45,30,8,.42),rgba(8,22,38,.94))}
.time-speed-form-v45{display:grid;gap:16px;margin-top:14px}
.time-speed-grid-v45{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.time-speed-card-v45{display:grid;gap:8px;position:relative;cursor:pointer;border:1px solid rgba(124,218,255,.20);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(8,27,45,.92),rgba(4,13,24,.96));box-shadow:0 12px 36px rgba(0,0,0,.16);transition:.16s ease;min-height:156px}
.time-speed-card-v45:hover{transform:translateY(-2px);border-color:rgba(124,218,255,.42);box-shadow:0 16px 46px rgba(0,0,0,.22)}
.time-speed-card-v45 input{position:absolute;opacity:0;pointer-events:none}
.time-speed-card-v45.selected{border-color:rgba(91,255,174,.62);background:linear-gradient(180deg,rgba(17,84,72,.62),rgba(5,18,32,.98));box-shadow:0 0 0 2px rgba(91,255,174,.12),0 18px 56px rgba(0,0,0,.25)}
.time-speed-top-v45{display:flex;align-items:center;justify-content:space-between;gap:8px}
.time-speed-top-v45 b{font-size:26px;color:#fff;text-shadow:0 0 14px rgba(94,230,255,.24)}
.time-speed-top-v45 small{color:#9ec8e8;font-weight:900}
.time-speed-chart-v45{height:14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(124,218,255,.12);overflow:hidden;box-shadow:inset 0 1px 4px rgba(0,0,0,.22)}
.time-speed-chart-v45 i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#36bfff,#25d366,#ffd166);box-shadow:0 0 18px rgba(77,211,255,.28)}
.time-speed-label-v45{font-weight:900;color:#eaf8ff}
.time-speed-desc-v45{color:#a9cfff;line-height:1.35;font-size:13px}
.time-save-v45{justify-self:start;min-width:180px}
.time-current-v45{border-color:rgba(91,255,174,.22)}
.site-footer-v31 small code{display:none!important}
