:root{--bg-page:#1f2520;--bg-board:#314a3c;--bg-dialog:#dde8d9;--bg-backdrop:#00000080;--text-primary:#f4f7f4;--text-dark:#2c3531;--brand-primary:#4a7c59;--brand-accent:#a3c9a8;--brand-muted:#7e9b85;--state-good:#c88787;--state-wrong:#d8c98e;--line-soft:#f4f7f440;--line-strong:#f4f7f44d;--surface-subtle:#f4f7f408;--surface-subtle-strong:#f4f7f40f}html{background-color:var(--bg-page);color:var(--text-primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;touch-action:manipulation;font-family:Helvetica}body{min-height:100vh;margin:0}.routePage{box-sizing:border-box;min-height:100vh;padding:18px}.homeShell,.comingSoonShell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;max-width:760px;min-height:calc(100vh - 36px);margin:0 auto;display:flex}.homeLogo{max-width:min(150px,42vw);margin-bottom:18px}.homeIntro,.comingSoonShell p{color:var(--brand-accent);margin:0;font-size:1.05rem;line-height:1.5}.homeChoices{flex-direction:column;justify-content:center;align-items:stretch;gap:18px;width:100%;margin-top:12px;display:flex}.homeCard{aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#ffffff2e,#fff0 36%),linear-gradient(160deg,#4a7c59 0%,#314a3c 48%,#1f2520 100%);border:1px solid #f4f7f438;border-radius:50%;align-self:center;width:min(34vw,138px);text-decoration:none;transition:transform .12s,box-shadow .12s,filter .12s;display:block;position:relative;overflow:hidden;box-shadow:0 12px 24px #00000042,inset 0 2px 1px #ffffff2e,inset 0 -8px 12px #00000038}.homeCardLogo{opacity:.18;filter:saturate(.85)brightness(1.08);z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:68%;height:auto;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.homeCard:before{content:"";border-radius:inherit;opacity:.9;pointer-events:none;background:radial-gradient(circle at 30% 25%,#ffffff4d,#fff0 30%),linear-gradient(#ffffff1a,#0000001f);position:absolute;inset:0}.homeCard:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#f4f7f41a,#f4f7f408);position:absolute;inset:10%;box-shadow:inset 0 1px #ffffff24,inset 0 -2px 6px #0003}.homeCard:active,.homeCard:focus-visible,.pageHomeLink:active,.pageHomeLink:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}.homeCard:active{transform:translateY(4px)scale(.98);box-shadow:0 5px 10px #0000002e,inset 0 2px 1px #ffffff1a,inset 0 -4px 10px #00000047}.homeCard:active .homeCardLogo{opacity:.14;transform:translate(-50%,-50%)scale(.96)}.pageHomeLink{border:1px solid var(--line-strong);color:var(--text-primary);background-color:var(--surface-subtle);border-radius:999px;justify-content:center;align-items:center;padding:12px 16px;text-decoration:none;display:inline-flex}.pageHomeLink:hover{background-color:var(--surface-subtle-strong)}.pageHomeLink,.homeCard{transition:transform .12s,background-color .12s,border-color .12s}.homeCard--left,.homeCard--right{background:radial-gradient(circle at 35% 30%,#ffffff2e,#fff0 36%),linear-gradient(160deg,#4a7c59 0%,#314a3c 48%,#1f2520 100%)}.homeCard--left .homeCardLogo,.homeCard--right .homeCardLogo{mix-blend-mode:screen}.nonogramShell{flex-direction:column;justify-content:flex-start;align-items:center;gap:18px;max-width:860px;min-height:calc(100vh - 78px);margin:0 auto;padding-top:18px;display:flex}.nonogramHeader{justify-content:flex-start;align-items:center;max-width:860px;margin:0 auto;padding:0 0 10px;display:flex}.nonogramTitle{float:none;display:block}.nonogramStage{background:radial-gradient(circle at top,#ffffff14,#fff0 55%),linear-gradient(#f4f7f414,#f4f7f408);border-radius:26px;width:min(92vw,560px);padding:14px;box-shadow:0 16px 32px #00000042,inset 0 1px #ffffff14}.nonogramBoard{aspect-ratio:1;grid-template-rows:minmax(2.35rem,3.4rem) repeat(15,minmax(0,1fr));grid-template-columns:minmax(2.35rem,3.4rem) repeat(15,minmax(0,1fr));gap:.3rem;width:100%;display:grid}.nonogramCorner,.nonogramTopClues,.nonogramLeftClues,.nonogramGrid{border-radius:14px}.nonogramCorner{background:linear-gradient(#f4f7f41a,#f4f7f408);border:1px solid #f4f7f41a;justify-content:center;align-items:center;display:flex;overflow:hidden}.nonogramCornerLink{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.nonogramCornerLogo{opacity:.88;filter:saturate(.95)brightness(1.05);width:78%;max-width:3.1rem;height:auto}.nonogramTopClues{grid-column:2/17;grid-template-columns:repeat(15,minmax(0,1fr));gap:.15rem;display:grid}.nonogramLeftClues{grid-row:2/17;grid-template-rows:repeat(15,minmax(0,1fr));gap:.15rem;min-width:min(11rem,32vw);display:grid}.nonogramTopClue,.nonogramLeftClue{color:var(--text-dark);text-shadow:none;background:linear-gradient(#f4f7f4eb,#dde8d9eb);border:1px solid #1f252014;justify-content:center;align-items:center;font-size:clamp(.65rem,1.9vw,1rem);font-weight:700;line-height:1;display:flex}.nonogramTopClue{flex-direction:column;gap:.05rem;padding:.1rem 0}.nonogramTopClue span{line-height:.95;display:block}.nonogramTopClue span+span{margin-top:.02rem}.nonogramLeftClue{white-space:nowrap;flex-flow:wrap;place-content:center flex-start;gap:.2rem;padding:.14rem .22rem}.nonogramClueRun{justify-content:center;align-items:center;min-width:1ch;display:inline-flex}.nonogramClueSeparator{width:.22rem;display:inline-flex}.nonogramClueRun--black{color:#1f2520}.nonogramClueRun--green{color:#4a7c59}.nonogramGrid{background-color:var(--bg-board);touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #f4f7f438;border-radius:18px;grid-area:2/2/17/17;grid-template-rows:repeat(15,1fr);grid-template-columns:repeat(15,1fr);width:100%;height:100%;display:grid;overflow:hidden}.nonogramCell{box-sizing:border-box;background:linear-gradient(180deg, #ffffff08, #00000005), var(--bg-board);border:1px solid #f4f7f41f;position:relative;overflow:hidden}.nonogramCell--black{background:linear-gradient(#1f2520 0%,#0d0f0e 100%)}.nonogramCell--green{background:linear-gradient(#7e9b85 0%,#4a7c59 100%)}.nonogramCell--cross:before,.nonogramCell--cross:after{content:"";transform-origin:50%;background:#f4f7f4e0;border-radius:999px;width:70%;height:2px;position:absolute;top:50%;left:50%}.nonogramCell--cross:before{transform:translate(-50%,-50%)rotate(45deg)}.nonogramCell--cross:after{transform:translate(-50%,-50%)rotate(-45deg)}.nonogramGrid .nonogramCell:nth-child(5n){border-right-width:2px;border-right-color:#f4f7f45c}.nonogramGrid .nonogramCell:nth-child(-n+15),.nonogramGrid .nonogramCell:nth-child(n+76):nth-child(-n+90),.nonogramGrid .nonogramCell:nth-child(n+151):nth-child(-n+165){border-top-width:2px;border-top-color:#f4f7f45c}.nonogramGrid .nonogramCell:nth-child(n+211):nth-child(-n+225){border-bottom-width:2px;border-bottom-color:#f4f7f45c}.nonogramGrid .nonogramCell:nth-child(15n+1),.nonogramGrid .nonogramCell:nth-child(15n+6),.nonogramGrid .nonogramCell:nth-child(15n+11){border-left-width:2px;border-left-color:#f4f7f45c}.nonogramControlBar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;margin-top:14px;display:grid}.nonogramHistoryButtons{align-items:center;gap:8px;display:flex}.nonogramTools{flex:auto;justify-content:center;align-items:center;gap:14px;min-width:0;display:flex}.nonogramHistoryButton{appearance:none;width:44px;height:44px;color:var(--text-primary);font:inherit;cursor:pointer;background:radial-gradient(circle at 30% 25%,#ffffff1a,#fff0 32%),linear-gradient(160deg,#4a7c59 0%,#314a3c 100%);border:1px solid #f4f7f433;border-radius:16px;flex:none;justify-content:center;align-items:center;padding:0;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s,opacity .12s;display:inline-flex;box-shadow:0 10px 18px #0000002e,inset 0 1px #ffffff1a,inset 0 -6px 10px #0000002e}.nonogramHistoryButton:active{transform:translateY(2px);box-shadow:0 4px 10px #00000024,inset 0 1px #ffffff14,inset 0 -3px 8px #00000042}.nonogramHistoryButton:disabled{opacity:.42;cursor:not-allowed}.nonogramHistoryButton:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}.nonogramTool{cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.nonogramTool input{opacity:0;pointer-events:none;position:absolute}.nonogramToolButton{--tool-size:clamp(44px, 13vw, 74px);width:var(--tool-size);height:var(--tool-size);border:1px solid #f4f7f42e;border-radius:20px;transition:transform .12s,box-shadow .12s,filter .12s;position:relative;box-shadow:0 10px 18px #0003,inset 0 1px #ffffff29,inset 0 -6px 10px #0000002e}.nonogramToolButton--black{background:radial-gradient(circle at 30% 28%,#ffffff24,#fff0 32%),linear-gradient(160deg,#2c3531 0%,#1f2520 100%)}.nonogramToolButton--green{background:radial-gradient(circle at 30% 28%,#ffffff2e,#fff0 32%),linear-gradient(160deg,#4a7c59 0%,#7e9b85 100%)}.nonogramToolButton--cross{background:radial-gradient(circle at 30% 28%,#ffffff2e,#fff0 32%),linear-gradient(160deg,#a3c9a8 0%,#4a7c59 100%)}.nonogramToolButton:before,.nonogramToolButton:after{content:"";position:absolute;inset:50%;transform:translate(-50%,-50%)}.nonogramToolButton--black:before{background:#0d0f0e;border-radius:20%;width:42%;height:42%;box-shadow:inset 0 1px #ffffff1a}.nonogramToolButton--green:before{background:#a3c9a8;border-radius:20%;width:42%;height:42%;box-shadow:inset 0 1px #ffffff24}.nonogramToolButton--cross:before,.nonogramToolButton--cross:after{background:#1f2520;border-radius:999px;width:40%;height:12%}.nonogramToolButton--cross:before{transform:translate(-50%,-50%)rotate(45deg)}.nonogramToolButton--cross:after{transform:translate(-50%,-50%)rotate(-45deg)}.nonogramTool input:checked+.nonogramToolButton{filter:saturate(1.02)brightness(.98);transform:translateY(2px);box-shadow:0 4px 10px #00000029,inset 0 1px #ffffff1a,inset 0 -3px 8px #00000042}.nonogramTool input:focus-visible+.nonogramToolButton{outline:2px solid var(--brand-accent);outline-offset:4px}.nonogramStats{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:10px;width:100%;margin-top:12px;display:flex}.nonogramStat{background:linear-gradient(#f4f7f414,#f4f7f408);border:1px solid #f4f7f41a;border-radius:16px;flex-direction:column;flex:140px;gap:4px;min-width:0;padding:10px 12px;display:flex}.nonogramStatLabel{text-transform:uppercase;letter-spacing:.08em;color:#f4f7f4ad;font-size:.72rem}.nonogramStatValue{color:var(--text-primary);font-size:1.05rem;font-weight:700}.nonogramResetButton{appearance:none;width:44px;height:44px;color:var(--text-primary);font:inherit;letter-spacing:.02em;cursor:pointer;background:radial-gradient(circle at 30% 25%,#ffffff1a,#fff0 32%),linear-gradient(160deg,#4a7c59 0%,#314a3c 100%);border:1px solid #f4f7f433;border-radius:16px;flex:none;justify-content:center;align-items:center;padding:0;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;box-shadow:0 10px 18px #0000002e,inset 0 1px #ffffff1a,inset 0 -6px 10px #0000002e}.nonogramResetButton:active{transform:translateY(2px);box-shadow:0 4px 10px #00000024,inset 0 1px #ffffff14,inset 0 -3px 8px #00000042}.nonogramResetButton:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}.nonogramResetIcon{fill:currentColor;width:24px;height:24px;display:block}.nonogramDialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080}.nonogramDialog{color:var(--text-primary);background:0 0;border:none;padding:0}.nonogramDialogCard{text-align:center;background:linear-gradient(#314a3c 0%,#1f2520 100%);border:1px solid #f4f7f41f;border-radius:22px;min-width:min(320px,86vw);padding:18px;box-shadow:0 22px 44px #00000059}.nonogramDialogTitle{text-align:center;margin:0 0 14px;font-size:1.15rem;font-weight:700}.nonogramCongratsSubtitle{color:#f4f7f4d6;text-align:center;margin:0 0 8px}.nonogramDialogCard p{margin:0 0 14px;font-size:1rem;line-height:1.5}.nonogramCongratsSharePreview{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font:inherit;text-align:center;background:#f4f7f40a;border:1px solid #f4f7f41a;border-radius:16px;margin:0 0 14px;padding:14px;line-height:1.5}.nonogramCongratsSharePreview a{color:#a3c9a8;text-underline-offset:.14em;text-decoration:underline}.nonogramDialogActions{justify-content:flex-end;gap:10px;display:flex}.nonogramDialogButton{appearance:none;color:var(--text-primary);background:var(--surface-subtle);font:inherit;cursor:pointer;border:1px solid #f4f7f429;border-radius:999px;padding:10px 14px}.nonogramDialogButton--secondary{background:#f4f7f40f}.nonogramDialogButton--confirm{background:linear-gradient(160deg,#a3c9a8 0%,#4a7c59 100%)}.nonogramDialogButton:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px}.nonogramShareButton{position:relative}.nonogramShareTooltip{color:var(--text-primary);white-space:nowrap;pointer-events:none;opacity:0;will-change:opacity, transform;background:#0d0f0ef5;border-radius:999px;padding:6px 10px;font-size:.8rem;line-height:1;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}.nonogramShareTooltip.is-visible{opacity:1;transform:translate(-50%)translateY(0)}@media (width>=720px){.nonogramStage{width:min(70vw,640px);padding:18px}.nonogramBoard{gap:.4rem}.nonogramTools{gap:18px}.nonogramHistoryButton,.nonogramResetButton{width:56px;height:56px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=720px){.homeChoices{flex-direction:row;justify-content:space-between;gap:40px}.homeCard{width:min(24vw,170px)}.homeLogo{max-width:min(190px,36vw)}}#title{float:left}#centering{text-align:center}#loading{font-style:italic}#div_table{background-color:var(--bg-board);border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft);color:var(--text-primary);font-size:24px;display:none}.grid_center{grid-gap:10px;grid-template-columns:1fr 1fr;grid-auto-rows:55px;place-items:center;display:grid}#keyboard{max-width:500px;margin-left:auto;margin-right:auto}#keyboard_line{justify-content:space-between;gap:.4em;display:flex}.key{--margin-height:4px;-webkit-user-select:none;user-select:none;height:45px;margin-top:var(--margin-height);margin-bottom:var(--margin-height);color:var(--text-primary);border:1px solid;border-color:var(--line-strong);background-color:var(--surface-subtle);border-radius:5px;flex-grow:1;flex-shrink:0;justify-content:center;align-items:center;font-family:monospace;font-size:20px;display:flex}.hide{display:none!important}.visibilityHide{visibility:hidden!important}.validate{background-color:var(--brand-primary);color:var(--text-primary)}.forbiddenImage{filter:brightness(0)invert(94%)sepia(11%)saturate(152%)hue-rotate(71deg)brightness(96%)contrast(93%);height:35px}.wrong_place:after{background-color:var(--state-wrong);z-index:-1;content:" ";border-radius:50%;width:34px;height:34px;position:absolute;top:1px;left:0}#ending{border:1px solid var(--line-soft);background-color:var(--bg-dialog);color:var(--text-dark);z-index:1;padding:10px;position:absolute;left:10px;right:10px}.ending_panel{text-align:left}.title_ending{font-size:2em}.word{font-family:monospace;font-size:1.5em}.wrong_place_key{background-color:var(--state-wrong)}.no_letter_key{opacity:.5}.good_place_key{background-color:var(--state-good)}.good_place:after{background-color:var(--state-good);z-index:-1;content:" ";width:34px;height:34px;position:absolute;top:1px;left:0}.row{border-bottom:1px solid var(--line-soft)}.column{--cell-height:4px;z-index:0;border-right:1px solid var(--line-soft);padding-top:var(--cell-height);padding-bottom:var(--cell-height);text-align:center;width:34px;display:inline-block;position:relative}.selectedLetter,.animationSelect{background-color:#a3c9a82e}#table{background-color:var(--bg-board);border-color:var(--line-soft);border-collapse:separate;border:solid;margin-left:auto;margin-right:auto;font-size:6em}td{text-align:center}table,th,td{border:solid var(--line-soft);border-spacing:0;vertical-align:middle}.close_ending{width:30px;height:30px;position:absolute;top:10px;right:10px}.close_ending:hover{opacity:1}.close_ending:before,.close_ending:after{content:" ";background-color:var(--text-dark);width:2px;height:30px;position:absolute;left:15px}.close_ending:before{transform:rotate(45deg)}.close_ending:after{transform:rotate(-45deg)}dialog{background:var(--bg-dialog);color:var(--text-dark);border:1px solid #2c35312e;border-radius:20px;animation:1s both fadeIn}dialog::backdrop{background:var(--bg-backdrop);z-index:2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:1s both fadeIn}#textual_replay{text-align:center;color:var(--text-dark)}#share_button{cursor:pointer;position:absolute;right:32px}#share_button img{filter:brightness(0)invert(22%)sepia(10%)saturate(1212%)hue-rotate(90deg)brightness(95%)contrast(88%)}#definition{color:var(--brand-primary);outline:none;text-decoration:none}#helpIcon{fill:var(--brand-accent);cursor:pointer}#shuffle{cursor:pointer;filter:brightness(0)invert(91%)sepia(9%)saturate(286%)hue-rotate(70deg)brightness(94%)contrast(90%)}.forbiddenImage,#share_button img,#shuffle{image-rendering:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tooltip .tooltiptext{visibility:hidden;color:#fff;text-align:center;z-index:1;opacity:0;background-color:#555;border-radius:6px;width:140px;margin-left:-75px;padding:5px;transition:opacity .3s;position:absolute;bottom:150%;left:50%}.tooltip .tooltiptext:after{content:"";border:5px solid #0000;border-top-color:#555;margin-left:-5px;position:absolute;top:100%;left:50%}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.wiggly-box{--s:5px;--w:240px;width:calc(round(up,var(--w),4*var(--s)) - 2*var(--s));aspect-ratio:1;border:var(--s) solid #0000;padding:calc(3*var(--s)/2);box-sizing:border-box;--_g:radial-gradient(var(--s),#000 calc(100% - 1px),#0000);-webkit-mask:radial-gradient(var(--s),#0000 100%,#000 calc(100% + 1px)) calc(2*var(--s)) calc(2*var(--s)) padding-box, conic-gradient(#000 0 0) content-box, var(--_g) var(--s) calc(3*var(--s)), var(--_g) calc(3*var(--s)) var(--s);mask:radial-gradient(var(--s),#0000 100%,#000 calc(100% + 1px)) calc(2*var(--s)) calc(2*var(--s)) padding-box, conic-gradient(#000 0 0) content-box, var(--_g) var(--s) calc(3*var(--s)), var(--_g) calc(3*var(--s)) var(--s);-webkit-mask-size:calc(4*var(--s)) calc(4*var(--s));mask-size:calc(4*var(--s)) calc(4*var(--s));background:linear-gradient(#4a7c59 0%,#314a3c 100%)}.zig-zag-box{--s:18px;--w:240px;width:round(var(--w),4*var(--s));aspect-ratio:1;object-fit:cover;padding:calc(2*var(--s));box-sizing:border-box;--_m:#0000 0 calc(2*atan(.5)),#000 0 50%;-webkit-mask:repeating-conic-gradient(from atan(2) at 50% var(--s),var(--_m)) calc(2*var(--s)) calc(-1*var(--s))/calc(4*var(--s)) 100% intersect, repeating-conic-gradient(from atan(-.5) at var(--s),var(--_m)) calc(-1*var(--s)) calc(2*var(--s))/100% calc(4*var(--s));mask:repeating-conic-gradient(from atan(2) at 50% var(--s),var(--_m)) calc(2*var(--s)) calc(-1*var(--s))/calc(4*var(--s)) 100% intersect, repeating-conic-gradient(from atan(-.5) at var(--s),var(--_m)) calc(-1*var(--s)) calc(2*var(--s))/100% calc(4*var(--s));background:linear-gradient(#a3c9a8 0%,#7e9b85 100%)}.wiggly-box .homeCardGlyph{color:var(--brand-accent);text-shadow:0 2px #0003}.wiggly-box .homeCardHint{color:var(--text-primary)}.zig-zag-box .homeCardGlyph{color:var(--bg-page);text-shadow:0 2px #fff3}.zig-zag-box .homeCardHint{color:var(--bg-page)}
