.puzzle-page header .nav{min-height:54px}.puzzle-page .brand{font-size:25px}.puzzle-main{max-width:1140px;margin:auto;padding:12px 20px}.puzzle-title h1{margin:8px 0;font-size:32px}.puzzle-stage{display:grid;grid-template-columns:270px minmax(0,650px);gap:35px;align-items:center}.puzzle-host{height:400px;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent);filter:drop-shadow(0 10px 16px #0005)}.puzzle-host img{width:100%;height:100%;object-fit:contain;animation:puzzle-breathe 5s ease-in-out infinite}.puzzle-host.cheer{animation:puzzle-cheer .7s ease-in-out 3}.puzzle-table{background:var(--panel);border:1px solid #c6a567;border-radius:20px;padding:18px;min-width:0}.puzzle-meta{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px}.puzzle-board{max-width:480px;margin:auto;user-select:none}.sudoku{display:grid;grid-template-columns:repeat(9,1fr);border:2px solid #c6a567}.sudoku-cell{aspect-ratio:1;min-width:0;min-height:0;padding:0;border-radius:0;border:1px solid #b5a17a55;background:var(--bg);font-size:23px;color:var(--gold,#ebce91)}.sudoku-cell.given{color:var(--text);font-weight:800;background:#998f8020}.sudoku-cell.box-right{border-right:2px solid #c6a567}.sudoku-cell.box-bottom{border-bottom:2px solid #c6a567}.sudoku-cell.conflict{background:#b539493f;text-decoration:underline wavy}.sudoku-cell.pencil{font-size:11px}.sudoku-cell.selected,.letter.selected{box-shadow:inset 0 0 0 3px #e7bf68;background:#ae904544}.word-search{display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.letter{aspect-ratio:1;min-width:0;min-height:0;padding:0;font-size:20px;border:1px solid #a68b6244;border-radius:6px;background:var(--bg);color:var(--text)}.letter.found{background:#80672e;color:#fff5d7}.puzzle-words{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:13px}.puzzle-words .found{text-decoration:line-through;opacity:.6}.potion-sort{display:flex;flex-wrap:wrap;gap:24px 18px;justify-content:center;padding:20px 0}.bottle{width:64px;height:162px;border:2px solid #cabcef88;border-top:5px solid #ddcb95;border-radius:10px 10px 22px 22px;position:relative;padding:6px;background:linear-gradient(90deg,#fff2,transparent 40%,#ffffff08 75%,#fff3);box-shadow:inset 0 0 15px #b9aaff22,0 9px 12px #0003;overflow:visible}.bottle.selected{transform:translateY(-12px);box-shadow:0 0 0 3px #f3d689,0 0 25px #ac7be840}.liquid{display:flex;flex-direction:column-reverse;height:100%;overflow:hidden;border-radius:2px 2px 15px 15px}.layer{height:25%;background:var(--potion,transparent);color:#171025;font-weight:800;text-shadow:0 1px #fff8;display:flex;justify-content:center;align-items:center;box-shadow:inset 3px 0 5px #fff3}.layer.smoke{background:repeating-linear-gradient(130deg,#71687d,#71687d 4px,#9a8da8 12px);color:white;text-shadow:none}.bottle-label{position:absolute;bottom:-23px;left:0;right:0;font-size:12px}.bottle.frozen{box-shadow:0 0 0 3px #b8c9df,inset 0 0 15px #fff}.puzzle-toolbar,.puzzle-numbers{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.puzzle-toolbar button,.puzzle-numbers button{min-height:42px}.puzzle-numbers button{flex:1;min-width:32px;padding:7px}.puzzle-status{min-height:2.6em;font-size:14px;margin-bottom:0}.puzzle-settings{display:flex;flex-wrap:wrap;gap:15px;margin:18px 0}.puzzle-reading{max-width:850px;margin:30px auto;line-height:1.7}.puzzle-page dialog{border:2px solid #c8a467;border-radius:20px;background:var(--panel);color:var(--text);max-width:min(90vw,440px);padding:25px}.puzzle-page dialog::backdrop{background:#140d25b0}.scene-paused .puzzle-host *{animation-play-state:paused}.living-static .puzzle-host *{animation:none}@keyframes puzzle-breathe{50%{transform:translateY(-4px) rotate(.7deg)}}@keyframes puzzle-cheer{50%{transform:translateY(-12px) rotate(-3deg)}}@media(max-width:800px){.puzzle-main{padding:8px 10px}.puzzle-title{padding-right:70px;min-height:85px}.puzzle-title h1{font-size:27px}.puzzle-title p{font-size:12px;margin:5px 0}.puzzle-stage{display:block;position:relative}.puzzle-host{position:absolute;right:0;top:-88px;width:70px;height:85px}.puzzle-table{padding:10px}.sudoku-cell{font-size:20px}.letter{font-size:17px}.potion-sort{gap:24px 12px;padding:12px 0 20px}.bottle{width:52px;height:130px}.puzzle-toolbar button{font-size:12px;padding:7px 9px}.puzzle-numbers{gap:3px}.puzzle-numbers button{min-width:29px;font-size:16px}.puzzle-settings{font-size:13px}.puzzle-meta{font-size:12px}.puzzle-status{font-size:12px}}@media(prefers-reduced-motion:reduce){.puzzle-host *{animation:none!important}}

.liquid{width:100%}.puzzle-host img{clip-path:inset(0 6%)}

.puzzle-host{position:relative}.puzzle-host img{position:absolute;inset:0}.puzzle-host-body{clip-path:inset(38% 6% 0)!important}.puzzle-host-head{clip-path:inset(0 6% 62%)!important;transform-origin:50% 38%;animation:puzzle-breathe 5s ease-in-out infinite,puzzle-nod 8s ease-in-out infinite!important}.layer{position:relative}.layer:not(.smoke)::after{content:'';position:absolute;left:22%;top:40%;width:4px;height:4px;border-radius:50%;background:#fff6;animation:potion-bubble 4s ease-in infinite;pointer-events:none}.scene-paused .layer::after,.scene-paused .puzzle-host img{animation-play-state:paused!important}.living-static .puzzle-host img,.living-static .layer::after{animation:none!important}@keyframes potion-bubble{0%,65%{opacity:0;transform:translateY(6px)}80%{opacity:.7}100%{opacity:0;transform:translateY(-15px)}}@keyframes puzzle-nod{50%{rotate:.7deg}}@media(prefers-reduced-motion:reduce){.puzzle-host img,.layer::after{animation:none!important}}
@media(max-width:800px){.puzzle-host{position:absolute}}

.puzzle-host{mask-image:radial-gradient(ellipse at center,#000 44%,#000c 62%,transparent 76%)}
