@font-face{font-family:Atkinson Hyperlegible Next;src:url(/games/sunroom-crossword/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;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--clue-size:22px;--status-size:20px;--key-size:25px;--key-h:58px;--letter:.6}body.text-xl{--clue-size:25px;--status-size:22px;--key-size:28px;--letter:.68}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--page);color:var(--ink);font:20px/1.4 var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body.text-xl{font-size:22px}#app{max-width:620px;height:100%;margin:0 auto}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:4px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0;font-weight:800}a{color:inherit}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border:2px solid var(--btn-edge);background:var(--btn);width:100%;min-height:62px;color:var(--btn-ink);text-align:center;border-radius:16px;place-content:center;gap:2px;padding:8px 14px;font-size:22px;font-weight:700;line-height:1.2;display:grid;position:relative}.btn__title{font-size:23px;font-weight:800}.btn__sub{font-size:18px;font-weight:500}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn--quiet{text-underline-offset:4px;background:0 0;border-color:#0000;min-height:56px;font-size:20px;text-decoration:underline}.btn:active,.tool:active,.key:active,.bar__btn:active,.clue__step:active{transform:scale(.97)}.home{height:100%;padding:calc(var(--safe-top) + 10px) 20px calc(var(--safe-bottom) + 16px);flex-direction:column;justify-content:space-between;gap:12px;display:flex;position:relative;overflow-y:auto}.home__top{justify-content:space-between;gap:12px;display:flex}.home__corner{grid-auto-flow:column;align-items:center;gap:6px;width:auto;padding:0 10px}.home__corner svg{width:26px;height:26px}.home__brand{text-align:center;justify-items:center;gap:6px;display:grid}.home__mark{width:112px;height:112px;animation:.6s cubic-bezier(.2,.7,.3,1) both rise}.mark{width:100%;height:100%}.mark__frame{fill:var(--block)}.mark__cell{fill:var(--cell)}.mark__word{fill:var(--word)}.mark__cur{fill:var(--cur)}.mark__block{fill:var(--block)}.mark__num{font:800 13px var(--font-ui);fill:var(--num)}.mark__ch{font:800 24px var(--font-ui);fill:var(--cell-ink);text-anchor:middle}[data-theme=bold] .mark__frame{stroke:#fff;stroke-width:3px}.logo{font:800 clamp(44px, 14vw, 60px)/1 var(--font-ui);letter-spacing:-.01em;margin:4px 0 0}.logo span{font:800 24px/1 var(--font-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:8px;display:block}.home__tag{max-width:22em;color:var(--muted);margin:10px 0 0;font-size:20px}.home__menu{gap:12px;width:100%;max-width:460px;margin:0 auto;display:grid}.home__row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.play{height:100%;padding:var(--safe-top) 8px calc(var(--safe-bottom) + 8px);flex-direction:column;gap:6px;display:flex}.main,.side{flex-direction:column;gap:6px;min-height:0;display:flex}.main{flex:1}.bar{grid-template-columns:76px 1fr 76px;align-items:center;gap:6px;padding-top:4px;display:grid}.bar h2{text-align:center;font-size:24px}.bar__btn{border:2px solid var(--btn-edge);background:var(--btn);height:56px;color:var(--btn-ink);border-radius:14px;align-content:center;justify-items:center;gap:0;padding:0 2px;font-size:15px;font-weight:700;line-height:1.1;display:grid}.bar__btn svg{width:24px;height:24px}.bar__title{text-align:center;justify-items:center;line-height:1.15;display:grid}.bar .bar__main{font-size:20px;font-weight:800}.bar__sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.clue{background:var(--clue-bg);min-height:84px;color:var(--clue-ink);box-shadow:inset 0 -5px 0 var(--clue-edge);border-radius:16px;grid-template-columns:70px 1fr 70px;align-items:stretch;gap:4px;padding:4px;display:grid}.clue__step{border:2px solid var(--clue-ink);min-height:56px;color:var(--clue-ink);background:0 0;border-radius:12px;align-content:center;justify-items:center;gap:2px;padding:0;font-size:14px;font-weight:800;display:grid}.clue__step svg{width:26px;height:26px}.clue__text{min-width:0;color:inherit;text-align:center;background:0 0;border:0;border-radius:10px;align-content:center;padding:2px 4px 6px;display:grid}.clue__name{font-size:17px;font-weight:700}.clue__words{font-size:var(--clue-size);font-weight:800;line-height:1.18}.board{flex:1;place-items:center;min-height:0;display:grid;position:relative}.grid{grid-template-columns:repeat(var(--n), var(--sq,30px));grid-auto-rows:var(--sq,30px);background:var(--block);outline:2px solid var(--block);gap:2px;padding:2px;display:grid}[data-theme=bold] .grid{outline-offset:1px;outline:3px solid #fff}.cell{background:var(--cell);color:var(--cell-ink);border:0;border-radius:0;place-items:center;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.cell--block{background:var(--block)}.cell__ch{font-size:calc(var(--sq,30px) * var(--letter));font-weight:800;line-height:1;transform:translateY(6%)}.cell__num{font-size:max(10px, calc(var(--sq,30px) * .27));color:var(--num);font-weight:700;line-height:1;position:absolute;top:1px;left:2px}.cell--word{background:var(--word);box-shadow:inset 0 3px 0 var(--word-edge), inset 0 -3px 0 var(--word-edge)}.cell--word:not(.cell--across){box-shadow:inset 3px 0 0 var(--word-edge), inset -3px 0 0 var(--word-edge)}.cell--word.cell--across.cell--first{box-shadow:inset 0 3px 0 var(--word-edge), inset 0 -3px 0 var(--word-edge), inset 3px 0 0 var(--word-edge)}.cell--word.cell--across.cell--last{box-shadow:inset 0 3px 0 var(--word-edge), inset 0 -3px 0 var(--word-edge), inset -3px 0 0 var(--word-edge)}.cell--word:not(.cell--across).cell--first{box-shadow:inset 3px 0 0 var(--word-edge), inset -3px 0 0 var(--word-edge), inset 0 3px 0 var(--word-edge)}.cell--word:not(.cell--across).cell--last{box-shadow:inset 3px 0 0 var(--word-edge), inset -3px 0 0 var(--word-edge), inset 0 -3px 0 var(--word-edge)}.cell.cell--cur{background:var(--cur);box-shadow:inset 0 0 0 max(3px, calc(var(--sq,30px) * .09)) var(--cur-ring)}.cell--wrong:after{content:"";background:linear-gradient(to top right, transparent calc(50% - 2px), var(--wrong) calc(50% - 2px), var(--wrong) calc(50% + 2px), transparent calc(50% + 2px));pointer-events:none;position:absolute;inset:0}.cell--wrong .cell__ch{color:var(--wrong)}.cell--revealed:before{content:"";border-style:solid;border-width:0 0 max(8px, calc(var(--sq,30px) * .26)) max(8px, calc(var(--sq,30px) * .26));border-color:transparent transparent var(--revealed) transparent;pointer-events:none;position:absolute;bottom:0;right:0}.cell:focus-visible{outline:4px solid var(--focus);outline-offset:-4px;z-index:2}.status{min-height:54px;font-size:var(--status-size);text-align:center;align-content:center;margin:0;padding:0 6px;font-weight:700;line-height:1.25;display:grid}.status--hint{color:var(--hint)}.tools{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tool{border:2px solid var(--btn-edge);background:var(--btn);min-height:58px;color:var(--btn-ink);border-radius:14px;align-content:center;justify-items:center;gap:1px;padding:4px 2px;font-size:17px;font-weight:800;line-height:1.1;display:grid;position:relative}.tool svg{width:24px;height:24px}.tool:disabled,.key:disabled,.clue__step:disabled{opacity:.55}.tool--short,.btn__tag{display:none}.btn--tagged .btn__tag{background:var(--primary);color:var(--primary-ink);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:18px;line-height:20px;display:block;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.keys{gap:5px;display:grid;position:relative}.keys__row{justify-content:center;gap:4px;display:flex}.keys__row:nth-child(2){padding:0 4.5%}.key{min-width:0;height:var(--key-h);border:2px solid var(--btn-edge);background:var(--key);color:var(--key-ink);font-size:var(--key-size);border-radius:10px;flex:1 1 0;padding:0;font-weight:800;line-height:1}.key--del{flex:1.9 1 0;align-content:center;justify-items:center;gap:0;font-size:15px;display:grid}.key--del svg{width:26px;height:26px}.keys--abc .keys__row:nth-child(2){padding:0}.keys--abc .key--del{flex:2 0 0;margin-left:0}.keys__done{background:var(--page);border-radius:16px;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;padding:8px;display:grid;position:absolute;inset:0}.lists{display:none}.cluelist{gap:4px;max-height:60vh;padding-right:4px;display:grid;overflow-y:auto}.cluelist h3,.lists h3{letter-spacing:.06em;text-transform:uppercase;margin:8px 0 2px;font-size:20px}.cl{width:100%;min-height:56px;color:inherit;text-align:left;background:0 0;border:2px solid #0000;border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:6px;padding:6px 8px;font-size:20px;line-height:1.25;display:grid}.cl__num{text-align:right;font-size:22px}.cl__text small{font-size:17px}.cl--done .cl__text{text-decoration:line-through;text-decoration-thickness:2px}.cl__tick{font-size:22px;font-weight:800}.cl--on{border-color:var(--word-edge);background:var(--word);color:var(--cell-ink)}.sheet{z-index:10;padding:calc(var(--safe-top) + 12px) 12px calc(var(--safe-bottom) + 12px);background:#0000008c;place-items:center;animation:.2s fade;display:grid;position:fixed;inset:0}.sheet__card{background:var(--sheet);width:100%;max-width:480px;max-height:100%;color:var(--sheet-ink);border-radius:22px;gap:10px;padding:20px 16px 12px;animation:.25s cubic-bezier(.2,.7,.3,1) rise;display:grid;overflow:auto;box-shadow:0 20px 60px #0006}[data-theme=bold] .sheet__card{border:2px solid #fff}.sheet--wide .sheet__card{max-width:620px}.sheet__card:focus{outline:none}.sheet__card h2{text-align:center;font-size:28px;line-height:1.15}.sheet__card p{color:var(--sheet-muted);text-align:center;margin:0}.sheet__card .sheet__big{color:var(--sheet-ink);font-size:26px;font-weight:800}.sheet__card .btn:not(.btn--primary){background:var(--sheet-btn);color:var(--sheet-ink);border-color:#0000}.sheet__card .btn--quiet{background:0 0!important}.sheet__card .btn--on{border-width:3px;border-color:var(--sheet-ink)!important}.sheet__card .sheet__label{color:var(--sheet-ink);text-align:left;margin-top:6px;font-weight:800}.sheet__three,.sheet__two{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.sheet__two{grid-template-columns:repeat(2,1fr)}.sheet__three .btn,.sheet__two .btn{padding:6px 4px}.sheet__three .btn__title,.sheet__two .btn__title{font-size:19px}.btn--level{text-align:left;justify-items:start}.howto{gap:14px;display:grid;container-type:inline-size}.howto h2{margin:0}.sheet__card .howto p{color:var(--sheet-ink);margin:0;font-weight:700;line-height:1.3}.howto__aim{justify-items:center;gap:10px;display:grid}.howto__steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.howto__step{border-top:2px solid var(--sheet-btn);grid-template-columns:40px 1fr;grid-template-areas:"pic pic""num text";align-items:center;gap:10px;padding-top:16px;display:grid}.howto__step .howto__pic{grid-area:pic}.howto__num{background:var(--primary);width:40px;height:40px;color:var(--primary-ink);border-radius:50%;grid-area:num;place-items:center;font-size:22px;font-weight:800;display:grid}.sheet__card .howto__step p{text-align:left;grid-area:text}.howto__pic{pointer-events:none;justify-content:center;align-items:center;gap:8px;display:flex}.howto__pic--stack{flex-direction:column}.howto__arrow{width:40px;height:40px;color:var(--sheet-ink);flex:none}.howto__arrow--down{transform:rotate(90deg)}.howto__grid{--sq:46px;display:inline-grid}.howto__grid--big{--sq:56px}.howto__grid--row{--sq:52px}.howto__grid--pair{--sq:clamp(34px, calc((100cqi - 72px) / 6.6), 52px)}.howto__pic .howto__clue{grid-template-columns:auto;justify-items:center;gap:0;min-height:0;padding:8px 18px 12px;display:grid}.howto__cluename{font-size:20px;font-weight:700}.howto__cluewords{font-size:24px;font-weight:800;line-height:1.2}.howto__keys{gap:6px;display:flex}.howto__keys .key{flex:none;place-items:center;width:54px;display:grid}.howto__pic .howto__tool{min-width:84px;font-size:20px}.howto__pic .howto__tapped{background:var(--cur);color:var(--cell-ink);border-color:var(--cur-ring);box-shadow:inset 0 0 0 2px var(--cur-ring)}.howto [data-act=more]{min-height:56px}.howto__more ul{color:var(--sheet-ink);text-align:left;gap:8px;margin:0;padding-left:24px;display:grid}.won,.about{gap:10px;display:grid}.won__mark,.about__mark{justify-self:center;width:84px;height:84px}.sheet__card .about__by{color:var(--sheet-ink);font-weight:800}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.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 .bar{padding:8px 0}.page h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:18px}.label{margin:4px 0 -4px;font-weight:700}.statset{gap:8px;display:grid}.statset dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.statset dl div{border:2px solid var(--btn-edge);background:var(--btn);border-radius:14px;padding:12px;display:grid}.statset dt{color:var(--btn-ink);font-size:18px}.statset dd{font-variant-numeric:tabular-nums;margin:0;font-size:30px;font-weight:800}.toggle{border:2px solid var(--btn-edge);background:var(--btn);min-height:64px;color:var(--btn-ink);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:18px;font-weight:500;display:block}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle i{background:var(--page);width:62px;height:38px;box-shadow:inset 0 0 0 2px var(--btn-edge);border-radius:99px;position:relative}.toggle i:after{content:"";background:var(--btn-ink);border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:6px;left:6px}.toggle input:checked+i{background:var(--primary);box-shadow:none}.toggle input:checked+i:after{background:var(--primary-ink);transform:translate(24px)}.toggle input:focus-visible+i{outline:4px solid var(--focus)}.choice{border:2px solid var(--btn-edge);background:var(--btn);border-radius:16px;grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;padding:6px;display:grid}.choice__opt{min-height:56px;color:var(--btn-ink);background:0 0;border:0;border-radius:12px;font-size:20px;font-weight:700;line-height:1.15}.choice__opt--on{background:var(--primary);color:var(--primary-ink)}.note{color:var(--muted);margin:0;font-size:20px}.note--box{background:var(--btn);color:var(--btn-ink);border-radius:14px;padding:12px 14px}.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(--ink);border-width:4px}.look__sw{grid-row:span 2;display:flex}.look__sw i{border:1px solid #7f8a96;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:800}.look__blurb{font-size:18px}.credits{text-align:center;color:var(--muted);margin:8px 0 0;font-size:18px}.credits a{align-items:center;min-height:56px;padding:0 12px;display:inline-flex}@media (height<=700px){:root{--key-h:56px;--key-size:23px;--clue-size:20px}.play>.bar,.tool--clues{display:none}.play{padding-top:calc(var(--safe-top) + 6px)}.tools{grid-template-columns:repeat(5,1fr)}.tool--short{display:grid}.tool{font-size:16px}.play,.main,.side{gap:4px}.bar__btn,.clue__step{height:56px}.clue{min-height:64px;padding:3px}.clue__name{font-size:16px}.status{min-height:28px}.tool{min-height:56px}.keys{gap:4px}}@media (width>=900px) and (aspect-ratio>=1){#app{max-width:1280px}.play{padding:var(--safe-top) 20px calc(var(--safe-bottom) + 12px);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);column-gap:20px;display:grid}.play>.bar{grid-column:1/-1}.lists{border:2px solid var(--btn-edge);background:var(--btn);min-height:0;color:var(--btn-ink);border-radius:16px;flex:1;display:block}.lists__body{height:100%;padding:4px 10px 10px;overflow-y:auto}.tool--clues{display:none}.tools{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.btn:active,.tool:active,.key:active,.bar__btn:active,.clue__step:active{transform:none}}.btn--apart{margin-top:28px}*{overflow-anchor:none}:root,[data-theme=newsprint]{--page:#f6f1e4;--page-2:#ece4d0;--ink:#1b1a17;--muted:#4a463d;--accent:#3a86c8;--clue-bg:#b9dcf6;--clue-ink:#10283d;--clue-edge:#f2b33d;--cell:#fffdf7;--cell-ink:#111;--block:#1b1a17;--num:#3b3830;--word:#b9dcf6;--word-edge:#24639e;--cur:#f2b33d;--cur-ring:#1b1a17;--wrong:#b3261e;--revealed:#24639e;--hint:#1d5d94;--btn:#fffdf7;--btn-ink:#1b1a17;--btn-edge:#7a7466;--key:#fffdf7;--key-ink:#111;--primary:#1b1a17;--primary-ink:#fffdf7;--sheet:#fffdf7;--sheet-ink:#1b1a17;--sheet-muted:#47433a;--sheet-btn:#ece4d0;--focus:#24639e}[data-theme=daylight]{--page:#fff;--page-2:#eef3f7;--ink:#000;--muted:#333;--accent:#1d6fb8;--clue-bg:#9fcbef;--clue-ink:#000;--clue-edge:#e09a00;--cell:#fff;--cell-ink:#000;--block:#000;--num:#222;--word:#9fcbef;--word-edge:#0f4f8a;--cur:#ffc23d;--cur-ring:#000;--wrong:#b3261e;--revealed:#0f4f8a;--hint:#0f4f8a;--btn:#fff;--btn-ink:#000;--btn-edge:#555;--key:#f1f4f7;--key-ink:#000;--primary:#000;--primary-ink:#fff;--sheet:#fff;--sheet-ink:#000;--sheet-muted:#333;--sheet-btn:#e9eef2;--focus:#0f4f8a}[data-theme=bold]{--page:#000;--page-2:#000;--ink:#fff;--muted:#e6e6e6;--accent:#ffe14d;--clue-bg:#ffe14d;--clue-ink:#000;--clue-edge:#fff;--cell:#fff;--cell-ink:#000;--block:#000;--num:#000;--word:#ffe14d;--word-edge:#000;--cur:#38d1ff;--cur-ring:#000;--wrong:#c00000;--revealed:#000;--hint:#ffe14d;--btn:#161616;--btn-ink:#fff;--btn-edge:#a0a0a0;--key:#fff;--key-ink:#000;--primary:#ffe14d;--primary-ink:#000;--sheet:#121212;--sheet-ink:#fff;--sheet-muted:#e6e6e6;--sheet-btn:#2a2a2a;--focus:#38d1ff}
