@import url('style-sudoku.css?v=1');
.nonogram-app .intro h1{font-size:clamp(40px,10vw,66px);line-height:1.06;margin-top:10px;letter-spacing:-.055em}.nonogram-app .intro p{font-size:24px;margin-top:18px}.nonogram-app .levels{grid-template-columns:repeat(3,1fr)}.nonogram-app .levels button{display:flex;flex-direction:column;gap:6px;padding:13px 10px}.nonogram-app .levels strong{font-size:13px}#puzzle-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0}#puzzle-picker button{position:relative;border:1px solid #c8b78555;border-radius:11px;background:#1a302a;color:#ecddbc;height:42px;font-size:15px}#puzzle-picker button[aria-pressed=true]{background:#5b5536;border-color:#f5da97}#puzzle-picker button.solved{color:#a3d3b0}#puzzle-picker button.solved::after{content:'✓';position:absolute;right:3px;top:0;font-size:9px}#puzzle-info{font-size:11px;color:#c2b78e;min-height:24px;margin-bottom:12px}.nonogram-app #level-description{min-height:0;margin-bottom:8px}.nonogram-app #экран-игры{max-width:640px;min-width:0}.nonogram-app .game-heading h1{font-size:27px;line-height:1.05;letter-spacing:-.03em}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.board-toolbar>span{font-size:10px;line-height:1.5;color:#a7beae}.board-toolbar>button{font-size:10px;white-space:nowrap;min-height:34px;padding:8px}.nonogram-wrap{position:relative;border:1px solid #d4ba79;border-radius:15px;overflow:hidden;box-shadow:0 15px 45px #0005;background:#263c30}#board-scroll{overflow:auto;max-height:min(62dvh,640px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9b8657 #152820;padding:0;touch-action:none}#board-scroll.pan{touch-action:pan-x pan-y}#nonogram{--cell:30px;--clue-width:50px;--clue-height:50px;display:grid;width:max-content;grid-template-columns:var(--clue-width) repeat(var(--size),var(--cell));grid-template-rows:var(--clue-height) repeat(var(--size),var(--cell));user-select:none;-webkit-user-select:none;isolation:isolate}.corner{position:sticky;top:0;left:0;z-index:5;background:#263c30;color:#d2c08c;display:grid;place-items:center;font-size:11px;border-bottom:2px solid #aa945e;border-right:2px solid #aa945e}.clue{display:flex;font-size:clamp(11px,calc(var(--cell)*.48),17px);font-weight:750;color:#f1dfb6;background:#263c30;z-index:3;font-variant-numeric:tabular-nums}.row-clue{position:sticky;left:0;justify-content:flex-end;align-items:center;gap:5px;padding:0 7px;border-right:2px solid #aa945e;border-bottom:1px solid #94a6841f}.col-clue{position:sticky;top:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding:5px 0;border-bottom:2px solid #aa945e;border-right:1px solid #94a6841f}.clue.active{background:#576044;color:#fff2bf}.clue.satisfied{color:#81a893}.clue.impossible{color:#ffb5a0;background:#543d33}.pixel{position:relative;border:0;border-right:1px solid #71806b80;border-bottom:1px solid #71806b80;padding:0;background:#e1dec9;min-width:0;width:var(--cell);height:var(--cell);color:#536456;font-size:calc(var(--cell)*.8);line-height:1;display:grid;place-items:center;touch-action:none}.pixel.filled{background:linear-gradient(145deg,#366c57,#164033);box-shadow:inset 0 1px #79b59166,inset 0 -2px #061b16aa;color:#efd391}.pixel.selected{outline:2px solid #d39e36;outline-offset:-3px;z-index:1}.pixel.related:not(.filled){background:#ccd6bc}.pixel.error{background:#b86c56;box-shadow:inset 0 0 0 2px #f3c6b1}.pixel.preview{filter:brightness(1.13)}.pixel.v-divider,.col-clue.v-divider{border-right-width:2px;border-right-color:#64755c}.pixel.h-divider,.row-clue.h-divider{border-bottom-width:2px;border-bottom-color:#64755c}.pixel.hinted{animation:hint-flash .8s}.brushes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0}.brushes button{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:59px;border:1px solid #a58d5c55;border-radius:12px;background:#192e26}.brushes button>b{font-size:24px;font-weight:500;color:#e5c98a;line-height:1}.brushes button>span{font-size:10px}.brushes [aria-pressed=true]{background:linear-gradient(140deg,#5b5c37,#304732);border-color:#f2d08b;box-shadow:inset 0 0 0 1px #f4d69322}.nonogram-app .tools{margin:10px 0 8px}.nonogram-app #message{min-height:36px}.nonogram-wrap:has(#resume:not([hidden])) #board-scroll{visibility:hidden}.win-art{display:grid;grid-template-columns:repeat(var(--size),1fr);width:150px;height:150px;margin:15px auto;border:3px solid #cbb078;border-radius:9px;overflow:hidden;background:#ddd7bf;box-shadow:0 12px 30px #0004}.win-art>i{background:#e1dec9}.win-art>i.on{background:#296349}.completed-picture .pixel.filled{animation:reveal-pixel .6s ease-out both;animation-delay:calc(var(--row)*35ms)}
@keyframes reveal-pixel{from{filter:brightness(1.6);transform:scale(.85)}to{filter:none;transform:none}}
@media(min-width:800px){.nonogram-app #экран-лобби{grid-template-columns:1fr 1.1fr}.nonogram-app .cover{aspect-ratio:1}.nonogram-app #экран-игры{width:620px;max-width:100%}.nonogram-app .game-heading h1{font-size:30px}.nonogram-app #board-scroll{max-height:calc(100dvh - var(--safe-top) - 350px);min-height:230px}}
@media(max-width:599px){.nonogram-app .intro h1{font-size:43px}.nonogram-app .game-heading h1{font-size:22px}.nonogram-app .game-heading{margin-bottom:9px}.nonogram-app .status{margin-bottom:8px}.nonogram-app .tools button{min-height:46px}.nonogram-app .tools{margin:7px 0}.nonogram-app .brushes button{min-height:55px}.nonogram-app .board-toolbar{margin-bottom:8px}.nonogram-app #board-scroll{max-height:53dvh}.nonogram-app #save-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){.completed-picture .pixel.filled{animation:none!important}}
#board-scroll.pan .pixel{touch-action:pan-x pan-y}.nonogram-example{padding:18px 10px;background:#e1dec9;color:#254c39;border-radius:12px;font-size:21px;text-align:center;letter-spacing:.05em}
#nonogram{margin-inline:auto}
.nonogram-app button,dialog button{touch-action:manipulation}#nonogram .pixel{touch-action:none}#board-scroll.pan .pixel{touch-action:pan-x pan-y}
@media(min-width:800px){body[data-nonogram-size='5'] .nonogram-app #экран-игры{width:430px}}
@media(max-width:599px){
 body[data-nonogram-size='15'] .nonogram-app #board-scroll{max-height:max(230px,calc(100dvh - var(--safe-top) - var(--safe-bottom) - 440px))}
 .nonogram-app .brushes{margin:5px 0}.nonogram-app .tools{margin:4px 0}.nonogram-app .tools button{min-height:40px}.nonogram-app #message{min-height:30px;padding:6px 0 3px;font-size:11px}.nonogram-app .bottom-actions{margin-top:7px}
}
