.board{grid-gap:min(2vw, 10px);aspect-ratio:1;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;-khtml-user-select:none;aspect-ratio:1;contain:layout size;will-change:transform;box-sizing:border-box;grid-template-columns:repeat(5,1fr);width:min(90vw,500px,max(220px,100dvh - 310px));max-width:100%;min-height:0;margin:0 auto;display:grid;position:relative;overflow:visible}.parent{justify-content:center;display:flex}.cell-connection{background-color:var(--connection);transform-origin:0;z-index:1;height:min(1vw,5px);box-shadow:0 0 min(.6vw, 3px) var(--connection-shadow);opacity:.8;border-radius:min(.5vw,2.5px);transition:opacity .2s;position:absolute}.no-select{-webkit-user-select:none;user-select:none}.die{touch-action:none;-webkit-tap-highlight-color:transparent}:is(.board:has(.die.valid-flash) .cell-connection,.board:has(.die.invalid-flash) .cell-connection),:is(.board:has(.die.selected.valid-flash) .cell-connection,.board:has(.die.selected.invalid-flash) .cell-connection){opacity:0;transition:opacity .4s;transform:translateZ(0)}
.die{background-color:var(--die-background);border:min(.4vw, 2px) solid var(--die-border);color:var(--die-foreground);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;will-change:opacity;box-sizing:border-box;cursor:pointer;z-index:1;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;color-scheme:normal;will-change:transform, opacity;border-radius:min(1.6vw,8px);justify-content:center;align-items:center;width:100%;height:100%;transition:background-color .2s,border-color .2s,color .2s,opacity .1s;display:flex;position:relative;transform:translateZ(0);container:die-container/inline-size}.die-letter{justify-content:center;align-items:center;width:100%;height:100%;font-size:clamp(1.2rem,45cqw,2.5rem);font-weight:700;display:flex}.letter-score{color:var(--die-score);font-size:clamp(.6rem,17cqw,1.2rem);font-weight:400;position:absolute;bottom:5%;right:8%;-webkit-user-select:none!important;user-select:none!important}.bonus-label{font-size:clamp(.6rem,17cqw,1.2rem);font-weight:700;position:absolute;top:5%;left:8%}.die.selected{background-color:var(--selected-background);border-color:var(--selected-border);color:#fff;z-index:2;transform:scale(.95)}.die.selected .letter-score{color:var(--selected-score)}.die.double-letter{background-color:var(--double-letter-background)}.die.triple-letter{background-color:var(--triple-letter-background)}.die.double-word{background-color:var(--double-word-background)}.die.triple-word{background-color:var(--triple-word-background)}.die.double-letter:not(.selected),.die.triple-letter:not(.selected),.die.double-word:not(.selected),.die.triple-word:not(.selected){border-color:var(--bonus-tile-border);color:var(--bonus-tile-foreground)}.die.double-letter:not(.selected) .letter-score,.die.triple-letter:not(.selected) .letter-score,.die.double-word:not(.selected) .letter-score,.die.triple-word:not(.selected) .letter-score{color:var(--bonus-tile-score)}.die.double-letter.selected,.die.triple-letter.selected,.die.double-word.selected,.die.triple-word.selected,.die.powerup.selected{background-color:var(--selected-background);border-color:var(--selected-border)}.die.double-word .bonus-label,.die.triple-word .bonus-label{color:var(--word-bonus-foreground)}.die.double-letter .bonus-label,.die.triple-letter .bonus-label{color:var(--letter-bonus-foreground)}.die.valid-flash{transition:background-color .25s;background-color:#4caf50!important;border-color:#45c549!important}.die.invalid-flash{transition:background-color .25s;background-color:#f44336!important;border-color:#ff5252!important}.die.selectable{border-color:#80bcffcc;box-shadow:0 0 min(1.6vw,8px) #80bcff99}
.game-container{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;max-width:800px;height:auto;min-height:100dvh;margin:0 auto;padding:20px;display:flex;position:relative;overflow:visible}.puzzle-time{color:var(--muted);margin:10px 0 0;font-size:11px}.schedule-message{text-align:center;color:var(--muted);font-size:12px;position:fixed;bottom:8px;left:16px;right:16px}.theme-toggle{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));z-index:20;border:1px solid var(--toggle-border);background-color:var(--toggle-background);min-height:40px;color:var(--toggle-foreground);box-shadow:0 4px 14px var(--elevation-shadow);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:14px;font-weight:650;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex;position:fixed}.theme-toggle:hover{box-shadow:0 6px 18px var(--elevation-shadow);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:3px}.theme-toggle-icon{justify-content:center;align-items:center;width:20px;height:20px;font-size:19px;line-height:1;display:inline-flex}.board-wrapper{justify-content:center;align-items:center;width:100%;display:flex}.header{flex-direction:column;align-items:center;width:100%;margin-bottom:20px;display:flex}.header h1{margin-bottom:16px;font-size:2.5rem}.buttons-container{gap:10px;margin-bottom:12px;display:flex}.game-button{background-color:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:background-color .2s}.game-button:hover{background-color:var(--accent-hover)}.score-indicator{text-align:center;width:100%;margin-bottom:min(1vw,5px);font-size:clamp(20px,5vw,28px);font-weight:700}.current-word-display{white-space:nowrap;flex:0 0 clamp(18px,4.5vw,24px);justify-content:center;align-items:center;width:100%;height:clamp(18px,4.5vw,24px);min-height:clamp(18px,4.5vw,24px);margin-bottom:min(2vw,10px);font-size:clamp(16px,4vw,20px);display:flex;overflow:hidden}.potential-score{color:var(--accent-detail);font-size:clamp(14px,3.5vw,20px)}.found-words-panel{background-color:var(--panel-background);border:1px solid var(--border);border-radius:8px;width:90%;max-width:500px;margin-top:20px;padding:15px}.found-words-panel h3{text-align:center;margin-top:0;margin-bottom:10px;font-size:18px}.words-list{max-height:150px;padding-right:5px;overflow-y:auto}.words-list ul{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;padding:0;list-style-type:none;display:grid}.words-list li{background-color:var(--surface-muted);border-radius:4px;justify-content:space-between;padding:4px 8px;font-size:14px;display:flex}.found-word{font-weight:600}.word-score{color:var(--accent-detail);font-weight:700}.no-words{text-align:center;color:var(--muted);margin:10px 0;font-style:italic}.progress-container{width:90%;max-width:500px;margin:25px auto 15px;position:relative}.progress-bar{background-color:var(--progress-track);border-radius:5px;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.progress-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:5px;max-width:100%;height:100%;transition:width .5s}.milestone{z-index:2;background-color:#fff;width:3px;height:10px;position:absolute;top:0;transform:translate(-50%)}.milestone.bronze{background-color:#cd7f32}.milestone.silver{background-color:#d8d8d8}.milestone.gold{background-color:gold}.achievement-badge{box-sizing:border-box;color:#fff;text-transform:capitalize;border-radius:12px;justify-content:center;align-items:center;height:24px;margin-top:0;padding:0 12px;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.achievement-badge.bronze{color:#333;background-color:#cd7f32}.achievement-badge.silver{color:#333;background-color:#d8d8d8}.achievement-badge.gold{color:#333;background-color:gold}.badge-container{justify-content:center;align-items:center;height:26px;margin-top:8px;display:flex}.achievement-badge-placeholder{visibility:hidden;height:12px}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden auto}@media (max-width:480px){.words-list ul{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.header h1{margin-bottom:12px;font-size:2rem}.game-button{padding:6px 12px;font-size:13px}}.rules-screen{z-index:10;box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100dvh;min-height:0;max-height:100dvh;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.rules-content{background-color:var(--surface);box-sizing:border-box;width:100%;max-width:700px;box-shadow:0 4px 20px var(--elevation-shadow);border:1px solid var(--border);text-align:left;border-radius:8px;flex-direction:column;max-height:100%;padding:25px;display:flex;position:relative;overflow:hidden}.rules-scroll-region{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.close-rules-button{z-index:2;border:1px solid var(--toggle-border);background-color:var(--toggle-background);width:38px;height:38px;color:var(--toggle-foreground);box-shadow:0 3px 10px var(--elevation-shadow);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex;position:absolute;top:12px;right:12px}.close-rules-icon{flex:0 0 16px;width:16px;height:16px;display:block;position:relative}.close-rules-icon:before,.close-rules-icon:after{content:"";transform-origin:50%;background-color:currentColor;border-radius:999px;width:16px;height:2px;position:absolute;top:50%;left:50%}.close-rules-icon:before{transform:translate(-50%,-50%)rotate(45deg)}.close-rules-icon:after{transform:translate(-50%,-50%)rotate(-45deg)}.close-rules-button:hover{transform:scale(1.05)}.close-rules-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.rules-section:first-child h2{padding-right:44px}.rules-content h1{text-align:left;color:var(--foreground);margin-bottom:20px;font-size:1.8rem}.rules-section{text-align:left;margin-bottom:25px}.rules-section h2{color:var(--accent-detail);border-bottom:1px solid var(--border);text-align:left;margin-bottom:12px;padding-bottom:5px;font-size:1.4rem}.rules-section ul{text-align:left;margin-bottom:15px;margin-left:20px}.rules-section li{text-align:left;margin-bottom:8px;font-size:.9rem;line-height:1.5}.rules-section ul ul{margin-top:8px}.bonus-example{align-items:left;border-radius:4px;justify-content:left;margin-right:5px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.bonus-example.dl{background-color:var(--double-letter-background);color:var(--letter-bonus-foreground)}.bonus-example.tl{background-color:var(--triple-letter-background);color:var(--letter-bonus-foreground)}.bonus-example.dw{background-color:var(--double-word-background);color:var(--word-bonus-foreground)}.bonus-example.tw{background-color:var(--triple-word-background);color:var(--word-bonus-foreground)}.achievements-example{text-align:left;flex-direction:column;gap:10px;margin-top:15px;display:flex}.achievement-row{text-align:left;align-items:center;gap:15px;display:flex}.achievement-row p{text-align:left;flex:1;margin:0;font-size:.9rem}.show-rules-button{margin-top:20px}@media (max-width:480px){.theme-toggle{justify-content:center;width:42px;min-height:42px;padding:8px}.theme-toggle-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rules-content{height:100%;max-height:100%;padding:15px}.rules-screen{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.rules-content h1{font-size:1.5rem}.rules-section h2{font-size:1.2rem}.rules-section li,.achievement-row p{font-size:.85rem}}
