:root{--color-correct: #6aaa64;--color-present: #c9b458;--color-absent: #787c7e;--color-border: #3a3a3c;--color-bg: #121213;--color-text: #ffffff;--color-key-bg: #818384;--tile-size: min(62px, 8vh, 14vw);--tile-gap: min(5px, .6vh)}body{margin:0;background-color:var(--color-bg);color:var(--color-text);font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;display:flex;justify-content:center;align-items:center;height:100dvh}#root{width:100%;max-width:500px;height:100dvh;display:flex;flex-direction:column}header{border-bottom:1px solid var(--color-border);padding:10px;text-align:center}header h1{margin:0;font-size:min(36px,4vh);letter-spacing:2px;text-transform:uppercase;font-weight:700}.game-container{flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}.grid{display:grid;grid-template-rows:repeat(6,1fr);gap:var(--tile-gap);padding:10px;width:fit-content;margin:0 auto}.row{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--tile-gap)}.tile{width:var(--tile-size);height:var(--tile-size);border:2px solid var(--color-border);display:flex;justify-content:center;align-items:center;font-size:calc(var(--tile-size) * .5);font-weight:700;text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:transform .25s linear}.tile.filled{border-color:#565758;animation:pop .1s linear}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.tile.correct:not(.reveal){background-color:var(--color-correct);border-color:var(--color-correct)}.tile.present:not(.reveal){background-color:var(--color-present);border-color:var(--color-present)}.tile.absent:not(.reveal){background-color:var(--color-absent);border-color:var(--color-absent)}.tile.reveal{animation-duration:.6s;animation-timing-function:linear;animation-fill-mode:forwards}.tile.reveal.correct{animation-name:flip-correct}.tile.reveal.present{animation-name:flip-present}.tile.reveal.absent{animation-name:flip-absent}@keyframes flip-correct{0%{transform:rotateX(0);background-color:transparent;border-color:var(--color-border)}45%{transform:rotateX(90deg);background-color:transparent;border-color:var(--color-border)}55%{transform:rotateX(90deg);background-color:var(--color-correct);border-color:var(--color-correct)}to{transform:rotateX(0);background-color:var(--color-correct);border-color:var(--color-correct)}}@keyframes flip-present{0%{transform:rotateX(0);background-color:transparent;border-color:var(--color-border)}45%{transform:rotateX(90deg);background-color:transparent;border-color:var(--color-border)}55%{transform:rotateX(90deg);background-color:var(--color-present);border-color:var(--color-present)}to{transform:rotateX(0);background-color:var(--color-present);border-color:var(--color-present)}}@keyframes flip-absent{0%{transform:rotateX(0);background-color:transparent;border-color:var(--color-border)}45%{transform:rotateX(90deg);background-color:transparent;border-color:var(--color-border)}55%{transform:rotateX(90deg);background-color:var(--color-absent);border-color:var(--color-absent)}to{transform:rotateX(0);background-color:var(--color-absent);border-color:var(--color-absent)}}.keyboard{margin:0 8px;-webkit-user-select:none;user-select:none}.key-row{display:flex;justify-content:center;margin-bottom:min(8px,1vh);touch-action:manipulation}.key{font-family:inherit;font-weight:700;border:0;padding:0;margin:0 min(6px,1vw) 0 0;height:min(58px,6vh);border-radius:4px;cursor:pointer;background-color:var(--key-bg);color:var(--color-text);flex:1;display:flex;justify-content:center;align-items:center;text-transform:uppercase;-webkit-tap-highlight-color:rgba(0,0,0,.3);transition:background-color .1s linear;font-size:min(1.2rem,2vh)}.key:last-child{margin-right:0}.key.large{flex:1.5;font-size:12px}.key.correct{background-color:var(--color-correct)}.key.present{background-color:var(--color-present)}.key.absent{background-color:var(--color-absent)}.bounce{animation:bounce .5s ease-in-out}@keyframes bounce{0%,20%{transform:translateY(0)}40%{transform:translateY(-20px)}50%{transform:translateY(5px)}60%{transform:translateY(-10px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}.shake{animation:shake .5s linear}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.analysis-container{max-width:500px;width:100%;margin:0 auto;padding:20px;box-sizing:border-box;animation:slide-up .3s ease-out}.analysis-content{width:100%;overflow-x:auto}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.analysis-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.back-button{background:transparent;border:1px solid #565758;color:var(--color-text);padding:8px 16px;border-radius:4px;cursor:pointer;font-family:inherit;transition:background .2s}.back-button:hover{background:#3a3a3c}.analysis-table{width:100%;border-collapse:collapse}.analysis-table .tile{width:min(40px,8vw);height:min(40px,8vw);font-size:min(1.2rem,4vw)}.analysis-table .row{gap:min(3px,.4vh)}.analysis-table th{text-align:left;border-bottom:2px solid #3a3a3c;padding:8px;color:#818384;font-size:12px;text-transform:uppercase}.analysis-table td{padding:8px;border-bottom:1px solid #3a3a3c;vertical-align:top}.remaining-count{font-size:20px;font-weight:700;color:var(--color-correct)}.possible-words{font-size:11px;color:#818384;margin-top:4px;max-width:100%;line-height:1.3;font-family:monospace}.remaining-count-container{position:relative;display:inline-block;cursor:help}.remaining-tooltip{visibility:hidden;position:absolute;z-index:100;bottom:125%;left:50%;transform:translate(-50%);background-color:#3a3a3c;color:#fff;text-align:left;padding:10px;border-radius:6px;width:max-content;max-width:300px;font-size:14px;font-family:monospace;box-shadow:0 4px 6px #0000004d;opacity:0;transition:opacity .3s;pointer-events:none}.remaining-count-container:hover .remaining-tooltip{visibility:visible;opacity:1}.remaining-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#3a3a3c transparent transparent transparent}.analysis-link{color:var(--color-correct);text-decoration:underline;cursor:pointer;font-weight:700;font-size:14px;background:none;border:none;padding:10px}
