:root{--bg:#f6f5ef;--paper:#fffefa;--ink:#243c33;--muted:#7b8176;--line:#e4e6db;--green:#245747;--lime:#e4ebac;--red:#ae4437;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #93aa53;outline-offset:4px}button,a,input{transition:background .18s,color .18s,transform .18s,box-shadow .18s}.site-header{height:94px;max-width:1200px;padding:0 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:25px;font-weight:750;letter-spacing:-1.1px}.brand-light{font-weight:400}.brand-dot{color:#849847}.brand-icon{width:39px;height:43px;background:var(--green);color:var(--paper);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;margin-right:12px;font:700 33px var(--serif);position:relative;transform:rotate(-7deg)}.brand-icon span{font:8px var(--sans);position:absolute;bottom:5px;right:5px}.site-header nav{display:flex;align-items:center;gap:30px}.nav-link{font-size:13px;color:var(--muted);padding:12px 0}.nav-link:hover,.nav-link.current{color:var(--ink)}.nav-link.current{font-weight:650}.nav-link span{margin-left:5px}.icon-button{width:30px;height:30px;border:1px solid #c5ccbe;background:transparent;border-radius:50%;font-weight:600}.page{max-width:1128px;margin:auto;padding:48px 0 0}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;gap:30px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:750;display:flex;align-items:center;gap:8px}.live-dot{width:6px;height:6px;background:#779057;border-radius:50%}h1{font:normal 46px/1.12 var(--serif);letter-spacing:-1.6px;margin:20px 0 14px}h1 em{font-weight:normal;color:#728251}p{line-height:1.65}.hero p{margin:0;color:var(--muted);font-size:14px}.edition{border-left:1px solid #d9decf;padding-left:28px;min-width:237px;display:flex;flex-direction:column;gap:15px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.edition strong{font:normal 22px/1.3 var(--serif);color:var(--ink)}.game-layout,.ranking-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.game-card,.leaderboard-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;box-shadow:0 5px 15px #263d3003;overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 28px}.daily-badge{font-size:10px;padding:6px 10px;background:#f0f2e8;border-radius:20px;color:#68734c}.editor{padding:16px 38px 0;text-align:center}.editor-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;letter-spacing:1px}#wordCounter{font-weight:700;color:var(--green)}#draftPoints{letter-spacing:0}#inputAreaContainer{margin:18px 0 0;border-bottom:1px solid #cdd5c6}#inputArea{position:relative;min-height:70px;display:flex;justify-content:center;align-items:center;gap:3px;cursor:text}.inputLetter{font:normal 42px var(--serif);width:36px;text-align:center}#cursor{height:36px;width:2px;background:#80984f;position:absolute;top:18px;animation:blink 1.2s steps(2,start) infinite}#inputArea:has(.inputLetter) #cursor{opacity:.7}#inputArea:not(:has(.inputLetter)):before{content:'À vous de trouver…';font:italic 27px var(--serif);color:#c2c7b9}#inputArea:not(:has(.inputLetter)) #cursor{display:none}#messageArea{font-size:11px;color:var(--muted);min-height:20px;margin:3px 0 5px}.liveWordResult{font-size:11px;min-height:20px;padding-top:8px}.error,.invalid{color:var(--red)!important}.success,.valid{color:var(--green)}.rack-section{padding:22px 38px 15px}.rack-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:10px;font-weight:700;letter-spacing:1.3px}.text-button{border:0;background:transparent;font-size:11px;color:var(--muted);padding:7px 0;letter-spacing:0;font-weight:500}.text-button:hover{color:var(--green)}.letter-rack{display:flex;justify-content:center;gap:8px}.row{display:contents}.tile{height:62px;flex:1;min-width:0;max-width:62px;border:1px solid #d9ddcc;border-bottom:3px solid #c8cfb7;border-radius:8px;background:#f1f2e6;position:relative;display:flex;align-items:center;justify-content:center}.tile:hover:not(:disabled){transform:translateY(-3px);background:var(--lime);box-shadow:0 5px 7px #31422410}.tile:active:not(:disabled){transform:translateY(1px)}.tileLetter{font:600 29px var(--serif)}.tileScore{position:absolute;right:6px;bottom:5px;font-size:9px;font-weight:600;color:#858b76}.tile.used-up{opacity:.25;border-style:dashed;background:transparent}.action-row{display:flex;gap:10px;margin-top:18px}.actionTile{height:45px;border-radius:8px;font-size:11px;font-weight:650;letter-spacing:.4px}.delTile{background:transparent;border:1px solid var(--line);flex:0 0 115px}.addWordTile{background:var(--green);color:white;border:1px solid var(--green);flex:1}.addWordTile:hover:not(:disabled),.finishButton:hover{background:#193f33}.keyboard-hint{font-size:9px;color:#999e91;text-align:center;margin:15px 0 0}.keyboard-hint span{margin:0 10px}kbd{font:inherit;border:1px solid var(--line);padding:2px 4px;border-radius:3px}.saved-section{border-top:1px solid var(--line);padding:24px 28px;background:#fbfbf5}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-heading h2{font:normal 22px var(--serif);margin:0}.section-heading>span{font-size:10px;color:var(--muted)}#userAddedWords{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wordSlot{position:relative;border:1px dashed #d4d9ca;border-radius:9px;padding:14px 8px;display:flex;align-items:center;gap:8px;min-height:65px}.wordSlot.active{border:1px solid #94a47c;background:#f0f3e5}.wordSlot.filled{border-style:solid}.slotCircle{border:1px solid #d7deca;background:transparent;border-radius:50%;width:25px;height:25px;flex-shrink:0;font-size:10px;color:#8e987f}.filled .slotCircle{background:var(--green);color:#fff;border-color:var(--green)}.slotWordLabel{border:0;background:transparent;text-align:left;font-size:10px;font-weight:600;padding:0;min-width:0;overflow-wrap:anywhere}.slotScore{display:block;font-size:9px;color:var(--muted);margin-top:5px;font-weight:400}.slotDelete{position:absolute;right:3px;top:1px;background:none;border:0;color:#9ca28e;font-size:16px}.finish-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.finish-copy{display:flex;flex-direction:column;gap:5px;font-size:12px}.finish-copy span{font-size:10px;color:var(--muted)}.finishButton,.primary-link{border:0;background:var(--green);color:#fff;padding:15px 20px;border-radius:8px;font-size:12px}.sidebar{display:flex;flex-direction:column;gap:16px}.score-card{background:var(--green);border-radius:16px;padding:27px;color:#fff}.score-card .eyebrow{color:#cedcbd}.score-total{display:flex;align-items:baseline;gap:9px;margin:15px 0}.score-total strong{font:normal 66px/.95 var(--serif);letter-spacing:-2px}.score-total span{font-size:13px;color:#c5d4c7}.progress-track{height:4px;background:#ffffff20;border-radius:5px;overflow:hidden;margin-top:22px}#scoreProgress{height:100%;background:var(--lime);transition:width .3s;width:0}.score-card p{font-size:11px;color:#cbdbce;margin:12px 0 26px}.score-card label{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px}.score-card label span{color:#a9c0b1}#usernameInput{width:100%;border:1px solid #ffffff30;background:#ffffff0c;border-radius:7px;padding:11px;color:#fff;font-size:12px}#usernameInput::placeholder{color:#b4c9bc}.save-status{display:block;font-size:9px;line-height:1.5;color:#a9c0b1;margin-top:12px}.tip-card{background:#ecefdc;padding:25px;border:1px solid #e0e5cc;border-radius:15px}.tip-icon{float:right;font:30px var(--serif);color:#819354;margin-top:-7px}.tip-card .eyebrow{font-size:9px;letter-spacing:1px;margin-top:3px}.tip-card h2{font:normal 25px var(--serif);margin:20px 0 10px}.tip-card p{font-size:12px;color:#757f65;margin:0 0 14px}.tip-card strong{color:#4e5d3e;font-weight:600}.example{border-top:1px solid #d5dcc1;padding-top:14px;display:flex;justify-content:space-between;font-size:12px}.tip-card .tip-footnote{font-size:9px;margin:7px 0 0;color:#939b85}.ranking-link{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:12px}.ranking-link strong{font-size:12px;font-weight:600}.ranking-link small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.ranking-link>span:last-child{font-size:23px}.ranking-link:hover{background:#ecefdc}.page-footer{display:flex;justify-content:space-between;gap:20px;margin:30px 0 25px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;color:#969b8d}.page-footer strong{color:#6d7861;font-weight:500;font-variant-numeric:tabular-nums}.hidden,.is-hidden,[hidden]{display:none!important}.modal{position:fixed;inset:0;background:#182e26aa;backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{position:relative;background:var(--paper);border-radius:20px;padding:0;max-width:510px;width:100%;max-height:90dvh;overflow:hidden;box-shadow:0 20px 100px #0003}.modal-scroll{max-height:90dvh;overflow:auto;padding:35px}.close-button{position:absolute;z-index:3;right:15px;top:12px;border:0;background:var(--paper);border-radius:50%;font-size:25px;color:var(--muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.submission-message{font:normal 27px var(--serif);text-align:center;margin:8px 0 20px}.submission-title{font-weight:400}.submission-player{display:block;font:12px var(--sans);color:var(--muted);margin-top:10px}.submission-rack{display:flex;gap:5px;justify-content:center}.recapTile{position:relative;background:#eff1e2;border:1px solid #dbe0cc;border-radius:5px;padding:8px 10px}.recapTileLetter{font:20px var(--serif)}.recapTileScore{position:absolute;bottom:1px;right:2px;font-size:7px}.submission-total{display:flex;flex-direction:column;align-items:center;margin:20px}.submission-total strong{font:70px var(--serif)}.submission-total span{font-size:9px;letter-spacing:3px}.submission-meta{display:flex;justify-content:center;gap:40px;margin-bottom:20px}.submission-stat{text-align:center}.submission-stat-label{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.submission-stat strong{font:24px var(--serif)}.resultRow{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:14px 0}.resultWord{font-size:13px}.resultBreakdown{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:3px;margin-top:5px}.resultPoints{font-size:15px}.modal-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.modal-buttons button,.modal-buttons a{flex:1;border:1px solid var(--line);background:transparent;border-radius:7px;text-align:center;padding:13px 10px;font-size:10px;white-space:nowrap}.modal-buttons .shareButton,.rules-buttons button{background:var(--green);color:#fff;border-color:var(--green)}.rules-modal-content h2{font:32px var(--serif);margin:5px 0 18px}.rules-intro{font-size:13px}.rules-grid{display:grid;gap:15px;margin:25px 0}.rule-card{display:flex;gap:14px;font-size:12px;line-height:1.6}.rule-number{width:25px;height:25px;flex-shrink:0;border-radius:50%;background:#e9edda;display:flex;align-items:center;justify-content:center}.scoring-card{background:#eff1e4;border-radius:10px;padding:16px;font-size:11px}.scoring-card h3{font:20px var(--serif);margin:0}.scoring-card p{margin:10px 0 0}.leaderboard-toolbar{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:10px}.tabs{display:flex;padding:4px;background:#eff1e6;border-radius:9px;gap:4px}.tab-button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:10px 16px;border-radius:6px}.tab-button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #0001}.list-head{display:flex;justify-content:space-between;margin:0 25px;padding:0 0 14px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.5px;color:var(--muted)}.score-section{display:none}.score-section.active{display:block}.score-list{list-style:none;margin:0;padding:0 25px 20px}.score-item{display:flex;justify-content:space-between;align-items:center;padding:21px 5px;border-bottom:1px solid var(--line);gap:14px}.score-rank{font:21px var(--serif);color:#8a9876;min-width:30px}.score-name-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.score-name{font-size:13px;font-weight:600;overflow-wrap:anywhere}.score-sub{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.6}.score-points{font:22px var(--serif);white-space:nowrap}.mine-badge{font-size:8px;letter-spacing:1px;background:#e0e9c5;border-radius:4px;padding:4px;color:var(--green)}.score-item.is-mine{background:#f1f4e7;margin:0 -12px;padding-left:17px;padding-right:17px;border-radius:9px}.empty-state{text-align:center;padding:60px 20px;line-height:1.7;color:var(--muted);font-size:13px}.ranking-page .hero{margin-bottom:45px}.ranking-page .leaderboard-card{min-height:350px}.shake{animation:shake .3s}@keyframes blink{50%{opacity:0}}@keyframes shake{25%,75%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
@media(min-width:1400px){.page{padding-top:58px}.hero{margin-bottom:46px}.game-card .editor{padding-top:24px}.rack-section{padding-top:28px;padding-bottom:22px}}
@media(max-width:1200px){.page{margin:0 36px}.site-header{margin:0 0}}
@media(max-width:900px){.game-layout,.ranking-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.page{margin:0 24px;padding-top:32px}.site-header{padding:0 24px;height:80px}.edition{min-width:220px}.editor{padding-left:24px;padding-right:24px}.rack-section{padding-left:24px;padding-right:24px}.letter-rack{gap:5px}.tile{height:53px}.tileLetter{font-size:25px}.score-card,.tip-card{padding:22px}.wordSlot{flex-direction:column;align-items:flex-start}.hero h1{font-size:40px}.card-heading,.saved-section{padding-left:24px;padding-right:24px}}
@media(max-width:720px){.page{margin:0 20px;padding-top:30px}.site-header{height:76px;padding:0 20px}.brand{font-size:22px}.brand-icon{width:32px;height:36px;font-size:28px;margin-right:9px}.site-header nav{gap:18px}.nav-link{font-size:11px}.hero{margin-bottom:26px}.hero h1{font-size:38px;letter-spacing:-1.3px;margin-top:16px}.hero p{font-size:12px}.edition{display:none}.game-layout,.ranking-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ranking-link{grid-column:1/-1}.score-total strong{font-size:52px}.score-card p{margin-bottom:18px}.tip-card .eyebrow{font-size:8px}.tip-card h2{font-size:23px}.tip-icon{display:none}.score-card label{gap:5px}.score-card label span{font-size:8px}.game-card{border-radius:14px}.wordSlot{flex-direction:row;align-items:center}.tile{max-width:none;height:61px}.tileLetter{font-size:28px}.page-footer{font-size:9px;line-height:1.5}.ranking-page .hero{align-items:flex-start;flex-direction:column;gap:22px}.ranking-page .sidebar{display:flex}.ranking-page .tip-icon{display:block}.modal-scroll{padding:30px 23px}.keyboard-hint{display:none}.rack-section{padding-bottom:24px}}
@media(max-width:420px){.page{margin:0 14px}.site-header{padding:0 14px}.site-header nav{gap:14px}.brand{font-size:20px}.hero h1{font-size:34px}.hero .eyebrow{font-size:9px}.editor,.rack-section{padding-left:18px;padding-right:18px}.tile{height:49px;border-radius:6px}.tileLetter{font-size:25px}.tileScore{right:3px;bottom:3px;font-size:8px}.letter-rack{gap:4px}.card-heading,.saved-section{padding:20px 18px}.inputLetter{width:28px;font-size:34px}.wordSlot{gap:5px;padding:13px 6px}.slotCircle{width:21px;height:21px}.slotWordLabel{font-size:9px}.slotScore{font-size:8px}.sidebar{grid-template-columns:1fr}.score-card{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.score-card .eyebrow,.score-card .progress-track,.score-card p,.score-card .save-status{grid-column:1/-1}.score-total{grid-row:2/4;margin:15px 0 0}.score-card label{grid-row:2;margin-top:17px;align-self:end}#usernameInput{grid-row:3}.score-card .progress-track{margin-top:20px}.score-card p{margin-bottom:4px}.tip-card{display:none}.ranking-page .tip-card{display:block}.finish-panel{flex-direction:column;align-items:stretch}.finishButton{width:100%}.delTile{flex-basis:92px}.leaderboard-toolbar{padding:18px}.tab-button{padding:9px 12px}.score-points{font-size:19px}.page-footer{flex-direction:column;gap:6px;margin-top:22px}.recapTile{padding:8px}.modal{padding:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:720px){.letter-rack{flex-direction:column;gap:8px}.letter-rack .row{display:flex;justify-content:center;gap:8px}.tile{flex:0 1 55px;height:55px;min-width:44px}.tileScore{right:5px;bottom:4px}.tileLetter{font-size:28px}}
@media(max-width:360px){.letter-rack .row{gap:6px}.tile{flex-basis:44px;height:49px}.tileLetter{font-size:26px}}
/* Each saved word is one full-card button; deletion remains a separate action. */
.wordSlot{padding:0;display:flex;align-items:stretch}.slotSelect{width:100%;min-height:65px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;gap:8px;padding:14px 10px;text-align:left}.slotSelect:hover{background:#e9efda}.slotSelect .slotCircle{display:inline-flex;align-items:center;justify-content:center}.slotDelete{z-index:2}.slotSelect .slotWordLabel{padding-right:4px}.pseudo-controls{display:flex;align-items:stretch;gap:6px;min-width:0}#usernameInput{min-width:0;flex:1}#generatePseudo{flex:0 0 34px;border:1px solid #ffffff30;border-radius:7px;background:#ffffff12;color:#e4ebac;font-size:23px}#generatePseudo:hover:not(:disabled){background:#ffffff25}.pseudo-status{display:block;min-height:0;margin-top:8px;font-size:10px;line-height:1.5;color:#e4ebac}.pseudo-status:empty{display:none}
@media(max-width:720px){.brand{font-size:21px;letter-spacing:-1px}.site-header nav{gap:14px}.brand-icon{margin-right:7px}}
@media(max-width:420px){.brand{font-size:19px}.site-header nav{gap:10px}.nav-link{font-size:10px}.brand-icon{width:28px;height:33px;font-size:25px}.slotSelect{gap:5px;padding:13px 6px}.score-card label{grid-column:2;grid-row:2}.score-card .pseudo-controls{grid-column:2;grid-row:3}.score-card .pseudo-status{grid-column:1/-1}#usernameInput{font-size:10px}#generatePseudo{flex-basis:28px}}
@media(max-width:360px){.brand{font-size:17px}.site-header nav{gap:8px}.site-header .icon-button{width:26px;height:26px}.brand-icon{width:26px;margin-right:5px}}
.share-page,.privacy-page{max-width:900px;margin:50px auto;padding:0 24px}.privacy-page{max-width:760px}.privacy-page h2{font:26px var(--serif);margin-top:32px}.share-card-image{display:block;width:100%;border-radius:12px;margin:20px 0}.share-page .primary-link{display:inline-block}.share-options{margin-top:20px;padding:14px;background:#f0f2e6;border-radius:10px}.share-options summary{cursor:pointer;font-size:12px}.share-options p{font-size:11px}.privacy-page code{overflow-wrap:anywhere}

/* Phone game: keep editor, rack and triplet together in the first viewport.
   Natural document flow; submission and supporting details follow below. */
@media (max-width: 720px) {
  .game-page .site-header {
    height: 56px;
    padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));
  }
  .game-page .site-header .nav-link.current { display: none; }
  .game-page .site-header .nav-link { display: inline-flex; align-items: center; min-height: 44px; }
  .game-page .site-header .icon-button { width: 44px; height: 44px; }
  .game-page .site-header nav { gap: 12px; }
  .game-page .page { padding-top: 10px; }
  .game-page .hero, .game-page .card-heading { display: none; }
  .game-page .editor { padding: 14px 18px 0; }
  .game-page #inputAreaContainer { margin-top: 8px; }
  .game-page #inputArea { min-height: 54px; }
  .game-page #cursor { top: 10px; height: 34px; }
  .game-page #messageArea { min-height: 28px; margin: 5px 0 0; line-height: 1.35; }
  .game-page .liveWordResult { min-height: 0; padding-top: 4px; line-height: 1.35; }
  .game-page .liveWordResult:empty { display: none; }
  .game-page .rack-section { padding: 6px 18px 14px; }
  .game-page .rack-heading { margin-bottom: 6px; min-height: 32px; }
  .game-page #shuffleButton { min-height: 32px; padding: 6px 0 6px 12px; }
  .game-page .tile { height: 50px; }
  .game-page .letter-rack { gap: 6px; }
  .game-page .action-row { margin-top: 10px; }
  .game-page .actionTile { height: 44px; }
  .game-page .saved-section { padding: 12px 18px; }
  .game-page .section-heading { margin-bottom: 8px; }
  .game-page .section-heading h2 { font-size: 22px; }
  .game-page .wordSlot, .game-page .slotSelect { min-height: 56px; }
  .game-page .slotSelect { padding-block: 10px; }
  .game-page .game-layout { gap: 16px; }
  .game-page .finish-panel { margin-top: 16px; }
}
@media (max-width: 720px) and (max-height: 580px) {
  .game-page .site-header { height: 50px; }
  .game-page .page { padding-top: 6px; }
  .game-page .editor { padding-top: 10px; }
  .game-page #inputArea { min-height: 48px; }
  .game-page #cursor { top: 7px; }
  .game-page .tile { height: 46px; }
  .game-page .saved-section { padding-block: 10px; }
}
@media (max-width: 720px) and (max-height: 580px) {
  .game-page .site-header { height: 44px; }
  .game-page .page { padding-top: 4px; }
  .game-page .editor { padding-top: 6px; }
  .game-page #inputAreaContainer { margin-top: 4px; }
  .game-page #inputArea { min-height: 44px; }
  .game-page #messageArea { min-height: 22px; }
  .game-page .rack-section { padding-bottom: 10px; }
  .game-page .saved-section { padding-block: 8px; }
  .game-page .wordSlot, .game-page .slotSelect { min-height: 48px; }
  .game-page .slotSelect { padding-block: 6px; }
}

/* Result modal: keep the complete post-game summary visible on phones.
   Short screens prioritise the essential result (score, rank, words and actions)
   without requiring a scroll just to reach Partager / Classement. */
@media (max-width: 720px) {
  #resultModal {
    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));
  }
  #resultModal .modal-content {
    max-width: 460px;
    max-height: calc(100dvh - 16px);
    border-radius: 16px;
  }
  #resultModal .modal-scroll {
    max-height: calc(100dvh - 16px);
    padding: 20px 18px 16px;
  }
  #resultModal .close-button {
    top: 7px;
    right: 7px;
    width: 30px;
    height: 30px;
    font-size: 23px;
  }
  #resultModal .submission-message {
    font-size: 22px;
    line-height: 1.08;
    margin: 2px 30px 10px;
  }
  #resultModal .submission-player {
    font-size: 10px;
    margin-top: 4px;
  }
  #resultModal .submission-rack {
    gap: 3px;
  }
  #resultModal .recapTile {
    padding: 5px 7px;
  }
  #resultModal .recapTileLetter {
    font-size: 17px;
  }
  #resultModal .submission-total {
    margin: 9px 0 7px;
  }
  #resultModal .submission-total strong {
    font-size: 50px;
    line-height: .9;
  }
  #resultModal .submission-total span {
    font-size: 8px;
    letter-spacing: 2px;
    margin-top: 4px;
  }
  #resultModal .submission-meta {
    gap: 26px;
    margin-bottom: 8px;
  }
  #resultModal .submission-stat-label {
    font-size: 9px;
    margin-bottom: 2px;
  }
  #resultModal .submission-stat strong {
    font-size: 20px;
  }
  #resultModal .resultRow {
    padding: 8px 0;
  }
  #resultModal .resultWord {
    font-size: 12px;
  }
  #resultModal .resultBreakdown {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 1px;
    margin-top: 2px;
    font-size: 8px;
    line-height: 1.2;
  }
  #resultModal .resultBreakdown span + span::before {
    content: '· ';
  }
  #resultModal .resultPoints {
    font-size: 14px;
  }
  #resultModal .share-options {
    margin-top: 8px;
    padding: 8px 10px;
  }
  #resultModal .share-options summary {
    font-size: 10px;
  }
  #resultModal .modal-buttons {
    margin-top: 10px;
    gap: 6px;
  }
  #resultModal .modal-buttons button,
  #resultModal .modal-buttons a {
    padding: 10px 8px;
    font-size: 9px;
  }
}

