:root{--bg: #f3f6fb;--bg-deep: #e8eef8;--surface: rgba(255, 255, 255, .72);--surface-solid: #ffffff;--surface-raised: rgba(255, 255, 255, .92);--ink: #111827;--muted: #5b6475;--line: rgba(17, 24, 39, .09);--line-strong: rgba(17, 24, 39, .16);--primary: #2563eb;--primary-hover: #1d4ed8;--primary-ink: #eff6ff;--correct: #16a34a;--correct-ink: #f0fdf4;--present: #d97706;--present-ink: #fffbeb;--absent: #64748b;--absent-ink: #f8fafc;--danger: #dc2626;--shadow: 0 18px 50px rgba(15, 23, 42, .08);--shadow-sm: 0 8px 24px rgba(15, 23, 42, .06);--radius: 20px;--radius-sm: 14px;--font-display: "Sora", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,rgba(37,99,235,.12),transparent 55%),radial-gradient(900px 420px at 100% 0%,rgba(14,165,233,.1),transparent 50%),linear-gradient(180deg,#f8faff 0%,var(--bg) 38%,var(--bg-deep) 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(17,24,39,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,39,.03) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%)}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}.app-shell{position:relative;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,1.5rem);background:#f8faffb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.03em;text-decoration:none}.brand:before{content:"";width:.7rem;height:.7rem;border-radius:999px;background:linear-gradient(135deg,var(--primary),#38bdf8);box-shadow:0 0 0 5px #2563eb1f}.player-chip{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:var(--surface-solid);border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);font-size:.78rem;box-shadow:var(--shadow-sm)}.home,.game-page,.ranking-page,.share-page,.prose{width:min(100%,1040px);margin:0 auto;padding:clamp(1.25rem,3vw,2rem) clamp(1rem,3vw,1.5rem) 3rem}.hero{display:grid;gap:.85rem;margin:.5rem 0 1.75rem;padding:clamp(1.25rem,3vw,1.75rem);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:linear-gradient(135deg,#ffffffd9,#ffffff8c),linear-gradient(120deg,rgba(37,99,235,.06),transparent 45%);box-shadow:var(--shadow)}.eyebrow{margin:0;font-family:var(--font-mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}h1,h2,h3{margin:0;font-family:var(--font-display);letter-spacing:-.04em;line-height:1.02}.hero h1{font-size:clamp(2.2rem,5vw,3.7rem);max-width:11ch}.hero p:not(.eyebrow){margin:0;max-width:52ch;font-size:1.02rem;line-height:1.55;color:var(--muted)}.game-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{position:relative;background:var(--surface);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow-sm)}.game-card{display:grid;gap:.65rem;align-content:start;min-height:220px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.game-card:after{content:"";position:absolute;inset:auto -10% -35% auto;width:140px;height:140px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.14),transparent 68%);pointer-events:none}.game-card:hover{transform:translateY(-2px);border-color:#2563eb2e;box-shadow:var(--shadow)}.game-card h2{font-size:1.75rem}.game-card p{margin:0;color:var(--muted);line-height:1.45}.status{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;margin-top:.15rem;padding:.38rem .7rem;border-radius:999px;background:#1118270a;color:var(--ink);font-size:.86rem;font-weight:600}.actions,.suggestions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin-top:.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:.7rem 1.05rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--ink);font-weight:600;text-decoration:none;box-shadow:0 1px #ffffffb3 inset;transition:transform .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.button:hover{transform:translateY(-1px);border-color:#2563eb38}.button.primary{background:linear-gradient(180deg,#3b82f6,var(--primary));color:var(--primary-ink);border-color:#1d4ed88c;box-shadow:0 10px 24px #2563eb38}.button.primary:hover{background:linear-gradient(180deg,#2563eb,var(--primary-hover))}.button:disabled{opacity:.65;cursor:not-allowed;transform:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#0f172a47;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog{width:min(100%,440px);padding:clamp(1.15rem,3vw,1.5rem);background:#fffffff0}.dialog h2{font-size:1.7rem}.dialog p{margin:.5rem 0 0;color:var(--muted);line-height:1.5}.field{display:grid;gap:.45rem;margin-top:1rem;font-weight:600;font-size:.92rem}.field input,.field select,.share-box{width:100%;min-height:48px;padding:.78rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:#ffffffe6;color:var(--ink);box-shadow:0 1px #fffc inset}.field input:focus,.field select:focus{border-color:#2563eb73}.form-error{margin:.75rem 0 0;padding:.7rem .85rem;border-radius:12px;background:#dc262614;color:var(--danger);font-weight:500}.game-page{display:grid;justify-items:center;gap:.25rem}.game-header{width:min(100%,560px);display:grid;gap:.45rem;margin-bottom:.5rem;text-align:center}.game-header h1{font-size:clamp(2rem,5vw,2.7rem)}.game-header p:not(.eyebrow){margin:0;color:var(--muted);font-size:1rem;line-height:1.45}.wordle-board{display:grid;gap:.45rem;margin:.9rem 0 .4rem;padding:.75rem;border-radius:calc(var(--radius) + 2px);background:#ffffff73;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.wordle-row{display:grid;gap:.45rem;grid-template-columns:repeat(var(--wordle-length),minmax(2.8rem,3.35rem))}.wordle-cell{display:grid;place-items:center;aspect-ratio:1;border-radius:14px;border:2px solid rgba(17,24,39,.1);background:#ffffffe0;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.15rem,3vw,1.45rem);font-weight:700;text-transform:uppercase;box-shadow:0 1px #ffffffe6 inset;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.wordle-cell.correct{background:var(--correct);color:var(--correct-ink);border-color:#16a34acc}.wordle-cell.present{background:var(--present);color:var(--present-ink);border-color:#d97706cc}.wordle-cell.absent{background:var(--absent);color:var(--absent-ink);border-color:#64748bcc}.wordle-keyboard{width:min(100%,620px);display:grid;gap:.42rem;margin-top:.75rem}.keyboard-row{display:flex;gap:.42rem;justify-content:center}.keyboard-row button{min-width:0;flex:1 1 0;min-height:52px;padding:.65rem .3rem;border-radius:14px;border:1px solid var(--line);background:#ffffffd1;color:var(--ink);font-family:var(--font-mono);font-size:.86rem;font-weight:700;text-transform:uppercase;box-shadow:0 1px #ffffffd9 inset;transition:transform .1s ease,background-color .1s ease}.keyboard-row button:hover:not(:disabled){transform:translateY(-1px);background:var(--surface-solid)}.keyboard-row button:disabled{opacity:.55;cursor:not-allowed}.keyboard-row .wide{flex:1.55 1 0;font-size:.72rem;letter-spacing:.02em}.keyboard-row button.correct{background:var(--correct);color:var(--correct-ink);border-color:transparent}.keyboard-row button.present{background:var(--present);color:var(--present-ink);border-color:transparent}.keyboard-row button.absent{background:var(--absent);color:var(--absent-ink);border-color:transparent}.result-card,.share-sheet{width:min(100%,560px);margin-top:.9rem}.result-card h2,.share-sheet h3{font-size:1.45rem}.result-card p,.share-sheet p{color:var(--muted)}.share-box{margin:.85rem 0 0;min-height:auto;padding:.95rem 1rem;font-family:var(--font-mono);font-size:.88rem;line-height:1.5;white-space:pre-wrap;background:#11182708}.ranking-page h1,.share-page h1{margin-top:.15rem;font-size:clamp(2rem,4vw,2.8rem)}.ranking-page .field{max-width:220px}table{width:100%;margin-top:1rem;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}th,td{padding:.85rem .9rem;text-align:left;border-bottom:1px solid var(--line)}th{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#11182705}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#2563eb08}.share-page{display:grid;gap:.65rem;max-width:560px;margin-top:.5rem}.share-page p{margin:0;color:var(--muted)}.share-page-grid{display:grid;gap:.3rem;margin-top:.2rem;padding:1rem;border-radius:var(--radius-sm);background:#11182708;font-size:1.45rem;line-height:1.15;width:fit-content}.prose{color:var(--muted)}@media(max-width:640px){.topbar{padding:.8rem 1rem}.hero h1{max-width:none}.wordle-board{padding:.55rem;gap:.35rem}.wordle-row{gap:.35rem;grid-template-columns:repeat(var(--wordle-length),minmax(2.45rem,3rem))}.wordle-cell{border-radius:12px}.keyboard-row{gap:.3rem}.keyboard-row button{min-height:48px;border-radius:12px}th,td{padding:.72rem .65rem;font-size:.92rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.brand-mark{width:.7rem;height:.7rem;border-radius:999px;background:linear-gradient(135deg,var(--primary),#38bdf8);box-shadow:0 0 0 5px #2563eb1f}.brand:before{content:none}.topbar-right{display:flex;align-items:center;gap:.5rem}.player-chip-muted{color:var(--muted);font-family:var(--font-body);font-size:.86rem}.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.hero-meta span{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);background:#ffffffb3;color:var(--ink);font-size:.84rem;font-weight:600}.game-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.game-card-kicker{margin:0;font-family:var(--font-mono);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.game-card .status{margin-top:0;padding:.28rem .6rem;font-size:.78rem}.status-won{background:#16a34a1f;color:#166534}.status-lost,.status-playing{background:#2563eb1a;color:#1d4ed8}.status-new{background:#1118270d;color:var(--muted)}.game-card-termo:after{background:radial-gradient(circle,rgba(37,99,235,.16),transparent 68%)}.game-card-dito:after{background:radial-gradient(circle,rgba(14,165,233,.16),transparent 68%)}.dialog-submit{width:100%;margin-top:1rem}.dialog-copy{color:var(--muted)}.suggestion{min-height:38px;padding:.45rem .75rem;font-family:var(--font-mono);font-size:.82rem}.loading-state{display:grid;place-items:center;min-height:40vh;font-size:1rem}.game-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.text-link{font-size:.92rem;font-weight:600;color:var(--primary);text-decoration:none}.text-link:hover{text-decoration:underline}.hint{display:inline-flex;align-items:flex-start;justify-content:center;gap:.55rem;flex-wrap:wrap;padding:.7rem .9rem;border-radius:16px;background:#ffffffb8;border:1px solid var(--line);color:var(--ink)}.hint-label{display:inline-flex;align-items:center;padding:.18rem .45rem;border-radius:999px;background:#2563eb1a;color:var(--primary);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.game-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem}.game-meta span{font-family:var(--font-mono);font-size:.76rem;color:var(--muted)}.game-error{width:min(100%,560px)}.result-score{margin:.45rem 0 0;font-size:1.05rem;color:var(--muted)}.result-score strong{color:var(--ink);font-family:var(--font-display);font-size:2rem;letter-spacing:-.04em}.page-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.date-field{margin-top:0;min-width:180px}.table-wrap{overflow-x:auto}.rank-cell,.score-cell{font-family:var(--font-mono);font-weight:700}.empty-cell{color:var(--muted);text-align:center;padding:1.4rem .9rem}.share-page-wrap{width:min(100%,1040px);margin:0 auto;padding:clamp(1.25rem,3vw,2rem) clamp(1rem,3vw,1.5rem) 3rem}.share-byline{font-family:var(--font-mono);font-size:.95rem;color:var(--ink)}@media(max-width:640px){.page-header{align-items:stretch}.date-field{width:100%}}.conexo-page{width:min(100%,760px)}.conexo-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:.5rem}.conexo-tile{min-height:76px;padding:.8rem .5rem;border-radius:18px;border:1px solid var(--line);background:#ffffffdb;color:var(--ink);font-family:var(--font-display);font-size:clamp(.82rem,2vw,1rem);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;box-shadow:var(--shadow-sm);transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.conexo-tile:hover:not(:disabled){transform:translateY(-1px)}.conexo-tile.selected{background:linear-gradient(180deg,#1f2937,#111827);color:#f8fafc;border-color:#111827cc}.conexo-tile:disabled{cursor:not-allowed;opacity:.72}.conexo-actions{justify-content:center;width:100%}.conexo-message{margin:.2rem 0 0;padding:.65rem .85rem;border-radius:14px;background:#2563eb14;color:#1d4ed8;font-weight:600;text-align:center}.conexo-mistakes{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.35rem}.mistake-dot{width:.7rem;height:.7rem;border-radius:999px;background:#11182724;border:1px solid rgba(17,24,39,.08)}.mistake-dot.used{background:#334155}.conexo-found,.conexo-reveal .conexo-found{width:100%;display:grid;gap:.2rem;padding:.9rem 1rem;border-radius:18px;text-align:center;box-shadow:var(--shadow-sm)}.conexo-found strong{font-family:var(--font-display);font-size:1rem;letter-spacing:-.02em;text-transform:uppercase}.conexo-found span{font-size:.92rem;opacity:.92}.conexo-found.level-0,.legend-chip.level-0{background:#dbeafe;color:#1e3a8a}.conexo-found.level-1,.legend-chip.level-1{background:#dcfce7;color:#166534}.conexo-found.level-2,.legend-chip.level-2{background:#fef3c7;color:#92400e}.conexo-found.level-3,.legend-chip.level-3{background:#f3e8ff;color:#6b21a8}.conexo-reveal{width:100%;display:grid;gap:.65rem}.conexo-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.15rem}.legend-chip{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .6rem;border-radius:999px;font-size:.76rem;font-weight:700}.game-card-conexo:after{background:radial-gradient(circle,rgba(147,51,234,.14),transparent 68%)}@media(max-width:640px){.conexo-grid{gap:.45rem}.conexo-tile{min-height:68px;border-radius:14px;font-size:.78rem;padding:.55rem .25rem}}.combo-page .hint{margin-bottom:.5rem}.combo-chain{width:100%;display:grid;gap:.65rem}.combo-item{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);padding:.8rem .9rem;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.combo-item:hover{transform:translateY(-1px)}.combo-item.active{border-color:#2563eb73;box-shadow:0 0 0 3px #2563eb1f,var(--shadow-sm)}.combo-item.solved{background:linear-gradient(180deg,rgba(220,252,231,.45),var(--surface))}.combo-item-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}.combo-cells{display:flex;flex-wrap:wrap;gap:.35rem}.combo-cell{width:2.2rem;height:2.5rem;border-radius:10px;border:1px solid rgba(17,24,39,.12);background:var(--surface-alt);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1rem;font-weight:700;text-transform:uppercase}.combo-cell.correct{background:#d9f3df;border-color:#8cc99a;color:#14532d}.combo-cell.present{background:#fff1d6;border-color:#f0c36d;color:#92400e}.combo-cell.absent{background:#e8edf3;border-color:#c7d2e0;color:#475569}.combo-form{width:100%;display:grid;gap:.75rem}.combo-form input{font-family:var(--font-mono);font-size:1.1rem;letter-spacing:.12em;text-transform:lowercase}.combo-reveal p{margin:.25rem 0 0;font-family:var(--font-mono);word-break:break-word}.game-card-combo:after{background:radial-gradient(circle,rgba(37,99,235,.14),transparent 68%)}.combo-goal{margin:.35rem 0 .15rem;color:var(--text-soft);text-align:center}.combo-goal strong{color:var(--text);font-family:var(--font-mono);text-transform:lowercase}.combo-flow{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem}.combo-endpoint{min-height:44px;padding:.65rem .9rem;border-radius:999px;background:linear-gradient(180deg,#111827,#1f2937);color:#f9fafb;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;text-transform:lowercase;box-shadow:var(--shadow-sm)}.combo-endpoint-right{background:linear-gradient(180deg,#0f766e,#115e59)}.combo-flow .combo-item{width:auto}@media(max-width:640px){.combo-flow{gap:.45rem}.combo-endpoint{width:100%;text-align:center}}.combo-cell.active{border-color:#2563eb73;background:#fff}.combo-actions{margin-top:.25rem}.soletra-hive{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;width:min(320px,100%)}.hive-letter{min-height:64px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:1.5rem;font-weight:700;text-transform:uppercase;cursor:pointer}.hive-letter.center{background:linear-gradient(180deg,#fde68a,#fcd34d);border-color:#d97706;color:#78350f}.soletra-found p{margin:.35rem 0 0;word-break:break-word}.anagrama-scrambled,.anagrama-guess{width:100%;display:flex;justify-content:center}.anagrama-attempts{width:100%;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.anagrama-attempt{padding:.35rem .65rem;border-radius:999px;font-family:var(--font-mono);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.anagrama-attempt.correct{background:#d9f3df;color:#14532d}.anagrama-attempt.wrong{background:#fee2e2;color:#991b1b}.game-card-soletra:after{background:radial-gradient(circle,rgba(245,158,11,.16),transparent 68%)}.game-card-anagrama:after{background:radial-gradient(circle,rgba(236,72,153,.14),transparent 68%)}.native-keyboard-input{position:absolute;opacity:0;width:1px;height:1px;border:0;padding:0;margin:0;pointer-events:none}@media(pointer:coarse),(max-width:640px){.wordle-keyboard{display:none}.native-keyboard-input{pointer-events:auto}}
