:root{font-family:'Segoe UI','Microsoft YaHei',sans-serif;color:#153f30;background:#eff9ef;--paper:#fffdf4;--line:#cad9c5;--muted:#718278;--accent:#377e49}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100svh}button,select,input{font:inherit;color:inherit}button,select{cursor:pointer}button{border:0;padding:11px 19px;border-radius:3px;background:transparent;font-size:14px}button:hover{background:#dcebd8}button:disabled{opacity:.5;cursor:wait}header{display:flex;align-items:center;justify-content:space-between;width:min(1280px,92%);margin:30px auto 0;position:relative;z-index:5}.brand{display:block;width:295px;text-decoration:none}.brand img{display:block;width:100%;height:62px;object-fit:contain}#subtitle,footer{display:none}nav{display:flex;gap:12px;align-items:center}nav select{border:0;background:#f8f8e6;padding:10px 12px;border-radius:3px;font-size:14px}nav button{background:#f8f8e6}nav #theme{background:transparent;font-size:23px;padding:5px 9px}main{position:relative;width:min(1150px,92%);margin:32px auto 0;padding-bottom:35px;text-align:center;z-index:2}.game{min-height:590px}.status{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;align-items:center;font-size:16px}.status b{font-weight:650}#day{width:100%;letter-spacing:3px;font-size:12px;padding-bottom:6px;color:var(--muted)}#score{border-left:1px solid var(--line);padding-left:24px}#progress{display:flex;gap:12px;justify-content:center;margin:20px 0 0}#progress img{width:21px;height:21px;opacity:.2;filter:saturate(.15)}#progress img.done,#progress img.active{opacity:1;filter:none}#progress img.active{outline:1px solid #49865e;outline-offset:3px}.label{font-size:clamp(18px,2.4vw,28px);font-weight:650;margin:40px 0 0;line-height:1.5}.scene{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,280px) minmax(0,1fr);align-items:center;gap:clamp(65px,8vw,130px);min-height:240px;margin:32px 50px 0}.word{position:relative;background:var(--paper);border:1px solid #e4e6ce;min-height:118px;display:flex;align-items:center;justify-content:center;padding:15px 8px;z-index:2;min-width:0}.word strong,.answer-card strong{font-size:clamp(27px,3.2vw,42px);font-weight:650;letter-spacing:-.8px;position:relative;z-index:2;overflow-wrap:anywhere;line-height:1.3;width:100%;min-width:0}.clue:nth-child(1){grid-column:1;grid-row:1}.clue:nth-child(2){grid-column:3;grid-row:1}.answer-card{grid-column:2;grid-row:1;min-height:106px;border:6px solid #b9d7b1;outline:1px solid #c5dbc3;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;z-index:3;min-width:0;padding:10px}.answer-card:focus-within{border-color:#84b881;outline:2px solid #579769;outline-offset:4px}.card-input{border:0!important;box-shadow:none!important;background:transparent!important;padding:8px 0!important;width:100%;min-width:0;font-size:18px!important;text-align:center;outline:none!important;color:#244d3c}.card-input::placeholder{color:#8b9992;font-size:16px}.tile-cluster{position:absolute;inset:0;pointer-events:none;z-index:-1;--unit:37px}.tile-cluster .tile{position:absolute;left:calc(var(--x)*var(--unit));top:calc(var(--y)*var(--unit));width:var(--unit);height:var(--unit);pointer-events:auto}.tile-cluster .tile:nth-child(n+10){opacity:.65}.tile{display:block;position:relative;flex-shrink:0}.tile-base{display:block;width:100%;height:100%;object-fit:fill}.tile.peach .tile-base{filter:sepia(.9) saturate(1.3) hue-rotate(318deg) brightness(1.23)}.tile.lilac .tile-base{filter:saturate(.6) hue-rotate(155deg) brightness(1.12)}.tile.cream .tile-base{filter:sepia(.65) saturate(.3) brightness(1.4)}.motif{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain}.motif.flower{animation:flower-spin 22s linear infinite;animation-delay:var(--delay)}.motif.grass{transform-origin:50% 85%;animation:grass-sway 4.4s ease-in-out infinite;animation-delay:var(--delay)}.tile-cluster .tile:nth-child(4n){animation:tile-sway 7s ease-in-out infinite;animation-delay:var(--delay)}.piece-path{position:absolute;z-index:1;display:flex;justify-content:space-evenly;align-items:center;height:18px;transform-origin:0 50%;margin-top:-9px;pointer-events:none}.path-piece{width:clamp(8px,1.1vw,15px);height:clamp(8px,1.1vw,15px);opacity:.28;pointer-events:auto;cursor:pointer}.path-piece.fitted{opacity:1}.path-piece.unfilled{opacity:.08}.fragment{position:absolute;width:45%;height:45%;left:25%;top:25%;pointer-events:none}form{display:flex;justify-content:center;gap:10px;margin:16px auto 0;max-width:380px}form>#answer{display:none}form.linking{opacity:0;pointer-events:none}input{border:1px solid var(--line);padding:13px;width:100%;background:white;font-size:16px}.primary{background:var(--accent);color:#fffdf3;min-width:150px;padding:13px 24px;border:1px solid #397f49;font-size:17px}.primary:hover{background:#2e6a3d}#link{width:280px}#guess-label{display:none}#error{margin:14px auto;min-height:18px;max-width:650px;font-size:13px;color:#a25947;line-height:1.6}#hint{font-size:13px;color:var(--muted);line-height:1.7;margin:16px auto 0;max-width:530px}#result{max-width:700px;margin:22px auto 0}#result:empty{display:none}.metrics{display:flex;gap:28px;justify-content:center;font-size:12px;color:var(--muted)}.metrics b{display:block;font-size:15px;color:#38674b;margin-top:4px}.points{font-size:28px;margin-top:14px;font-weight:650}.points small{font-size:13px;font-weight:400}#result p{font-size:13px;line-height:1.6;margin:10px 0;color:var(--muted)}#end{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:20px auto}.text-button{text-decoration:underline;text-underline-offset:5px;color:#597662;font-size:13px}#archive{margin:25px auto 0}.corner{position:absolute;display:grid;grid-template-columns:repeat(3,32px);gap:2px;pointer-events:none;opacity:.65;z-index:0}.corner-top{right:0;top:0}.corner-bottom{left:0;top:740px}.corner .tile{width:32px;height:32px}.corner .tile:nth-child(3n+1){opacity:.3}.scene.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 65px;min-height:300px;align-content:start;padding-top:35px}.scene.three .clue:nth-child(2){grid-column:2;grid-row:1}.scene.three .clue:nth-child(3){grid-column:3;grid-row:1}.scene.three .answer-card{grid-column:2;grid-row:2;margin-top:48px}.scene.three .word{min-height:90px}.scene.three .word strong{font-size:clamp(20px,2.3vw,30px)}.scene.single{grid-template-columns:minmax(0,1fr) minmax(190px,280px);max-width:650px;margin-left:auto;margin-right:auto}.scene.single .answer-card{grid-column:2}.final-total{font-size:46px;margin:12px 0}.final-total small{font-size:17px;font-weight:400;color:var(--muted)}.summary{margin:25px auto;text-align:left}.summary-row{display:grid;grid-template-columns:1.3fr 1fr auto;gap:5px 18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}.summary-row>span:first-child{color:var(--muted);font-size:12px}.summary-row>b{grid-column:3;grid-row:1 / 3}.summary-row small{grid-column:1 / 3;color:var(--muted);font-size:11px}.link-marks{grid-column:1 / 3;color:#609d6c;font-size:10px;letter-spacing:2px}body[data-view=final] .scene,body[data-view=final] #progress{display:none}body[data-view=final] .game{min-height:0}body[data-view=final] .label{margin-top:25px}body[data-view=home] .scene{margin-top:40px}body[data-view=home] .label{font-weight:500}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{width:min(530px,92vw);max-height:85svh;border:1px solid var(--line);border-radius:4px;padding:28px;background:var(--paper);color:inherit;overflow:auto}dialog::backdrop{background:#153f3040}#close{float:right;font-size:22px;padding:0 8px}dialog h2{font-size:22px;font-weight:600}dialog p,dialog li{font-size:14px;line-height:1.9}dialog .dates{display:grid;gap:8px}dialog .dates button{text-align:left;background:#eef3e8}.setting{display:flex;justify-content:space-between;align-items:center;margin:24px 0;font-size:14px}.setting input{width:auto}#stats,#countdown{font-size:12px;color:var(--muted)}:focus-visible{outline:2px solid #4e9266;outline-offset:3px}@keyframes flower-spin{to{transform:rotate(360deg)}}@keyframes grass-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(8deg)}}@keyframes tile-sway{0%,75%,100%{transform:rotate(0)}84%{transform:rotate(-6deg)}92%{transform:rotate(5deg)}}
@media(max-width:900px){.scene{margin-left:25px;margin-right:25px;gap:65px;grid-template-columns:minmax(0,1fr) minmax(160px,230px) minmax(0,1fr)}.tile-cluster{--unit:29px}.brand{width:245px}.scene.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 40px}}
@media(max-width:680px){header{width:90%;margin-top:16px;align-items:flex-start}.brand{width:160px}.brand img{height:42px}nav{gap:3px;flex-wrap:wrap;justify-content:flex-end;max-width:180px}nav select,nav button{font-size:11px;padding:8px}nav #theme{font-size:20px}main{width:90%;margin-top:25px;padding-bottom:25px}.status{font-size:13px;gap:8px 15px}#score{padding-left:15px}#day{font-size:10px;padding-bottom:4px}#progress{margin-top:16px;gap:9px}#progress img{width:17px;height:17px}.label{font-size:18px;margin-top:26px;padding:0 8px}.scene{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:75px 46px;min-height:0;margin:42px 15px 0;align-items:center}.clue:nth-child(2){grid-column:2}.word{min-height:95px;padding:12px 8px}.word strong{font-size:30px;letter-spacing:-.6px}.answer-card{grid-column:1 / 3;grid-row:2;min-height:75px;width:min(290px,100%);justify-self:center;border-width:5px;padding:10px}.card-input{font-size:17px!important}.card-input::placeholder{font-size:14px}.tile-cluster{--unit:24px}.tile-cluster .tile:nth-child(n+8){display:none}.tile-cluster .tile:nth-child(6),.tile-cluster .tile:nth-child(7){display:none}form{margin-top:20px}.primary{font-size:16px;padding:12px 18px}#link{width:min(290px,100%)}.game{min-height:0}.piece-path{height:12px;margin-top:-6px}.path-piece{width:8px;height:8px}.scene.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:75px 19px;padding-top:0;margin-left:3px;margin-right:3px}.scene.three .word{min-height:88px;padding:10px 4px}.scene.three .word strong{font-size:22px}.scene.three .answer-card{grid-column:1 / 4;grid-row:2;margin-top:0}.scene.three .tile-cluster{--unit:18px}.scene.three .tile-cluster .tile:nth-child(n+5){display:none}.scene.single{grid-template-columns:minmax(0,1fr);width:85%;gap:70px}.scene.single .clue{width:180px;justify-self:center}.scene.single .answer-card{grid-column:1;grid-row:2}.metrics{gap:18px}.corner-top{display:none}.corner-bottom{top:640px;opacity:.25;grid-template-columns:repeat(3,18px)}.corner .tile{width:18px;height:18px}.summary-row{gap:5px 8px;font-size:12px}.summary-row>span:first-child{font-size:11px}.link-marks{letter-spacing:1px;font-size:8px}#archive{margin-top:30px}.final-total{font-size:37px}dialog{padding:22px}dialog p,dialog li{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.tile-cluster .tile:nth-child(1){left:calc(-1*var(--unit));top:0}.tile-cluster .tile:nth-child(2){left:0;top:calc(-1*var(--unit))}.tile-cluster .tile:nth-child(3){left:var(--unit);top:calc(-1*var(--unit))}.tile-cluster .tile:nth-child(4){left:100%;top:0}.tile-cluster .tile:nth-child(5){left:100%;top:var(--unit)}.tile-cluster .tile:nth-child(6){left:calc(100% - var(--unit));top:100%}.tile-cluster .tile:nth-child(7){left:calc(100% - 2*var(--unit));top:100%}.tile-cluster .tile:nth-child(8){left:calc(-1*var(--unit));top:calc(100% - var(--unit))}.tile-cluster .tile:nth-child(9){left:calc(-2*var(--unit));top:calc(50% - var(--unit)/2)}.tile-cluster .tile:nth-child(10){left:100%;top:calc(-1*var(--unit))}.tile-cluster .tile:nth-child(11){left:calc(100% - var(--unit));top:calc(100% + var(--unit))}.tile-cluster .tile:nth-child(12){left:calc(-1*var(--unit));top:calc(-1*var(--unit))}.brand img{object-fit:cover;height:62px;object-position:center}.tile-cluster{z-index:0}.clue strong{z-index:1}#error:empty{display:none}body[data-view=game] .game{min-height:0}body[data-view=game] #archive{margin-top:65px}.corner-bottom{top:auto;bottom:20px}body{position:relative}.corner-top{top:3px;right:4px;opacity:.5}.corner{z-index:0}header{z-index:3}
@media(min-width:681px){main{margin-top:45px}.scene{margin-top:40px;min-height:260px}.brand{width:360px}.brand img{height:75px}}
@media(max-width:680px){.brand{width:170px}.brand img{height:42px}.tile-cluster .tile:nth-child(3){left:calc(100% - var(--unit))}.tile-cluster .tile:nth-child(4){left:100%;top:calc(100% - var(--unit))}.tile-cluster .tile:nth-child(5){left:calc(-1*var(--unit));top:calc(100% - var(--unit))}body[data-view=game] #archive{margin-top:26px}}
@media(min-width:681px){.scene .word{width:170px;min-height:130px;justify-self:center}.scene .word.long-word{width:100%;min-height:130px}.scene .word strong{font-size:46px}.scene.three .word{width:100%;min-height:95px}.scene.three .word strong{font-size:30px}.scene.single .word{width:185px}.tile-cluster{--unit:37px}.scene .answer-card strong{font-size:30px}.scene{min-height:275px}.brand{width:375px}.brand img{height:82px}}
@media(max-width:680px){.scene .word.long-word strong{font-size:clamp(13px,3.5vw,17px)!important;word-break:normal;overflow-wrap:anywhere}.scene.three:has(.long-word){grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.scene.three:has(.long-word) .clue:nth-child(3){grid-column:1 / 3;grid-row:2;width:60%;justify-self:center}.scene.three:has(.long-word) .answer-card{grid-column:1 / 3;grid-row:3;margin-top:40px}}
@media(min-width:901px){.label{font-size:32px}.status{font-size:19px}#day{font-size:13px}.scene .word{width:180px;min-height:140px}.scene .word strong{font-size:52px}.tile-cluster{--unit:41px}.scene .answer-card{min-height:118px}.scene{grid-template-columns:minmax(0,1fr) 310px minmax(0,1fr);gap:105px}.scene.single{grid-template-columns:minmax(0,1fr) 310px}.scene.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 65px}.scene.three .word{width:100%;min-height:105px}.scene.three .word strong{font-size:32px}#link{width:310px;font-size:21px;padding:15px 24px}.card-input{font-size:20px!important}.card-input::placeholder{font-size:18px}#hint{font-size:14px}.path-piece{width:18px;height:18px}#progress img{width:25px;height:25px}}
@media(max-width:680px){.scene.two:has(.long-word){grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);column-gap:27px;margin-left:10px;margin-right:10px}.scene.two:has(.long-word) .word.long-word strong{font-size:18px!important}.scene.two:has(.long-word) .word:not(.long-word) strong{font-size:25px}.scene.two:has(.clue:nth-child(2).long-word){grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)}.scene.two:has(.clue:nth-child(1).long-word):has(.clue:nth-child(2).long-word){grid-template-columns:repeat(2,minmax(0,1fr))}.scene.two:has(.clue:nth-child(1).long-word):has(.clue:nth-child(2).long-word) .word.long-word strong{font-size:16px!important}.scene.single .word.long-word{width:100%}.scene.single .word.long-word strong{font-size:22px!important}}
.link-marks{display:flex;gap:12px;letter-spacing:0}.link-marks>span{display:flex;gap:2px}.link-marks img{width:9px;height:9px}.link-marks img.missing{opacity:.15}@media(max-width:680px){.link-marks{gap:8px}.link-marks img{width:7px;height:7px}.link-marks>span{gap:1px}}
/* Keep every gameplay state within the current viewport. */
html,body{height:100%;overflow:hidden}body{height:100dvh;min-height:0;display:flex;flex-direction:column}header{flex:0 0 54px;margin:10px auto 0;align-items:center}.brand{width:235px}.brand img{height:50px}nav button,nav select{font-size:12px;padding:8px 10px}main{flex:1;min-height:0;display:flex;flex-direction:column;margin:8px auto 0;padding:0 0 12px;width:min(1080px,92%)}.game,body[data-view=game] .game,body[data-view=final] .game{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:8px}.status{font-size:14px;gap:5px 16px}#day{font-size:11px;padding:0;letter-spacing:2px}#score{padding-left:16px}#progress{margin:4px 0;gap:9px}#progress img{width:18px;height:18px}.label,body[data-view=home] .label,body[data-view=final] .label{font-size:21px;margin:8px 0 0;line-height:1.35}.scene,body[data-view=home] .scene{flex:0 0 auto;height:clamp(150px,25dvh,235px);min-height:0;margin:15px 45px 12px;grid-template-columns:minmax(0,1fr) minmax(180px,270px) minmax(0,1fr);gap:65px}.scene .word{min-height:0;height:100px;width:160px}.scene .word.long-word{width:100%;min-height:0}.scene .answer-card{height:88px;min-height:0;padding:8px}.scene .word strong,.scene .answer-card strong,.scene.three .word strong{font-size:30px;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.4px}.tile-cluster{--unit:30px}.card-input{font-size:16px!important}.card-input::placeholder{font-size:14px}.scene.single{grid-template-columns:minmax(0,1fr) minmax(180px,270px);width:min(640px,90%);margin-left:auto;margin-right:auto}.scene.three{height:clamp(190px,29dvh,265px);grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;padding-top:12px;align-content:center}.scene.three .word{height:72px;width:100%;min-height:0}.scene.three .answer-card{margin-top:0;height:72px}.scene.three .tile-cluster{--unit:23px}.scene.three .tile:nth-child(n+9){display:none}form,.scene.three~form{margin:0 auto;flex:0 0 auto}.primary,#link{font-size:15px;padding:10px 20px;min-height:40px}#link{width:270px}#error{font-size:12px;line-height:1.4;margin:3px auto;min-height:0}#hint{font-size:12px;line-height:1.4;margin:3px auto;max-width:520px}#result{margin:0 auto;width:100%;flex:0 0 auto}#result p{font-size:12px;margin:4px 0;line-height:1.4}.metrics{font-size:11px;gap:24px}.metrics b{font-size:13px;margin-top:2px}.points{font-size:23px;margin-top:6px}#end{margin:3px auto;flex:0 0 auto}#end:empty{display:none}#archive,body[data-view=game] #archive{margin:5px auto 0;padding:8px;flex:0 0 auto;font-size:12px}.corner-bottom{bottom:10px}.corner .tile{width:24px;height:24px}.corner{grid-template-columns:repeat(3,24px)}html[lang=en] .scene .word strong,html[lang=en] .scene .answer-card strong{font-size:24px}.final-total{font-size:34px;margin:5px 0}.final-total small{font-size:14px}.summary{margin:10px auto}.summary-row{padding:8px 0;font-size:12px;gap:4px 12px}.summary-row small{font-size:10px}.summary-row>span:first-child{font-size:11px}#stats,#countdown{font-size:11px}body[data-view=final] .label{font-size:17px}
@media(max-width:680px){header{flex-basis:44px;margin-top:5px;width:94%}.brand{width:145px}.brand img{height:36px}nav{flex-wrap:nowrap;max-width:none;gap:2px}nav select,nav button{padding:7px 5px;font-size:10px}nav #theme{font-size:17px}main{width:92%;margin-top:4px;padding-bottom:8px}.game{gap:6px}.status{font-size:12px;gap:3px 12px}#day{font-size:10px}#score{padding-left:12px}#progress{margin:3px 0}#progress img{width:14px;height:14px}.label{font-size:16px;margin:5px 0 0;padding:0}.scene,.scene.two:has(.long-word),.scene.two:has(.clue:nth-child(2).long-word),.scene.two:has(.clue:nth-child(1).long-word):has(.clue:nth-child(2).long-word){height:clamp(190px,30dvh,255px);grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px;align-content:center;margin:12px 13px 5px}.scene .word,.scene .word.long-word{height:70px;width:100%;min-height:0;padding:8px 5px}.scene .word strong,.scene.three .word strong{font-size:26px}.scene .answer-card{height:65px;min-height:0;width:min(265px,100%);border-width:4px}.tile-cluster{--unit:19px}.scene .tile-cluster .tile:nth-child(n+6){display:none}.scene .tile-cluster .tile:nth-child(5){display:block}.scene.three,.scene.three:has(.long-word){height:clamp(180px,29dvh,240px);grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 16px;padding-top:0;margin:12px 8px 5px;align-content:center}.scene.three .word,.scene.three:has(.long-word) .clue:nth-child(3){width:100%;height:62px;grid-row:1}.scene.three:has(.long-word) .clue:nth-child(3){grid-column:3}.scene.three .answer-card,.scene.three:has(.long-word) .answer-card{grid-column:1 / 4;grid-row:2;margin-top:0}.scene.three .tile-cluster{--unit:14px}.scene.single{grid-template-columns:minmax(0,1fr);height:clamp(180px,28dvh,235px);width:80%;gap:37px}.scene.single .word,.scene.single .word.long-word{width:200px}.scene.single .answer-card{grid-column:1;grid-row:2}html[lang=en] .scene .word strong{font-size:20px}html[lang=en] .scene.three .word strong{font-size:17px}.scene.two:has(.long-word) .word.long-word strong,.scene.two:has(.long-word) .word:not(.long-word) strong,.scene.single .word.long-word strong,.scene.two:has(.clue:nth-child(1).long-word):has(.clue:nth-child(2).long-word) .word.long-word strong{font-size:20px!important}.scene.three .word.long-word strong{font-size:17px!important}.primary,#link{font-size:14px;min-height:40px;padding:8px 15px}#link{width:265px}#hint{font-size:11px;max-width:330px}#error,#result p{font-size:11px}.metrics{font-size:10px;gap:18px}.metrics b{font-size:12px}.points{font-size:20px;margin-top:4px}#end{margin:3px auto}#archive,body[data-view=game] #archive{margin-top:4px;padding:7px;font-size:11px}.corner-bottom{opacity:.18}.final-total{font-size:30px}.summary{margin:6px auto}.summary-row{padding:6px 0;font-size:11px;gap:3px 8px}.summary-row>span:first-child{font-size:10px}.summary-row small{font-size:9px}.link-marks img{width:6px;height:6px}body[data-view=final] .game{justify-content:center}}
@media(max-height:650px){header{flex-basis:38px;margin-top:3px}.brand{width:165px}.brand img{height:34px}.game{gap:4px}.label{margin-top:2px;font-size:16px}.scene,.scene.two:has(.long-word){height:145px;margin-top:6px;margin-bottom:2px}.scene .word{height:65px}.scene .answer-card{height:58px}.scene.three,.scene.three:has(.long-word){height:165px;gap:20px 18px}.scene.three .word{height:52px}.scene.three .answer-card{height:52px}.scene.single{height:150px;gap:20px}.tile-cluster{--unit:18px}.tile-cluster .tile:nth-child(n+6){display:none}#progress{margin:2px 0}#progress img{width:12px;height:12px}.summary-row{padding:4px 0}.summary{margin:4px auto}.final-total{font-size:27px}#result p{margin:3px 0}.corner{display:none}}
/* A quiet answer tile instead of the heavy green frame. */
.scene .answer-card{border:1px solid #b9cfb6;background:#fffef7;outline:none;border-radius:4px;padding:12px;box-shadow:none}.answer-card:focus-within{border-color:#5e976c;outline:2px solid #b8d6b8;outline-offset:2px}.scene .answer-card strong{font-weight:500;font-size:24px}body[data-view=home] .answer-card{border-color:#d9e3ce;color:#74907a;background:#f8fbef}.card-input{font-size:15px!important}.card-input::placeholder{font-size:14px;color:#8a9b8d}@media(max-width:680px){.scene .answer-card{border-width:1px;padding:10px}.card-input{font-size:15px!important}.card-input::placeholder{font-size:13px}}
@media(max-width:680px) and (max-height:650px){.scene,.scene.two:has(.long-word){height:155px;row-gap:25px;margin-top:10px}.scene .word,.scene .word.long-word{height:52px}.scene .answer-card{height:48px}.scene .tile-cluster{--unit:15px}.scene.three,.scene.three:has(.long-word){height:160px;row-gap:25px;margin-top:10px}.scene.three .word{height:48px}.scene.three .answer-card{height:48px}.scene.single{height:155px;gap:25px}}
/* The result replaces the instructional hint, leaving room for the next action. */
.game.reveal #hint{display:none}.game.reveal{gap:5px}.game.reveal .scene{height:180px;min-height:0;margin-top:10px;margin-bottom:6px}.game.reveal .scene.three{height:175px;gap:27px 40px;padding-top:0}.game.reveal .scene.three .word{height:58px}.game.reveal .scene.three .answer-card{height:58px}#archive,body[data-view=game] #archive{margin-top:8px}#end{position:relative;z-index:2}
@media(max-width:680px){.game.reveal .scene,.game.reveal .scene.two:has(.long-word){height:185px;row-gap:29px;margin-top:10px}.game.reveal .scene.three,.game.reveal .scene.three:has(.long-word){height:175px;gap:29px 16px;padding-top:0}.game.reveal .scene.three .word{height:52px}.game.reveal .scene.three .answer-card{height:52px}}
@media(max-height:650px){.game.reveal .scene,.game.reveal .scene.two:has(.long-word){height:140px;row-gap:20px}.game.reveal .scene .word{height:48px}.game.reveal .scene .answer-card{height:46px}.game.reveal .scene.three,.game.reveal .scene.three:has(.long-word){height:140px;gap:20px 16px}.game.reveal .scene.three .word{height:46px}.game.reveal .scene.three .answer-card{height:46px}.game.reveal .metrics{margin:0}.game.reveal #result p{margin:3px 0}.game.reveal #end{margin:2px auto}}
.brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#153f30;gap:2px}
.brand-name{font:900 30px/1 ui-monospace,Consolas,monospace;letter-spacing:-1.5px;display:flex;align-items:center;gap:7px}
.brand-dot{width:9px;height:9px;background:#80a774;box-shadow:9px -9px 0 #efc6af}
.brand-domain{font-size:10px;letter-spacing:1px;color:#78907c}
@media(max-width:680px){.brand-name{font-size:24px}.brand-domain{font-size:9px}.brand-dot{width:6px;height:6px;box-shadow:6px -6px 0 #efc6af}}
/* Airy mosaic connections retain distinct answer attachment points. */
.piece-path::before,.piece-path::after{display:none}
.path-piece{border:0;background:transparent;opacity:.35}
.path-piece.fitted{opacity:1;background:transparent}
.path-piece.unfilled{opacity:.18;background:transparent}
.path-piece.unfilled .tile-base{opacity:1}
.scene.three,.game.reveal .scene.three{gap:38px 40px;height:185px}
@media(max-width:680px){.scene.three,.scene.three:has(.long-word),.game.reveal .scene.three,.game.reveal .scene.three:has(.long-word){gap:38px 16px;height:185px}}
@media(max-height:650px){.scene.three,.scene.three:has(.long-word),.game.reveal .scene.three,.game.reveal .scene.three:has(.long-word){gap:32px 16px;height:152px}}
.board-row{display:grid;grid-template-columns:35px minmax(0,1fr) 65px;gap:12px;padding:12px 8px;border-bottom:1px solid #dae3d1;font-size:13px;text-align:left}.board-row span:last-child{text-align:right;font-weight:700}.board-row span:nth-child(2){overflow-wrap:anywhere}.board-row.is-you{background:#e6f0dd;color:#285a35}#board-name{margin-top:6px;font-size:14px}#save-name{background:#e3eddc;margin-top:8px}nav{gap:5px}@media(max-width:680px){.brand{width:105px}nav{gap:1px}nav button,nav select{padding:7px 4px;font-size:10px}}
.ranking-dialog{width:min(460px,92vw);padding:28px 26px 18px;background:#f8fbf1;border:1px solid #d5e0ce;border-radius:10px;box-shadow:0 12px 55px #214d3415}
.ranking-head{text-align:center;margin:6px 0 23px}.ranking-eyebrow{font-size:9px;letter-spacing:2px;color:#7c957a}.ranking-head h2{font-size:23px;font-weight:600;margin:10px 0 6px}.ranking-head p{font-size:11px;line-height:1.3;margin:0;color:#80907e}.ranking-head p span{margin:0 7px}
.ranking-mine{display:flex;align-items:center;gap:15px;padding:18px 15px;background:#eaf2e0;border-radius:5px}.ranking-mine>span:first-child{font-size:12px;color:#6a8265}.ranking-mine strong{font-size:30px;font-weight:600;letter-spacing:-1px}.ranking-mine>span:last-child{margin-left:auto;font-size:12px;color:#4b7048}.ranking-caption{font-size:11px;color:#8a9983;letter-spacing:.3px;margin:22px 0 8px}.ranking-rows{max-height:34dvh;overflow:auto}.ranking-dialog .board-row{padding:13px 8px;grid-template-columns:30px minmax(0,1fr) 65px;border-color:#e0e8d8;align-items:center}.ranking-dialog .board-row.is-you{background:transparent}.ranking-number{color:#7b9872;font-family:ui-monospace,monospace}.board-row small{font-size:8px;margin-left:7px;padding:2px 4px;background:#e5efd9;color:#6a8f60;border-radius:2px}.ranking-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px}.ranking-bottom button{padding:4px 0;font-size:11px;color:#587a50;text-decoration:underline;text-underline-offset:4px}.ranking-bottom>span{font-size:9px;color:#98a18f}.ranking-empty{text-align:center;padding:20px;color:#80907c}#name-editor{display:flex;gap:8px;margin-top:13px}#board-name{margin:0;min-width:0;padding:9px;font-size:12px;border-radius:3px}#save-name{margin:0;padding:7px 14px;font-size:12px;border-radius:3px}#board-message{font-size:10px;margin:7px 0 0;color:#789371}#board-message:empty{display:none}@media(max-width:680px){.ranking-dialog{padding:23px 20px 16px}.ranking-head h2{font-size:21px}.ranking-mine{padding:15px 12px}.ranking-bottom>span{font-size:8px}}
/* Mosaic wordmark and softer navigation, with larger corner tiles. */
.pixel-name{display:flex;gap:4px;--pixel:4px}.pixel-letter{display:grid;grid-template-columns:repeat(var(--cols),var(--pixel));grid-auto-rows:var(--pixel);gap:0}.pixel-letter .lit{background:#174733}.brand-name{gap:12px}.brand-dot{width:10px;height:10px;background:#8bae7f;box-shadow:10px -10px 0 #f2cfb8}.brand-domain{display:none}nav button,nav select{background:#f6f8ee;color:#45634d;border:1px solid #e1e8d8;border-radius:5px;padding:8px 11px}nav button:hover,nav select:hover{background:#e6eedf}nav #theme{background:#f6f8ee;font-size:20px;padding:3px 9px}.corner{grid-template-columns:repeat(3,42px);gap:3px;opacity:.75}.corner .tile{width:42px;height:42px}.corner-top{right:0;top:0}.corner-bottom{bottom:12px}.corner .tile:nth-child(3n+1){opacity:.55}
@media(max-width:680px){.pixel-name{--pixel:3px;gap:2px}.brand{width:122px}.brand-name{gap:7px}.brand-dot{width:6px;height:6px;box-shadow:6px -6px 0 #f2cfb8}nav button,nav select{font-size:10px;padding:6px 4px}nav #theme{font-size:16px;padding:3px 5px}.corner{grid-template-columns:repeat(3,27px);gap:2px;opacity:.45}.corner .tile{width:27px;height:27px}.corner-top{display:grid}.corner-bottom{opacity:.45}header{z-index:3}}
@media(max-height:650px){.corner{display:grid}.corner-bottom{opacity:.3}}
/* More small mosaic pieces, rather than oversized corner blocks. */
.corner{grid-template-columns:repeat(5,25px);gap:3px;opacity:.65}.corner .tile{width:25px;height:25px}.corner .tile:nth-child(5n+1){opacity:.3}.corner .tile:nth-child(7n){opacity:.2}.corner-top .tile:nth-child(1),.corner-top .tile:nth-child(6),.corner-top .tile:nth-child(16),.corner-bottom .tile:nth-child(5),.corner-bottom .tile:nth-child(10),.corner-bottom .tile:nth-child(20){visibility:hidden}.corner-bottom{bottom:12px}
@media(max-width:680px){.corner{grid-template-columns:repeat(5,18px);gap:2px;opacity:.38}.corner .tile{width:18px;height:18px}.corner-bottom{opacity:.38}}
/* Corner mosaics fade gently toward the page content. */
.corner{opacity:.48;gap:2px}.corner .tile{opacity:1!important}.corner-top{mask-image:linear-gradient(225deg,#000 0%,#000b 28%,#0005 65%,transparent 100%)}.corner-bottom{mask-image:linear-gradient(45deg,#000 0%,#000b 28%,#0005 65%,transparent 100%)}
@media(max-width:680px){.corner,.corner-bottom{opacity:.3}}
/* Loose stepped clusters, fading out into a few scattered tiles. */
.corner{display:block;width:180px;height:155px;opacity:.48;mask-image:none}.corner .tile{position:absolute;width:24px;height:24px}
.corner .tile:nth-child(1){left:0;top:0;opacity:.8!important}.corner .tile:nth-child(2){left:27px;top:0;opacity:.7!important}.corner .tile:nth-child(3){left:54px;top:0;opacity:.65!important}.corner .tile:nth-child(4){left:81px;top:0;opacity:.5!important}.corner .tile:nth-child(5){left:0;top:27px;opacity:.75!important}.corner .tile:nth-child(6){left:27px;top:27px;opacity:.7!important}.corner .tile:nth-child(7){left:54px;top:27px;opacity:.5!important}.corner .tile:nth-child(8){left:0;top:54px;opacity:.6!important}.corner .tile:nth-child(9){left:27px;top:54px;opacity:.5!important}.corner .tile:nth-child(10){left:0;top:81px;opacity:.45!important}.corner .tile:nth-child(11){left:108px;top:13px;opacity:.32!important}.corner .tile:nth-child(12){left:81px;top:40px;opacity:.32!important}.corner .tile:nth-child(13){left:54px;top:67px;opacity:.3!important}.corner .tile:nth-child(14){left:13px;top:108px;opacity:.25!important}.corner .tile:nth-child(15){left:94px;top:81px;opacity:.18!important}.corner .tile:nth-child(16){left:135px;top:0;opacity:.18!important}.corner .tile:nth-child(17){left:0;top:135px;opacity:.15!important}.corner .tile:nth-child(18){left:135px;top:54px;opacity:.12!important}.corner .tile:nth-child(19){left:54px;top:121px;opacity:.12!important}.corner .tile:nth-child(20){left:162px;top:27px;opacity:.08!important}
.corner .tile{visibility:visible!important}.corner-top{transform:scaleX(-1);transform-origin:center;top:0;right:0}.corner-bottom{transform:scaleY(-1);bottom:0;left:0}
@media(max-width:680px){.corner{transform:scale(.7);transform-origin:top left;opacity:.32}.corner-top{transform:scale(-.7,.7);transform-origin:top right}.corner-bottom{transform:scale(.7,-.7);transform-origin:bottom left}}
/* Pastel ceramic accents: clear motifs in the cluster, quiet scattered edges. */
.corner{opacity:.66}.corner .tile-base{filter:none!important;border-radius:1px}.corner .tile{background:#abc59f}.corner .tile.peach{background:#f2c8b2}.corner .tile.lilac{background:#beb3cd}.corner .tile.cream{background:#e4e7d0}.corner .tile .tile-base{opacity:.16}.corner .motif{inset:1%;width:98%;height:98%}.corner .tile:nth-child(2){opacity:.9!important}.corner .tile:nth-child(3){opacity:.9!important}.corner .tile:nth-child(5){opacity:.9!important}.corner .tile:nth-child(6){opacity:.85!important}.corner .tile:nth-child(9){opacity:.65!important}.corner .tile:nth-child(13){opacity:.45!important}.corner .tile:nth-child(11){transform:rotate(-7deg)}.corner .tile:nth-child(14){transform:rotate(8deg)}.corner .tile:nth-child(16){transform:rotate(5deg)}.corner .tile:nth-child(18){transform:rotate(-8deg)}
@media(max-width:680px){.corner{opacity:.44}}
/* Soft paper grain and scattered mosaic flecks in the surrounding whitespace. */
body{background-color:#eff9ef;background-image:radial-gradient(ellipse at 12% 25%,#fff7e74a,transparent 36%),radial-gradient(ellipse at 88% 72%,#dcebdc40,transparent 34%),radial-gradient(#76936c0c .65px,transparent .65px);background-size:auto,auto,7px 7px}
body::before,body::after{content:'';position:absolute;pointer-events:none;z-index:0;width:9px;height:9px;background:#adc69b20;transform:rotate(9deg)}
body::before{left:8%;top:24%;box-shadow:70px 110px 0 #dcc4ba18,22px 320px 0 #b9adcd18,145px 470px 0 #c4d0aa18,-40px 580px 0 #c6d6b620}
body::after{right:9%;top:18%;transform:rotate(-8deg);box-shadow:-60px 150px 0 #d9c0ab18,35px 340px 0 #b9adcd18,-110px 510px 0 #c4d0aa18,20px 650px 0 #c6d6b620}
@media(max-width:680px){body::before,body::after{width:6px;height:6px;opacity:.55}body::before{left:3%}body::after{right:3%}}
/* Compact corner mosaics: connected tiles with a stepped silhouette. */
.corner{width:160px;height:160px;opacity:.55}.corner .tile{width:27px;height:27px;transform:none!important}
.corner .tile:nth-child(1){left:0;top:0}.corner .tile:nth-child(2){left:29px;top:0}.corner .tile:nth-child(3){left:58px;top:0;width:56px;height:56px}.corner .tile:nth-child(4){left:116px;top:0}.corner .tile:nth-child(5){left:0;top:29px}.corner .tile:nth-child(6){left:29px;top:29px}.corner .tile:nth-child(7){left:116px;top:29px}.corner .tile:nth-child(8){left:0;top:58px}.corner .tile:nth-child(9){left:29px;top:58px}.corner .tile:nth-child(10){left:58px;top:58px;width:56px;height:56px}.corner .tile:nth-child(11){left:116px;top:58px}.corner .tile:nth-child(12){left:0;top:87px}.corner .tile:nth-child(13){left:29px;top:87px}.corner .tile:nth-child(14){left:29px;top:116px;width:20px;height:20px;opacity:.28!important}.corner .tile:nth-child(15){left:116px;top:106px;width:18px;height:18px;opacity:.2!important}.corner .tile:nth-child(n+16){display:none}.corner .tile:nth-child(-n+13){opacity:.8!important}.corner .tile:nth-child(4),.corner .tile:nth-child(7),.corner .tile:nth-child(11),.corner .tile:nth-child(12){opacity:.45!important}
.corner-top{transform:scaleX(-1)!important;transform-origin:center}.corner-bottom{transform:scaleY(-1)!important;transform-origin:center}
/* Word tiles sit inside a compact cluster rather than a trail of loose pieces. */
.tile-cluster .tile:nth-child(9){left:calc(-1*var(--unit));top:calc(100% - 2*var(--unit))}.tile-cluster .tile:nth-child(11){left:calc(100% - var(--unit));top:100%}.tile-cluster .tile:nth-child(12){left:calc(-1*var(--unit));top:calc(-1*var(--unit))}
body::before,body::after{display:none}body{background-image:radial-gradient(ellipse at 12% 25%,#fff7e730,transparent 36%),radial-gradient(ellipse at 88% 72%,#dcebdc30,transparent 34%);background-size:auto}
@media(max-width:680px){.corner{opacity:.32}.corner-top{transform:scale(-.65,.65)!important;transform-origin:top right}.corner-bottom{transform:scale(.65,-.65)!important;transform-origin:bottom left}}
/* Branching mosaics follow the top/right and bottom/left edges. */
.corner{width:400px;height:280px;opacity:.5}.corner .tile:nth-child(n){display:block;visibility:visible;opacity:.65!important}.corner .tile:nth-child(n+22){opacity:.4!important}.corner .tile:nth-child(3),.corner .tile:nth-child(10),.corner .tile:nth-child(28){opacity:.8!important}.corner .tile:nth-child(21),.corner .tile:nth-child(31),.corner .tile:nth-child(32),.corner .tile:nth-child(33),.corner .tile:nth-child(34){opacity:.2!important}.corner-top{right:0;top:0}.corner-bottom{left:0;bottom:0}
@media(max-width:680px){.corner{opacity:.28}.corner-top{transform:scale(-.48,.48)!important;transform-origin:top right}.corner-bottom{transform:scale(.48,-.48)!important;transform-origin:bottom left}}
@font-face{font-family:ChainlePixel;src:url('/assets/pixel-cjk.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:ChainlePixel,'Microsoft YaHei',sans-serif}.label,.word strong,.answer-card strong,button,select,input,.status,.final-total,dialog h2{font-family:ChainlePixel,'Microsoft YaHei',sans-serif;font-weight:400}.label{font-size:22px}.scene .word strong{font-weight:400}nav button,nav select{font-size:12px}.primary{font-size:16px}#result p,#hint{line-height:1.65}@media(max-width:680px){nav button,nav select{font-size:11px}.label{font-size:18px}.primary{font-size:15px}}
.seo-game-title{font-size:12px;font-weight:400;margin:0;color:#718278}.seo-links{display:flex;justify-content:center;gap:18px;flex:0 0 auto;padding-top:5px;font-size:10px}.seo-links a{color:#718278;text-decoration:none}.seo-links a:hover{text-decoration:underline}.language-suggestion{color:#377e49!important}
