:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#24332e;background:#f3f6f2;font-synthesis:none;text-rendering:optimizeLegibility;--green:#3d745b;--dark:#244b39;--line:#d8e2db;--muted:#75847b;--red:#a94c4c}
*{box-sizing:border-box}body{margin:0;min-width:680px;min-height:100vh;background:radial-gradient(ellipse at 85% 5%,#e4eee6 0,transparent 32%),#f3f6f2}.app{max-width:1100px;margin:auto;padding:30px 44px 24px}.site-header,.section-heading,.play-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header{padding-bottom:22px;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.1;margin:0;letter-spacing:.04em}h2{font-size:25px;margin:0}h3{font-size:12px;letter-spacing:.18em}.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--green);font-weight:700;margin:0 0 7px}.mode-controls{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}button{font:inherit;cursor:pointer}.mode-controls button,.button{border:1px solid var(--line);background:white;color:#42564a;border-radius:8px;padding:9px 15px;font-weight:600}.mode-controls button.selected,.button{background:var(--dark);border-color:var(--dark);color:white}.screen{padding-top:30px}.section-heading{align-items:end;margin-bottom:22px}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.stage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.stage-card{position:relative;text-align:left;overflow:hidden;padding:0;border:1px solid var(--line);background:white;border-radius:12px;color:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}.stage-card:hover{transform:translateY(-3px);border-color:#9bb7a4;box-shadow:0 8px 22px #2e50351a}.stage-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#e4ece5}.stage-card-info{display:block;padding:12px}.stage-card strong{font-size:14px}.cleared{display:inline-flex;margin-top:7px;align-items:center;gap:4px;color:var(--green);font-size:11px;font-weight:700}.not-cleared{color:#a1aba4;font-size:11px;margin-top:7px}.play-heading{margin-bottom:20px}.play-stats{border:1px solid var(--line);background:white;border-radius:10px;padding:8px 15px;display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}.play-stats strong{font-size:20px;color:var(--dark)}.play-layout{display:flex;gap:32px;align-items:center}.board-wrap{display:flex;justify-content:center;flex:1}.board{display:grid;grid-template-columns:48px repeat(4,74px);grid-template-rows:54px repeat(4,74px);gap:1px;padding:10px;background:#dbe5de;border-radius:10px;user-select:none}.corner{grid-column:1;grid-row:1}.clue{display:flex;justify-content:center;align-items:center;color:#52695b;font-size:14px;font-weight:700;white-space:pre-line;text-align:center;line-height:1.35}.row-clue{justify-content:flex-end;padding-right:13px}.cell{position:relative;border:0;border-radius:0;background-color:#fff;background-repeat:no-repeat;background-size:400% 400%;overflow:hidden;padding:0;touch-action:manipulation}.cell:hover{outline:2px solid #7fa28b;outline-offset:-2px}.cell.tentativeFill{border-color:#3d8c5a;box-shadow:inset 0 0 0 1000px rgba(61,140,90,.28)}.cell.tentativeEmpty{border-color:#c45a52;box-shadow:inset 0 0 0 1000px rgba(196,90,82,.28)}.cell.confirmedFill{border-color:#1f7a45;box-shadow:inset 0 0 0 3px #1f7a45;cursor:default}.cell.confirmedEmpty{border-color:#b42318;box-shadow:inset 0 0 0 3px #b42318;cursor:default}.cell.confirmedEmpty::after{content:"×";position:absolute;top:1px;right:3px;color:#b42318;font-size:14px;font-weight:700;line-height:1;text-shadow:0 0 2px #fff}.cell:disabled{opacity:1}.reference{width:148px;flex:none}.reference h3{color:var(--muted);margin-bottom:9px}.reference img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:white}.reference p{font-size:10px;color:var(--muted);line-height:1.5;margin:8px 0 0}.feedback{height:24px;margin:14px 0 4px;color:var(--red);font-size:13px;font-weight:700;text-align:center}.play-actions{display:flex;justify-content:center;gap:10px}.button{padding:10px 18px}.button.secondary{background:white;color:var(--dark);border-color:var(--line)}.text-button{background:transparent;border-color:transparent;color:var(--muted)}.result-screen{text-align:center}.result-screen .eyebrow{margin-bottom:7px}.result-screen h2{margin-bottom:8px}.result-screen>p:not(.eyebrow){color:var(--muted);font-size:13px}.result-image{display:block;width:min(330px,65vw);aspect-ratio:3/4;object-fit:cover;border-radius:12px;margin:20px auto 22px;box-shadow:0 12px 34px #263f2f24}footer{border-top:1px solid var(--line);padding-top:17px;margin-top:30px;color:var(--muted);font-size:11px;text-align:center}[hidden]{display:none!important}
@media(max-width:900px){.app{padding:24px 25px}.stage-list{grid-template-columns:repeat(3,minmax(0,1fr))}.play-layout{gap:16px}.board{grid-template-columns:40px repeat(4,62px);grid-template-rows:48px repeat(4,62px)}.reference{width:120px}}
