.puzzle-wrap{max-width:850px;margin:auto;padding:32px 18px 60px}.puzzle-nav{display:flex;flex-wrap:wrap;gap:20px;padding:20px;border-bottom:1px solid #a78047;background:#091827}.puzzle-nav a{color:#ecd7a7}.puzzle-wrap h1{font-size:clamp(36px,8vw,66px);margin:10px 0}.puzzle-intro{font-size:20px;color:#d8cbb8}.puzzle-shell{background:#0b1d2e;border:1px solid #9e7847;border-radius:20px;padding:22px;box-shadow:0 16px 48px #0005}.puzzle-tabs,.puzzle-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.puzzle-shell button,.puzzle-shell select,.puzzle-shell input{font:inherit;min-height:44px;background:#132e46;color:#fff2ce;border:1px solid #ac8652;border-radius:8px;padding:10px;cursor:pointer}.puzzle-shell input{width:100%;background:#071421}.puzzle-shell label{display:grid;gap:5px}.puzzle-tabs button[aria-pressed=true],.puzzle-shell button.selected{background:#d9b66f;color:#101c28}.puzzle-shell button:disabled{opacity:.55;cursor:default}.puzzle-shell :focus-visible{outline:3px solid #93dfeb;outline-offset:3px}.puzzle-note{font-size:14px;color:#c8c6c0}.puzzle-wrap a{color:#f2cd86}.puzzle-board{display:grid;gap:5px;margin:20px auto;width:100%;max-width:460px}.puzzle-board.blocks{grid-template-columns:repeat(8,minmax(0,1fr))}.puzzle-board.match{grid-template-columns:repeat(4,minmax(0,1fr))}.puzzle-board button{padding:0;min-height:0;aspect-ratio:1}.puzzle-board.blocks button{border-radius:4px;background:#182f43}.puzzle-board.blocks button.filled{background:#b48345;box-shadow:inset 0 0 0 3px #e5c17b}.puzzle-board.match button{font-size:32px;min-height:54px}.puzzle-board.match button.matched{color:#a9e4c7;border-color:#70ab91;background:#163b39;opacity:1}.puzzle-tray{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.puzzle-piece{display:grid;gap:3px;width:60px;height:60px}.puzzle-piece span{background:#d5aa60;border-radius:2px}.cipher-word{font-size:clamp(26px,7vw,44px);letter-spacing:.15em;color:#ebc680;overflow-wrap:anywhere}.cipher-key{padding:12px;border-left:3px solid #b18c52}.puzzle-wrap footer{margin-top:28px}.puzzle-shell #puzzle-status{color:#f4d99c;min-height:28px}.puzzle-shell #puzzle-score{font-weight:700}.puzzle-shell form{max-width:460px;margin:auto}.puzzle-shell form button{margin:10px 8px 0 0}@media(max-width:480px){.puzzle-wrap{padding:22px 12px}.puzzle-shell{padding:14px}.puzzle-tabs button{flex:1 1 90px}.puzzle-board{gap:4px}.puzzle-tools{align-items:end}.puzzle-board.match button{font-size:28px}}
