:root{--bg:#0b0f0c;--panel:#121813;--panel-2:#17201a;--line:#223026;--text:#d9e6dc;--muted:#7d9184;--goo:#7CFF4F;--goo-dim:#4fbf2f;--danger:#ff6b6b;--radius:14px;font-family:ui-monospace,Cascadia Code,JetBrains Mono,Menlo,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0;background:radial-gradient(600px 300px at 20% -10%,rgba(124,255,79,.07),transparent),radial-gradient(500px 400px at 90% 110%,rgba(124,255,79,.05),transparent);pointer-events:none}a{color:inherit;text-decoration:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:rgba(11,15,12,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.typing-logo{font-size:1.35rem;font-weight:700;color:var(--goo);letter-spacing:.02em;text-shadow:0 0 18px rgba(124,255,79,.35);white-space:pre}.cursor{color:var(--goo);font-weight:400}.topbar nav{display:flex;gap:1rem;align-items:center}.topbar nav a{color:var(--muted);font-size:.9rem}.topbar nav a:hover{color:var(--text)}.topbar nav a.cta{color:#06130a;background:var(--goo);padding:.45rem .9rem;border-radius:999px;font-weight:700;box-shadow:0 0 20px rgba(124,255,79,.25)}.topbar nav a.cta:hover{background:#93ff70;color:#06130a}main{flex:1 1;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}footer{border-top:1px solid var(--line);padding:1.2rem 1.5rem;color:var(--muted);font-size:.8rem}.hero,footer{text-align:center}.hero{padding:2.5rem 0 3rem}.hero h1{font-size:1.6rem;margin-bottom:.6rem}.hero h1 em{color:var(--goo);font-style:normal}.hero p{color:var(--muted);max-width:540px;margin:0 auto;line-height:1.6;font-size:.95rem}.gallery-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;color:var(--muted);font-size:.75rem}.gallery-bar .densidade{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.72rem;cursor:pointer}.gallery-bar .densidade:hover{border-color:var(--goo-dim);color:var(--goo)}@media (min-width:641px){.gallery-bar .densidade{display:none}}.gallery{columns:260px 3;column-gap:1rem}.card{display:block;width:100%;page-break-inside:avoid;break-inside:avoid;margin:0 0 1rem;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;cursor:zoom-in;font:inherit;color:inherit;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card:focus-visible,.card:hover{transform:translateY(-3px);border-color:var(--goo-dim);box-shadow:0 8px 26px rgba(0,0,0,.45);outline:none}.card .moldura{display:block;width:100%;background:var(--panel-2)}.card img{display:block;width:100%;height:100%;object-fit:cover}.card .overlay{position:absolute;inset:auto 0 0 0;padding:1.6rem .85rem .7rem;background:linear-gradient(0deg,rgba(6,10,7,.92),transparent);opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.card .overlay .t{display:block;font-size:.82rem;margin-bottom:.2rem}.card .overlay .tg{display:block;color:var(--muted);font-size:.68rem;line-height:1.5}@media (hover:hover){.card:focus-visible .overlay,.card:hover .overlay{opacity:1;transform:translateY(0)}}@media (hover:none){.card .overlay{display:none}}.card .copiar-tags{position:absolute;top:.5rem;right:.5rem;z-index:2;background:rgba(6,10,7,.72);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.25rem .6rem;font:inherit;font-size:.66rem;cursor:pointer;opacity:0;transition:opacity .16s ease,color .16s ease,border-color .16s ease}@media (hover:hover){.card .copiar-tags:focus-visible,.card:focus-visible .copiar-tags,.card:hover .copiar-tags{opacity:1}}.card .copiar-tags.ok,.card .copiar-tags:hover{color:var(--goo);border-color:var(--goo-dim)}.card .copiar-tags.ok{opacity:1}@media (hover:none){.card .copiar-tags{display:none}}.empty{text-align:center;color:var(--muted);padding:4rem 1rem;border:1px dashed var(--line);border-radius:var(--radius);line-height:1.7}.viewer{position:fixed;inset:0;z-index:100;background:#050806;display:flex;flex-direction:column;animation:fade .18s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.viewer-top{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;gap:1rem;z-index:3}.viewer-top .pos{color:var(--muted);font-size:.75rem}.viewer-top .acoes{display:flex;gap:.5rem}.viewer-top button{background:rgba(23,32,26,.8);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .85rem;font:inherit;font-size:.72rem;cursor:pointer}.viewer-top button.on,.viewer-top button:hover{color:var(--goo);border-color:var(--goo-dim)}.stage{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in}.stage.zoom{cursor:-webkit-grab;cursor:grab}.stage.zoom:active{cursor:-webkit-grabbing;cursor:grabbing}.stage img{max-width:100%;max-height:100%;object-fit:contain;will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.seta{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:3rem;height:4.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(217,230,220,.35);font-size:2.6rem;cursor:pointer;transition:color .15s ease}.seta:hover{color:var(--goo)}.seta.prev{left:.2rem}.seta.next{right:.2rem}@media (hover:none){.seta{display:none}}.painel{background:rgba(18,24,19,.96);border-top:1px solid var(--line);padding:1rem 1.2rem;z-index:3;max-height:45vh;overflow-y:auto;animation:sobe .18s ease}@keyframes sobe{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.painel h3{font-size:.95rem;margin-bottom:.6rem}.linha-tags-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.linha-tags-cab .rot{color:var(--muted);font-size:.7rem}.copiar-mini{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.2rem .65rem;font:inherit;font-size:.66rem;cursor:pointer}.copiar-mini.ok,.copiar-mini:hover{color:var(--goo);border-color:var(--goo-dim)}.linha-tags{display:flex;flex-wrap:wrap;gap:.35rem}.linha-tags .tag{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.2rem .6rem;font-size:.7rem}.linha-diff{margin-top:.6rem;font-size:.7rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.linha-diff .rot{color:var(--muted)}.linha-diff .add{color:var(--goo)}.linha-diff .del{color:var(--danger);text-decoration:line-through}.meta-linha{margin-top:.6rem;color:var(--muted);font-size:.68rem}.painel .cid{display:inline-block;margin-top:.5rem;color:var(--goo);font-size:.68rem;border:1px solid var(--goo-dim);border-radius:999px;padding:.15rem .6rem}.painel .cid:hover{background:rgba(124,255,79,.08)}.dica{text-align:center;color:rgba(125,145,132,.7);font-size:.68rem;padding:.5rem 1rem .9rem;z-index:3}@media (hover:none){.dica{padding-bottom:max(.9rem,env(safe-area-inset-bottom))}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;max-width:640px;margin:0 auto}.panel h2{font-size:1.1rem;margin-bottom:1rem}.panel h2 em{color:var(--goo);font-style:normal}.mode-switch{display:flex;gap:.5rem;margin-bottom:1.2rem}.mode-switch button{flex:1 1;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);padding:.6rem;border-radius:10px;cursor:pointer;font:inherit;font-size:.85rem}.mode-switch button.active{border-color:var(--goo-dim);color:var(--goo)}label.field{display:block;margin-bottom:1rem;font-size:.8rem;color:var(--muted)}label.field>span{display:block;margin-bottom:.35rem}input[type=text],textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:.7rem;font:inherit;font-size:.85rem;resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--goo-dim)}input[type=range]{width:100%;accent-color:var(--goo)}.btn{background:var(--goo);color:#06130a;border:none;border-radius:10px;padding:.7rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}.btn:hover{background:#93ff70}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--goo);border:1px solid var(--goo-dim);font-weight:400}.tag-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1rem}.chip{background:var(--panel-2);border:1px solid var(--goo-dim);color:var(--goo);border-radius:999px;padding:.25rem .7rem;font-size:.75rem;cursor:pointer}.chip:hover{border-color:var(--danger);color:var(--danger)}.chip:after{content:" ×";opacity:.6}.chip.pendente{border-style:dashed;opacity:.75;cursor:default}.chip.pendente:hover{border-color:var(--goo-dim);color:var(--goo)}.chip.pendente:after{content:""}.tag-input{display:flex;gap:.5rem;align-items:stretch}.tag-input input{flex:1 1}.tag-input .btn{white-space:nowrap;padding:.5rem .9rem;font-size:.8rem}.hint{color:var(--muted);font-size:.72rem;line-height:1.5}.error{color:var(--danger);font-size:.8rem;margin-top:.6rem}.success{text-align:center;padding:2rem 1rem;line-height:1.8}.success .big{color:var(--goo);font-size:1.1rem}.ref-preview{max-width:200px;border-radius:10px;border:1px solid var(--line);display:block;margin-top:.5rem}.dropzone{border:1px dashed var(--goo-dim);border-radius:10px;padding:1.2rem;text-align:center;color:var(--muted);cursor:pointer;font-size:.8rem}.dropzone:hover{border-color:var(--goo);color:var(--text)}@media (max-width:640px){.topbar{padding:.7rem .9rem}.typing-logo{font-size:1.05rem}.topbar nav{gap:.6rem}.topbar nav a{font-size:.8rem}.topbar nav a.cta{padding:.4rem .75rem;font-size:.78rem}main{padding:.9rem .6rem 2.5rem}.hero{padding:1.2rem .6rem 1.6rem}.hero h1{font-size:1.15rem}.hero p{font-size:.82rem}.gallery-bar{padding:0 .3rem}.gallery{column-gap:.5rem}.gallery.cols-1{column-count:1}.gallery.cols-2{column-count:2}.card{margin-bottom:.5rem;border-radius:10px}.card:hover{transform:none;box-shadow:none}.panel{padding:1rem;border-radius:10px}.viewer-top{padding:.5rem .7rem}}