@font-face{font-family:Dream Loom;src:url(/fonts/cormorant-garamond-600.ttf)format("truetype");font-weight:600;font-display:swap}html:has(.loom-site){color-scheme:dark;scrollbar-color:#b78360 #241528;scroll-behavior:auto;background:#241528}.loom-site{--paper:#241528;--ink:#f6e7c9;--accent:#efc188;color:#f6e7c9;accent-color:#d9a772;overflow-wrap:break-word;background:#241528;margin:0;font-family:Outfit,sans-serif}.loom-site ::selection{color:#2d1930;background:#efc188}.loom-site .skip-link{z-index:40;color:#311f35;background:#f6e7c9;position:fixed}.loom-world{--loom-copper:#c89166;--loom-ivory:#f6e7c9;--loom-plum:#412941;--loom-brass:#d8ae76;min-height:100svh;position:relative}.loom-world [hidden]{display:none!important}.loom-world button,.loom-world a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.loom-world button{cursor:pointer;font-family:inherit}.loom-world button:disabled{opacity:.45;cursor:default}.loom-world :focus-visible{outline-offset:3px;outline:3px solid #ffe0a8}.loom-world h1:focus{outline:none}.loom-world a{text-underline-offset:4px}.loom-machine{isolation:isolate;height:100svh;min-height:100svh;position:relative}.loom-stage{background:#241528;position:absolute;inset:0;overflow:hidden}.loom-stage canvas{touch-action:pan-y pinch-zoom;width:100%;height:100%;display:block}.loom-shade{pointer-events:none;background:linear-gradient(#211324f5,#0000 24% 68%,#211324db),radial-gradient(#0000 40%,#190e20a3);position:absolute;inset:0}.loom-header{z-index:8;padding:max(4px,env(safe-area-inset-top)) clamp(12px,4vw,38px) 0;color:#f7e3c2;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.loom-back{align-items:center;gap:7px;min-height:44px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.loom-back .r2-icon{flex-basis:18px;width:18px;height:18px}.loom-header-tools{gap:14px;display:flex}.loom-header-tools button{color:#f6dfbd;text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:0 2px;font-size:12px}.loom-header-tools button:hover{text-decoration:underline}.loom-copy{z-index:4;top:max(50px,calc(env(safe-area-inset-top) + 48px));text-align:center;pointer-events:none;width:calc(100% - 24px);position:absolute;left:50%;transform:translate(-50%)}.loom-copy h1{letter-spacing:-.025em;text-wrap:balance;color:#f4dfb8;text-shadow:0 3px 14px #180d1c;margin:0;font:600 clamp(31px,4.8vw,54px)/.92 Dream Loom,serif}.loom-copy p{color:#e6c9a8;font-size:12px;line-height:1.2;margin:7px 0 0!important}.loom-boards{z-index:3;pointer-events:none;position:absolute;inset:0}.loom-board{position:absolute;inset:0}.loom-board h2{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.loom-field,.loom-column-clues,.loom-row-clues{pointer-events:none;position:absolute;inset:0}.loom-cell,.loom-clue{pointer-events:auto;color:#0000;background:0 0;border:0;border-radius:2px;padding:0;position:absolute;transform:translate(-50%,-50%)}.loom-world[data-render-mode=webgl] .loom-cell>*,.loom-world[data-render-mode=webgl] .loom-clue>span{display:none}.loom-world[data-render-mode=webgl] .loom-cell:enabled:hover{outline-offset:-2px;background:#ffedc127;outline:1px solid #f3d2a45c}.loom-world[data-render-mode=webgl] .loom-cell:focus-visible{outline-offset:-3px;background:#ffedc127;outline:3px solid #75465e;box-shadow:0 0 0 2px #ffe0a8}.loom-world[data-render-mode=webgl] .loom-clue:enabled:hover,.loom-world[data-render-mode=webgl] .loom-clue:focus-visible{outline-offset:-2px;outline:2px solid #75465e;box-shadow:0 0 0 2px #ffe0a8}.loom-dock{z-index:7;left:50%;bottom:max(4px,env(safe-area-inset-bottom));text-align:center;flex-direction:column;gap:5px;width:min(480px,100% - 24px);display:flex;position:absolute;transform:translate(-50%)}.loom-status{color:#f0dbbb;text-wrap:balance;text-shadow:0 2px 7px #1a0d21;background:#251529c9;border-radius:3px;width:fit-content;max-width:42ch;min-height:15px;padding:2px 7px;font-size:11px;line-height:1.3;margin:0 auto 1px!important}.loom-modes{background:#1e1125e8;border-radius:9px;grid-template-columns:1fr 1.42fr 1fr;gap:5px;padding:3px;display:grid}.loom-modes button{color:#f5e3c5;background:#3e273e;border:1px solid #b68265;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:6px 7px;font-size:13px;font-weight:500;display:flex}.loom-modes button[aria-pressed=true]{color:#35223d;background:#efd9b0;border-color:#efd9b0}.loom-modes button:enabled:hover{color:#fff0ce;background:#62405b}.loom-modes button[aria-pressed=true]:enabled:hover{color:#35223d;background:#ffe6b6}.loom-modes svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:17px;height:17px}.loom-tool-fill{background:currentColor;border-radius:3px;width:12px;height:12px;display:inline-block}.loom-utility{justify-content:center;align-items:center;gap:5px;display:flex}.loom-utility button,.loom-skip,.loom-end-actions button,.loom-end-actions a{color:#f1d8b5;background:#2c1b32ef;border:1px solid #9f715c;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:7px 12px;font-size:12px;text-decoration:none;display:inline-flex}.loom-utility button.loom-primary{color:#31223a;background:#dcb480;border-color:#dcb480;font-weight:600}.loom-utility button:enabled:hover,.loom-end-actions button:enabled:hover{color:#fff0ce;background:#62405b}.loom-utility button.loom-primary:enabled:hover{color:#31223a;background:#f7d09c}.loom-sections{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;width:100%;max-width:400px;margin:auto;display:grid}.loom-sections button{color:#e6c9ac;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:49px;padding:2px;display:flex}.loom-sections button>span:last-child{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;line-height:1.15;overflow:hidden}.loom-section-spool{color:#d9b997;font-variant-numeric:tabular-nums;background:#3b273d;border-top:2px solid #b58965;border-bottom:2px solid #b58965;border-radius:4px;place-items:center;width:24px;height:22px;font-size:11px;line-height:1;display:grid;position:relative}.loom-section-spool:before,.loom-section-spool:after{content:"";background:#b58965;width:2px;height:12px;position:absolute;top:3px}.loom-section-spool:before{left:3px}.loom-section-spool:after{right:3px}.loom-sections button[aria-current] .loom-section-spool{color:#35253d;background:#efd6a6;border-color:#efd6a6;box-shadow:0 3px 10px #120b17aa}.loom-sections button[data-woven=true] .loom-section-spool{color:#fff0cc;background:#7f607d}.loom-sections button[data-woven=true]>span:last-child{color:#f7e5c2}.loom-sections button:focus-visible{outline-offset:-1px;border-radius:4px}.loom-save{color:#cfad93;font-size:10px;line-height:1.3;margin:0!important}.loom-world[data-saving=false] .loom-save{color:#ffdfa6}.loom-world[data-travelling=true] .loom-boards{visibility:hidden}.loom-world[data-travelling=true] .loom-modes,.loom-world[data-travelling=true] .loom-utility{display:none}.loom-skip{align-self:center;padding-inline:22px}.loom-inspection{color:#35233b;text-align:left;background:#f0d9b4;border-radius:7px;align-items:center;gap:8px;padding:8px 9px;display:flex}.loom-inspection p{font-size:11px;line-height:1.4;margin:0!important}.loom-inspection button{color:#35233b;background:#dfbd91;border:0;border-radius:4px;flex:none;min-width:44px;min-height:44px;padding:4px;font-size:11px}.loom-end-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.loom-end-actions a{color:#31223a;background:#dcb480;border-color:#dcb480;font-weight:600}.loom-end-actions a .r2-icon{flex-basis:16px;width:16px;height:16px}.loom-world[data-final-view=true] .loom-status{max-width:44ch}.loom-render-note{z-index:6;text-align:center;color:#e4c3a6;max-width:44ch;padding-inline:16px;font-size:12px;line-height:1.5;position:relative;margin:12px auto!important}.loom-extras{padding:8px max(16px,env(safe-area-inset-left)) 28px;background:#241528;max-width:700px;margin:0 auto;position:relative}.loom-extras details{border-bottom:1px solid #8a6556;scroll-margin-top:10px}.loom-extras summary{cursor:pointer;color:#e6c7a3;justify-content:space-between;align-items:center;gap:16px;min-height:49px;font-size:14px;list-style:none;display:flex}.loom-extras summary::-webkit-details-marker{display:none}.loom-extras summary>svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:20px;height:20px}.loom-extras details[open]>summary>svg{transform:rotate(180deg)}.loom-extras details>div{padding:6px 0 20px}.loom-extras h2{letter-spacing:-.02em;color:#f4dcb3;font:600 29px/1.1 Dream Loom,serif;margin:8px 0 12px!important}.loom-extras p{color:#edd3b3;max-width:66ch;font-size:14px;line-height:1.6;margin:0 0 12px!important}.loom-extras strong{color:#fae7c7;font-weight:600}.loom-ruler-body{color:#38243b;background:linear-gradient(120deg,#b48151,#e7c18b 42%,#bd8b58);border-radius:7px;margin:18px 0 10px;padding:17px 13px 28px;position:relative;box-shadow:0 7px 18px #100a16a3}.loom-sample{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.loom-sample>span{background:#edd5aa;border:1px solid #75513f;border-radius:2px;place-items:center;min-height:52px;display:grid;position:relative}.loom-sample>span>span{font-variant-numeric:tabular-nums;color:#392139;font-size:11px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.loom-sample>span:before{content:"";opacity:0;background:#4c355c;border-radius:2px;position:absolute;inset:6px;box-shadow:inset 0 -4px 8px #2d1c3d55}.loom-sample>span[data-in-run=true]:before{opacity:1}.loom-sample>span[data-certain=true]{outline-offset:2px;outline:3px solid #382442}.loom-sample>span[data-certain=true]:after{content:"";background:#382442;width:3px;height:8px;position:absolute;top:-13px}.loom-ruler-ticks{background:repeating-linear-gradient(90deg,#68472c 0 1px,#0000 1px 8px);height:5px;position:absolute;bottom:4px;left:12px;right:12px}.loom-ruler-controls{justify-content:center;align-items:center;gap:18px;margin:12px 0 16px;display:flex}.loom-ruler-controls button,.loom-hint-button{color:#f8e1bd;background:#422c45;border:1px solid #c79469;border-radius:6px;min-height:44px;padding:7px 18px;font-size:13px}.loom-ruler-controls output{color:#e7c49e;font-variant-numeric:tabular-nums;min-width:101px;font-size:12px}.loom-return{color:#efcc9d;background:0 0;border:0;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:8px 0;font-size:13px;display:flex}.loom-return .r2-icon{flex-basis:17px;width:17px;height:17px}.loom-nojs{z-index:20;color:#f7e6c9;background:#432b45;padding:20px;position:relative;margin:20px!important}.loom-world[data-render-mode=simple] .loom-machine{height:auto;min-height:100svh;padding-bottom:16px}.loom-world[data-render-mode=simple] .loom-stage{z-index:-1;background:radial-gradient(at 50% 35%,#4c2d45,#241528)}.loom-world[data-render-mode=simple] .loom-stage canvas,.loom-world[data-render-mode=simple] .loom-shade{display:none}.loom-world[data-render-mode=simple] .loom-header{position:relative}.loom-world[data-render-mode=simple] .loom-copy{margin:14px auto 20px;position:relative;inset:auto;transform:none}.loom-world[data-render-mode=simple] .loom-copy h1{font-size:42px}.loom-world[data-render-mode=simple] .loom-boards{flex-direction:column;align-items:center;gap:22px;display:flex;position:relative;inset:auto}.loom-world[data-render-mode=simple] .loom-board{color:#3c2942;background:#e9d2a8;border-radius:4px;grid-template-rows:64px auto;grid-template-columns:64px minmax(0,1fr);width:min(430px,100% - 24px);padding:9px;display:grid;position:relative;inset:auto;box-shadow:0 7px 18px #120a1899}.loom-world[data-render-mode=simple] .loom-board h2{display:none}.loom-world[data-render-mode=simple] .loom-field{grid-area:2/2;grid-template-rows:repeat(5,minmax(44px,1fr));grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:relative;inset:auto}.loom-world[data-render-mode=simple] .loom-cell{aspect-ratio:1;color:#45314f;background:#f0dfbd;border:1px solid #b69a75;place-items:center;min-width:0;min-height:44px;display:grid;position:relative;transform:none;width:auto!important;height:auto!important;inset:auto!important}.loom-world[data-render-mode=simple] .loom-cell[data-line=true]{background:#e6c58d}.loom-world[data-render-mode=simple] .loom-cell:focus-visible{outline-offset:-3px;outline:3px solid #4a2f52;box-shadow:0 0 0 2px #ffe1a9}.loom-world[data-render-mode=simple] .loom-column-clues,.loom-world[data-render-mode=simple] .loom-row-clues{gap:2px;display:grid;position:relative;inset:auto}.loom-world[data-render-mode=simple] .loom-column-clues{grid-area:1/2;grid-template-columns:repeat(5,minmax(0,1fr))}.loom-world[data-render-mode=simple] .loom-row-clues{grid-area:2/1;grid-template-rows:repeat(5,minmax(44px,1fr))}.loom-world[data-render-mode=simple] .loom-clue{color:#3b293f;background:#e6c99c;border:1px solid #b1875d;min-width:0;font-size:14px;font-weight:600;line-height:1.15;position:relative;transform:none;width:auto!important;height:auto!important;inset:auto!important}.loom-world[data-render-mode=simple] .loom-clue>span{justify-content:center;align-items:center;gap:6px;display:flex}.loom-world[data-render-mode=simple] .loom-column-clues .loom-clue>span{flex-direction:column;gap:4px}.loom-world[data-render-mode=simple] .loom-clue[data-done=true]{background:#dbc39b}.loom-world[data-render-mode=simple] .loom-clue:focus-visible{outline-offset:-3px;outline-color:#4a2f52}.loom-fill{background:#4b365d;border-radius:3px;display:none;position:absolute;inset:4px;box-shadow:inset 0 -4px 7px #281b3d65,0 2px 3px #6b493f40}.loom-fill:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 4px,#8a6e9a66 4px 5px,#0000 5px 8px);border-radius:2px;position:absolute;inset:2px}.loom-cross{fill:none;stroke:#573b5e;stroke-width:1.8px;stroke-linecap:round;width:68%;height:68%;display:none}.loom-world[data-render-mode=simple] .loom-cell[data-mark="1"] .loom-fill,.loom-world[data-render-mode=simple] .loom-cell[data-mark="-1"] .loom-cross{display:block}.loom-world[data-render-mode=simple] .loom-dock{margin:16px auto 0;position:relative;inset:auto;transform:none}.loom-world[data-render-mode=simple] .loom-status{font-size:12px}.loom-world[data-render-mode=simple] .loom-render-note{margin-bottom:30px!important}.loom-world[data-render-mode=simple][data-final-view=true] .loom-board{padding-top:12px}.loom-world[data-render-mode=simple][data-final-view=true] .loom-board h2{clip-path:none;color:#49304f;width:auto;max-width:50px;height:auto;font:600 18px/1 Dream Loom,serif;display:block;position:absolute;top:11px;left:10px}.loom-world[data-render-mode=simple][data-final-view=true] .loom-clue{visibility:hidden}.loom-world[data-render-mode=simple][data-final-view=true] .loom-cell:disabled{opacity:1}@media (width>=900px){.loom-copy{top:63px}.loom-header{padding-top:11px}.loom-dock{bottom:max(11px,env(safe-area-inset-bottom));gap:7px}.loom-sections{margin-top:2px}.loom-modes button{font-size:14px}.loom-status{font-size:12px}}@media (width<=350px){.loom-copy h1{font-size:31px}.loom-header-tools{gap:10px}.loom-header{padding-inline:11px}.loom-utility button{padding-inline:9px;font-size:11px}.loom-dock{gap:3px;width:calc(100% - 18px)}.loom-status{max-width:40ch;font-size:10px}.loom-modes button{gap:5px;padding-inline:5px;font-size:12px}.loom-world[data-render-mode=simple] .loom-board{grid-template-columns:59px minmax(0,1fr);width:calc(100% - 14px);padding:6px}.loom-world[data-render-mode=simple] .loom-clue{font-size:13px}.loom-world[data-render-mode=simple] .loom-cell{min-height:44px}}@media (height<=620px){.loom-copy h1{font-size:31px}.loom-copy{top:47px}.loom-copy p{font-size:11px;margin-top:5px!important}.loom-dock{gap:3px;bottom:3px}.loom-status{font-size:10px;margin-bottom:0!important}.loom-sections button{gap:2px;min-height:45px}.loom-section-spool{width:22px;height:20px}.loom-save{font-size:9px}.loom-inspection p{font-size:10px}.loom-world[data-render-mode=simple] .loom-copy{top:auto}}@media (prefers-reduced-motion:reduce){.loom-world *{scroll-behavior:auto!important}}
