.hl-main{padding:32px 0 60px}.hl-heading{display:flex;align-items:center;gap:20px;max-width:860px;margin:0 auto 22px}.hl-mark{width:68px;height:68px;display:grid;grid-template-columns:repeat(2,1fr);gap:5px;transform:rotate(-8deg);flex:none}.hl-mark span{display:grid;place-items:center;background:#e5ad50;color:#101e2c;font-weight:900;font-size:1.25rem;border-radius:7px;box-shadow:0 5px 0 #87631f}.hl-mark span+span{background:#4dcbb7;box-shadow:0 5px 0 #277e72}.hl-heading h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.055em}.hl-heading p:last-child{color:var(--muted);margin-top:7px;line-height:1.45}.hl-toolbar{max-width:860px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center;gap:14px}.hl-toolbar>div:first-child{display:grid;gap:1px}.hl-toolbar strong{font-size:1rem}.hl-toolbar span{color:var(--muted);font-size:.84rem}.hl-toolbar-actions{display:flex;gap:8px}.hl-toolbar button,.hl-actions button,.hl-result-actions button,.hl-dialog button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:10px 14px;min-height:44px;font-weight:650}.hl-toolbar button:hover,.hl-actions button:hover,.hl-result-actions button:hover,.hl-dialog button:hover{border-color:var(--gold)}.hl-toolbar button:disabled,.hl-actions button:disabled{opacity:.45;cursor:default}.hl-status{max-width:860px;min-height:30px;margin:auto;color:var(--muted);font-weight:600;font-size:.9rem}.hl-status[data-error]{color:#d76767}.hl-layout{max-width:860px;margin:auto;display:block}.hl-layout.solved{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.hl-ladder{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:20px 22px 22px;min-width:0;transition:opacity .45s ease,transform .45s ease}.hl-layout.solved .hl-ladder{opacity:.46;transform:translateX(-10px)}.hl-score{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:16px}.hl-score div{display:grid;gap:1px;text-align:center;min-width:70px}.hl-score span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.7rem;font-weight:700}.hl-score strong{font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums}.hl-entry-wrap{position:relative;text-align:center}.hl-entry-wrap label{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750;margin-bottom:8px}.hl-entry-tiles,.hl-guess-tiles{display:flex;justify-content:center;gap:6px}.hl-tile{width:clamp(40px,9vw,51px);height:clamp(40px,9vw,51px);display:grid;place-items:center;border:2px solid var(--line);border-radius:5px;background:var(--card);font-size:1.35rem;font-weight:800;line-height:1;color:var(--ink)}.hl-entry-wrap:focus-within .hl-tile{border-color:var(--gold)}.hl-tile[data-mark=correct]{background:#438b69;border-color:#438b69;color:white}.hl-tile[data-mark=present]{background:#b49742;border-color:#b49742;color:#101a26}.hl-tile[data-mark=absent]{background:#454c58;border-color:#454c58;color:white}.hl-guess[data-backtracked] .hl-tile{opacity:.52}.hl-guess[data-backtracked]{position:relative}.hl-guess[data-backtracked]:after{content:'undone';position:absolute;right:1px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.7rem}.hl-entry-wrap input{position:absolute;inset:18px 0 0;width:100%;height:calc(100% - 18px);opacity:0;cursor:text}.hl-entry-wrap.shake .hl-entry-tiles{animation:hl-shake .3s}.hl-recent{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;margin-top:12px;height:336px;overflow:hidden}.hl-guess{position:relative}.hl-text-button{display:block;height:44px;margin:0 auto;padding:5px 8px;border:0;background:transparent;color:var(--gold);font-weight:650;text-decoration:underline}.hl-actions{display:flex;justify-content:center;gap:8px;margin:17px 0}.hl-actions button{flex:1;max-width:120px}.hl-keyboard{display:grid;gap:6px;max-width:460px;margin:auto;user-select:none}.hl-keyboard-row{display:flex;justify-content:center;gap:5px}.hl-key{flex:1;min-width:0;max-width:43px;height:45px;border:0;border-radius:6px;background:#596575;color:white;font-size:.92rem;font-weight:750;touch-action:manipulation}.hl-key[data-mark=correct]{background:#438b69}.hl-key[data-mark=present]{background:#b49742;color:#101a26}.hl-key[data-mark=absent]{background:#363c47}.hl-key.wide{flex:1.5;max-width:68px;font-size:.78rem}.hl-result{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:24px;opacity:0;transform:translateX(32px);transition:opacity .45s ease,transform .45s ease}.hl-layout.solved .hl-result{opacity:1;transform:translateX(0)}.hl-result h2{font-size:2rem;letter-spacing:-.04em;margin:8px 0}.hl-connection{font-size:1.1rem;line-height:1.5}.hl-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.hl-result-stats div{padding:12px;background:var(--card);border:1px solid var(--line);border-radius:8px}.hl-result-stats span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.hl-result-stats strong{font-size:1.3rem}.hl-result-actions{display:grid;gap:9px}.hl-result-actions button:first-child,.hl-dialog-actions button:last-child,.hl-dialog>button:last-child{background:var(--button);color:var(--button-text);border-color:var(--button)}.hl-dialog{max-width:min(540px,calc(100vw - 24px));max-height:min(85vh,750px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #0008}.hl-dialog::backdrop{background:#020811b9}.hl-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.hl-dialog-heading h2{font-size:1.45rem}.hl-dialog-heading button{font-size:1.3rem;padding:3px 12px}.hl-dialog p{margin:14px 0;line-height:1.6;color:var(--muted)}.hl-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.hl-archive-list{display:grid;gap:7px;margin-top:18px}.hl-archive-list button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px}.hl-archive-list button[disabled]{opacity:.52}.hl-archive-list small{color:var(--muted)}.hl-full-history{display:grid;gap:8px;margin-top:18px}.hl-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes hl-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
@media(max-width:760px){.hl-main{padding:22px 0 38px}.hl-heading{gap:13px}.hl-mark{width:48px;height:48px}.hl-mark span{font-size:1rem}.hl-heading p:last-child{font-size:.86rem}.hl-toolbar{align-items:start}.hl-ladder{padding:14px 10px 16px}.hl-layout,.hl-layout.solved{display:flex;flex-direction:column;gap:10px}.hl-layout.solved .hl-result{order:-1;width:100%;transform:translateY(0)}.hl-ladder,.hl-layout.solved .hl-ladder{width:100%;transform:none}.hl-result{transform:translateY(16px);padding:20px}.hl-guess[data-backtracked]:after{right:0;font-size:.6rem}.hl-keyboard{width:100%}.hl-key{height:43px}.hl-score{margin-bottom:12px}.hl-recent{height:336px}}
@media(max-width:400px){.hl-heading h1{font-size:2.1rem}.hl-toolbar{flex-wrap:wrap}.hl-toolbar-actions{width:100%}.hl-toolbar-actions button{flex:1}.hl-tile{width:38px;height:38px;font-size:1.13rem}.hl-key{height:42px;font-size:.8rem}.hl-key.wide{font-size:.7rem}.hl-ladder{padding-inline:8px}.hl-score strong{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.hl-layout,.hl-ladder,.hl-result{transition:none!important}.hl-entry-wrap.shake .hl-entry-tiles{animation:none;outline:2px solid #d76767;outline-offset:4px}}

.hl-text-button[hidden]{display:block!important;visibility:hidden}.hl-result[hidden],.hl-entry-wrap[hidden],.hl-layout[hidden]{display:none!important}
.hl-guide{max-width:860px;margin:48px auto 0;padding:26px 30px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.hl-guide h2{font-size:1.7rem;letter-spacing:-.035em;margin:8px 0 22px}.hl-guide h3{font-size:1.03rem;margin:22px 0 7px}.hl-guide p:not(.eyebrow){color:var(--muted);line-height:1.7}

@media(max-width:480px){.hl-recent{height:270px}}
@media(max-width:760px){.hl-guide{margin-top:28px;padding:22px}}
