@layer components{.tool-surface.letters-surface{overflow:clip}.letters-inner{display:flex;flex-direction:column;align-items:center;width:100%}.letters-topbar{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;min-height:1.75rem}.letters-left{font-family:var(--font-display);font-weight:700;font-stretch:92%;font-size:.95rem;color:#c9bfee;font-variant-numeric:tabular-nums}.letters-room-badge{margin-top:.5rem;display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;background:#ffc93c1a;box-shadow:inset 0 0 0 1px #ffc93c61;color:var(--color-gold);padding:.3rem .85rem;font-family:var(--font-display);font-weight:700;font-stretch:92%;font-size:.85rem;line-height:1.25;text-align:center}.letters-room-badge:before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:999px;background:var(--color-gold);box-shadow:0 0 0 3px #ffc93c38}.letters-show{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:1rem}.letters-flaps{--gap: clamp(.45rem, 1.4vw, .8rem);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap);max-width:100%;padding-block:.35rem .6rem}.letters-flaps[data-n="1"]{--h: clamp(11rem, 22vw, 16rem)}.letters-flaps[data-n="2"]{--h: clamp(9.25rem, 17vw, 13rem)}.letters-flaps[data-n="3"]{--h: clamp(7.25rem, 13vw, 10.5rem)}.letters-flaps[data-n="4"]{--h: clamp(5.6rem, 10vw, 8.5rem)}.letters-flaps[data-n=many]{--h: clamp(4.3rem, 7.4vw, 6.2rem);max-width:calc(5 * var(--h) * .78 + 4 * var(--gap))}.letters-flap{--w: calc(var(--h) * .78);--r: calc(var(--h) * .075);position:relative;flex:none;width:var(--w);height:var(--h);border-radius:var(--r);perspective:calc(var(--h) * 5.5);background:#0d0a24;box-shadow:0 0 0 calc(var(--h) * .03) #0d0a24,0 0 0 calc(var(--h) * .038) #ffffff1a,0 calc(var(--h) * .12) calc(var(--h) * .22) calc(var(--h) * -.07) #000000b3;font-family:var(--font-display);font-weight:800;font-stretch:80%;color:#f6f2ff;user-select:none;transition:box-shadow .35s ease}.letters-half,.letters-leaf{position:absolute;inset-inline:0;height:calc(50% - 1px);overflow:hidden}.letters-half-top,.letters-leaf-top{top:0;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(180deg,#3b3283,#2c2569)}.letters-half-top:after,.letters-leaf-top:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff17,#fff0 45%);pointer-events:none}.letters-half-bottom,.letters-leaf-bottom{bottom:0;border-radius:0 0 var(--r) var(--r);background:linear-gradient(180deg,#221c57,#29225f)}.letters-leaf{z-index:2;opacity:0;backface-visibility:hidden;will-change:transform}.letters-leaf-top{transform-origin:50% 100%}.letters-leaf-bottom{transform-origin:50% 0}.letters-half span,.letters-leaf span{position:absolute;inset-inline:0;height:calc(200% + 2px);display:flex;align-items:center;justify-content:center;font-size:calc(var(--h) * .62);line-height:1;transition:color .35s ease}.letters-half-top span,.letters-leaf-top span{top:0}.letters-half-bottom span,.letters-leaf-bottom span{bottom:0}.letters-half i,.letters-leaf i{position:absolute;inset:0;background:#06041a;opacity:0;pointer-events:none}.letters-hinge{position:absolute;z-index:3;inset-inline:0;top:50%;height:2px;margin-top:-1px;background:#0a0820;box-shadow:0 1px #ffffff0d}.letters-hinge:before,.letters-hinge:after{content:"";position:absolute;top:50%;width:calc(var(--h) * .035);height:calc(var(--h) * .15);margin-top:calc(var(--h) * -.075);border-radius:2px;background:linear-gradient(180deg,#554b9c,#1d1749)}.letters-hinge:before{inset-inline-start:calc(var(--h) * -.02)}.letters-hinge:after{inset-inline-end:calc(var(--h) * -.02)}.letters-flap.is-empty .letters-half span{color:#c9bfee47}.letters-flap.is-won .letters-half span{color:var(--color-gold)}.letters-flap.is-won{box-shadow:0 0 0 calc(var(--h) * .03) #0d0a24,0 0 0 calc(var(--h) * .045) #ffc93c8c,0 0 calc(var(--h) * .35) calc(var(--h) * -.05) #ffc93c47,0 calc(var(--h) * .12) calc(var(--h) * .22) calc(var(--h) * -.07) #000000b3}.letters-flap.is-fade .letters-half span{animation:letters-fade .15s ease-out both}@keyframes letters-fade{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.letters-wheel{position:relative;width:min(100%,18.75rem);aspect-ratio:1;margin-top:.85rem;cursor:pointer}@media (min-width: 640px){.letters-wheel{width:min(100%,27rem)}}.letters-flapper{position:absolute;left:50%;top:-.95rem;z-index:2;width:2.5rem;height:3.25rem;transform:translate(-50%);transform-origin:50% 27%;filter:drop-shadow(0 4px 6px rgb(0 0 0 / .35));pointer-events:none}.letters-hub{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:28%;min-width:4.5rem;aspect-ratio:1;border-radius:999px;background:#fff;color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-stretch:85%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px var(--color-ink),0 12px 30px -8px #00000080;transition:transform .15s}.letters-hub:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.04)}.letters-hub:active:not(:disabled){transform:translate(-50%,-50%) scale(.96)}.letters-hub span{display:block;font-size:clamp(1rem,3.6vw,1.2rem);line-height:1}.letters-hub[data-letter] span{font-size:clamp(2.6rem,10vw,4.4rem);color:var(--color-ink)}.letters-hub[data-letter]{box-shadow:0 0 0 6px var(--color-ink),0 0 0 9px var(--color-gold),0 12px 30px -8px #00000080}.letters-hub.is-pop span{animation:letters-pop .28s cubic-bezier(.2,.9,.3,1.3) both}@keyframes letters-pop{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:none}}.letters-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:1.1rem}.letters-chips li{display:grid;place-items:center;min-width:2.6rem;height:2.8rem;padding:0 .5rem;border-radius:.65rem;background:#fff;color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-stretch:85%;font-size:1.5rem;box-shadow:inset 0 -3px #221a551f;animation:letters-pop .26s cubic-bezier(.2,.9,.3,1.3) both}.letters-chips li:last-child{background:var(--color-gold)}.letters-timer{display:flex;align-items:center;gap:.9rem;width:min(100%,26rem);margin-top:1.25rem}.letters-burn{position:relative;flex:1;min-width:0;height:.95rem}.letters-ribbon{position:absolute;inset:0;overflow:hidden;border-radius:999px;background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff1a}.letters-ribbon-fill{position:absolute;inset:0;background:linear-gradient(180deg,#e04268 0%,var(--color-ribbon) 52%,var(--color-ribbon-deep) 100%);will-change:transform}.letters-ribbon-fill:after{content:"";position:absolute;top:0;inset-inline-end:0;bottom:0;width:.9rem;background:linear-gradient(90deg,#ff9a3c00,#ff9a3c 70%,#ffd27a)}[dir=rtl] .letters-ribbon-fill:after{background:linear-gradient(270deg,#ff9a3c00,#ff9a3c 70%,#ffd27a)}.letters-ember{position:absolute;inset:0;pointer-events:none;will-change:transform}.letters-ember:after{content:"";position:absolute;inset-inline-end:-.7rem;top:50%;width:1.4rem;height:1.4rem;margin-top:-.7rem;border-radius:999px;background:radial-gradient(circle,#fff7da,#ffd25a 28%,#ff8c328c 55%,#ff782800 72%);animation:letters-flicker .42s ease-in-out infinite alternate}.letters-timer[data-state=done] .letters-ember:after{display:none}@keyframes letters-flicker{0%{transform:scale(.82);opacity:.8}to{transform:scale(1.12);opacity:1}}.letters-time{flex:none;min-width:3.6rem;text-align:end;font-family:var(--font-display);font-weight:800;font-stretch:88%;font-size:1.4rem;line-height:1;font-variant-numeric:tabular-nums;color:#fff}.letters-timer[data-state=last] .letters-time{color:#ffd9e2}.letters-timer[data-state=done] .letters-time{color:var(--color-gold);font-size:1.15rem;white-space:nowrap}.letters-actions{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1.15rem}.letters-draw{min-width:11.5rem;min-height:3.5rem;font-size:1.15rem}.letters-prev{width:3.5rem;min-height:3.5rem;padding:0}[dir=rtl] .letters-prev svg{transform:scaleX(-1)}.letters-stop{display:inline-grid;place-items:center;min-width:11.5rem;min-height:3.5rem;padding:0 2rem;border-radius:999px;background:var(--color-ribbon);color:#fff;font-family:var(--font-display);font-weight:800;font-stretch:82%;font-size:1.6rem;line-height:1;letter-spacing:.08em;box-shadow:inset 0 -3px #0003,0 0 0 5px #bb264947,0 14px 30px -12px #bb2649d9;transition:transform .12s,background-color .15s}.letters-stop:hover{background:var(--color-ribbon-deep)}.letters-stop:active{transform:scale(.97)}.letters-note{max-width:26rem;margin-top:.75rem;text-align:center;font-size:.92rem;line-height:1.4;color:#c9bfee}.letters-board-wrap,.letters-history-wrap{width:100%;max-width:30rem;margin-top:1.5rem}.letters-history-wrap{margin-top:1.1rem}.letters-mini-label{margin-bottom:.5rem;text-align:center;font-family:var(--font-display);font-weight:700;font-stretch:92%;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#a99fd6}.letters-board{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}.letters-board li{position:relative;display:grid;place-items:center;width:1.9rem;height:2.25rem;border-radius:.35rem;background:linear-gradient(180deg,#3b3283 0 50%,#29225f 50% 100%);box-shadow:0 0 0 1px #06041a99,0 3px 6px -3px #0009;font-family:var(--font-display);font-weight:800;font-stretch:85%;font-size:1.08rem;line-height:1;color:#f6f2ff}.letters-board li[data-used]{background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff1a;color:#c9bfee61}.letters-board li[data-used]:after{content:"";position:absolute;top:50%;inset-inline:16%;height:2px;margin-top:-1px;background:#c9bfee80;transform:rotate(-38deg)}.letters-board li[data-last]{background:var(--color-gold);color:var(--color-ink);box-shadow:0 0 0 2px #ffc93c59}.letters-history{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.letters-history li{display:inline-flex;align-items:baseline;gap:.35rem;border-radius:999px;background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff14;padding:.2rem .7rem;font-family:var(--font-display);font-weight:800;font-stretch:88%;font-size:.98rem;color:#fff}.letters-history .n{font-weight:700;font-size:.72rem;color:#a99fd6;font-variant-numeric:tabular-nums}.letters-shortcuts{display:none;margin-top:1.1rem;font-size:.8rem;color:#9a90cc;text-align:center}@media (hover: hover) and (pointer: fine){.letters-shortcuts{display:block}}.letters-friend{margin-bottom:1.5rem;border-radius:1.1rem;background:#fff;padding:1rem 1.1rem;box-shadow:0 0 0 1px var(--color-line),0 18px 30px -24px #221a5580;font-weight:600;line-height:1.45;color:var(--color-ink)}.letters-lockable.is-locked{opacity:.6}.letters-alpha{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.35rem}.letters-alpha button{min-height:2.75rem;border-radius:.75rem;background:#fff;color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-stretch:88%;font-size:1.15rem;box-shadow:inset 0 0 0 1.5px var(--color-line-strong),inset 0 -3px #221a550f;transition:background-color .15s,color .15s,box-shadow .15s,transform .12s}.letters-alpha button:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--color-plum)}.letters-alpha button:active:not(:disabled){transform:scale(.95)}.letters-alpha button[aria-pressed=false]{background:transparent;color:#8a81b8;box-shadow:inset 0 0 0 1.5px var(--color-line);text-decoration:line-through;text-decoration-thickness:2px}.letters-alpha button:disabled,.letters-preset:disabled,.letters-stepper button:disabled{cursor:not-allowed}.letters-preset{display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;border-radius:999px;padding:0 1.05rem;background:#fff;color:var(--color-ink);font-family:var(--font-display);font-weight:700;font-stretch:92%;font-size:.92rem;box-shadow:inset 0 0 0 1.5px var(--color-line-strong);transition:background-color .15s,color .15s,box-shadow .15s}.letters-preset:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--color-plum)}.letters-preset[aria-pressed=true]{background:var(--color-plum);color:#fff;box-shadow:none}.letters-preset[aria-pressed]:before{content:"";flex:none;width:1rem;height:1rem;border-radius:.3rem;box-shadow:inset 0 0 0 1.5px currentColor}.letters-preset[aria-pressed=true]:before{background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;box-shadow:none}.letters-preset:disabled{opacity:.55}.letters-preset-sub{font-weight:800;letter-spacing:.08em;opacity:.72}.letters-stepper{display:inline-flex;align-items:center;gap:.2rem;border-radius:999px;background:#fff;padding:.2rem;box-shadow:inset 0 0 0 1.5px var(--color-line-strong)}.letters-stepper button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;font-size:1.45rem;font-weight:700;line-height:1;color:var(--color-plum);transition:background-color .15s}.letters-stepper button:hover:not(:disabled){background:var(--color-lilac-soft)}.letters-stepper button:disabled{opacity:.35}.letters-stepper output{min-width:2.4rem;text-align:center;font-family:var(--font-display);font-weight:800;font-size:1.35rem;font-variant-numeric:tabular-nums;color:var(--color-ink)}.letters-game{margin-top:.9rem;border-radius:1.1rem;background:#fff9;padding:1rem;box-shadow:inset 0 0 0 1px var(--color-line)}.letters-cats{display:flex;flex-wrap:wrap;gap:.4rem}.letters-cats li{display:inline-flex;align-items:center;border-radius:999px;background:#fff;padding-inline-start:.95rem;box-shadow:inset 0 0 0 1.5px var(--color-line-strong);font-weight:600;font-size:.95rem;line-height:1.2;color:var(--color-ink);max-width:100%}.letters-cats li span{min-width:0;overflow-wrap:anywhere}.letters-cats button,.letters-remove{display:grid;flex:none;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;font-size:1.25rem;line-height:1;color:var(--color-muted);transition:background-color .15s,color .15s}.letters-cats button:hover,.letters-remove:hover{background:var(--color-lilac-soft);color:var(--color-ribbon)}.letters-room{margin-top:1.75rem;border-top:1px solid var(--color-line);padding-top:1.4rem}.letters-sheet{margin-top:1.25rem;border-radius:1.75rem;background:var(--color-set);padding:1.25rem}@media (min-width: 640px){.letters-sheet{padding:2rem 2.25rem}}.letters-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.letters-tabs button{display:inline-flex;align-items:baseline;gap:.4rem;min-height:2.75rem;min-width:2.75rem;padding:.6rem .95rem;border-radius:999px;background:#fff;font-family:var(--font-display);font-weight:700;font-stretch:92%;font-size:.85rem;color:var(--color-muted);box-shadow:inset 0 0 0 1.5px var(--color-line-strong);font-variant-numeric:tabular-nums}.letters-tabs b{font-weight:800;font-size:1.1rem;color:var(--color-ink)}.letters-tabs button[aria-pressed=true]{background:var(--color-plum);color:#d9d0f7;box-shadow:none}.letters-tabs button[aria-pressed=true] b{color:#fff}.letters-table-wrap{width:fit-content;max-width:100%;overflow-x:auto;border-radius:1.1rem;background:#fff;box-shadow:0 0 0 1px var(--color-line)}.letters-table{min-width:min(100%,26rem);border-collapse:collapse;font-size:.95rem}.letters-table th,.letters-table td{padding:.4rem .35rem;border-bottom:1px solid var(--color-line);text-align:center;vertical-align:middle}.letters-table tr{background:#fff}.letters-table tbody th,.letters-table tfoot th,.letters-table thead th:first-child{position:sticky;inset-inline-start:0;z-index:1;min-width:5.5rem;max-width:9.5rem;padding-inline-start:1rem;background:inherit;text-align:start;font-weight:700;line-height:1.25;color:var(--color-ink);overflow-wrap:break-word}.letters-table tfoot th{white-space:nowrap}.letters-remove-row th,.letters-remove-row td{border-bottom:0;padding-block:.15rem .35rem}.letters-table tr.letters-remove-row{background:var(--color-lilac-soft)}.letters-table .letters-remove{margin-inline:auto;font-size:1.1rem}.letters-table thead th:first-child{font-family:var(--font-display);font-stretch:92%;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.letters-table tbody tr:nth-child(2n){background:var(--color-mist)}.letters-table tfoot tr:last-child th,.letters-table tfoot tr:last-child td{border-bottom:0}.letters-table tr.is-grand+.letters-remove-row th,.letters-table tr.is-grand+.letters-remove-row td{border-top:1px solid var(--color-line)}.letters-table tfoot th{font-family:var(--font-display);font-stretch:92%}.letters-table tfoot td{font-family:var(--font-display);font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--color-ink)}.letters-table tr.is-grand{background:var(--color-lilac-soft)}.letters-table tr.is-grand td{font-size:1.35rem}.letters-table td[data-lead]{position:relative}.letters-table td[data-lead]:after{content:"\2605";margin-inline-start:.3rem;font-size:.9rem;color:var(--color-gold-deep)}.letters-player{display:flex;align-items:center;min-width:4.75rem;max-width:8.5rem;margin-inline:auto}.letters-player input{width:100%;min-width:0;min-height:2.75rem;border-radius:.7rem;border:1.5px solid var(--color-line);background:#fff;padding:.3rem .5rem;font-family:var(--font-display);font-weight:700;font-stretch:92%;text-align:center;color:var(--color-ink)}.letters-player input::placeholder{color:#6f6896}.letters-player input:focus-visible{outline:3px solid var(--color-ribbon);outline-offset:1px;border-color:var(--color-plum)}.letters-add-col{width:3.25rem}.letters-add-player{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;background:var(--color-lilac-soft);color:var(--color-plum);font-size:1.4rem;font-weight:700;line-height:1}.letters-add-player:hover:not(:disabled){background:var(--color-lilac)}.letters-add-player:disabled{opacity:.4}.letters-cell{width:100%;min-width:3.25rem;max-width:8.5rem;min-height:2.75rem;border-radius:.75rem;border:1.5px dashed var(--color-line-strong);background:#fff;font-family:var(--font-display);font-weight:800;font-size:1.1rem;font-variant-numeric:tabular-nums;color:#8a81b8;transition:background-color .15s,border-color .15s}.letters-cell:hover{border-color:var(--color-plum)}.letters-cell[data-v="10"]{border:1.5px solid #6fc597;background:var(--color-tint-mint);color:var(--color-ink)}.letters-cell[data-v="5"]{border:1.5px solid #e9c55a;background:var(--color-tint-butter);color:var(--color-ink)}.letters-cell[data-v="0"]{border:1.5px solid #eba5b4;background:var(--color-tint-blush);color:var(--color-ink)}.letters-print{display:none}@media print{html.letters-printing body>*:not(.letters-print){display:none!important}html.letters-printing .letters-print{display:block;color:#000;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.letters-print h1{font-size:18pt;font-weight:800;color:#000}.letters-print h2{margin-top:18pt;font-size:13pt;font-weight:800;color:#000}.letters-print-meta{margin-top:6pt;font-size:11pt}.letters-print table{width:100%;margin-top:10pt;border-collapse:collapse;table-layout:fixed}.letters-print th,.letters-print td{border:1px solid #555;padding:4pt 5pt;font-size:10pt;text-align:start;vertical-align:middle;overflow-wrap:anywhere}.letters-print tbody td{height:30pt}.letters-print .l{width:13%;text-align:center;font-weight:800;font-size:15pt}.letters-print th.l{font-size:10pt}.letters-print .p{width:11%}.letters-print-scores td{text-align:center}.letters-print-scores tbody td{height:auto}.letters-print-foot{margin-top:14pt;font-size:9pt;color:#555}}@media (prefers-reduced-motion: reduce){.letters-ember:after,.letters-chips li,.letters-hub.is-pop span{animation:none}.letters-hub.is-pop span{animation:letters-fade .15s ease-out both}}}
