:root{--bg:#0e1116;--panel:#161b22;--panel-2:#1b2129;--border:#262d36;--border-soft:#1e242c;--text:#e6edf3;--muted:#8b949e;--accent:#54daf4;--accent-ink:#06222b;--ok:#3fb950;--bad:#f85149;--warn:#d29922;--radius:10px}*{box-sizing:border-box}:root{accent-color:var(--accent)}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a{color:var(--accent);text-underline-offset:2px}.key,code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}code{background:var(--panel-2);border:1px solid var(--border-soft);border-radius:5px;padding:1px 5px;font-size:.88em}.page{max-width:1080px;margin:0 auto;padding:clamp(20px,4vw,32px) clamp(14px,3vw,20px) 80px}.hero{padding-bottom:20px;margin-bottom:8px;border-bottom:1px solid var(--border)}.hero h1{font-size:clamp(21px,4.5vw,26px);margin:0 0 6px;letter-spacing:-.02em}.hero p{color:var(--muted);margin:0;max-width:62ch}section{margin-top:36px}h2{font-size:17px;margin:0 0 6px;letter-spacing:-.01em}h3{font-size:14px;margin:28px 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.tally{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.tally>div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.tally b{display:block;font-size:24px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tally span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.grid{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:12px;gap:12px}.product{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:border-color .15s,background .15s}.product:hover{border-color:#333c47}.product.picked{border-color:var(--accent);background:var(--panel-2)}.product-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;cursor:pointer;margin:0}.product-head input{width:auto;margin:0}.product-head .name{font-weight:600;color:var(--text);font-size:15px;overflow-wrap:anywhere}.product-head .price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.product .summary{margin:8px 0 0;color:var(--text);opacity:.85;font-size:14px}.product .grants{margin:6px 0 0;color:var(--muted);font-size:12.5px}.ficha{margin-top:10px;border-top:1px solid var(--border-soft);padding-top:8px}.ficha>summary{cursor:pointer;color:var(--accent);font-size:13px;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ficha>summary::-webkit-details-marker{display:none}.ficha>summary:before{content:"\25B8\00a0"}.ficha[open]>summary:before{content:"\25BE\00a0"}.prose{font-size:14px;overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:18px 0 6px;color:var(--text);text-transform:none;letter-spacing:-.01em}.prose h2{font-size:16px}.prose h3{font-size:14.5px}.prose h4,.prose h5,.prose h6{font-size:13.5px}.prose p{margin:0 0 10px}.prose ol,.prose ul{margin:0 0 10px;padding-left:20px}.prose li{margin:3px 0}.prose blockquote{margin:0 0 10px;padding:2px 0 2px 12px;border-left:3px solid var(--border);color:var(--muted)}.prose hr{border:none;border-top:1px solid var(--border);margin:16px 0}.prose pre{background:#0b0e13;border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:0 0 10px;font-size:12.5px;line-height:1.5;position:relative}.prose pre code{background:none;border:none;padding:0;font-size:inherit}.prose pre[data-lang]:after{content:attr(data-lang);position:absolute;top:6px;right:10px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.prose u{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:2px}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);margin-top:14px}table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--panel)}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:550;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}tr:last-child td{border-bottom:none}td code,td.key{font-family:ui-monospace,monospace;font-size:12.5px;white-space:nowrap}td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}td .sub{color:var(--muted);font-size:12px;margin-top:2px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:550;white-space:nowrap}.badge.ok{background:rgba(63,185,80,.15);color:var(--ok)}.badge.bad{background:rgba(248,81,73,.15);color:var(--bad)}.badge.warn{background:rgba(210,153,34,.15);color:var(--warn)}.admin-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-top:14px}.form-head{padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--border-soft)}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:0 14px;gap:0 14px}label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}input,select,textarea{width:100%;padding:9px 11px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:14px;font-family:inherit}textarea{resize:vertical;line-height:1.6;min-height:160px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}input[readonly]{color:var(--muted);background:var(--panel-2)}.check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;margin:4px 0 14px}.check input{width:auto;margin:0}.hint{color:var(--muted);font-size:12.5px;margin:5px 0 0}.warning{color:var(--bad)}.ok,.warning{font-size:13px;margin:10px 0 0}.ok{color:var(--ok)}.actions{display:flex;gap:10px;margin-top:16px}button{padding:9px 18px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:7px;font-weight:650;font-size:14px;cursor:pointer;font-family:inherit}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:none;border:1px solid var(--border);color:var(--muted);font-weight:500}button.ghost:hover{color:var(--text);border-color:var(--muted);filter:none}.rich-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}.rich-head label{margin:0}.rich-tools{display:flex;gap:4px;flex-wrap:wrap}button.tool{padding:4px 9px;min-width:30px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.4}button.tool:hover:not(:disabled){color:var(--text);border-color:var(--muted);filter:none}button.tool.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.rich-preview{min-height:160px;padding:12px 14px;background:var(--bg);border:1px dashed var(--border);border-radius:7px}.checkout{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;max-width:460px}.checkout .total{margin:16px 0 0;font-size:15px}.checkout .total .hint{display:inline}.checkout button[type=button]{width:100%;margin-top:14px}.license{font-family:ui-monospace,monospace;font-size:17px;letter-spacing:.04em;background:var(--panel-2);border:1px solid var(--accent);border-radius:8px;padding:12px 14px;word-break:break-all}.empty-state{color:var(--muted);padding:24px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius)}form.login{max-width:340px;margin:12vh auto;padding:0 20px}form.login h1{font-size:18px;margin-bottom:4px}form.login p.sub{color:var(--muted);font-size:13px;margin-top:0;margin-bottom:20px}form.login input{margin-bottom:14px}form.login button{width:100%}.error{color:var(--bad);font-size:13px;margin-bottom:14px}.linkish{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;padding:0;width:auto;font-weight:400}.linkish:hover{color:var(--text);filter:none}.pgroup{margin-top:22px}.pgroup h3{display:flex;align-items:center;gap:8px;margin:0 0 10px}.pgroup h3 .count{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:11px;letter-spacing:0}.pgrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.pcard,.pcard-link{display:flex}.pcard-link{flex-direction:column;gap:6px;width:100%;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:inherit;text-decoration:none;transition:border-color .15s,background .15s,transform .15s}.pcard-link:hover{border-color:var(--accent);background:var(--panel-2);transform:translateY(-1px)}.pcard-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pcard-top h4{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.pcard-slug{align-self:flex-start;font-size:11.5px;padding:1px 6px;max-width:100%;overflow-wrap:anywhere}.pcard-summary{margin:2px 0 0;font-size:13px;color:var(--text);opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.pcard-prices{display:flex;gap:6px;margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.pcard-flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.badge.quiet{background:var(--panel-2);border:1px solid var(--border)}.badge.quiet,.muted{color:var(--muted)}details.crear{margin-top:26px}details.crear>summary{cursor:pointer;color:var(--accent);font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 14px;border:1px dashed var(--border);border-radius:var(--radius);list-style:none}details.crear>summary::-webkit-details-marker{display:none}details.crear>summary:before{content:"+ "}details.crear[open]>summary{border-style:solid;border-radius:var(--radius) var(--radius) 0 0}details.crear[open]>summary:before{content:"− "}details.crear[open] .admin-form{margin-top:0;border-top:none;border-radius:0 0 var(--radius) var(--radius)}.crumb{margin:0 0 10px;font-size:13px}.crumb a{text-decoration:none;color:var(--muted)}.crumb a:hover{color:var(--accent)}.hero .badge{vertical-align:middle}.ficha-preview{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-top:14px}.prose img{max-width:100%;height:auto;display:block;margin:10px 0;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.admin-form.danger{border-color:rgba(248,81,73,.35)}button.destructive{background:var(--bad);color:#fff}button.destructive:disabled{opacity:.4}.comprado{list-style:none;padding:0;margin:0 0 14px}.comprado li{padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;font-size:14px}@media (max-width:900px){.checkout,.page{max-width:100%}.grid,.pgrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:640px){section{margin-top:28px}.grid,.pgrid,.row,.tally{grid-template-columns:1fr}.actions{flex-direction:column}.actions button,.admin-form>button[type=submit]{width:100%}.rich-tools{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.rich-head{align-items:flex-start}.admin-form,.ficha-preview{padding:14px}td,th{padding:8px 10px}}@media (max-width:400px){.tally b{font-size:20px}.product-head{grid-template-columns:auto 1fr}.product-head .price{grid-column:2}}@media (pointer:coarse){button.tool{min-height:38px;min-width:38px;font-size:14px}.ficha>summary,details.crear>summary{padding-top:8px;padding-bottom:8px}.check{padding:4px 0}.check input{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.pcard-link:hover{transform:none}}