/* Bundled fonts: SIL Open Font License 1.1; licenses in assets/fonts. */
@font-face{font-family:"Gowun Dodum";src:url("./assets/fonts/GowunDodum-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Galmuri11";src:url("./assets/fonts/Galmuri11.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f7f1e7;--orange:#e76832;--ink:#623e2c;--teal:#208f85;--yellow:#e7b345;--text:#624c3f;--card-width:min(460px,calc(100vw - 32px));font-family:"Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--text);background:#eee7dc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:disabled{cursor:default;opacity:.3}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{max-width:1280px;margin:auto;padding:25px 36px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.wordmark{text-decoration:none;font-family:"Gowun Dodum",sans-serif;font-size:16px;line-height:1.1;font-weight:900;letter-spacing:-.6px;color:var(--orange);display:flex;align-items:center;gap:6px}.wordmark span{color:var(--teal)}.wordmark i{width:8px;height:8px;background:var(--yellow);margin-left:5px}.edition{font-family:"Gowun Dodum",sans-serif;font-size:12px;letter-spacing:.1em;color:#796c5e}
.carousel{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:12px max(16px,calc((100% - var(--card-width))/2)) 22px;align-items:flex-start;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.carousel::-webkit-scrollbar{display:none}.sheet{position:relative;flex:0 0 var(--card-width);width:var(--card-width);min-height:calc(460px * 4/3);scroll-snap-align:center;scroll-snap-stop:always;box-shadow:0 5px 23px #68472c16;isolation:isolate;transition:opacity .25s,transform .3s;opacity:.45;transform:scale(.965);transform-origin:top center;border-radius:3px}.sheet.is-active{opacity:1;transform:none}.paper{padding:27px 30px 22px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column}.paper::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="180" height="180"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency=".8" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Cpath fill="%23968970" opacity=".33" filter="url(%23n)" d="M0 0h180v180H0z"/%3E%3C/svg%3E')}.cover{padding:0;aspect-ratio:3/4;min-height:0;overflow:hidden}.poster{display:block;width:100%;height:100%;object-fit:contain}.cover-start{position:absolute;right:20px;bottom:20px;background:var(--teal);color:#fffaf0;padding:10px 17px;min-height:44px;border-radius:3px;font-size:14px;box-shadow:0 2px 8px #44301814}.cover-start span{padding-left:14px}.cover-start:hover{background:#18776f}.folio{display:flex;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:.035em;font-family:"Gowun Dodum",sans-serif;color:#927b64;margin-bottom:20px}.folio span:last-child{white-space:nowrap}.pixel-title{color:var(--orange);font-family:"Gowun Dodum",sans-serif;font-size:44px;line-height:1.2;letter-spacing:-3px;margin:0 0 22px;font-weight:900;max-width:100%}.pixel-title.compact{width:75%;max-width:330px;margin-bottom:18px}.pixel-title[data-pixel="BODY"]{width:61%}.pixel-title[data-pixel="JOIN"]{width:58%}.intro{font-size:19px;line-height:1.75;letter-spacing:-.035em;color:var(--ink)}.intro.small{font-size:16px;margin-bottom:15px}.materials{margin:26px 0 20px}.materials>div{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #b4a08935}.materials dt{color:#8e7660;font-size:14px;padding-top:2px}.materials dd{margin:0;font-size:16px}.materials b{font-weight:600;color:var(--ink)}.size-line{display:flex;align-items:center;gap:20px;margin:2px 0 19px}.size-line strong{font-family:"Gowun Dodum",sans-serif;font-size:35px;line-height:1.1;font-weight:700;color:var(--orange);white-space:nowrap}.size-line small{font-size:16px}.size-line>span{font-size:13px;line-height:1.65;color:#8c755e}.margin-note{font-size:14px;line-height:1.75;color:#88715b}.kit .margin-note{margin-top:auto}.thread-line{width:115px;height:70px;border:8px solid var(--teal);border-top:0;border-right:0;border-radius:0 0 0 65px;position:absolute;right:-25px;bottom:24px;transform:rotate(-18deg);opacity:.6;z-index:-1}
.working-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:11px}.panel-switch{display:inline-flex;background:#eadfce;border-radius:4px;padding:3px;gap:3px;width:max-content}.panel-switch button{background:transparent;min-height:38px;padding:6px 15px;border-radius:2px;font-size:14px;white-space:nowrap}.panel-switch button[aria-pressed=true]{background:var(--teal);color:#fffaf0}.micro{font-size:12px;color:#8b725d}.body-chart{display:flex;flex-direction:column;gap:2px;margin:6px 0 14px}.stitch-row{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;min-height:44px;padding:0;background:transparent;border-radius:4px;text-align:left;position:relative;color:#9b8572}.stitch-row .row-label{font-size:14px;font-weight:500;color:#8e725e}.stitch-row svg{width:100%;height:42px;display:block;overflow:visible;pointer-events:none}.stitch-row .row-check{font-size:15px;text-align:center;color:var(--teal)}.stitch-row:hover{background:#eadfcc78}.stitch-row.is-selected:not(.is-done){background:#ede4d7}.stitch-row.is-selected .row-label{color:var(--teal);font-weight:700}.stitch-row.is-done{color:var(--orange);background:#e7683219}.stitch-row.is-done .row-label{color:#a84922}.stitch-row.foundation{min-height:66px;margin-top:1px}.foundation svg{height:66px}.row-svg text{font-family:inherit;fill:currentColor;font-size:12px}.step-note{margin-top:4px;min-height:84px}.step-tag{display:inline-block;font-size:14px;font-weight:600;color:var(--teal);margin-bottom:5px}.step-note p{font-size:14px;line-height:1.7;color:var(--text);word-break:keep-all;overflow-wrap:anywhere}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0 8px}.step-nav>span{font-family:"Gowun Dodum",sans-serif;font-size:12px;color:#997b61}.small-arrow{background:#e9ddca;color:var(--ink);min-width:44px;min-height:44px;border-radius:2px;font-size:20px}.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;color:#9d8168;margin-top:auto;padding-top:11px}.diagram{display:block;width:100%;height:auto;overflow:visible}.diagram text{font-family:inherit;fill:var(--text);font-size:14px}.map-card .diagram{margin:8px 0 10px}.map-card .step-note{margin-top:20px}.placement-equation{font-family:"Gowun Dodum",sans-serif;text-align:center;font-size:15px;color:var(--orange);word-spacing:3px;white-space:nowrap}.placement-equation em{font-style:normal;font-size:12px;color:#9b826a}.limb-select-label{min-width:120px}select{width:100%;min-height:44px;padding:7px 30px 7px 13px;border:1px solid #c5b297;border-radius:3px;background:#f7f1e7;color:var(--ink);font-size:16px}.limb-help{margin:3px 0 12px}.limb-chart{margin-top:4px}.limb-chart .stitch-row{min-height:81px}.limb-chart .stitch-row svg{height:81px}.attachment{margin:5px auto 15px;display:flex;gap:27px;padding:5px 25px;background:#eaddc6;color:#947959;font-size:13px}.join-card .diagram{margin-top:4px;margin-bottom:8px}.join-card .step-note{margin-top:auto}.symbol-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.symbol-picker button{display:flex;flex-direction:column;align-items:center;padding:9px 3px;background:#e9decb;color:#806348;border-radius:3px;font-size:14px;gap:1px;min-height:66px}.symbol-picker button>span{font-size:25px;line-height:1.2}.symbol-picker button[aria-pressed=true]{background:var(--teal);color:#fff9ed}.large-symbol{text-align:center;color:var(--orange);font-size:125px;font-family:"Gowun Dodum",sans-serif;line-height:1.15;margin:25px 0 15px}.symbols-card h3{font-size:22px;color:var(--teal);font-weight:500;margin:8px 0 14px}.symbol-description{font-size:17px;line-height:1.85;word-break:keep-all}.symbols-card .margin-note{margin-top:25px;padding-top:15px;border-top:1px solid #b4a08950}.finish-photo{height:174px;width:174px;object-fit:cover;object-position:50% 39%;border:8px solid #fff8ed;transform:rotate(-5deg);box-shadow:0 3px 9px #765d3e1a;margin:25px auto 23px}.finish-check{font-size:14px;margin-bottom:20px}.finish-check>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #b4a08940;padding:9px 0}.finish-check b{font-weight:500;color:var(--teal)}.finish-card .margin-note{margin-top:auto}
.carousel-nav{display:flex;justify-content:center;align-items:center;gap:27px;margin:2px auto 0;padding:0 16px}.page-arrow{min-width:46px;min-height:46px;background:#e0d4c1;color:var(--ink);font-size:22px;border-radius:50%}.page-arrow:hover:not(:disabled){background:var(--teal);color:#fff7e7}.page-picker{min-width:196px;text-align:center}#page-name{font-size:14px;color:#80654d}.page-dots{display:flex;align-items:center;justify-content:center;margin-top:2px}.page-dot{width:24px;min-height:30px;padding:7px;background:transparent;display:grid;place-content:center}.page-dot::after{content:"";display:block;width:6px;height:6px;background:#b4a48f}.page-dot[aria-current=true]::after{background:var(--orange);transform:scale(1.5)}.bottom-note{text-align:center;color:#9c856e;font-size:12px;margin:13px 15px 0}.site-footer{max-width:1280px;margin:33px auto 0;padding:18px 36px 22px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #c8bba649;font-size:12px;color:#a38e77;letter-spacing:.03em}.site-footer span:first-child{font-family:"Gowun Dodum",sans-serif}
@media(max-width:620px){:root{--card-width:calc(100vw - 32px)}.site-header{padding:19px 19px 12px}.wordmark{font-size:14px}.edition{font-size:12px;letter-spacing:0}.carousel{padding-top:7px;gap:15px;padding-bottom:17px}.sheet{min-height:calc((100vw - 32px)*4/3)}.cover{min-height:0}.paper{padding:24px 22px 20px}.folio{font-size:12px;margin-bottom:19px}.pixel-title{margin-bottom:22px}.pixel-title.compact{margin-bottom:15px}.intro{font-size:18px}.materials{margin:22px 0 17px}.materials>div{padding:9px 0}.materials dd{font-size:16px}.size-line strong{font-size:31px}.size-line{gap:15px}.panel-switch button{min-height:38px;padding:5px 12px}.stitch-row{grid-template-columns:34px minmax(0,1fr) 18px}.step-note{min-height:91px}.body-card .pixel-title{width:53%}.limb-chart .stitch-row{min-height:76px}.site-footer{margin-top:24px;padding:17px 20px}.carousel-nav{gap:17px}.symbol-description{font-size:16px}.symbols-card .margin-note{margin-top:20px}.large-symbol{margin:24px 0 16px;font-size:108px}.finish-photo{height:150px;width:150px;margin:22px auto}.cover-start{right:16px;bottom:16px}}
@media(max-width:400px){.edition{display:none}.folio{letter-spacing:0}.paper{padding:20px 18px}.working-top>.micro{width:100%;margin-top:1px}.placement-equation{font-size:14px;word-spacing:0}.size-line strong{font-size:28px}.page-picker{min-width:176px}.page-dot{min-width:22px;width:22px}.carousel-nav{gap:9px}.materials>div{grid-template-columns:68px 1fr}.symbol-picker button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.carousel{scroll-behavior:auto}.sheet{transition:none}}
/* Keep the working cards compact while allowing enlarged text to reflow. */
.carousel{position:relative;overflow-y:hidden}
.body-card .pixel-title,.limb-card .pixel-title{width:44%;max-width:175px;margin-bottom:12px}
.body-card .folio,.limb-card .folio{margin-bottom:13px}
.body-card .working-top{margin-bottom:5px}
.body-card .body-chart{margin:3px 0 9px}
.body-card .step-note{min-height:0}
.symbol-picker button{font-size:14px}
@media(pointer:coarse){.page-dot{min-height:44px}.page-dots{gap:0}.panel-switch button{min-height:44px}}
@media(min-width:621px){.sheet{min-height:650px}.cover{min-height:0}.body-card,.limb-card{padding-top:23px}}

/* Quiet, rounded reading text; playful pixel type only at display sizes. */
body{line-height:1.7}
.wordmark{font-family:"Galmuri11",sans-serif;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:0}
.pixel-title,.pixel-title.compact,.pixel-title[data-pixel],.body-card .pixel-title,.limb-card .pixel-title{font-family:"Galmuri11",sans-serif;font-weight:400;letter-spacing:0;line-height:1.35;width:auto;max-width:100%;font-size:36px}
.pixel-title:not(.compact){font-size:48px}
.pixel-title .title-accent{color:var(--teal)}
.intro{letter-spacing:0}
.edition,.folio{letter-spacing:.02em}
.size-line strong{font-weight:400}
.step-note p{font-size:16px;line-height:1.8}
.micro,.card-foot,.margin-note{font-size:14px;line-height:1.75}
.stitch-row .row-label,.step-tag{font-size:15px}
.step-nav>span{font-size:14px}
.materials b,.step-tag,.stitch-row.is-selected .row-label{font-weight:400;color:var(--ink)}
@media(max-width:400px){.pixel-title:not(.compact){font-size:36px}.pixel-title.compact{font-size:36px}.wordmark{font-size:16px}.folio{font-size:12px}.size-line strong{font-size:28px}}
