.dg{background:var(--bg);min-height:calc(100dvh - 64px);color:var(--text);padding:var(--s-5) var(--s-4) var(--s-7);justify-content:center;display:flex}.dg-col{gap:var(--s-4);width:100%;max-width:440px;min-height:calc(100dvh - 64px - var(--s-5) - var(--s-7));flex-direction:column;display:flex}.dg-grow{flex:1}.dg-h{font-family:var(--font-display-stack);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(36px,10vw,44px);font-weight:800;line-height:1.04}.dg-h-s{font-size:clamp(28px,8vw,34px)}.dg-sub{color:var(--muted);margin:0;font-size:16px;line-height:1.45}.dg-sub b,.dg-mono{font-family:var(--font-mono-stack);color:var(--text);font-weight:700}.dg-sub b[data-k=good],.dg-sub[data-k=good]{color:var(--good)}.dg-sub[data-k=bad]{color:var(--bad)}.dg-center{text-align:center}.dg-k{color:var(--muted);font-size:14px;font-weight:600}.dg-huge{font-family:var(--font-display-stack);letter-spacing:-.04em;font-size:clamp(96px,30vw,132px);font-weight:800;line-height:.85}.dg-count{font-size:clamp(80px,24vw,108px)}.dg-count span{color:var(--border-strong)}.dg-move{font-family:var(--font-mono-stack);letter-spacing:-.02em;font-size:clamp(40px,12vw,52px);font-weight:700;line-height:1}.dg-move[data-k=bad]{color:var(--bad)}.dg-move[data-k=good]{color:var(--good)}.dg-form{gap:var(--s-3);margin-top:var(--s-3);flex-direction:column;display:flex}.dg-error{color:var(--bad);margin:0;font-size:15px}.dg-link{padding:var(--s-2);font:inherit;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;font-size:15px;font-weight:600}.dg-link:hover{color:var(--text)}.dg-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dg-curve{width:100%;height:auto;display:block;overflow:visible}.dg-curve-l{font-family:var(--font-sans-stack);fill:var(--muted);font-size:10px;font-weight:500}.dg-curve-l tspan,.dg-curve-v{font-family:var(--font-mono-stack);fill:var(--text);font-size:11px;font-weight:700}.dg-curve-v[data-bad]{fill:var(--bad)}.dg-bb{gap:var(--s-2);flex-direction:column;display:flex}.dg-board{border-radius:var(--r-xs);overflow:hidden}.dg-strip{justify-content:space-between;align-items:center;min-width:0;font-size:15px;font-weight:600;display:flex}.dg-strip>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dg-clock{font-family:var(--font-mono-stack);font-variant-numeric:tabular-nums;border-radius:var(--r-xs);background:var(--panel);padding:3px 9px;font-weight:700}.dg-clock[data-on]{background:var(--text);color:var(--on-ink)}.dg-puzzle-tools{justify-content:center;gap:var(--s-4);min-height:38px;display:flex}.dg-story{z-index:100;background:var(--bg);justify-content:center;display:flex;position:fixed;inset:0;overflow-y:auto}.dg-story-in{width:100%;max-width:440px;min-height:100%;padding:var(--s-4) var(--s-4) var(--s-5);gap:var(--s-3);flex-direction:column;display:flex}.dg-top{align-items:center;gap:var(--s-2);display:flex}.dg-bars{flex:1;gap:4px;display:flex}.dg-bars i{background:var(--border);border-radius:3px;flex:1;height:3px}.dg-bars i[data-on]{background:var(--text)}.dg-icon{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.dg-icon svg{width:22px;height:22px}.dg-icon[aria-pressed=true]{color:var(--text)}.dg-screen{gap:var(--s-4);cursor:pointer;-webkit-user-select:none;user-select:none;animation:dg-in var(--dur-3) var(--ease);flex-direction:column;flex:1;display:flex}.dg-screen [data-keep]{cursor:auto}@keyframes dg-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.dg-screen{animation:none}}.dg-end{gap:var(--s-2);flex-direction:column;display:flex}.dg-report{gap:var(--s-5);min-height:0}.dg-list{margin:0;padding:0;list-style:none}.dg-list a{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none;display:flex}.dg-past{width:100%;margin-top:var(--s-6)}.dg-list button{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) 0;border:0;border-bottom:1px solid var(--border);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}.dg-list button[aria-current]{cursor:default;opacity:.55}.dg-list button:not([aria-current]):hover b,.dg-list a:hover b{text-decoration:underline}.dg-list span{column-gap:var(--s-3);grid-template-columns:auto 1fr;align-items:baseline;min-width:0;display:grid}.dg-list b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.dg-list small{color:var(--muted);grid-column:2;font-size:13px}.dg-list em{font-style:normal;font-family:var(--font-mono-stack);font-size:15px;font-weight:700}.dg-dot{background:var(--text);border-radius:50%;width:9px;height:9px;display:inline-block}.dg-dot[data-k=loss]{background:var(--pen)}.dg-dot[data-k=draw]{background:var(--border-strong)}.dg-line{font-family:var(--font-mono-stack);margin:0;font-size:15px;font-weight:500;line-height:1.5}.dg-stats{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dg-stats li{align-items:baseline;gap:var(--s-3);color:var(--muted);font-size:17px;display:flex}.dg-stats b{font-family:var(--font-mono-stack);color:var(--text);min-width:3.4em;font-size:28px;font-weight:700}.dg-barlist{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dg-barlist li{align-items:center;gap:var(--s-3);grid-template-columns:8.5em 1fr 2.4em;font-size:15px;font-weight:600;display:grid}.dg-barlist i{background:var(--panel);border-radius:6px;height:12px;overflow:hidden}.dg-barlist b{background:var(--text);border-radius:6px;height:100%;display:block}.dg-barlist [data-bad] b{background:var(--pen)}.dg-barlist em{font-style:normal;font-family:var(--font-mono-stack);text-align:right;font-weight:700}.dg-stats b small{margin-left:2px;font-size:18px}.dg-plan{counter-reset:plan;gap:var(--s-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dg-plan li{counter-increment:plan;gap:var(--s-3);grid-template-columns:32px 1fr;font-size:17px;line-height:1.4;display:grid}.dg-plan li:before{content:counter(plan);font-family:var(--font-display-stack);color:var(--pen);font-size:26px;font-weight:800;line-height:1}.dg-past .dg-list span{grid-template-columns:1fr}.dg-past .dg-list small{grid-column:1}.dg-list em[data-k=loss]{color:var(--pen)}.dg-board-s{align-self:center;width:62%;max-width:260px}
