:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233c36;background:#f6f5ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#233c36;--muted:#7a8a80;--green:#276a57;--dark-green:#195544;--cream:#fffdf5;--line:#e2e8df;--board:#dce8dc}
*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ec9a6c;outline-offset:3px}button:disabled{opacity:.49;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.page-glow{position:fixed;pointer-events:none;z-index:-1;filter:blur(12px);border-radius:50%}.glow-one{width:600px;height:600px;left:-350px;top:200px;background:radial-gradient(circle,#e4eee3,transparent 70%)}.glow-two{width:500px;height:500px;right:-320px;top:-160px;background:radial-gradient(circle,#fbe8dc,transparent 70%)}.app{max-width:1500px;margin:0 auto;padding:0 45px}
.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e9e0;gap:15px}.brand{display:flex;align-items:center;gap:13px;font-size:28px;font-weight:850;letter-spacing:-1.7px;line-height:1}.brand-em{color:#45866f}.brand small{display:block;margin-top:8px;font-size:9px;font-weight:800;letter-spacing:2.2px;color:#a1aa9e}.brand-mark{height:48px;width:48px;position:relative;display:grid;place-items:center;background:#286851;border:2px solid #246550;box-shadow:3px 4px 0 #e5a47c;border-radius:12px;transform:rotate(-5deg);color:#fff7e4;font-size:26px;font-weight:800}.brand-mark span{transform:rotate(5deg)}.brand-mark i{position:absolute;width:7px;height:7px;border-radius:50%;background:#f4c997;right:6px;top:5px}.header-actions{display:flex;align-items:center;gap:12px}.offline-badge{display:flex;align-items:center;gap:8px;font-size:12px;color:#668277;margin-right:14px;font-weight:650}.offline-dot{width:7px;height:7px;border-radius:50%;background:#60b58e;box-shadow:0 0 0 4px #e3f0e7}.icon-button,.header-button{border:1px solid #dfe8dd;background:#fffef9;color:#365a4e}.icon-button{width:36px;height:36px;border-radius:50%;font-weight:800}.header-button{border-radius:12px;padding:10px 15px;font-size:12px;font-weight:750}.new-button{background:#275e4d;color:white;border-color:#275e4d}.header-button span{margin-left:10px;font-size:15px}.layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(400px,612px) minmax(190px,1fr);gap:30px;align-items:start;padding-top:45px}.side-panel{min-width:0}.eyebrow{display:flex;align-items:center;gap:10px;font-weight:850;font-size:10px;letter-spacing:2px;color:#8b9e90}.eyebrow-line{width:24px;height:1px;background:#de9b77}.side-heading{margin:22px 0 28px;font-size:clamp(23px,2.2vw,32px);letter-spacing:-1.5px;line-height:1.16}.side-heading em{color:#6fa389;font-family:Georgia,serif;font-weight:450;font-style:italic}.scoreboard{display:flex;flex-direction:column;gap:12px}.player-card{display:flex;align-items:center;gap:10px;padding:14px 12px;min-height:84px;background:#fffdf8;border:1px solid #e4e9df;border-radius:16px;box-shadow:0 5px 15px #365a3b05;transition:.2s}.player-card.active{border-color:#83ba9b;box-shadow:0 0 0 2px #d8eadc;background:#fbfff9}.player-avatar{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:17px;font-weight:850;flex-shrink:0;background:#e8eddf;color:#4b7661}.player-avatar.avatar-1{background:#fae8db;color:#b77752}.player-meta{min-width:0;flex:1}.player-meta strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta span{display:block;font-size:10px;color:#95a598;margin-top:4px}.player-points{font-size:23px;letter-spacing:-1px;font-weight:900;font-variant-numeric:tabular-nums}.panel-card{padding:22px 19px;background:#fffdf8;border:1px solid #e8e9e1;border-radius:18px;box-shadow:0 6px 25px #3e594708}.history-card{margin-top:25px}.panel-title{display:flex;justify-content:space-between;align-items:center;font-weight:850;font-size:13px;margin-bottom:18px}.panel-icon{font-size:16px;color:#9dae9e}.history-list{display:flex;flex-direction:column;gap:16px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-identity{display:flex;align-items:center;gap:9px;min-width:0}.history-dot{width:7px;height:7px;background:#74ad8f;border-radius:50%;flex-shrink:0}.history-item:nth-child(even) .history-dot{background:#efb18d}.history-word{font-weight:800;font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-by{font-size:10px;color:#9eaaa0;margin-top:3px}.history-points{font-size:13px;font-weight:800;color:#3f8467;white-space:nowrap}.empty-history{font-size:12px;line-height:1.65;color:#899b8c}.aside-note{font-family:Georgia,serif;line-height:1.7;font-style:italic;color:#9ab09c;font-size:14px;margin:26px 8px}.aside-note span{color:#d3a389}
.game-area{min-width:0}.game-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 3px 22px}.accent-eyebrow{color:#78a38d}.game-heading h2{margin:6px 0 0;font-size:clamp(27px,2.8vw,39px);font-weight:850;letter-spacing:-2px;line-height:1.1}.heading-period{color:#e89d74}.turn-pill{white-space:nowrap;font-weight:850;letter-spacing:1.3px;font-size:11px;background:#e4eee2;color:#51816b;padding:9px 12px;border-radius:100px}.board-surround{position:relative;padding:9px;border:1px solid #c7d9c5;border-radius:17px;background:#eff3e9;box-shadow:0 18px 38px #6079691c,0 4px 0 #c9d8c8}.board{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));aspect-ratio:1;gap:2px;background:#cfddcc;padding:3px;border-radius:10px;user-select:none;touch-action:manipulation}.square{min-width:0;min-height:0;border:none;position:relative;display:grid;place-items:center;background:#eaf0e5;color:#a4b7a5;border-radius:3px;padding:0;font-size:clamp(7px,.72vw,10px);font-weight:850;transition:background .12s,transform .1s;aspect-ratio:1}.square:not(.has-tile):hover{background:#d8e9d8}.square.center:not(.has-tile):after{content:'✳';font-size:clamp(13px,1.5vw,22px);color:#bf845c;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.square.center .bonus-label{position:absolute;bottom:1px;font-size:7px;z-index:2}.square.tw{background:#e8ada0;color:#a65d54}.square.dw{background:#f5d8c9;color:#be8b75}.square.tl{background:#b1c6cd;color:#557d8c}.square.dl{background:#d3e5dd;color:#73a18e}.bonus-label{line-height:1;letter-spacing:-.3px}.square.has-tile,.square.is-pending{background:#d4e0d1}.letter-tile{position:relative;display:grid;place-items:center;width:100%;height:100%;aspect-ratio:1;border-radius:5px;background:linear-gradient(150deg,#fff7dc 2%,#f5e4bd 100%);border:1px solid #e2cb9e;box-shadow:0 2px 0 #c6ae84,0 3px 5px #5c5e4240;font-size:clamp(12px,1.35vw,21px);font-weight:850;color:#30443d;line-height:1}.letter-tile .value{position:absolute;right:3px;bottom:2px;font-size:clamp(6px,.54vw,9px);font-weight:750;color:#657163}.square.is-pending .letter-tile{background:linear-gradient(145deg,#fffce9,#f9dfb3);outline:2px solid #e4a679;outline-offset:-2px}.square.is-last .letter-tile{border-color:#86b394}.board-corner{position:absolute;font-size:13px;color:#a5b8a1}.corner-a{top:-15px;left:-13px}.corner-b{bottom:-18px;right:-13px}
.game-status-line{display:flex;justify-content:space-between;align-items:center;padding:19px 3px 24px;font-size:12px;color:#839587;font-weight:700}.turn-indicator{display:flex;align-items:center;gap:8px;color:#467b63}.turn-indicator>span:first-child{width:7px;height:7px;background:#72bd94;border-radius:50%}.rack-header{display:flex;justify-content:space-between;align-items:center;padding:0 3px 12px}.rack-header .eyebrow{display:inline-block;color:#557e69}.rack-caption{font-size:11px;color:#9dab9c;margin-left:12px}.rack-tools{display:flex;gap:11px}.tiny-action{background:none;border:none;font-size:12px;font-weight:750;color:#5e8872;padding:5px 0}.tiny-action:hover{color:#215943}.rack-wrap{background:#e9eadd;border:1px solid #d7dbca;border-radius:14px;padding:12px 16px;box-shadow:inset 0 1px 4px #8d947f0d}.rack{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(5px,.8vw,12px);max-width:510px;margin:auto}.rack-tile{border:1px solid #e0c49a;position:relative;display:grid;place-items:center;aspect-ratio:1;background:linear-gradient(145deg,#fff8df,#f5e5bf);border-radius:9px;box-shadow:0 4px 0 #c9b38c,0 5px 7px #58644419;min-width:0;color:#32483f;font-size:clamp(21px,2.5vw,33px);font-weight:850;transition:transform .12s,box-shadow .12s}.rack-tile:hover{transform:translateY(-3px)}.rack-tile.selected{transform:translateY(-8px);box-shadow:0 3px 0 #bb9868,0 0 0 3px #5a9f79}.rack-tile .value{position:absolute;right:7px;bottom:4px;font-size:11px;color:#57695c}.rack-empty{aspect-ratio:1;border:1px dashed #d5d9c8;border-radius:9px;background:#e1e5d7aa}.rack-hidden{font-size:14px;text-align:center;color:#899e8a;padding:24px}.move-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px;flex-wrap:wrap}.move-feedback{min-width:150px;max-width:100%;display:flex;align-items:flex-start;gap:9px;color:#728d7c;font-size:12px;line-height:1.4;flex:1}.feedback-icon{color:#db9d75;font-size:15px}.move-feedback.invalid{color:#ae6660}.action-group{display:flex;align-items:center;gap:8px}.secondary-action,.primary-action{border-radius:11px;padding:12px 15px;font-size:12px;font-weight:800;white-space:nowrap}.secondary-action{border:1px solid #dbe2d7;color:#5a7d6c;background:#fffef9}.primary-action{border:1px solid #275d4e;background:#286650;color:#fff;box-shadow:0 3px 0 #174934}.primary-action:not(:disabled):hover{background:#1c5641;transform:translateY(-1px)}.primary-action>span:last-child{margin-left:5px;font-size:16px}.play-score{font-size:11px;color:#c2ead2;padding-left:4px}
.move-card{margin-top:0;padding:24px 20px}.potential-score{font-size:58px;letter-spacing:-3px;font-weight:850;margin-top:10px;color:#286851;line-height:1}.potential-score small{font-size:10px;letter-spacing:1.5px;color:#89a18d;margin:0 0 5px 6px}.preview-title{font-size:12px;font-weight:800;margin:22px 0 11px}.word-preview{min-height:54px;font-size:11px;line-height:1.7;color:#95a698}.preview-chip{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;background:#f1f4e9;margin-bottom:6px;gap:8px;color:#41614f;font-size:12px;font-weight:800}.preview-chip b{color:#367a5f}.legend-card{margin-top:18px}.legend-row{display:flex;align-items:center;gap:11px;margin-top:10px;color:#718576;font-size:12px;font-weight:700}.legend-tile{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;font-size:10px;font-weight:850}.legend-tile.tw{background:#e8ada0;color:#a65d54}.legend-tile.dw{background:#f5d8c9;color:#be8b75}.legend-tile.tl{background:#b1c6cd;color:#557d8c}.legend-tile.dl{background:#d3e5dd;color:#73a18e}.legend-foot{font-size:11px;line-height:1.65;margin:18px 0 0;color:#9dab9d}.rules-link{padding:18px 3px;border:0;background:none;font-size:12px;color:#839587;line-height:1.6;text-align:left}.rules-link span{display:block;font-weight:850;color:#45866f}.page-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e6e9e0;padding:24px 0 32px;margin-top:40px;font-size:10px;letter-spacing:.6px;color:#9baca0}.page-footer span:first-child{font-weight:850;letter-spacing:2px}.mobile-scores{display:none}
.toast{position:fixed;left:50%;transform:translate(-50%,18px);bottom:28px;z-index:50;pointer-events:none;opacity:0;background:#214d3f;color:white;padding:12px 18px;border-radius:100px;box-shadow:0 10px 30px #25443340;font-size:13px;font-weight:650;max-width:min(90vw,500px);text-align:center;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;z-index:30;background:#182e28a3;display:grid;place-items:center;padding:20px;backdrop-filter:blur(6px)}.modal{width:min(100%,480px);max-height:90vh;overflow-y:auto;background:#fffdf6;color:#274a3a;border-radius:22px;box-shadow:0 32px 90px #061f1740;padding:30px;position:relative}.modal h2{font-size:29px;letter-spacing:-1.3px;margin:6px 0 12px;line-height:1.12}.modal p{font-size:14px;color:#728777;line-height:1.65}.modal .eyebrow{color:#77a188}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:26px;flex-wrap:wrap}.modal .primary-action,.modal .secondary-action{font-size:13px;padding:13px 18px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.choice{min-height:144px;background:#f2f5ed;border:2px solid transparent;border-radius:14px;text-align:left;padding:17px;display:flex;flex-direction:column;gap:8px;color:#315d48}.choice.selected{border-color:#529473;background:#eaf3e7}.choice-icon{font-size:26px}.choice strong{font-size:15px}.choice span:last-child{font-size:12px;color:#8c9d8e;line-height:1.4}.modal-close{position:absolute;right:17px;top:17px;width:32px;height:32px;border:0;border-radius:50%;color:#799282;background:#eff2e9;font-size:19px}.modal .rules{padding-left:22px;font-size:14px;color:#708875;line-height:1.8}.modal .rules li{margin:8px 0}.modal .rules strong{color:#2b604a}.blank-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:20px 0 0}.blank-grid button{border:1px solid #e0d3b5;background:#f6e8c8;border-radius:9px;aspect-ratio:1;font-size:19px;font-weight:800;color:#3d5447}.blank-grid button:hover{background:#eacf9b}.swap-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:22px}.swap-tile{position:relative;border:1px solid #dfcfac;border-radius:9px;aspect-ratio:1;background:#fbedd0;font-size:22px;font-weight:850;color:#425447}.swap-tile.chosen{background:#d8efe0;outline:2px solid #4b9974}.swap-tile small{position:absolute;right:3px;bottom:2px;font-size:9px}.modal-highlight{padding:14px;border-radius:12px;background:#f0f4e9;margin-top:20px;color:#42775c;font-size:13px;font-weight:700}.modal-scoreline{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e7eadf;font-size:15px;font-weight:750}.modal-scoreline strong{font-size:21px;color:#336e55}.winner-star{font-size:36px;color:#dba275;margin-bottom:8px}
@media(max-width:1180px){.app{padding:0 24px}.layout{gap:19px;grid-template-columns:minmax(165px,1fr) minmax(390px,590px) minmax(160px,.9fr)}.side-heading{font-size:24px}.panel-card{padding:18px 14px}.rack-caption{display:none}.offline-badge{margin-right:1px}.game-heading h2{font-size:33px}}
@media(max-width:980px){.layout{grid-template-columns:minmax(0,630px);justify-content:center;padding-top:26px}.side-panel{display:none}.game-heading h2{font-size:32px}.mobile-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.mobile-score{border:1px solid #dde7d9;border-radius:12px;background:#fffdf8;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800}.mobile-score.active{border-color:#7cb997;background:#f4fbf2}.mobile-score strong{font-size:22px;color:#2e694e}.page-footer{margin-top:28px}}
@media(max-width:600px){.app{padding:0 12px}.site-header{height:73px}.brand{font-size:22px;gap:8px;letter-spacing:-1.2px}.brand small{font-size:6px;letter-spacing:1.5px;margin-top:6px}.brand-mark{height:35px;width:35px;border-radius:9px;font-size:20px}.offline-badge,.install-button{display:none}.header-actions{gap:7px}.header-button{padding:9px 10px;font-size:11px}.icon-button{height:33px;width:33px}.layout{padding-top:23px}.game-heading{margin-bottom:16px;align-items:flex-end}.game-heading h2{font-size:30px}.accent-eyebrow{font-size:8px;letter-spacing:1.35px}.turn-pill{font-size:9px;padding:7px 8px}.board-surround{padding:5px;border-radius:11px}.board{gap:1px;padding:2px;border-radius:6px}.square{border-radius:2px;font-size:clamp(6px,1.8vw,8px)}.square.center:after{font-size:14px}.square.center .bonus-label{font-size:5px;bottom:0}.letter-tile{border-radius:3px;font-size:clamp(11px,4vw,17px);box-shadow:0 1px 0 #c6ae84}.letter-tile .value{right:2px;bottom:0;font-size:6px}.game-status-line{padding:14px 2px 22px}.rack-header{padding-bottom:8px}.rack-header .eyebrow{font-size:9px}.rack-tools{gap:12px}.tiny-action{font-size:11px}.rack-wrap{padding:10px 9px}.rack{gap:6px}.rack-tile{font-size:26px;border-radius:7px}.rack-tile .value{right:4px;bottom:2px;font-size:9px}.move-bottom{margin-top:16px}.move-feedback{flex-basis:100%;min-height:18px}.action-group{width:100%;display:grid;grid-template-columns:1fr 1fr 1.75fr;gap:7px}.secondary-action,.primary-action{padding:12px 8px;font-size:12px}.page-footer{font-size:9px;flex-direction:column;gap:7px;padding-bottom:25px}.modal{padding:25px 21px}.modal h2{font-size:26px}.choice-grid{gap:9px}.choice{padding:13px;min-height:133px}.swap-tiles{gap:4px}.swap-tile{font-size:18px}}
@media(max-width:360px){.app{padding:0 8px}.game-heading h2{font-size:26px}.board-surround{padding:3px}.rack-tile{font-size:22px}.header-button{padding:8px}.brand{font-size:19px}}

/* Discreet version label for published Home Screen installs. */
.app-version{font-size:10px;letter-spacing:.04em;opacity:.72;white-space:nowrap;margin-left:10px}
.page-footer .app-version{font-weight:500;letter-spacing:.04em}

/* v1.3: relaxed, easy-to-read play and optional on-board hints. */
.turn-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.style-indicator{font-size:11px;font-weight:800;letter-spacing:.02em;color:#527968;background:#e8f1e6;border:1px solid #d2e3d6;border-radius:30px;padding:8px 11px;white-space:nowrap}
.last-move-note{min-height:26px;font-size:13px;font-weight:700;color:#527b64;padding:0 3px 7px}
.last-move-note:empty{min-height:0;padding:0}
.choice-heading{margin:21px 0 0;font-size:13px;color:#2a5947;letter-spacing:.035em}
.choice strong small{display:inline-block;background:#def0dd;border-radius:14px;color:#347455;font-size:9px;padding:3px 6px;vertical-align:middle;margin-left:2px}
.choice-grid .choice{min-height:123px}
.relaxed-layout .move-feedback{font-size:14px;color:#547d65}
.relaxed-layout .rack-tile{font-weight:900}
.relaxed-layout .secondary-action,.relaxed-layout .primary-action{font-size:14px}
.hint-action{color:#267455!important;font-weight:850!important}
.square.is-hint{outline:3px solid #42976b;outline-offset:-2px;background:#d6eedb;position:relative;z-index:1}
.square.is-hint .bonus-label{color:#236a49}
@media(max-width:600px){
  .turn-badges{gap:5px;flex-direction:column;align-items:flex-end}
  .style-indicator{font-size:9px;padding:4px 8px}
  .rack-tools{gap:9px}
  .rack-header .tiny-action{font-size:11px}
  .last-move-note{font-size:12px}
  .choice-grid .choice{min-height:125px}
  .choice-heading{font-size:13px}
}

/* v1.9 — readable final-score breakdown on phones and iPads */
.endgame-breakdown{margin:0 0 12px;padding:0 2px;font-size:.84rem;line-height:1.4;color:var(--muted,#67756b);text-align:right}

/* v1.10 — friendly, accessible on-board word meanings */
.definition-tip{margin:0 3px 20px;color:#487961;font-size:13px;line-height:1.45;font-weight:700}
.definition-tip span{font-size:19px;margin-right:6px;color:#d2a078;vertical-align:middle}
.square.is-definition-tile:focus-visible .letter-tile{outline:3px solid #237b5a;outline-offset:-1px}
.square.is-definition-tile:hover .letter-tile{border-color:#277f64;box-shadow:0 0 0 2px #64ac85,0 2px 0 #c6ae84}
.definition-choices{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 16px}
.definition-choice{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:92px;min-height:56px;text-align:center;padding:9px 15px;border-radius:12px;border:2px solid #d9e5d5;background:#f5f7ef;color:#315a46;font-size:18px;font-weight:850}
.definition-choice small{font-size:11px;font-weight:700;color:#718678}
.definition-choice.chosen{background:#dcecdf;border-color:#458d69}
.definition-result{padding:14px 17px;border-radius:14px;border:1px solid #dae8db;background:#f7faf3;min-height:110px}
.definition-result .defined-word{font-size:26px;margin:0 0 9px;letter-spacing:0;color:#27664e}
.definition-result .meaning-type{font-size:13px;font-weight:750;color:#55836b;margin-bottom:5px}
.definition-result .meaning-item p{font-size:17px;line-height:1.55;margin:0 0 14px;color:#324c40}
.definition-result .meaning-source{font-size:11px;line-height:1.4;margin:8px 0 0;color:#6b8875}
.definition-result .definition-loading,.definition-result .meaning-unavailable{font-size:16px;line-height:1.6;color:#416751}
.modal .meaning-explainer{font-size:12px;line-height:1.5;color:#778978}
@media(max-width:600px){.definition-tip{font-size:12px;margin-bottom:16px}.definition-choices{gap:8px}.definition-choice{min-width:82px}.definition-result .meaning-item p{font-size:17px}}

/* v1.11: large, clearly separated word selection on iPhone and iPad. */
.definition-choices{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 16px}
.definition-choice{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;min-width:110px;min-height:56px;padding:11px 15px;border:2px solid #d2e2d4;background:#f5f8f1;border-radius:14px;color:#274d3c;font-size:19px;font-weight:800;line-height:1.25;white-space:normal}
.definition-choice .definition-choice-word{font-size:19px;letter-spacing:.01em}
.definition-choice .definition-choice-direction{font-size:13px;font-weight:650;color:#5a7364}
.definition-choice.chosen{border-color:#317651;background:#dfedde;color:#174c35}
.definition-result{background:#f7faf3;border:1px solid #dae8db;padding:16px;border-radius:14px;min-height:120px}
.definition-external{display:inline-block;color:#205b44;text-decoration:underline;text-underline-offset:3px;font-size:15px;font-weight:750;padding:6px 0}
.definition-external:focus-visible{outline:3px solid #e89b72;outline-offset:3px}
@media(max-width:600px){.definition-choices{gap:8px}.definition-choice{min-width:120px;min-height:58px;padding:11px 12px}.definition-choice .definition-choice-word{font-size:18px}.definition-choice .definition-choice-direction{font-size:13px}}

/* v1.14 — comfortable manual rack arrangement on phones, iPads and desktop. */
.rack-header{flex-wrap:wrap;gap:5px 12px}
.rack-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px}
.arrange-action{border-radius:8px;padding:7px 9px;background:#e4eee2;color:#2e7355}
.arrange-action.arrange-active{background:#2f7457;color:white}
.rack-tile{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.rack-tile.arrange-picked{transform:translateY(-8px);outline:3px solid #247d59;outline-offset:1px;background:#e1f4d8}
.rack-tile.drop-target{outline:3px dashed #267c5d;outline-offset:1px;background:#e2f0d9}
.rack-order-tip{margin:8px 6px 0;color:#3c795b;font-size:13px;line-height:1.5;font-weight:700}
@media(max-width:600px){.rack-header{align-items:flex-start}.rack-tools{gap:4px 8px}.rack-tools .tiny-action{padding:7px 3px;font-size:11px}.rack-tools .arrange-action{padding:7px 9px}.rack-caption{display:inline-block;margin-left:7px;font-size:10px}.rack-order-tip{font-size:12px}}


/* v1.15: stable touch / stylus / mouse dragging, including the gaps between letters. */
.rack{touch-action:none}
.rack-tile{touch-action:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.rack.rack-dragging .rack-tile:not(.rack-drag-source){
  transform:translateX(var(--rack-shift,0px));
  transition:transform .13s ease-out,box-shadow .13s ease-out;
}
.rack.rack-dragging .rack-tile.rack-drag-source{opacity:.23;box-shadow:none;transform:none}
.rack.rack-dragging .rack-tile.drop-target{outline:3px dashed #327c59;outline-offset:2px}
.rack-drag-ghost{
  position:fixed;z-index:100;pointer-events:none;touch-action:none;
  display:grid;place-items:center;margin:0;
  transform:translateY(-5px) scale(1.045);
  box-shadow:0 8px 0 #b7a079,0 15px 28px #27423652;
  opacity:.98;transition:none!important;
}

/* v1.16 — tentative letters can be dragged between board squares or back to the rack. */
.square.is-pending{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.square.is-pending.board-drag-source .letter-tile{opacity:.24}
.square.board-drop-valid{outline:3px solid #238451;outline-offset:-3px;z-index:2;background:#e0f2d6}
.square.board-drop-invalid{outline:3px solid #c26852;outline-offset:-3px;z-index:2}
.board-drag-ghost{position:fixed;z-index:110;pointer-events:none;touch-action:none;margin:0;opacity:.98;transform:translateY(-3px) scale(1.1);filter:drop-shadow(0 4px 7px #24392b66)}
.board-drag-ghost .letter-tile{width:100%;height:100%;font-size:clamp(17px,2vw,26px)}

/* v1.17: highlighting only the newly placed tiles from the computer's move. */
.last-move-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-height:40px;padding:0 2px 10px}
.last-move-row .last-move-note{flex:1 1 200px;padding:0;min-height:0}
.last-move-button{border:1px solid #a9c4b0;border-radius:11px;background:#f5fbf4;color:#255b45;font:inherit;font-weight:800;font-size:12px;padding:10px 12px;cursor:pointer;white-space:nowrap;min-height:41px;touch-action:manipulation}
.last-move-button[hidden]{display:none}
.last-move-button:hover,.last-move-button[aria-pressed="true"]{background:#e4f2e5;border-color:#528663}
.last-move-button:focus-visible{outline:3px solid #287e58;outline-offset:2px}
.square.is-computer-highlight .letter-tile{outline:3px solid #29804e;outline-offset:-2px;border:2px solid #246d47;background:linear-gradient(145deg,#e4f5d7,#c6e9bc);box-shadow:inset 0 0 0 1px #edfbe7,0 2px 0 #75ac72;z-index:1}
@media(max-width:600px){.last-move-row{gap:4px 10px;padding-bottom:11px}.last-move-button{font-size:12px;min-height:44px}.last-move-row .last-move-note{font-size:12px;flex-basis:160px}}
@media(prefers-reduced-motion:reduce){.square.is-computer-highlight .letter-tile{transition:none}}

/* v1.18: show one helpful explanation; extra senses appear only on request. */
.other-meanings-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:4px 0 10px;padding:10px 15px;border:2px solid #c2d9c5;border-radius:12px;background:#edf5ec;color:#255e47;font-size:16px;font-weight:750;cursor:pointer}
.other-meanings-button:focus-visible{outline:3px solid #d58d62;outline-offset:3px}
.other-meanings-panel{border-top:1px solid #d9e7d8;margin-top:8px;padding-top:13px}
.other-meanings-panel[hidden]{display:none}
.other-meanings-panel h4{margin:0 0 12px;font-size:17px;color:#2c634c}
.other-meanings-panel .meaning-item+.meaning-item{border-top:1px dashed #d5e3d4;padding-top:11px}
