.personality-shell { max-width: 900px; margin: 28px auto 65px; }
.personality-shell > h1 { margin-bottom: 24px; font-size: clamp(1.9rem, 4vw, 2.8rem); color: var(--forest); }
.personality-intro, .personality-question, .personality-result { background: var(--cream, #fffaf0); border: 1px solid var(--line); border-radius: 24px; padding: clamp(24px, 5vw, 46px); box-shadow: 0 10px 32px rgba(20, 64, 46, .07); }
.personality-intro h2 { font-size: clamp(2rem, 5vw, 3.25rem); color: var(--forest); margin: 12px 0 18px; }
.personality-intro > p { max-width: 600px; font-size: 1.1rem; line-height: 1.7; }
.personality-facts, .personality-result-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0; }
.personality-facts span, .personality-result-tags span { background: var(--yellow); color: var(--forest); border-radius: 999px; padding: 8px 13px; font-size: .9rem; font-weight: 750; }
.personality-small { font-size: .875rem !important; color: var(--muted); line-height: 1.6; margin-top: 20px; }
.personality-topline { display: flex; justify-content: space-between; gap: 16px; align-items: center; font-size: .9rem; font-weight: 750; color: var(--forest); }
.personality-text-button { background: transparent; border: 0; padding: 9px 0; color: var(--forest); cursor: pointer; font-size: .9rem; text-decoration: underline; text-underline-offset: 4px; }
.personality-question progress { display: block; width: 100%; height: 8px; border: 0; margin: 17px 0 28px; accent-color: var(--forest); border-radius: 9px; overflow: hidden; }
.personality-question progress::-webkit-progress-bar { background: var(--sage-soft); }
.personality-question progress::-webkit-progress-value { background: var(--forest); }
.personality-question h2 { font-size: clamp(1.6rem, 4vw, 2.3rem); line-height: 1.3; color: var(--forest); margin-bottom: 25px; }
.personality-answers { display: grid; gap: 12px; }
.personality-answers button { display: flex; align-items: center; gap: 16px; text-align: left; background: white; color: var(--forest); border: 1px solid var(--line); border-radius: 14px; padding: 17px 20px; font-size: 1rem; line-height: 1.45; cursor: pointer; }
.personality-answers button:hover { border-color: var(--forest); background: var(--sage-soft); }
.personality-letter { flex: 0 0 34px; height: 34px; display: grid; place-items: center; background: var(--yellow); border-radius: 50%; font-weight: 850; }
.personality-back { margin-top: 16px; }
.personality-result { padding: 0; overflow: hidden; display: grid; grid-template-columns: .9fr 1.1fr; }
.personality-result-photo { min-height: 360px; background: var(--sage-soft); display: flex; }
.personality-photo-img { display: block; width: 100%; height: 100%; min-height: 360px; max-height: 620px; object-fit: contain; }
.personality-result-copy { padding: clamp(24px, 4vw, 38px); }
.personality-result-copy h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); color: var(--forest); margin: 12px 0 8px; line-height: 1.15; }
.personality-match-copy { line-height: 1.7; margin-top: 22px; }
.personality-result-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 650px) { .personality-result { grid-template-columns: 1fr; } .personality-result-photo, .personality-photo-img { min-height: 0; height: 280px; } .personality-shell { margin-top: 20px; } .personality-answers button { padding: 14px; gap: 12px; } }
.game-selector { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.game-selector button { border: 1px solid var(--forest); border-radius: 999px; padding: 12px 18px; background: transparent; color: var(--forest); font-weight: 750; cursor: pointer; }
.game-selector button.active { background: var(--forest); color: var(--cream, #fffaf0); }
.daily-game-card { background: var(--cream, #fffaf0); border: 1px solid var(--line); border-radius: 24px; padding: clamp(22px, 4vw, 38px); }
.daily-game-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.daily-game-heading h2 { color: var(--forest); font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 10px 0 14px; }
.daily-game-card p { line-height: 1.65; }
.daily-game-count { background: var(--yellow); color: var(--forest); border-radius: 999px; padding: 10px 14px; font-size: .9rem; font-weight: 800; white-space: nowrap; }
.daily-rank-note { color: var(--muted); font-size: .9rem; }
.daily-guess-form { margin: 24px 0 10px; }
.daily-guess-form label { display: block; color: var(--forest); font-weight: 750; margin-bottom: 8px; }
.daily-guess-form > div { display: flex; gap: 10px; }
.daily-guess-form input { width: 100%; min-width: 0; background: white; border: 1px solid var(--line); border-radius: 12px; padding: 14px; font-size: 1rem; color: var(--forest); }
.daily-game-feedback { min-height: 26px; color: var(--forest); font-weight: 650; }
.daily-game-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 18px; }
.daily-game-columns h3 { font-size: 1.1rem; color: var(--forest); }
.daily-hints ol { padding-left: 22px; }
.daily-hints li { padding-left: 4px; margin: 0 0 14px; line-height: 1.6; }
.daily-name-clue { letter-spacing: .12em; overflow-wrap: anywhere; }
.daily-guesses ol { list-style: none; padding: 0; }
.daily-guesses li { border: 1px solid var(--line); background: white; border-radius: 12px; padding: 12px; margin-bottom: 10px; }
.daily-guesses li > div:first-child { display: flex; justify-content: space-between; gap: 12px; font-size: .95rem; }
.daily-guesses strong { color: var(--forest); white-space: nowrap; }
.daily-rank-bar { background: var(--sage-soft); height: 6px; border-radius: 8px; margin-top: 10px; overflow: hidden; }
.daily-rank-bar span { display: block; height: 100%; background: var(--forest); border-radius: 8px; }
.daily-guesses .daily-exact { border-color: var(--forest); background: var(--yellow); }
.daily-game-photo { display: block; width: 100%; max-height: 300px; object-fit: contain; background: var(--sage-soft); border-radius: 14px; margin: 12px 0; }
.daily-game-reveal { border: 1px solid var(--forest); border-radius: 18px; padding: 22px; margin-top: 24px; background: white; }
.daily-game-reveal h3 { font-size: 1.7rem; color: var(--forest); margin: 10px 0; }
@media (max-width: 650px) { .daily-game-columns { grid-template-columns: 1fr; gap: 12px; } .daily-game-heading { align-items: flex-start; } .daily-game-count { padding: 8px 10px; font-size: .8rem; } .daily-guess-form > div { flex-wrap: wrap; } .daily-guess-form .primary { width: 100%; } }
/* Weekly mini crossword */
.mini-layout{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:2rem;align-items:start}.mini-current{min-height:3.2em;padding:.8rem;background:var(--yellow,#f6da70);border-radius:12px;font-weight:650}.mini-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:3px solid #173f32;background:#173f32;gap:2px;aspect-ratio:1}.mini-cell{position:relative;background:#fffdf5;min-width:0}.mini-black{background:#173f32}.mini-cell input{width:100%;height:100%;padding:8px 0 0;border:0;background:transparent;text-align:center;font-size:clamp(1.3rem,4vw,2rem);font-weight:750;color:#173f32;border-radius:0;outline-offset:-3px}.mini-cell>span{position:absolute;top:2px;left:4px;font-size:12px;pointer-events:none;color:#173f32}.mini-word{background:#e3eddd}.mini-selected{background:#f6da70}.mini-error{box-shadow:inset 0 0 0 3px #b84432}.mini-error input{color:#a52e23}.mini-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.mini-actions button{font-size:.9rem}.mini-clues{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mini-clues h3{margin-top:0}.mini-clues ol{list-style:none;padding:0}.mini-clues button{display:flex;gap:.7rem;text-align:left;width:100%;border:0;border-radius:9px;background:transparent;color:#173f32;padding:.7rem;font-size:1rem;line-height:1.4;cursor:pointer}.mini-clues button.active{background:#e3eddd}.mini-clues button:hover{background:#f6da70}.mini-clues strong{min-width:1rem}@media(max-width:700px){.mini-layout{grid-template-columns:1fr;gap:1rem}.mini-grid{max-width:360px;margin:auto}.mini-current{min-height:0}.mini-clues{gap:.6rem}.mini-clues button{padding:.6rem .3rem}}
/* Bird Connections */
.connections-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:1rem}.connection-tile{min-height:95px;border:2px solid transparent;border-radius:12px;padding:.7rem .4rem;background:#e3eddd;color:#173f32;font-size:1rem;font-weight:750;line-height:1.3;overflow-wrap:anywhere;cursor:pointer}.connection-tile:hover{border-color:#173f32}.connection-tile.selected{background:#173f32;color:#fffdf5}.connections-solved{display:grid;gap:.6rem}.connections-group{display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center;border-radius:12px;padding:1.1rem;color:#173f32}.connections-group strong{font-size:1.1rem}.connections-group span{line-height:1.5;font-weight:600}.connections-color-0{background:#f6da70}.connections-color-1{background:#c7deb2}.connections-color-2{background:#f1c69f}.connections-color-3{background:#c2dcd7}.connections-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.connections-actions button{font-size:1rem}.connections-actions button:disabled{opacity:.5;cursor:default}.connections-lives{margin:1.2rem 0}@media(max-width:550px){.connection-tile{font-size:.85rem;min-height:90px;padding:.4rem .25rem}.connections-grid{gap:.35rem}.connections-actions{gap:.5rem}.connections-actions button{font-size:.9rem;padding:.7rem}.connections-group span{font-size:.9rem}}
