.lg-bar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;margin:0 0 8px;font-size:15px;color:var(--ink-2)}.lg-clock-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.lg-clock{font:600 20px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums;min-width:3.2em;display:inline-block;text-align:right}.lg-assist{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:12px 0 0;font-size:14px;color:var(--ink-2)}.lg-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:32px}.lg-switch input{position:absolute;opacity:0;width:1px;height:1px}.lg-track{position:relative;width:34px;height:20px;border-radius:99px;background:var(--line-2);transition:background .15s;flex:none}.lg-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px #00000040;transition:transform .15s}.lg-switch input:checked+.lg-track{background:var(--accent)}.lg-switch input:checked+.lg-track:after{transform:translate(14px)}.lg-switch input:focus-visible+.lg-track{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.lg-hint{display:flex;flex-direction:column;gap:8px;margin:12px 0 0;padding:12px 14px;border-radius:var(--r-sm);background:var(--card);background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 45%,transparent);font-size:15px;line-height:1.45;animation:lg-in .2s ease-out}.lg-hint p{margin:0}.lg-hint-oops{background:#fbe9e7;background:color-mix(in srgb,var(--bad) 12%,var(--card));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--bad) 50%,transparent)}.lg-hint-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}@keyframes lg-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.lg-endless{display:flex;flex-direction:column;align-items:center;gap:8px}.lg-tabs{display:flex;gap:4px;padding:4px;border-radius:99px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);max-width:100%;overflow-x:auto}.lg-tab{border:0;background:none;padding:8px 14px;border-radius:99px;font-size:15px;font-weight:700;color:var(--ink-2);cursor:pointer;min-height:40px;white-space:nowrap}.lg-tab.on{background:var(--accent);color:var(--accent-ink)}.lg-tier-blurb{margin:2px 0 0;font-size:14px;color:var(--ink-2);text-align:center;max-width:30em}.lg-endless-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;width:min(100%,460px);font-size:14px;color:var(--ink-2)}.lg-endless-board{width:min(100%,460px);display:flex;flex-direction:column;align-items:center}.lg-endless-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:min(100%,460px);margin-top:10px}.lg-solved{margin-top:14px;padding:14px;width:100%;text-align:center;border-radius:var(--r);background:var(--card);box-shadow:var(--shadow);animation:lg-in .25s ease-out}.lg-solved-head{margin:0 0 4px;font:400 22px/1.2 var(--display);color:var(--accent)}.lg-solved .cj-muted{margin:0 0 10px}@media (prefers-reduced-motion: reduce){.lg-hint,.lg-solved{animation:none}}@font-face{font-family:Lobster Two;src:url(/fonts/lobster-two-700.woff2) format("woff2");font-weight:700;font-display:swap}body[data-game=twill]{--paper: #f3ede0;--card: #fffcf5;--ink: #1f2133;--ink-2: #474a5e;--ink-3: #62657a;--line: #e1d8c5;--line-2: #c5b99f;--accent: #9b2f3c;--accent-ink: #ffffff;--link: #8a2633;--loom: #6b4f36;--loom-hi: #8a6a4b;--seam: rgba(31, 33, 51, .14);--lt: #e6d3a0;--lt-thread: rgba(150, 120, 70, .3);--dk: #2e3d73;--empty: #ece5d6;--empty-dot: rgba(31, 33, 51, .16);--dk-thread: rgba(255, 255, 255, .16);--stitch: #9b2f3c;--stitch-bg: #fffcf5;--good: #3f6e2a;--bad: #c2281e;--display: "Lobster Two", "Georgia", serif;--tile-font: var(--display);--wm-font: var(--display);--r: 12px;--r-sm: 8px;--btn-r: 999px;--bg-motif: repeating-linear-gradient(45deg, rgba(31, 33, 51, .035) 0 2px, transparent 2px 9px);--bg-size: auto;--shadow: 0 1px 0 rgba(31, 33, 51, .06), 0 10px 22px -14px rgba(31, 33, 51, .45)}@media (prefers-color-scheme: dark){body[data-game=twill]{--paper: #12131c;--card: #1c1d29;--ink: #eceaf2;--ink-2: #c4c2d2;--ink-3: #9f9db2;--line: #2c2d3d;--line-2: #42435a;--accent: #f08592;--accent-ink: #2a0a10;--link: #f59ca7;--loom: #3d2d1f;--loom-hi: #5a4330;--seam: rgba(0, 0, 0, .4);--lt: #d9cca8;--lt-thread: rgba(110, 85, 45, .32);--dk: #5068c2;--empty: #151620;--empty-dot: rgba(236, 234, 242, .14);--dk-thread: rgba(255, 255, 255, .14);--stitch: #f08592;--stitch-bg: #1c1d29;--good: #8cc06a;--bad: #ff6a5b;--bg-motif: repeating-linear-gradient(45deg, rgba(236, 234, 242, .025) 0 2px, transparent 2px 9px);--shadow: 0 1px 0 rgba(0, 0, 0, .4), 0 12px 26px -12px rgba(0, 0, 0, .85)}}body[data-game=twill] .cj-wm{color:var(--accent);letter-spacing:.01em}body[data-game=twill] .cj-title h1{font-size:30px;font-weight:700}body[data-game=twill] .cj-mark{border-radius:4px;background:repeating-linear-gradient(45deg,var(--dk) 0 3px,var(--lt) 3px 6px)}body[data-game=twill] .cj-h2,body[data-game=twill] .cjd-title,body[data-game=twill] .cj-about h2,body[data-game=twill] .cj-modal-head h2{font-weight:700}body[data-game=twill] .cj-score .big{font-weight:700;color:var(--accent)}body[data-game=twill] .cj-btn{background:var(--accent);color:var(--accent-ink)}body[data-game=twill] .cj-btn-quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}.tw-play{display:flex;flex-direction:column;align-items:center;width:100%}.tw-bar{width:min(100%,460px)}.tw-tier{font-size:15px}.tw-tier strong{font:700 19px var(--display);color:var(--accent)}body[data-game=twill] [data-surface],body[data-game=twill] .lg-endless-board [data-inner]{width:min(100%,460px);display:flex;flex-direction:column;align-items:center}.tw-hint-slot,.tw-board-wrap{width:100%}.tw-wrap{position:relative;width:100%}.tw-wrap.show-counts{padding:0 26px 22px 0}.tw-frame{width:100%;padding:6px;border-radius:10px;background:linear-gradient(var(--loom-hi),var(--loom));box-shadow:var(--shadow);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tw-grid{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);aspect-ratio:1;border-radius:5px;overflow:hidden;background:var(--card)}.tw-play .tw-grid,.lg-endless .tw-grid{touch-action:none}.tw-cell{position:relative;min-width:0;padding:0;margin:0;border:0;border-radius:0;background:radial-gradient(circle,var(--empty-dot) 1.2px,transparent 1.6px) center / 9px 9px,var(--empty);box-shadow:inset 0 0 0 .5px var(--seam);cursor:pointer;-webkit-tap-highlight-color:transparent}.tw-cell.lt{background:repeating-linear-gradient(0deg,var(--lt) 0 3px,var(--lt-thread) 3px 4px),var(--lt);background-color:var(--lt);box-shadow:inset 0 0 0 1px #6e552d73}.tw-cell.dk{background:repeating-linear-gradient(90deg,var(--dk) 0 3px,var(--dk-thread) 3px 4px),var(--dk);background-color:var(--dk)}.tw-cell.lt,.tw-cell.dk{animation:tw-in .16s ease-out}@keyframes tw-in{0%{transform:scale(.86)}to{transform:none}}.tw-cell.given{cursor:default}.tw-cell.given:before{content:"";position:absolute;left:50%;top:50%;width:16%;height:16%;border-radius:50%;transform:translate(-50%,-50%);background:#1f213373}.tw-cell.dk.given:before{background:#ffffffb3}.tw-cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:2}.tw-link{position:absolute;z-index:3;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;display:grid;place-items:center;font:700 14px/1 var(--body, system-ui),sans-serif;color:var(--stitch);background:var(--stitch-bg);box-shadow:0 0 0 1.5px var(--stitch);pointer-events:none}.tw-link.cross{font-size:15px}.tw-cell.bad,.tw-cell.lt.bad,.tw-cell.dk.bad{box-shadow:inset 0 0 0 3px var(--bad)}.tw-cell.hl:after{content:"";position:absolute;inset:3px;border:2px dashed var(--accent);border-radius:3px;pointer-events:none}.tw-cell.ht:after{content:"";position:absolute;inset:14%;border-radius:50%;box-shadow:0 0 0 3px var(--accent);animation:tw-pulse 1.1s ease-in-out infinite;pointer-events:none}@keyframes tw-pulse{50%{transform:scale(.82);opacity:.6}}.tw-grid.done .tw-cell{cursor:default}.tw-won .tw-grid{animation:tw-done .7s ease-out}@keyframes tw-done{40%{filter:brightness(1.15) saturate(1.2)}}.tw-counts{position:absolute;display:none;font:600 11px/1 var(--body, system-ui),sans-serif}.show-counts .tw-counts{display:grid}.tw-counts-r{top:6px;right:0;width:24px;height:calc(100% - 34px);grid-template-rows:repeat(var(--n),1fr)}.tw-counts-c{left:6px;bottom:0;height:20px;width:calc(100% - 38px);grid-template-columns:repeat(var(--n),1fr)}.tw-count{display:flex;align-items:center;justify-content:center;gap:2px}.tw-counts-r .tw-count{flex-direction:column}.tw-count b{min-width:11px;padding:1px 2px;border-radius:3px;text-align:center;font-weight:700}.tw-count b.l{background:var(--lt);color:#3a2f18}.tw-count b.d{background:var(--dk);color:#fff}.tw-count b.full{box-shadow:0 0 0 1.5px var(--good)}.tw-count b.over{box-shadow:0 0 0 2px var(--bad)}.tw-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.tw-tools .cj-btn{min-height:44px;min-width:76px}.tw-giveup{margin:10px 0 0;font-size:14px}.tw-retry{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--bad)}.tw-retry[hidden]{display:none}.tw-retry p{margin:0;font-size:15px}.tw-ghost{display:grid;grid-template-columns:repeat(6,1fr);width:min(56%,190px);aspect-ratio:1;margin:14px auto 4px;padding:5px;border-radius:8px;background:var(--loom);opacity:.9}.tw-ghost span{display:block}.tw-ghost .lt{background:repeating-linear-gradient(0deg,var(--lt) 0 3px,var(--lt-thread) 3px 4px),var(--lt)}.tw-ghost .dk{background:repeating-linear-gradient(90deg,var(--dk) 0 3px,var(--dk-thread) 3px 4px),var(--dk)}.tw-detail{margin:0 0 10px;color:var(--ink-2);text-align:center}.tw-reveal{display:flex;flex-direction:column;align-items:center;gap:6px}.tw-frame.tw-small{width:min(72%,260px);padding:4px}.tw-frame.tw-small .tw-link{width:14px;height:14px;margin:-7px 0 0 -7px;font-size:11px}.tw-frame .tw-cell{cursor:default}.tw-reveal-cap{margin:0;font-size:14px;color:var(--ink-2)}.tw-field{margin:10px 0 0;font-size:14px;color:var(--ink-2);text-align:center}.tw-more{text-align:center;margin:12px 0 0}@media (prefers-reduced-motion: reduce){.tw-cell.lt,.tw-cell.dk,.tw-cell.ht:after,.tw-won .tw-grid{animation:none}}