@media (max-width: 720px) and (max-height: 620px) {
  #resultModal .modal-scroll {
    padding: 13px 15px 11px;
  }
  #resultModal .submission-message {
    font-size: 20px;
    margin: 0 30px 6px;
  }
  #resultModal .submission-player {
    margin-top: 2px;
  }
  #resultModal .recapTile {
    padding: 4px 6px;
  }
  #resultModal .recapTileLetter {
    font-size: 15px;
  }
  #resultModal .submission-total {
    margin: 6px 0 4px;
  }
  #resultModal .submission-total strong {
    font-size: 43px;
  }
  #resultModal .submission-total span {
    margin-top: 2px;
    font-size: 7px;
  }
  #resultModal .submission-meta {
    gap: 22px;
    margin-bottom: 4px;
  }
  #resultModal .submission-stat-label {
    font-size: 8px;
  }
  #resultModal .submission-stat strong {
    font-size: 18px;
  }
  #resultModal .resultRow {
    padding: 6px 0;
  }
  #resultModal .resultBreakdown {
    display: none;
  }
  #resultModal .share-options {
    margin-top: 6px;
    padding: 6px 9px;
  }
  #resultModal .modal-buttons {
    margin-top: 7px;
  }
  #resultModal .modal-buttons button,
  #resultModal .modal-buttons a {
    padding-block: 9px;
  }
}
