:root{--color-background:#121213;--color-surface:#1a1a1b;--color-border:#3a3a3c;--color-text:#fff;--color-text-muted:#818384;--color-key-bg:#818384;--color-tile-border-empty:#3a3a3c;--color-tile-border-filled:#565758;--color-correct:#538d4e;--color-present:#b59f3b;--color-absent:#3a3a3c;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-background);margin:0}#root{flex-direction:column;height:100dvh;display:flex}h1,h2,h3{color:var(--color-text);margin:0}button{font-family:inherit}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.main{flex-direction:row;flex:1;justify-content:center;align-items:flex-start;gap:24px;padding:16px 24px;display:flex;overflow:hidden}.game-area{flex-direction:column;flex-shrink:0;align-items:center;gap:16px;display:flex}.board-wrapper{position:relative}.easter-egg{text-align:center;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:6px;font-size:.75rem;font-weight:700;animation:.4s cubic-bezier(.34,1.56,.64,1) both egg-pop}@keyframes egg-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.sidebar{flex-direction:column;align-items:flex-start;padding-top:4px;display:flex}.mobile-cal-backdrop{display:none}.mobile-prev-day{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 4px 14px;display:flex}.mobile-prev-label{color:var(--color-text-muted);font-size:.8rem}.mobile-prev-word{border:1px solid var(--color-border);color:var(--color-text);letter-spacing:.12em;cursor:pointer;filter:blur(5px);text-transform:uppercase;background:0 0;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:.85rem;font-weight:700;transition:filter .2s}.mobile-prev-word--revealed{filter:none}@media (width<=768px){.app{height:100dvh;overflow:hidden}.main{padding:12px 8px calc(190px + env(safe-area-inset-bottom,12px));flex-direction:column;justify-content:center;align-items:center;gap:0;overflow:hidden}.sidebar{display:none}.mobile-cal-backdrop{z-index:200;background:#000000b3;justify-content:center;align-items:flex-start;padding-top:60px;display:flex;position:fixed;inset:0}.mobile-cal-sheet{animation:.2s ease-out slide-down}@keyframes slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}.header{border-bottom:1px solid var(--color-border);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;height:56px;padding:0 16px;display:flex;position:relative}.header-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);white-space:nowrap;margin:0;font-size:1.7rem;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}@media (width<=768px){.header-title{letter-spacing:.04em;font-size:1.1rem}}.header-left,.header-right{flex:1;align-items:center;gap:8px;display:flex}.header-right{justify-content:flex-end}.icon-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:background-color .15s;display:flex}.icon-btn:hover{background-color:var(--color-key-bg)}.prev-day{align-items:center;gap:6px;font-size:.78rem;display:flex}.prev-label{color:var(--color-text-muted);white-space:nowrap}.prev-word{border:1px solid var(--color-border);color:var(--color-text-muted);letter-spacing:.1em;cursor:pointer;filter:blur(4px);text-transform:uppercase;background:0 0;border-radius:4px;padding:3px 8px;font-family:inherit;font-size:.78rem;font-weight:700;transition:filter .2s,color .2s}.prev-word--revealed{filter:none;color:var(--color-text)}.cal-date-badge{color:var(--color-text-muted);margin-left:2px;font-size:.65rem;font-weight:700}.mobile-only{display:none}.desktop-only{display:flex}@media (width<=768px){.mobile-only{align-items:center;gap:4px;display:flex}.desktop-only{display:none}}.board{perspective:600px;flex-direction:column;gap:5px;display:flex}@media (width<=768px){.board{gap:4px}}.row{gap:5px;display:flex}@media (width<=768px){.row{gap:4px}}@keyframes row-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-4px)}90%{transform:translate(4px)}}.row--shake{animation:.5s ease-in-out row-shake}.tile{border:2px solid var(--color-tile-border-empty);text-transform:uppercase;width:62px;height:62px;color:var(--color-text);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:2rem;font-weight:700;transition:border-color 50ms;display:flex;position:relative}.tile--filled{border-color:var(--color-tile-border-filled);animation:80ms ease-in-out tile-pop}.tile--revealed{border-color:#0000}.tile--flip{animation:.5s ease-in-out forwards tile-flip;animation-delay:calc(var(--tile-index,0) * .3s)}@keyframes tile-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes tile-flip{0%{border-color:var(--color-tile-border-filled);background-color:#0000;transform:rotateX(0)}49%{background-color:#0000;transform:rotateX(-90deg)}50%{background-color:var(--tile-result-color,var(--color-absent));color:#fff;border-color:#0000;transform:rotateX(-90deg)}to{background-color:var(--tile-result-color,var(--color-absent));color:#fff;border-color:#0000;transform:rotateX(0)}}@media (width<=768px){.tile{--_kb:calc(190px + env(safe-area-inset-bottom,12px));--_avail:calc(100dvh - 68px - var(--_kb));--_tile-h:calc((var(--_avail) - 20px) / 6);--_tile-w:calc((100vw - 36px) / 5);width:min(var(--_tile-w), var(--_tile-h), 66px);height:min(var(--_tile-w), var(--_tile-h), 66px);font-size:calc(min(var(--_tile-w), var(--_tile-h), 66px) * .5)}}.keyboard{flex-direction:column;gap:8px;width:100%;max-width:500px;display:flex}.keyboard-row{justify-content:center;gap:6px;display:flex}.key{background-color:var(--color-key-bg);min-width:43px;height:58px;color:var(--color-text);cursor:pointer;text-transform:uppercase;border:none;border-radius:4px;flex:1;max-width:43px;padding:0 6px;font-family:inherit;font-size:.8rem;font-weight:700;transition:background-color .2s,color .2s}.key--wide{min-width:65px;max-width:65px;font-size:.75rem}.key--correct{background-color:var(--color-correct);color:#fff}.key--present{background-color:var(--color-present);color:#fff}.key--absent{background-color:var(--color-absent);color:#fff}.key:active{filter:brightness(.85)}@media (width<=768px){.keyboard{width:100%;max-width:100%;padding:8px 6px env(safe-area-inset-bottom,12px);box-sizing:border-box;background-color:var(--color-background);z-index:10;position:fixed;bottom:0;left:0;right:0}.keyboard-row{gap:5px}.key{min-width:0;max-width:none;height:54px;font-size:.8rem}.key--wide{flex:1.5;min-width:0;max-width:none;font-size:.72rem}}.calendar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;min-width:260px;max-width:300px;padding:16px}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-title{color:var(--color-text);font-size:.95rem;font-weight:700}.cal-nav-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:1.4rem;line-height:1;transition:background-color .15s}.cal-nav-btn:hover:not(:disabled){background-color:var(--color-key-bg)}.cal-nav-btn:disabled{opacity:.3;cursor:default}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-day-name{text-align:center;color:var(--color-text-muted);padding:4px 0;font-size:.7rem;font-weight:600}.cal-cell{aspect-ratio:1;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:.8rem;font-weight:600;transition:background-color .15s;display:flex;position:relative}.cal-cell:hover:not(.cal-cell--disabled):not(.cal-cell--selected){background-color:var(--color-key-bg)}.cal-cell--empty{pointer-events:none}.cal-cell--disabled{opacity:.2;cursor:default}.cal-cell--selected{background-color:var(--color-text);color:var(--color-background)}.cal-cell--today{outline:2px solid var(--color-text-muted);outline-offset:-2px}.cal-cell--won .cal-dot{background-color:var(--color-correct)}.cal-cell--lost .cal-dot{background-color:#e74c3c}.cal-dot{border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:90%;max-width:380px;padding:32px 28px 28px;position:relative}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1rem;position:absolute;top:12px;right:12px}.modal-close:hover{color:var(--color-text)}.modal-title{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);margin:0 0 20px;font-size:1rem}.stats-row{justify-content:space-around;margin-bottom:24px;display:flex}.stat{flex-direction:column;align-items:center;gap:4px;display:flex}.stat-value{color:var(--color-text);font-size:2rem;font-weight:700;line-height:1}.stat-label{text-align:center;color:var(--color-text-muted);max-width:60px;font-size:.65rem;line-height:1.2}.dist-title{text-transform:uppercase;letter-spacing:.08em;text-align:center;color:var(--color-text);margin:0 0 12px;font-size:.8rem}.dist-chart{flex-direction:column;gap:4px;display:flex}.dist-row{align-items:center;gap:6px;display:flex}.dist-label{text-align:right;width:14px;color:var(--color-text);flex-shrink:0;font-size:.8rem}.dist-bar{background-color:var(--color-key-bg);height:22px;color:var(--color-text);border-radius:3px;justify-content:flex-end;align-items:center;min-width:4%;padding-right:6px;font-size:.75rem;font-weight:700;transition:width .4s;display:flex}.dist-bar--highlight{background-color:var(--color-correct);color:#fff}.toast-container{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.toast{background-color:var(--color-text);color:var(--color-background);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:8px;padding:10px 18px;font-size:.85rem;font-weight:700;animation:.15s ease-out forwards toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
