html,body{height:100%}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{--tile:2.75rem;--tile-text:1.375rem;--key-height:2.75rem;--key-min-width:44;--key-gap:3px;--per-row:8;--rail:var(--gutter);gap:var(--space-1);max-width:30rem;height:100dvh;padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));grid-template:"bar""rules""ladder"minmax(0,1fr)"status""message""keys""footer"/minmax(0,1fr);margin:0 auto;display:grid}.bar{justify-content:space-between;align-items:center;gap:var(--space-2);padding-inline:var(--space-1);grid-area:bar;display:flex}.brand{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-lg);line-height:var(--leading-tight);margin:0;display:flex}.brand .brand-mark{margin-inline-end:var(--space-1)}.brand>*{flex:none}.brand-shape{width:20px;height:20px;color:var(--game);flex:none}.puzzle-number{color:var(--soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:400}.bar-actions{gap:var(--space-1);flex:none;display:flex}.bar-button{min-height:var(--tap);min-width:var(--tap);color:var(--ink);font-size:var(--text-md);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-weight:700;display:inline-flex}.bar-lang{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.bar-icon{width:var(--tap);min-height:var(--tap);background:var(--off);padding:0}.bar-icon:hover{background:var(--ink);color:var(--bg)}.icon{fill:currentColor;width:1.25rem;height:1.25rem}.rules{padding-inline:var(--space-1);color:var(--soft);font-size:var(--text-xs);grid-area:rules;line-height:1.4}.rules p{margin:0}.rules-finished{padding:var(--space-3) var(--space-4);background:var(--game);color:var(--game-ink);flex-direction:column;gap:2px;display:flex}.rules-lost{background:var(--off);color:var(--ink)}.finished-title{font-size:var(--text-md);font-weight:700}.finished-path{overflow-wrap:anywhere}.ladder{flex-direction:column;grid-area:ladder;justify-self:center;width:max-content;max-width:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}.app-finished{grid-template-rows:auto auto minmax(0,max-content) auto auto 1fr auto}.rails:before,.rails:after{content:"";width:var(--rail);background:var(--game);position:absolute;top:0;bottom:0}.rails:before{left:0}.rails:after{right:0}.rungs-scroll{min-height:0;padding-inline:var(--space-5);overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;flex:auto;display:flex;position:relative;overflow:hidden auto}.rungs-scroll:before,.rungs-scroll:after{content:"";z-index:1;background:var(--ink);height:3px;display:none;position:sticky}.rungs-scroll:before{margin-bottom:-3px;top:0}.rungs-scroll:after{margin-top:-3px;bottom:0}.rungs-scroll.is-scrolled:before,.rungs-scroll.has-more:after{display:block}.rungs{gap:var(--space-1);flex-direction:column;flex:auto;margin:0;padding:2px 0;list-style:none;display:flex}.rung{justify-content:center;display:flex}.rung-inner{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.rung-label{color:var(--soft);font-size:var(--text-xs);font-weight:600;line-height:1.1}.word,.tiles{gap:var(--space-1);display:flex}.word{isolation:isolate;position:relative}.word:before{content:"";z-index:-1;top:50%;left:calc(-1 * var(--space-5));right:calc(-1 * var(--space-5));height:var(--rail);margin-top:calc(var(--rail) / -2);background:var(--game);position:absolute}.tile{width:var(--tile);height:var(--tile);background:var(--off);color:var(--ink);font-size:var(--tile-text);text-transform:uppercase;border:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;position:relative}.tile-changed{background:var(--game);color:var(--game-ink)}.tile-changed:after,.tile-selected:after{content:"";inset-inline:25%;background:currentColor;height:.15rem;position:absolute;bottom:.2rem}.tile-goal{background:var(--ink);color:var(--bg)}.rung-slot{max-height:calc(var(--tile) * .5);flex:1 1 0}.rung-slot .rung-inner{justify-content:center}.tile-slot{visibility:hidden;height:0}.tile-button{border:2px solid var(--ink);background:var(--field);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;padding:0}.tile-selected{border-width:5px;transform:translateY(-3px)}.tile-selected:after{animation:1s steps(2,jump-none) infinite caret}.tile-rejected{border-color:var(--soft);background:var(--off);color:var(--soft);text-decoration:line-through;text-decoration-thickness:2px}.tile-rejected:after{display:none}.rung-shake .word{animation:.35s shake}.rung-enter{animation:.22s ease-out rung-in}.rung-glow .tile{animation:.5s ease-out backwards glow;animation-delay:var(--glow-delay)}.rung-goal{padding:2px var(--space-5);flex:none}.rung-goal-celebrate .tile{animation:.5s ease-out backwards climb;animation-delay:var(--glow-delay,0s)}.rung-goal-celebrate .tile:nth-child(2){animation-delay:calc(var(--glow-delay,0s) + 60ms)}.rung-goal-celebrate .tile:nth-child(3){animation-delay:calc(var(--glow-delay,0s) + .12s)}.rung-goal-celebrate .tile:nth-child(4){animation-delay:calc(var(--glow-delay,0s) + .18s)}.rung-goal-celebrate .tile:nth-child(5){animation-delay:calc(var(--glow-delay,0s) + .24s)}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes rung-in{0%{opacity:.4;transform:translateY(.5rem)}}@keyframes glow{45%{background:var(--game);color:var(--game-ink);transform:translateY(-.25rem)}}@keyframes climb{0%{opacity:.4;transform:translateY(.9rem)}60%{transform:translateY(-.3rem)}}@keyframes caret{50%{opacity:0}}.status{justify-content:space-between;align-items:center;gap:var(--space-3);padding-inline:var(--space-1);grid-area:status;display:flex}.step-line{align-items:baseline;gap:var(--space-3);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:700;display:flex}.step-minimum{color:var(--soft);font-weight:400}.step-low .step-count:before{content:"! "}.status .d-btn{min-height:var(--tap);padding-inline:var(--space-4)}.message{min-height:1.4em;font-size:var(--text-sm);text-align:center;grid-area:message;margin:0;line-height:1.4}.message-error,.message-hint{font-weight:700}.message-note{color:var(--soft);font-weight:600}.keyboard{justify-content:center;gap:var(--key-gap);padding-inline:var(--space-1);flex-wrap:wrap;grid-area:keys;display:flex}.key{flex:0 0 calc((100% - (var(--per-row) - 1) * var(--key-gap)) / var(--per-row));min-width:0;height:var(--key-height);background:var(--off);color:var(--ink);text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;padding:0;font-size:1.1875rem;font-weight:600;line-height:1}.key:active{background:var(--game);color:var(--game-ink)}.keyboard[hidden]{display:none}.key-hint{background:var(--ink);color:var(--bg)}.footer{color:var(--soft);font-size:var(--text-xs);text-align:center;grid-area:footer;line-height:1.35}.dialog-body{gap:var(--space-3);flex-direction:column;display:flex}.dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.dialog-close{margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;flex:none}.dialog-body>p,.d-dialog .dialog-title{margin:0}.d-result{gap:var(--space-2);padding:var(--space-4) 64px var(--space-4) var(--space-5);position:relative;overflow:hidden}.d-result p{margin:0}.d-result>.d-shape{opacity:.32;width:76px;height:76px;position:absolute;bottom:-12px;right:-12px}.result-score{align-items:center;gap:var(--space-3);display:flex}.result-score .d-result-figure{font-size:4rem}.result-line{font-size:var(--text-sm);flex-direction:column;line-height:1.25;display:flex}.result-unit{font-size:var(--text-lg);font-weight:700}.result-lost{background:var(--off);color:var(--ink)}.verdict{font-size:var(--text-sm);font-weight:600}.compare{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compare-column{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.compare-heading{color:var(--soft);font-size:var(--text-sm);margin:0}summary.compare-heading{justify-content:space-between;align-items:center;gap:var(--space-2);width:fit-content;max-width:100%;min-height:var(--tap);padding:var(--space-1) var(--space-3);background:var(--off);color:var(--ink);cursor:pointer;font-weight:700;list-style:none;display:flex}summary.compare-heading::-webkit-details-marker{display:none}summary.compare-heading:after{content:"+";font-size:var(--text-lg);line-height:1}.solution[open] summary.compare-heading:after{content:"−"}summary.compare-heading:hover{background:var(--ink);color:var(--bg)}.mini-ladder{--mini-tile:1.5rem;flex-direction:column;gap:3px;width:fit-content;margin:0;padding:3px 9px;list-style:none;display:flex;position:relative}.mini-ladder:before,.mini-ladder:after{content:"";background:var(--game);width:3px;position:absolute;top:0;bottom:0}.mini-ladder:before{left:0}.mini-ladder:after{right:0}.mini-fold{color:var(--soft);font-size:.75rem;font-weight:700;line-height:var(--mini-tile)}.mini-tiles{gap:2px;display:flex}.mini-tile{width:var(--mini-tile);height:var(--mini-tile);background:var(--off);color:var(--ink);font-size:var(--text-sm);text-transform:uppercase;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.mini-changed{background:var(--game);color:var(--game-ink)}.mini-goal{background:var(--ink);color:var(--bg)}.stats{gap:var(--space-2);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.stat{flex-direction:column-reverse;justify-content:flex-end;gap:2px;min-width:0;display:flex}.stat-value{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:700;line-height:1}.stat-label{color:var(--soft);font-size:var(--text-xs);overflow-wrap:anywhere;line-height:1.15}.nudge{font-weight:600}.nudge-milestone{font-size:var(--text-lg);font-weight:700}.countdown{color:var(--soft)}.countdown .countdown-value{color:var(--ink)}.countdown-value{font-variant-numeric:tabular-nums;font-weight:700}.dialog-body>.d-btn{width:100%}.cup-host{margin-top:var(--space-3)}.cup-host:not([data-dienio-cup]){display:none}.load-failed{justify-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3);text-align:center;display:grid}.nowrap{white-space:nowrap}@media (width<=25rem){.bar{gap:var(--space-1);padding-inline:0}.brand{gap:var(--space-1)}.brand .brand-mark{margin-inline-end:0}.brand-shape{display:none}.bar-actions{gap:2px}.compare{gap:var(--space-3)}.mini-ladder{--mini-tile:1.25rem}}.help-example{--rail:var(--gutter);gap:var(--space-2);padding:var(--space-2) var(--space-5);border-inline:var(--rail) solid var(--game);flex-direction:column;place-self:flex-start start;margin:0;list-style:none;display:flex}.help-example .tile{--tile:2.5rem;font-size:var(--text-lg)}@media (width<=39.99rem) and (orientation:portrait){.app{--tile:clamp(2.75rem, 6.2dvh, 3.25rem);--key-height:clamp(2.75rem, 6dvh, 3.25rem);--tile-text:calc(var(--tile) * .5)}}@media (width>=40rem){.app{--tile:3rem;--key-height:3rem;--tile-text:1.625rem;--key-gap:4px;gap:var(--space-2);padding-block:var(--space-4)}}@media (width>=40rem) and (height>=44rem){.app{--tile:clamp(4rem, 8dvh, 6rem);--tile-text:calc(var(--tile) * .52);--key-height:clamp(3.75rem, 6dvh, 4.5rem);--key-gap:var(--gutter);--rail:10px;align-content:center;gap:var(--space-3);max-width:42rem;padding-block:var(--space-5);font-size:var(--text-lg);grid-template-rows:auto auto minmax(0,max-content) auto auto auto auto}.rules,.message{font-size:var(--text-md)}.rung-label{font-size:var(--text-sm)}.key{font-size:1.5rem}}@media (orientation:landscape) and (height<=32rem){.app{--tile:2.75rem;--tile-text:1.375rem;--key-height:2.75rem;--key-gap:4px;padding-block:var(--space-2);gap:.375rem;column-gap:var(--space-5);max-width:60rem;padding-inline:max(var(--space-3), env(safe-area-inset-left)) max(var(--space-3), env(safe-area-inset-right));grid-template:"bar bar""rules status""ladder message""ladder keys""ladder footer"minmax(0,1fr)/minmax(0,18.5rem) minmax(0,1fr);justify-content:center}.rules{align-self:center}.app-finished{grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-areas:"bar bar""ladder status""ladder rules""ladder message""ladder footer"}.rules-finished{padding-block:var(--space-1)}.finished-title{font-size:var(--text-sm)}.finished-path{display:none}.footer{align-self:end;font-size:.625rem}}.new-day{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.new-day p{margin:0}.dialog-body .new-day{align-items:stretch}
