:root{--ink:#242534;--paper:#fffdf9;--cream:#fff6e9;--coral:#f47655;--coral2:#ffaf8d;--sage:#558a7d;--line:#eee7dd;--muted:#6e6d78;--shadow:0 14px 32px #44321b12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px 'DM Sans',sans-serif}body.dark{--ink:#f9f2e9;--paper:#20212b;--cream:#292b37;--line:#424451;--muted:#bdbbc4;--shadow:0 14px 32px #0004}.top{height:78px;max-width:1200px;margin:auto;display:flex;align-items:center;gap:36px;padding:0 28px}.logo{font:700 24px 'Playfair Display',serif;color:var(--ink);text-decoration:none;line-height:.72;letter-spacing:-1px}.logo span{font-style:italic}.logo small{display:block;font:7px 'DM Sans',sans-serif;letter-spacing:.6px;text-align:center;margin-top:6px}.top nav{display:flex;gap:27px;margin:auto}.top nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.top nav a.active,.top nav a:hover{color:var(--coral)}.head-actions{display:flex;align-items:center;gap:12px}.icon,.link-btn{border:0;background:none;color:var(--ink);cursor:pointer}.icon{font-size:23px}.link-btn{font-weight:600}.coral-btn,.soft-btn,.load{border:0;border-radius:99px;padding:10px 17px;background:var(--coral);color:white;font:600 13px 'DM Sans';cursor:pointer;box-shadow:0 6px 14px #f4765533}.soft-btn{background:var(--cream);color:var(--ink);box-shadow:none;border:1px solid var(--line)}.profile{background:var(--cream);border:1px solid var(--line);border-radius:30px;color:var(--ink);padding:9px 13px}.hidden{display:none!important}.menu{display:none;margin-left:auto;border:0;background:none;font-size:22px;color:var(--ink)}.hero{text-align:center;position:relative;padding:91px 22px 80px;overflow:hidden;background:radial-gradient(circle at 52% 24%,#fff0d6 0,transparent 28%)}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700;color:var(--coral);margin:0 0 12px}.hero h1,h2{font-family:'Playfair Display',serif;letter-spacing:-1.2px}.hero h1{font-size:clamp(38px,5.1vw,65px);line-height:1.08;margin:0}.hero h1 em{color:var(--coral);font-weight:600}.intro{max-width:570px;margin:20px auto;color:var(--muted);line-height:1.65}.search{height:59px;max-width:630px;margin:28px auto 16px;padding:5px 5px 5px 21px;display:flex;border:1px solid #d9d5cb;border-radius:35px;background:#fff;box-shadow:var(--shadow)}.search input,.filters input,select{border:0;background:transparent;color:#333;outline:0;font:14px 'DM Sans';width:100%}.search button{border:0;border-radius:27px;background:var(--ink);color:white;padding:0 22px;font:600 14px 'DM Sans';cursor:pointer}.search b{font-size:17px}.chips{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.chips button{border:1px solid var(--line);padding:8px 13px;border-radius:18px;color:var(--muted);background:var(--paper);cursor:pointer}.hero-yarn{position:absolute;color:#f9c47d;opacity:.55;font-size:75px}.yarn-one{left:8%;top:90px}.yarn-two{right:12%;bottom:55px}.section{max-width:1200px;margin:auto;padding:84px 28px}.tint{max-width:none;padding-left:max(28px,calc((100% - 1200px)/2 + 28px));padding-right:max(28px,calc((100% - 1200px)/2 + 28px));background:var(--cream)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-title h2{font-size:36px;margin:0}.filters{display:flex;gap:10px;margin-bottom:28px}.filters input,.filters select{border:1px solid var(--line);border-radius:9px;padding:13px;background:var(--paper);color:var(--ink)}.filters input{flex:2}.filters select{flex:1}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pattern-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);transition:.25s}.pattern-card:hover{transform:translateY(-5px)}.card-img{height:188px;position:relative;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}.heart{position:absolute;right:10px;top:10px;background:#fffffff0;border:0;border-radius:50%;height:33px;width:33px;color:var(--coral);font-size:18px;cursor:pointer}.pattern-card .details{padding:14px}.tag{font-size:9px;color:var(--sage);font-weight:700;text-transform:uppercase;letter-spacing:.8px}.pattern-card h3{font-size:16px;margin:7px 0 14px}.guide{width:100%;padding:9px;border:0;border-radius:7px;background:#fff1d9;color:#6d4b26;font:600 11px 'DM Sans';cursor:pointer}.load{display:block;margin:32px auto 0;background:var(--ink)}.ad{text-align:center;border:1px dashed #d8c7b2;border-radius:7px;padding:12px;color:#b79a75;font-size:10px;letter-spacing:1.2px;margin:0 0 25px}.stitch-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}.stitch-row{display:grid;grid-template-columns:85px 1.4fr 1fr 1fr 1.5fr auto;align-items:center;border-bottom:1px solid var(--line);min-height:82px;padding:10px 17px;gap:10px}.stitch-row:last-child{border:0}.stitch-row.head{min-height:42px;background:#f3eadb;color:#634f35;font-size:10px;font-weight:700;text-transform:uppercase}.swatch{width:65px;height:50px;border-radius:7px;background:repeating-linear-gradient(0deg,#8bc6c5 0 3px,#59a49e 4px 7px)}.steps{display:flex;gap:5px}.steps i{display:block;width:26px;height:26px;border-radius:50%;background:#f8ceb2;position:relative}.steps i:after{content:'⌁';position:absolute;left:7px;top:4px;color:#9a6040}.read{border:1px solid var(--coral);border-radius:18px;background:transparent;color:var(--coral);padding:7px 10px;font-size:10px;cursor:pointer}.tool-grid,.calc-grid{display:grid;grid-template-columns:1fr 1.2fr .55fr;gap:18px}.tool-card,.counter,.estimator{padding:27px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.tool-card h3,.estimator h3{margin:8px 0;font-size:19px}.tool-card p,.estimator p{color:var(--muted);font-size:13px}.tool-icon{color:var(--coral);font-size:23px}.tool-card select{margin:15px 0;background:var(--cream);padding:12px;border-radius:8px}.conversion{display:flex;gap:10px}.conversion div{flex:1;text-align:center;background:#f2f8f3;border-radius:8px;padding:11px}.conversion div+div{background:#fff3f0}.conversion small{display:block;color:var(--muted);font-size:10px}.conversion strong{font-size:21px}.glossary div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:8px 2px;font-size:12px}.glossary b{color:var(--coral)}.vertical{margin:0;display:flex;flex-direction:column;justify-content:center}.calc-grid{grid-template-columns:.7fr 1.8fr}.counter{text-align:center}.counter output{font-size:74px;color:var(--coral);font-weight:700;display:block;margin:7px 0 -3px}.counter span{color:var(--muted);font-size:12px}.counter div{display:flex;gap:10px;justify-content:center;margin:20px}.counter div button{width:44px;height:38px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-size:22px;cursor:pointer}.text-action{border:0;background:none;color:var(--coral);cursor:pointer}.formrow{display:flex;gap:10px;margin-top:24px}.formrow select{border:1px solid var(--line);border-radius:7px;padding:12px;color:var(--ink);background:var(--paper)}.formrow button{background:var(--coral);color:#fff;border:0;border-radius:7px;padding:0 17px;cursor:pointer}.estimate-result{margin-top:18px;border-radius:8px;background:#eff6f1;padding:15px;color:#467667;font-weight:600}footer{background:#292b40;color:#f7f3ec;display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:42px;padding:55px max(28px,calc((100% - 1200px)/2 + 28px));font-size:12px}footer .logo{color:#fff}footer p{line-height:1.6;color:#c8cad3;max-width:300px}footer h4{margin:0 0 15px;font-size:13px}footer a{display:block;color:#d3d4db;text-decoration:none;margin:9px 0}.policies{align-self:end}dialog{max-width:500px;border:0;border-radius:16px;padding:32px;box-shadow:0 20px 80px #0005;color:var(--ink)}dialog::backdrop{background:#15151c88}.close{float:right;border:0;background:none;font-size:26px;cursor:pointer}.modal-form{display:grid;gap:12px}.modal-form input,.modal-form textarea{padding:12px;border:1px solid #ddd;border-radius:8px;font:14px 'DM Sans'}.modal-form button{border:0;padding:12px;background:var(--coral);color:#fff;border-radius:8px;font-weight:bold;cursor:pointer}.detail-image{width:100%;height:170px;object-fit:cover;border-radius:10px}.comment{border-top:1px solid #eee;padding-top:14px;margin-top:15px}.comment textarea{width:100%;height:55px}.admin-upload{padding:8px;background:#fff7ee;border-radius:8px;color:#765}
@media(max-width:850px){.top{gap:13px}.top nav{display:none;position:absolute;top:70px;left:16px;right:16px;background:var(--paper);z-index:3;box-shadow:var(--shadow);border-radius:10px;padding:16px}.top nav.open{display:grid;gap:16px}.menu{display:block}.head-actions{margin-left:auto}.card-grid{grid-template-columns:repeat(2,1fr)}.tool-grid{grid-template-columns:1fr 1fr}.vertical{display:none}.stitch-row{grid-template-columns:65px 1fr 1fr auto}.stitch-row>:nth-child(4),.stitch-row>:nth-child(5){display:none}footer{grid-template-columns:1fr 1fr}.policies{align-self:start}}@media(max-width:560px){.top{padding:0 18px}.head-actions .link-btn,.head-actions .coral-btn{display:none}.hero{padding:66px 18px}.section{padding:58px 18px}.tint{padding-left:18px;padding-right:18px}.section-title{align-items:start;gap:15px;flex-direction:column}.section-title h2{font-size:29px}.filters,.formrow{flex-direction:column}.card-grid{gap:12px}.card-img{height:135px}.pattern-card .details{padding:11px}.pattern-card h3{font-size:13px}.stitch-row{grid-template-columns:52px 1fr auto;padding:9px}.stitch-row>:nth-child(3),.stitch-row>:nth-child(4),.stitch-row>:nth-child(5){display:none}.stitch-row.head>:nth-child(3){display:block}.stitch-row.head>:nth-child(2){display:block}.swatch{width:45px;height:38px}.tool-grid,.calc-grid{grid-template-columns:1fr}.hero-yarn{display:none}footer{grid-template-columns:1fr;padding:42px 24px;gap:20px}}

/* The source artwork is used unaltered for the header mark. */
.top>.logo{width:132px;height:42px;display:block;background:url('assets/reference-home.png') -67px -30px/1040px auto no-repeat;font-size:0;flex:0 0 auto}.top>.logo span,.top>.logo small{display:none}
.course-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:22px}.course-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.course-card h3{margin:6px 0;font-size:17px}.course-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
