@font-face{font-family:Atkinson Hyperlegible Next;src:url(/games/sunroom-nonograms/play/fonts/atkinson-hyperlegible-next.woff2)format("woff2");font-weight:200 800;font-display:swap}:root{--font-ui:"Atkinson Hyperlegible Next", system-ui, sans-serif;--font-title:"Atkinson Hyperlegible Next", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--fs:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-size=large]{--fs:1.15}:root[data-size=xl]{--fs:1.3}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(120% 90% at 50% 0%, var(--bg) 45%, var(--bg-2));background-color:var(--bg);color:var(--ink);font:calc(20px * var(--fs)) / 1.4 var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#app{height:100%;margin:0 auto}.home,.page{max-width:640px;margin:0 auto}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h2,h3{margin:0;font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.btn{border:2px solid var(--btn-edge);background:var(--btn);width:100%;min-height:64px;color:var(--btn-ink);text-align:center;font-size:calc(21px * var(--fs));border-radius:16px;gap:2px;padding:10px 20px;font-weight:700;display:grid}.btn__title{font-size:calc(22px * var(--fs));font-weight:700}.btn__sub{font-size:calc(18px * var(--fs));font-weight:500}.btn--primary{background:var(--primary);color:var(--primary-ink);border-color:#0000}.btn--quiet{min-height:56px;font-size:calc(20px * var(--fs));text-underline-offset:4px;background:0 0;border-color:#0000;text-decoration:underline}.btn--small{min-height:56px;font-size:calc(19px * var(--fs));justify-content:center;align-items:center;gap:6px;padding:6px 10px;line-height:1.15;display:flex}.btn--small svg{flex:none;width:24px;height:24px}.btn--small:disabled{opacity:.45}.btn--chip{width:auto;min-width:56px;min-height:56px;font-size:calc(19px * var(--fs));align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.btn--chip svg{width:26px;height:26px}.btn:active:not(:disabled),.tool:active:not(:disabled),.mode__opt:active:not(:disabled){transform:scale(.97)}.link{min-height:44px;color:inherit;text-underline-offset:4px;background:0 0;border:0;padding:0 4px;font-weight:700;text-decoration:underline}.home{height:100%;padding:calc(var(--safe-top) + 12px) 20px calc(var(--safe-bottom) + 14px);flex-direction:column;justify-content:space-between;gap:14px;display:flex;overflow-y:auto}.home__top{justify-content:space-between;gap:10px;display:flex}.home__brand{text-align:center;justify-items:center;gap:6px;display:grid}.home__symbol{width:min(200px,50vw,16vh);animation:.6s cubic-bezier(.2,.7,.3,1) both rise}.home__symbol svg,.about__symbol svg{width:100%;height:auto;display:block}.logo{font:700 clamp(38px, min(13vw, 6.6vh), 64px) / 1.05 var(--font-title);letter-spacing:-.01em;margin:4px 0 0}.logo span{font:700 clamp(26px, min(8.4vw, 4.4vh), 38px) / 1.1 var(--font-title);color:var(--sun);margin-top:4px;display:block}[data-theme=daylight] .logo span{color:var(--ink)}.home__tag{font-size:calc(20px * var(--fs));color:var(--muted);margin:6px 0 0}.home__menu{gap:12px;width:100%;max-width:460px;margin:0 auto;display:grid}.home__new,.sheet__group{gap:6px;display:grid}.home__row{grid-template-columns:1fr 1fr;display:grid}@media (height<=700px){.home__symbol{width:84px}.logo{font-size:36px}.logo span{font-size:26px}.home__tag{margin-top:0}.home__menu{gap:8px}.home .btn:not(.btn--chip):not(.btn--quiet){min-height:60px;padding:6px 16px}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes fade{0%{opacity:0}}.play{height:100%;padding-top:var(--safe-top);flex-direction:column;display:flex;position:relative}.bar{grid-template-columns:repeat(4,1fr);gap:6px;padding:14px 8px 4px;display:grid}.bar--page{grid-template-columns:96px 1fr 96px;align-items:center;padding:8px 0}.bar--page h2{font:700 calc(26px * var(--fs)) / 1.1 var(--font-title);text-align:center}.tool{border:2px solid var(--btn-edge);background:var(--btn);min-width:0;min-height:56px;color:var(--btn-ink);border-radius:14px;align-content:center;place-items:center;gap:1px;padding:4px 2px;font-size:17px;font-weight:700;line-height:1.1;display:grid;position:relative}.tool svg{width:24px;height:24px}.tool:disabled{opacity:.5}.tool__badge{background:var(--primary);color:var(--primary-ink);white-space:nowrap;border-radius:99px;padding:1px 7px;font-size:18px;font-weight:800;line-height:20px;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.status{text-align:center;align-content:center;min-height:56px;padding:2px 12px;line-height:1.2;display:grid}.status__head{font-size:calc(20px * min(var(--fs), 1.15))}.status__line{font-size:calc(19px * min(var(--fs), 1.15));color:var(--muted)}.board-wrap{flex:1;place-items:center;min-height:0;padding:2px 4px;display:grid;position:relative}.board{--cell:32px;--cf:20px;--rw:60px;--ch:60px;grid-template-columns:var(--rw) auto;grid-template-rows:var(--ch) auto;border:2px solid var(--line-strong);background:var(--paper);color:var(--clue-ink);font-variant-numeric:tabular-nums;touch-action:none;border-radius:10px;padding:1px;font-weight:700;display:grid}.board--in{animation:.35s cubic-bezier(.2,.7,.3,1) rise}.corner{place-items:center;display:grid}.colclues{grid-template-columns:repeat(var(--n), var(--cell));margin-left:3px;display:grid}.rowclues{grid-template-rows:repeat(var(--n), var(--cell));margin-top:3px;display:grid}.cc,.rc{font-size:var(--cf);border-radius:6px;line-height:1.1;display:flex}.cc{flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:3px}.rc{justify-content:flex-end;align-items:center;gap:.32em;padding-right:5px}.cc--on,.rc--on{background:var(--clue-hi);color:var(--clue-hi-ink);box-shadow:inset 0 0 0 2px var(--clue-hi-ink)}.num--done{color:var(--clue-done);font-weight:500;text-decoration:line-through;text-decoration-thickness:.12em}.cc--on .num--done,.rc--on .num--done{color:var(--clue-hi-done)}.cc--hint,.rc--hint{box-shadow:inset 0 0 0 3px var(--hint)}.grid{grid-template-columns:repeat(var(--n), var(--cell));grid-template-rows:repeat(var(--n), var(--cell));border:3px solid var(--line-strong);touch-action:none;display:grid}.cell{width:var(--cell);height:var(--cell);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);color:var(--cross);touch-action:none;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.cell--gr{border-right:3px solid var(--line-strong)}.cell--gb{border-bottom:3px solid var(--line-strong)}.cell--er{border-right:0}.cell--eb{border-bottom:0}.cell--band{background:var(--paper-band)}.cell--filled{background:var(--filled)}.cell svg{pointer-events:none;width:62%;height:62%}.cell svg path{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.cell--cursor{z-index:2;outline:3px solid var(--cursor);outline-offset:-1px;box-shadow:inset 0 0 0 4px var(--cursor-in), inset 0 0 0 6px var(--cursor)}.cell:focus-visible{outline:4px solid var(--cursor);outline-offset:-1px}.cell--wrong{box-shadow:inset 0 0 0 3px var(--wrong)}.cell--wrong:after{content:"";background:linear-gradient(to bottom left, var(--wrong) 50%, transparent 50%);width:42%;height:42%;position:absolute;top:0;right:0}.cell--hint{z-index:1;outline:3px dashed var(--hint);outline-offset:-4px}.cell--hint:not(.cell--filled){background:var(--hint-bg)}.cell--hintline:not(.cell--hint):not(.cell--filled){background:var(--paper-band)}.board--done .cell{transition:background-color .45s ease var(--d,0s);border-color:#0000}.board--done .grid{border-color:#0000}.board--done .cc,.board--done .rc{opacity:.35;transition:opacity .4s}.mode{padding:6px 8px calc(var(--safe-bottom) + 10px);grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode__opt{border:2px solid var(--btn-edge);background:var(--btn);min-height:64px;color:var(--btn-ink);font-size:calc(21px * min(var(--fs), 1.15));border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:6px 10px;font-weight:700;line-height:1.1;display:flex}.mode__opt--on{background:var(--primary);border-color:var(--primary-ink);color:var(--primary-ink);box-shadow:inset 0 0 0 3px var(--primary-ink)}.mode__dot{border:3px solid;border-radius:50%;flex:none;width:22px;height:22px}.mode__opt--on .mode__dot{background:currentColor;place-items:center;width:28px;height:28px;display:grid}.mode__opt--on .mode__dot:after{content:"";border:solid var(--primary);border-width:0 0 3px 3px;width:12px;height:7px;margin-top:-3px;transform:rotate(-45deg)}.mode__opt:not(.mode__opt--on){font-weight:600}.mode__sw{border:2px solid;border-radius:4px;flex:none;place-items:center;width:30px;height:30px;display:grid}.mode__sw--fill{background:currentColor}.mode__sw svg{width:22px;height:22px}.mode__sw path{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round}.pic{image-rendering:pixelated;border-radius:8px;display:block}.won__pic{width:min(240px,60vw);height:auto;box-shadow:0 0 0 2px var(--sheet-muted);margin:0 auto}.gallery{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.gal{border:2px solid var(--btn-edge);background:var(--btn);min-height:56px;color:var(--btn-ink);font-size:calc(17px * var(--fs));text-align:center;border-radius:14px;justify-items:center;gap:4px;padding:8px 4px;font-weight:700;line-height:1.15;display:grid}.gal .pic{width:64px;height:64px}.gal__q{border:2px dashed;border-radius:8px;place-items:center;width:64px;height:64px;font-size:30px;display:grid}.gal--now{border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--primary)}.gal:disabled{opacity:.6}.hintcard__mark{font-weight:700}.toast{z-index:5;background:var(--sheet);color:var(--sheet-ink);font-size:calc(20px * var(--fs));text-align:center;pointer-events:none;border-radius:14px;margin:0;padding:12px 16px;font-weight:700;line-height:1.3;animation:.2s rise;position:absolute;bottom:4px;left:12px;right:12px;box-shadow:0 8px 24px #00000059}.toast[hidden]{display:none}.sheet{z-index:1000;background:#0000008c;place-items:center;padding:12px;animation:.2s fade;display:grid;position:fixed;inset:0}.btn--apart{margin-top:28px}.card{left:8px;right:8px;bottom:calc(var(--safe-bottom) + 10px);z-index:6;max-height:calc(100% - var(--safe-top) - 90px);background:var(--sheet);color:var(--sheet-ink);border-radius:18px;gap:10px;padding:14px 16px 12px;animation:.2s cubic-bezier(.2,.7,.3,1) rise;display:grid;position:absolute;overflow-y:auto;box-shadow:0 -6px 30px #0006}.card[hidden]{display:none}.card p{margin:0}.card__title{font:700 calc(23px * var(--fs)) / 1.2 var(--font-title);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.card__text{font-size:calc(20px * var(--fs));line-height:1.35}.card__note{font-size:calc(19px * var(--fs));color:var(--sheet-muted)}.card__btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.card .btn:not(.btn--primary),.sheet__card .btn:not(.btn--primary){background:var(--sheet-btn);color:var(--sheet-ink);border-color:#0000}.sheet__card{width:100%;max-width:480px;max-height:calc(100% - var(--safe-top) - var(--safe-bottom));background:var(--sheet);color:var(--sheet-ink);-webkit-user-select:text;user-select:text;border-radius:22px;gap:12px;padding:22px 18px 14px;animation:.25s cubic-bezier(.2,.7,.3,1) rise;display:grid;overflow:auto;box-shadow:0 20px 60px #0006}.sheet__card h2{font:700 calc(28px * var(--fs)) / 1.15 var(--font-title);text-align:center}.sheet__card p{color:var(--sheet-muted);text-align:center;margin:0}.sheet__card .sheet__big{font-size:calc(24px * var(--fs));color:var(--sheet-ink);font-weight:700}.sheet__card .btn--quiet{background:0 0!important}.sheet__card .choice{background:var(--sheet-btn);border-color:var(--sheet-muted)}.sheet__card .choice__opt{color:var(--sheet-ink)}.sheet__card .choice__opt--on{color:var(--primary-ink)}.howto{gap:14px;display:grid}.howto__aim{gap:8px;display:grid}.sheet__card .howto__aim p,.sheet__card .howto__step p{font-size:calc(20px * var(--fs));color:var(--sheet-ink);font-weight:700;line-height:1.3}.howto__steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.howto__step{gap:8px;padding-top:4px;display:grid;position:relative}.howto__num{z-index:3;border:2px solid var(--primary-ink);background:var(--primary);width:38px;height:38px;color:var(--primary-ink);border-radius:50%;place-items:center;font-size:22px;font-weight:800;line-height:1;display:grid;position:absolute;top:0;left:0}.howto__more ul{font-size:calc(20px * var(--fs));color:var(--sheet-ink);gap:8px;margin:0;padding-left:24px;line-height:1.35;display:grid}.howto [data-act=more]{scroll-margin-top:24px}.sheet__card{overflow-anchor:none}.howto__more[hidden]{display:none}.hp{--cell:40px;border:2px solid var(--line-strong);background:var(--paper);color:var(--clue-ink);font-variant-numeric:tabular-nums;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:14px 10px;font-weight:700;display:flex}.hp--row{flex-wrap:nowrap}.hp--col{flex-direction:column;gap:4px}.hp__rows{gap:8px;display:grid}.hp__ways{gap:6px}.hp__row{align-items:center;display:flex}.hp__clue{justify-content:flex-end;gap:.32em;width:46px;padding-right:8px;font-size:24px;line-height:1;display:flex}.hp__line{border:3px solid var(--line-strong);display:flex}.hp__line--bare{border-color:#0000}.hp .hp__sq{border-bottom:0;flex:none}.hp .hp__sq:last-child{border-right:0}.hp__slot{width:var(--cell);place-items:center;display:grid}.hp__pointer{width:30px;height:24px;color:var(--hint)}.hp__arrow{width:40px;height:34px;color:var(--clue-ink);flex:none}.hp__arrow--down{transform:rotate(90deg)}.hp__board{grid-template-columns:auto;row-gap:4px;display:grid}.hp__board .hp__rows{gap:0}.hp__board .hp__row+.hp__row .hp__line{border-top:0}.hp__board .hp__row:not(:last-child) .hp__line{border-bottom:1px solid var(--line)}.hp__cols{border:0 solid #0000;border-width:0 3px;margin-left:46px;display:flex}.hp__cc{width:var(--cell);place-items:end center;font-size:24px;line-height:1;display:grid}.hp__mode{flex:0 auto;min-height:60px;font-size:20px}.won{justify-items:center;gap:12px;display:grid}.won .btn{width:100%}.won__badges{justify-content:center;gap:8px;display:flex}.won__badges span{background:var(--right);color:var(--right-ink);font-size:calc(19px * var(--fs));border-radius:99px;padding:4px 14px;font-weight:700}.about{gap:12px;display:grid}.about__symbol{justify-self:center;width:160px}.sheet__card .about__by{color:var(--sheet-ink);font-weight:700}.sheet__card .about__small{font-size:18px}.about a{color:inherit}.page{height:100%;padding:calc(var(--safe-top) + 4px) 16px calc(var(--safe-bottom) + 24px);flex-direction:column;gap:12px;display:flex;overflow-y:auto}.page>*{flex-shrink:0}.page h3{font:700 calc(20px * var(--fs)) / 1.2 var(--font-title);color:var(--muted);margin-top:12px}.statset{gap:8px;display:grid}.statset dl{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.statset dl div{border:2px solid var(--btn-edge);background:var(--btn);color:var(--btn-ink);border-radius:14px;padding:12px 14px;display:grid}.statset dt{font-size:calc(18px * var(--fs))}.statset dd{font-size:calc(28px * var(--fs));font-variant-numeric:tabular-nums;margin:0;font-weight:800}.toggle{border:2px solid var(--btn-edge);background:var(--btn);min-height:64px;color:var(--btn-ink);cursor:pointer;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 14px;font-weight:700;display:grid;position:relative}.toggle small{font-size:calc(18px * var(--fs));font-weight:500;display:block}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle i{background:0 0;border:2px solid;border-radius:99px;width:60px;height:36px;transition:background .2s;position:relative}.toggle i:after{content:"";background:currentColor;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked+i{border-color:var(--primary);background:var(--primary)}.toggle input:checked+i:after{background:var(--primary-ink);transform:translate(24px)}.toggle input:focus-visible+i{outline:3px solid var(--focus);outline-offset:2px}.choice{border:2px solid var(--btn-edge);background:var(--btn);border-radius:16px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.choice__opt{min-width:0;min-height:56px;color:var(--btn-ink);font-size:calc(19px * min(var(--fs), 1.1));background:0 0;border:0;border-radius:12px;padding:0 4px;font-weight:700;line-height:1.1}.choice__opt--on{background:var(--primary);color:var(--primary-ink);box-shadow:inset 0 0 0 3px var(--primary-ink)}.note{font-size:calc(20px * var(--fs));color:var(--muted);margin:0}.looks{gap:8px;display:grid}.look{border:3px solid var(--btn-edge);background:var(--btn);min-height:72px;color:var(--btn-ink);text-align:left;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:10px 14px;display:grid}.look--on{border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--primary)}.look__sw{grid-row:span 2;display:flex}.look__sw i{border:1px solid #7f7f7f80;width:22px;height:44px}.look__sw i:first-child{border-radius:8px 0 0 8px}.look__sw i:last-child{border-radius:0 8px 8px 0}.look__name{font-weight:700}.look__blurb{font-size:calc(18px * var(--fs))}.credits{font-size:calc(18px * var(--fs));text-align:center;color:var(--muted);margin:8px 0 0}.credits a{color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:10ms!important;animation-duration:10ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.card--top{top:calc(var(--safe-top) + 8px);bottom:auto;box-shadow:0 6px 30px #0006}.home__note{font-size:calc(18px * var(--fs));color:var(--muted);text-align:center;margin:2px 0 0}.won .mode,.mode .btn{min-height:64px}.mode .btn{padding:8px 10px}.mode .btn__title{font-size:calc(22px * min(var(--fs), 1.15))}@media (width>=880px) and (orientation:landscape){.play{grid-template:"bar board""status board""mode board"".board"1fr/320px 1fr;column-gap:8px;display:grid}.bar{grid-area:bar}.status{grid-area:status;padding:12px}.mode{grid-area:mode;grid-template-columns:1fr}.board-wrap{grid-area:board;padding:6px}.card{width:304px;left:8px;right:auto}.card--top{top:auto;bottom:calc(var(--safe-bottom) + 10px)}}.home__row .btn{white-space:nowrap;padding-left:4px;padding-right:4px}@media (height<=700px){.home{padding-top:calc(var(--safe-top) + 8px);padding-bottom:calc(var(--safe-bottom) + 6px);gap:6px}.home__menu{gap:6px}.home__note{font-size:17px}}@media (height<=900px){:root[data-size=large] .home__symbol,:root[data-size=xl] .home__symbol{width:84px}}@media (width<=459px){.mode__sw{display:none}.mode__opt{gap:8px;font-size:20px}}:root,[data-theme=steel]{--bg:#3d5a80;--bg-2:#2f4868;--ink:#fff;--muted:#e2eaf4;--sun:#ffd166;--paper:#fbf8f0;--paper-band:#e9eef6;--line:#6f7f95;--line-strong:#2f4868;--filled:#1d2b40;--cross:#3d5a80;--clue-ink:#1d2b40;--clue-hi:#ffd166;--clue-hi-ink:#1d2b40;--clue-done:#5c6a7d;--clue-hi-done:#3d4a5c;--cursor:#b4400b;--cursor-in:#fff;--wrong:#b3261e;--hint:#1662c4;--hint-bg:#fff0b8;--btn:#2f4868;--btn-ink:#fff;--btn-edge:#a9bcd6;--primary:#ffd166;--primary-ink:#1d2b40;--sheet:#fbf8f0;--sheet-ink:#1d2b40;--sheet-muted:#4a586b;--sheet-btn:#e6ebf2;--focus:#ffd166}[data-theme=daylight]{--bg:#e9eef4;--bg-2:#dbe3ec;--ink:#142033;--muted:#3c4a5e;--sun:#b07a00;--paper:#fff;--paper-band:#edf2f8;--line:#6f7f95;--line-strong:#1d2b40;--filled:#142033;--cross:#3d5a80;--clue-ink:#142033;--clue-hi:#ffd166;--clue-hi-ink:#142033;--clue-done:#56647a;--clue-hi-done:#3d4a5c;--cursor:#b4400b;--cursor-in:#fff;--wrong:#b3261e;--hint:#1662c4;--hint-bg:#fff0b8;--btn:#fff;--btn-ink:#142033;--btn-edge:#6f7f95;--primary:#3d5a80;--primary-ink:#fff;--sheet:#fff;--sheet-ink:#142033;--sheet-muted:#3c4a5e;--sheet-btn:#e9eef4;--focus:#1662c4}[data-theme=contrast]{--bg:#000;--bg-2:#000;--ink:#fff;--muted:#ddd;--sun:#ffd84d;--paper:#000;--paper-band:#262626;--line:#9a9a9a;--line-strong:#fff;--filled:#fff;--cross:#ffd84d;--clue-ink:#fff;--clue-hi:#ffd84d;--clue-hi-ink:#000;--clue-done:#b8b8b8;--clue-hi-done:#4d4d4d;--cursor:#ffd84d;--cursor-in:#000;--wrong:#ff7b7b;--hint:#5cc8ff;--hint-bg:#003a5c;--btn:#1c1c1c;--btn-ink:#fff;--btn-edge:#a8a8a8;--primary:#ffd84d;--primary-ink:#000;--sheet:#161616;--sheet-ink:#fff;--sheet-muted:#d0d0d0;--sheet-btn:#333;--focus:#ffd84d}
