/* Theme colours are shared by the home page, dialogs and pattern reader. */
:root{color-scheme:light;--paper:#ffffff;--surface:#ffffff;--ink:#203c5b;--muted:#586b80;--green:#285f9a;--line:#d3ddea;--light:#f1f5fa;--pink:#ead8ce;--soft:#f1f5fa;--hover:#1d4878;--on-accent:#ffffff;--on-accent-muted:#e1ebf8;--warning-bg:#fff2e3;--warning-ink:#774c1e;--danger:#8b4b3c;--compass:#cddbeb;--compass-label:#7188a3}
:root[data-theme="dark"]{color-scheme:dark;--paper:#151e2a;--surface:#202d3f;--ink:#edf3fb;--muted:#b9c9de;--green:#9ec5f2;--line:#455d7a;--light:#293c54;--soft:#293c54;--hover:#c5ddf9;--on-accent:#152e4a;--on-accent-muted:#244268;--warning-bg:#392c1e;--warning-ink:#f4cda0;--danger:#b75d4c;--compass:#354e70;--compass-label:#a4bbd8}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:15px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ba7248;outline-offset:4px}header{height:102px;max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{font-family:Lora,serif;font-size:27px;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:10px}.brandmark{font-size:45px;line-height:1}.branddot{color:#bd795a;margin-left:-10px}nav{display:flex;gap:32px;align-items:center}.navbtn{border:0;background:none;color:var(--ink);font-size:13px}.private{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:25px}.private i{display:inline-block;background:#849a78;width:6px;height:6px;border-radius:50%;margin-right:8px}main{max-width:1170px;margin:auto;padding:0 25px;min-height:calc(100vh - 190px)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;padding:46px 0 40px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--muted)}.hero h1{font:500 clamp(40px,4.5vw,61px)/1.15 Lora,serif;letter-spacing:-1.9px;margin:22px 0}.hero h1 em{font-weight:400;color:var(--muted)}.hero p{color:var(--muted);font-size:14px;line-height:1.85;max-width:390px}.heroart{height:280px;position:relative;display:flex;justify-content:center;align-items:center}.heroart:before{content:'';position:absolute;width:310px;height:250px;background:#eff0e7;border-radius:48% 52% 46% 54%;transform:rotate(-9deg)}.heroart svg{position:relative;width:360px;height:280px}.artnote{position:absolute;bottom:6px;right:20px;transform:rotate(-7deg);font:italic 15px Lora,serif;color:var(--muted)}.workspace{display:grid;grid-template-columns:1.65fr 1fr;gap:23px}.uploadcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:27px}.cardtop{display:flex;gap:10px;align-items:center}.number{font-size:10px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:23px;height:23px;color:var(--muted)}h2{font:500 23px Lora,serif;margin:0}h3{font:500 20px Lora,serif;margin:0 0 12px}.sub{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0 22px}.drop{border:1.5px dashed var(--line);background:var(--soft);border-radius:8px;min-height:201px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:22px;transition:.2s}.drop.drag{background:var(--hover);border-color:var(--green)}.uploadicon{width:36px;height:40px;color:var(--muted)}.drop strong{font-size:13px;font-weight:500}.drop small{font-size:10px;color:var(--muted)}.btn{border:1px solid var(--green);border-radius:6px;padding:11px 21px;background:var(--green);color:var(--on-accent);font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:15px}.btn:hover{background:var(--hover)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--soft)}.uploadbottom{display:flex;justify-content:space-between;gap:10px;margin-top:15px;font-size:10px;color:var(--muted)}.textbtn{border:none;background:none;color:var(--green);padding:0;text-decoration:underline;text-underline-offset:3px;font-size:inherit}.convertcard{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column}.converticon{font:500 18px Lora,serif;display:flex;gap:10px;margin:0 0 25px}.converticon span{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 11px}.convertcard h2{font-size:25px;line-height:1.3}.convertcard .sub{font-size:12px;margin:13px 0 22px}.convertcard .btn{margin-top:auto;align-self:flex-start}.converterfoot{font-size:10px;color:var(--muted);margin-top:13px}.explore{margin:39px 0 20px;display:flex;align-items:center;gap:20px}.explore:after{content:'';height:1px;background:var(--line);flex:1}.explore span{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding-bottom:30px}.feature{display:flex;gap:12px;align-items:flex-start}.feature .glyph{font-size:22px;color:var(--muted);min-width:27px}.feature strong{font-size:12px;font-weight:500}.feature p{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0}.samplebar{display:flex;align-items:center;justify-content:center;gap:10px;padding:17px;background:var(--soft);border-radius:7px;color:var(--muted);font-size:11px;margin:0 0 25px}footer{border-top:1px solid var(--line);max-width:1120px;margin:25px auto 0;padding:21px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.tinyflower{color:#ac866e;margin-left:8px}dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:28px;width:min(700px,94vw);max-height:90vh}dialog::backdrop{background:#27362c70;backdrop-filter:blur(3px)}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.iconbtn{border:0;background:none;color:var(--muted);font-size:18px;padding:5px}.prose{white-space:pre-wrap;font-size:15px;line-height:1.9;overflow-wrap:anywhere}textarea{width:100%;min-height:280px;font:13px/1.7 'DM Sans',system-ui,-apple-system,sans-serif;padding:15px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}label{font-size:12px;display:block;margin:14px 0 6px}select,input[type=text]{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:5px;font:inherit;max-width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.notice{background:var(--soft);padding:12px;border-radius:6px;font-size:12px;line-height:1.7;color:var(--muted);margin:15px 0}.reader{padding:35px 0}.readerhead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:30px}.readerhead h1{font:500 34px Lora,serif;margin:12px 0}.badge{font-size:10px;padding:5px 9px;border:1px solid var(--line);border-radius:20px}.sectiongrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.sectioncard{text-align:left;min-height:145px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:22px;color:var(--ink)}.sectioncard:hover{border-color:var(--green);background:var(--soft)}.sectioncard span{font-size:11px;color:var(--muted)}.sectioncard h3{margin-top:15px}.focusbanner{background:var(--green);padding:27px;border-radius:10px;color:var(--surface);display:flex;justify-content:space-between;gap:20px;align-items:center}.focusbanner p{font-size:12px;color:var(--on-accent-muted);line-height:1.7}.focusbanner .btn{background:var(--surface);color:var(--ink);border:0}.rowview{position:fixed;inset:0;background:var(--paper);z-index:10;display:flex;flex-direction:column;align-items:center;padding:25px}.rowtop{display:flex;width:100%;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;gap:15px}.rowcontent{width:min(760px,100%);margin:auto;overflow:auto;max-height:65vh;padding:25px 0}.rowcontent h1{font:500 39px Lora,serif;margin:15px 0 25px}.rowtext{font:400 26px/1.7 Lora,serif;white-space:pre-wrap;overflow-wrap:anywhere}.rowbottom{width:min(760px,100%);padding:20px 0 0}.rowbuttons{display:flex;justify-content:space-between;gap:15px}.rowbuttons .btn{padding:15px 28px}.progress{height:4px;background:var(--soft);margin:20px 0;border-radius:6px;overflow:hidden}.progress span{height:100%;background:var(--green);display:block}.rowmeta{font-size:10px;color:var(--muted);display:flex;justify-content:space-between}.question{border-bottom:1px solid var(--line);padding:12px 0}.question summary{cursor:pointer;font-size:14px}.question p{font-size:13px;line-height:1.8;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:7px;font-size:12px;z-index:20;display:none}.hidden{display:none!important}@media(max-width:700px){header{height:80px;padding:0 22px}.brand{font-size:22px}.brandmark{font-size:35px}.private{display:none}nav{gap:0}.hero{grid-template-columns:1fr;padding-top:25px;gap:0}.hero h1{font-size:43px}.heroart{height:190px}.heroart svg{height:220px}.heroart:before{height:180px;width:250px}.hero p{max-width:100%}.workspace{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr;gap:18px}.uploadcard,.convertcard{padding:22px}.converticon{margin-bottom:14px}.convertcard .btn{margin-top:0}.sectiongrid{grid-template-columns:1fr 1fr;gap:12px}.sectioncard{padding:17px}.readerhead,.focusbanner{align-items:flex-start;flex-direction:column}.readerhead h1{font-size:29px}.rowtext{font-size:22px}.rowcontent h1{font-size:30px}.rowtop{font-size:10px}footer{margin:20px 25px 0;gap:15px;line-height:1.6}.uploadbottom{flex-wrap:wrap}.samplebar{flex-wrap:wrap}.heroart .artnote{right:5px}}
.pdfcontrols{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0;font-size:12px}.pdfcontrols .btn{padding:9px 12px}.pdfpage{overflow:auto;background:var(--soft);border-radius:5px;padding:7px}.pdfpage canvas{display:block;width:100%;height:auto;background:#fff}#stepjump{width:100%;font-size:13px} .readerhead .actions{max-width:440px}
.app-status{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:0 0 8px}.offline-status{border:1px solid var(--line);border-radius:20px;padding:7px 12px;background:var(--soft);color:var(--muted);font-size:11px}.offline-status:before{content:'●';font-size:8px;margin-right:7px}.offline-status[data-state=pending]{background:var(--warning-bg);color:var(--warning-ink)}.device-alert{max-width:1120px;margin:auto;background:var(--warning-bg);color:var(--warning-ink);padding:14px;border-radius:6px;font-size:12px}.library-preview{border-top:1px solid var(--line);padding:30px 0}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.library-heading h2{margin-top:9px}.count{font:12px 'DM Sans',system-ui,sans-serif;background:var(--soft);border-radius:20px;padding:5px 10px;vertical-align:middle}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.library-card{padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere}.library-card h3{margin-top:13px;line-height:1.5}.library-card .actions{align-items:center;gap:20px}.library-card .btn{padding:10px 15px}.save-line{font-size:11px;color:var(--muted);margin-top:15px}.danger{background:var(--danger);border-color:var(--danger)}.restore-list{max-height:240px;overflow:auto;font-size:13px;line-height:2}.reader input[type=search]{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:11px;border-radius:5px;font:inherit}#main:empty:before{content:'Opening your pattern library…';display:block;text-align:center;padding:60px;color:var(--muted)}@media(max-width:700px){.app-status{padding:0 25px 10px;justify-content:flex-start;flex-wrap:wrap;gap:10px}.device-alert{margin:0 25px}.library-grid{grid-template-columns:1fr}.library-heading{align-items:flex-start}.library-heading .btn{padding:10px 12px}header nav{gap:10px}.navbtn{font-size:11px;padding:5px 0}.brand{font-size:20px}.brandmark{font-size:29px}header{padding:0 20px}.rowtop>span{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.awake-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.awake-button{border:1px solid var(--line);border-radius:20px;padding:8px 12px;background:var(--surface);color:var(--ink);font-size:11px;white-space:nowrap}.awake-button[data-active=true]{background:var(--green);border-color:var(--green);color:var(--on-accent)}.awake-message{font-size:10px;line-height:1.6;color:var(--muted);max-width:310px;margin:0}.rowview>.awake-message{width:min(760px,100%);text-align:center;padding-top:12px;min-height:28px}.rowtop{flex-wrap:wrap}.app-status{flex-wrap:wrap}.rowcontent{min-height:0}@media(max-width:700px){.rowtop>span{display:none}.rowtop{gap:10px}.rowview{padding:18px}.rowview>.awake-message{max-width:100%;font-size:10px}.rowcontent{max-height:58vh}.awake-control{max-width:100%}.app-status{justify-content:flex-start}.rowbottom .rowbuttons .btn{padding:13px 20px}}
.modal-tools{display:flex;align-items:center;gap:12px}.modalhead{gap:10px;flex-wrap:wrap}dialog>.awake-message:not(:empty){margin-bottom:15px;max-width:100%}
#personalnotes{min-height:240px;white-space:pre-wrap}#notecount{margin:8px 0;color:var(--muted);font-size:11px}.rowtop [data-personal-notes]{white-space:nowrap}

/* Stitch Navigator: a quiet, clear workspace. */
header{height:auto;min-height:94px;gap:24px;padding-top:20px;padding-bottom:20px}.brand{font-family:system-ui,-apple-system,sans-serif;font-size:24px;font-weight:650;letter-spacing:-.8px;white-space:nowrap}.brandmark{width:37px;height:37px;flex-shrink:0}nav{gap:22px}.navbtn{font-size:13px;min-height:42px}.theme-toggle{border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:var(--surface)}.theme-toggle:hover{background:var(--soft)}.hero{padding:40px 0 24px;grid-template-columns:1.4fr 1fr;gap:32px}.hero h1{font-size:clamp(38px,4.4vw,56px);line-height:1.13;letter-spacing:-1.6px;margin:17px 0 20px}.hero p{font-size:16px;line-height:1.8;max-width:530px;margin-bottom:0}.eyebrow{color:var(--muted);line-height:1.7}.heroart{height:285px}.heroart:before{display:none}.heroart svg{width:340px;height:300px;max-width:100%}.compass{color:var(--compass)}.compass-labels{color:var(--compass-label)}.yarn{color:var(--ink)}.how-it-works{list-style:none;padding:24px 0 30px;margin:0 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-bottom:1px solid var(--line)}.how-it-works li{display:flex;align-items:flex-start;gap:12px}.how-it-works .number{flex-shrink:0;width:28px;height:28px;font-size:12px;background:var(--soft);border:0;color:var(--ink)}.how-it-works strong{font-size:14px;font-weight:600}.how-it-works p{font-size:13px;line-height:1.7;color:var(--muted);margin:7px 0 0}.uploadcard,.convertcard{background:var(--surface);border-color:var(--line)}.converticon span{background:var(--soft)}.drop{background:var(--soft)}.drop.drag{background:var(--soft);outline:2px solid var(--green)}.btn{font-size:13px;min-height:44px}.btn.secondary:hover{background:var(--soft)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.sub{font-size:13px}.feature strong{font-size:13px}.feature p{font-size:12px}.focusbanner{color:var(--on-accent)}.focusbanner p{color:var(--on-accent-muted)}.awake-button[data-active=true]{color:var(--on-accent)}.samplebar{color:var(--muted)}.brand:focus-visible{border-radius:4px}.offline-status{color:var(--muted)}
@media(max-width:700px){header{padding:18px 22px 12px;flex-wrap:wrap;gap:12px}.brand{font-size:23px}.brandmark{width:32px;height:32px}header nav{width:100%;justify-content:space-between;gap:12px}.navbtn{font-size:13px;padding:8px 0}.theme-toggle{padding:8px 13px}.hero{grid-template-columns:1fr;padding-top:26px;gap:10px}.hero h1{font-size:40px}.hero p{font-size:15px}.heroart{height:218px}.heroart svg{height:220px}.how-it-works{grid-template-columns:1fr;gap:18px;padding-top:18px}.how-it-works p{margin-top:3px}.app-status{gap:8px}.how-it-works li{gap:13px}.reader{padding-top:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* One pale compass spans the introduction; content stays above it. */
.hero{position:relative;isolation:isolate;min-height:445px;overflow:clip;align-items:center}
.hero-copy{position:relative;z-index:1}
.hero>.navigator-compass{position:absolute;left:auto;right:calc(12% - 96px);top:50%;bottom:auto;width:620px!important;height:445px!important;transform:translateY(-50%) rotate(-16deg);color:var(--compass);opacity:.55;pointer-events:none;z-index:0}
.navigator-compass text{fill:var(--compass-label)}
.heroart{position:relative;z-index:1;height:315px;min-width:0;overflow:visible}
.heroart .navigator-art{position:relative;width:360px;height:330px;max-width:100%}
.navigator-yarn{position:absolute;width:76%;height:76%;left:12%;top:14%;background:var(--green);-webkit-mask:url('yarn-hook.png') center/contain no-repeat;mask:url('yarn-hook.png') center/contain no-repeat}
.yarn-backing{position:absolute;left:25%;top:33%;width:47%;height:51%;border-radius:50%;background:var(--paper)}
.brandmark{position:relative;display:inline-block;color:var(--green)}
.brand-yarn{position:absolute;inset:0;background:currentColor;-webkit-mask:url('yarn-hook.png') center/contain no-repeat;mask:url('yarn-hook.png') center/contain no-repeat}
.brandmark:before{display:none}.feature .glyph,.tinyflower{color:var(--green)}
@media(max-width:1000px) and (min-width:701px){.hero>.navigator-compass{right:calc(5% - 96px);width:620px!important;height:440px!important}}
@media(max-width:700px){.hero{min-height:0;overflow:clip}.hero>.navigator-compass{width:560px!important;height:540px!important;right:-207px;top:47%;opacity:.42}.heroart{height:250px}.heroart .navigator-art{height:255px;width:280px}}
.walkthrough{margin:5px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.walkthrough-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.walkthrough-top .textbtn{font-size:13px;min-height:40px}.walk-window{overflow:hidden}.walk-track{display:flex;transition:transform .55s ease}.walk-slide{min-width:100%;width:100%;display:flex;align-items:center;justify-content:center;gap:50px;padding:8px 30px 12px}.walk-drawing{width:240px;height:150px;flex-shrink:0;color:var(--green)}.walk-drawing text{fill:currentColor;stroke:none;font:13px system-ui,sans-serif;text-anchor:middle}.walk-copy{display:flex;gap:15px;align-items:flex-start;max-width:380px;width:100%}.walk-copy .number{flex-shrink:0;width:30px;height:30px;background:var(--soft);border:none;font-size:13px;color:var(--green)}.walk-copy h2{font:600 18px/1.5 system-ui,sans-serif;margin:0}.walk-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin:9px 0 0}.walk-controls{display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;color:var(--muted);min-height:44px}.walk-dots{display:flex;gap:9px}.walk-dots button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:12px}.walk-dots button[aria-current]{background:var(--green);border-color:var(--green);color:var(--on-accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.walk-slide{flex-direction:column;gap:10px;padding:10px 3px 22px;justify-content:flex-start}.walk-drawing{height:135px;width:230px}.walk-copy{max-width:100%;min-height:115px}.walk-copy h2{font-size:17px}.walkthrough-top{gap:10px}.walkthrough-top .eyebrow{max-width:190px}.walkthrough-top .textbtn{white-space:nowrap;font-size:12px}.walk-controls{gap:13px}.walk-dots button{height:40px;width:40px}}
@media(prefers-reduced-motion:reduce){.walk-track{transition:none}}

.converticon{align-items:center;gap:16px}.converticon .flag-swap{padding:0;border:0;background:none;color:var(--muted)}.flag-round{display:block;width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.stitch-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.stitch-card{border:1px solid var(--line);border-radius:9px;padding:18px;background:var(--surface)}.stitch-card h3{font:600 17px/1.5 system-ui,sans-serif;margin:0 0 6px}.stitch-card p{font-size:13px;line-height:1.8;margin:8px 0;color:var(--muted)}.stitch-sketch{width:100%;height:125px;color:var(--green);background:var(--soft);border-radius:6px;margin:10px 0}.stitch-card .term-pair{font-size:12px;color:var(--ink)}.stitch-how{font-size:13px;line-height:1.8;color:var(--muted)}.stitch-how summary{cursor:pointer;color:var(--green);padding:8px 0}.stitch-how ol{padding-left:20px}.stitch-how li{margin-bottom:6px}#modal.stitch-guide{width:min(900px,94vw)}
header nav{flex-wrap:wrap;justify-content:flex-end;gap:18px}@media(max-width:800px){header{flex-wrap:wrap;gap:10px}header nav{width:100%;justify-content:space-between;gap:10px}}@media(max-width:500px){.stitch-grid{grid-template-columns:1fr}header nav{gap:8px}.navbtn{font-size:12px}.theme-toggle{padding:8px 10px}}

.about-story{max-width:580px;margin:8px auto 5px}.about-story h2{font-size:34px;margin:12px 0 15px}.about-story p{font-size:15px;line-height:1.9;color:var(--muted);margin:16px 0}.about-story .about-lead{font-size:17px;color:var(--ink)}.about-story h3{font-size:23px;margin:30px 0 8px;color:var(--ink)}.about-story .about-signature{color:var(--ink);margin:25px 0}.about-story .btn{margin-top:8px}@media(max-width:500px){header nav{justify-content:flex-start;column-gap:18px;row-gap:0}.about-story h2{font-size:29px}.about-story p{font-size:14px}}

.hosting-preview-note{padding:10px 20px;text-align:center;font-size:12px;line-height:1.6;background:var(--soft);color:var(--ink);border-bottom:1px solid var(--line)}

.home-stitch-video{margin:32px 0;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.home-stitch-video h2{margin-top:12px}.home-stitch-video .stitch-video{max-width:720px}
.stitch-video{margin:18px 0;min-width:0}.stitch-video-player{aspect-ratio:16/9;background:var(--soft);border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}.stitch-video-player:has(iframe){padding:0}.stitch-video-player iframe{display:block;width:100%;height:100%;border:0}.stitch-video-player .btn{white-space:normal;text-align:center}.stitch-video .sub{margin:12px 0;font-size:13px}.stitch-video .textbtn{font-size:13px;display:inline-block;padding:8px 0}
@media(max-width:700px){.home-stitch-video{padding:20px}.stitch-video-player .btn{padding:10px 14px}}

.stitch-diagram{margin:18px 0;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px}.stitch-diagram svg{width:100%;height:auto;display:block}.diagram-label,.diagram-symbol{color:var(--ink)}.diagram-chart{color:var(--green)}.foundation-chain{color:var(--muted);opacity:.55}.diagram-divider{color:var(--line)}.stitch-diagram figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:4px}

#stitchcalc{display:grid;gap:12px;max-width:480px}#stitchcalc input{font:inherit;min-height:44px;width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink)}#calcresult{margin-top:24px;line-height:1.8}#calcresult li{margin:10px 0}.row-note{margin-top:26px;padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.row-note h2{font-size:20px}.row-note-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:16px}.saved-row-note{padding:20px 0;border-bottom:1px solid var(--line)}.saved-row-note .textbtn{margin-right:18px;min-height:44px}.rowcontent .row-note .sub{font-size:14px}.row-note .textbtn{min-height:44px}#rownoteinput{width:100%;min-height:180px}#crochet-tools>header nav{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}

:root{--size-red:#b42318}:root[data-theme="dark"]{--size-red:#ffaaa1}
.size-reminder{width:min(760px,100%);flex-shrink:0;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);max-height:24vh;overflow:auto;margin:8px 0}.size-reminder-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.size-reminder-head p{font-size:14px;line-height:1.7;margin:0;overflow-wrap:anywhere}.size-reminder-actions{display:flex;gap:14px;flex-shrink:0}.size-reminder .textbtn{font-size:12px;min-height:36px}.size-reminder .size-selected{color:var(--size-red);font-weight:750}.size-sequence{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:10px 0 0}.size-sequence li{font-size:13px;padding:5px 9px;border:1px solid transparent;overflow-wrap:anywhere;max-width:100%;color:var(--muted)}.size-sequence li.size-selected{border-color:var(--size-red);border-radius:5px;text-decoration:underline;text-underline-offset:3px}.size-reminder-empty{padding:4px 12px}.size-review-message{font-size:12px;line-height:1.6;margin:6px 0}.size-needs-review{border-color:var(--warning-ink)}.size-suggestions article{padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:7px}.size-suggestions article p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}#sizelabels{width:100%;min-height:150px}.size-confirm{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6}.size-confirm input{width:22px;height:22px;flex-shrink:0;margin-top:2px}.rowview .rowcontent{flex:1 1 auto;min-height:0}.rowview .rowbottom{flex-shrink:0}
@media(max-width:700px){.size-reminder{padding:8px 10px}.size-reminder-head{align-items:flex-start;gap:8px}.size-reminder-actions{gap:10px}.size-reminder-head p{font-size:12px}.size-sequence li{font-size:12px;padding:4px 7px}}
