/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--bg:#f5f3ee;--paper:#fffdf8;--ink:#292723;--muted:#77736d;--line:#e6e1d8;--purple:#8f5ea8;--purple-dark:#684278;--lilac:#e7d3ef;--sidebar:#282724;--green:#769b91;--shadow:0 18px 50px #332b2314;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-geist-sans),Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}:is(button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline-offset:2px;outline:3px solid #8f5ea847}.app-shell{min-height:100vh}.sidebar{z-index:40;background:var(--sidebar);color:#eeeae3;flex-direction:column;width:244px;padding:26px 15px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0 10px 27px;display:flex}.heart-logo{color:#a94f78;filter:drop-shadow(0 4px 10px #ae4c7933);background:radial-gradient(circle,#f5e3ee 0 48%,#d8a8c4 49% 54%,#0000 55%);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.heart-logo i{font-style:normal;line-height:1;display:block;position:absolute}.heart-core{font-size:16px;animation:1.8s ease-in-out infinite heart-pulse}.heart-orbit{color:#ec8bad;font-size:8px;animation:4s linear infinite heart-orbit;top:50%;left:50%}.heart-two{color:#c989e2;animation-delay:-2s}.brand>span:last-child{min-width:0;font-family:Georgia,serif;font-size:16px;line-height:1.05}.brand small{font:500 8px/1.25 var(--font-geist-sans);text-transform:uppercase;letter-spacing:.1em;color:#a8a39b;margin-top:4px;display:block}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar nav button{color:#a9a59f;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;padding:10px 12px;font-size:13px;font-weight:570;transition:all .2s;display:flex}.sidebar nav button>span{text-align:center;color:#8f8b85;width:18px;font-size:17px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#3a3834}.sidebar nav button.active>span{color:#d8a8f4}.sidebar nav i{color:#f8effc;background:#765084;border-radius:10px;place-items:center;min-width:18px;height:18px;margin-left:auto;font-size:9px;font-style:normal;display:grid}.sidebar-foot{border-top:1px solid #403e3a;margin-top:auto;padding-top:17px}.streak-mini,.profile{align-items:center;gap:10px;display:flex}.streak-mini{padding:0 9px 17px}.streak-mini>span{color:#e1af68;font-size:18px}.streak-mini strong,.streak-mini small,.profile strong,.profile small{display:block}.streak-mini strong{font-size:11px}.streak-mini small{color:#837f79;margin-top:2px;font-size:9px}.profile{color:#eee;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;padding:7px}.profile:hover{background:#34322e}.avatar{color:#62456e;width:32px;height:32px;font:bold 11px/1 var(--font-geist-sans);background:#dcc7e4;border-radius:50%;flex:none;place-items:center;display:grid}.profile strong{font-size:10px}.profile small{color:#85817b;margin-top:3px;font-size:8px}.profile b{color:#77736d;letter-spacing:.1em;margin-left:auto;font-size:8px}main{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:25;background:#faf8f3e0;align-items:center;gap:22px;height:66px;padding:0 42px;display:flex;position:sticky;top:0}.search{color:#928e87;background:#fffdfa;border:1px solid #ded9d0;border-radius:9px;align-items:center;gap:8px;width:min(390px,42vw);height:36px;padding:0 10px;display:flex}.search input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:11px}.search input::placeholder{color:#aaa69f}.search kbd{color:#98938c;background:#f1eee8;border:1px solid #e4ded5;border-radius:4px;padding:3px 5px;font-size:8px}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.top-actions button{background:0 0;border:0;position:relative}.top-actions button i{background:#b0676f;border-radius:50%;width:5px;height:5px;position:absolute;top:1px;right:1px}.top-actions .start-session{background:var(--sidebar);color:#fff;border-radius:8px;padding:9px 15px;font-size:10px;font-weight:650}.start-session span{color:#d9a7f8;margin-right:6px}.mobile-menu{background:0 0;border:0;font-size:20px;display:none}.content{max-width:1240px;margin:auto;padding:42px 46px 70px}.welcome{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.eyebrow{letter-spacing:.17em;text-transform:uppercase;margin:0 0 8px;font-weight:750;color:#a0775e!important;font-size:8px!important}.welcome h1,.page-title h1{letter-spacing:-.025em;margin:0;font:500 32px/1.1 Georgia,serif}.welcome h1 span{color:#a16faf;font-size:22px}.welcome p,.page-title p{color:var(--muted);margin:7px 0 0;font-size:11px}.week-ring{color:var(--muted);align-items:center;gap:13px;font-size:8px;display:flex}.week-ring div{background:conic-gradient(#976aad 0 78%,#e3ded5 78%);border-radius:50%;justify-content:center;align-items:center;gap:4px;width:58px;height:58px;display:flex;position:relative}.week-ring div:before{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:5px}.week-ring strong,.week-ring small{z-index:1}.week-ring strong{color:var(--ink);font:600 20px Georgia,serif}.week-ring small{font-size:6px;line-height:1.25}.continue-card{background:var(--paper);border:1px solid var(--line);min-height:286px;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:40% 60%;display:grid;overflow:hidden}.project-art{background:radial-gradient(circle at 20% 10%,#ffffffb3,#0000 35%),linear-gradient(145deg,#c5b19f,#9f8978);place-items:center;min-height:286px;display:grid;position:relative;overflow:hidden}.project-art:before,.project-art:after{content:"";border:8px solid #543d2f1f;border-radius:50%;width:190px;height:22px;position:absolute;transform:rotate(-12deg)}.project-art:after{width:240px;transform:rotate(18deg)}.project-art>span{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.11em;background:#2f27227a;border:1px solid #ffffff38;border-radius:5px;padding:6px 9px;font-size:7px;position:absolute;bottom:15px;left:18px}.yarn-ball{background:repeating-linear-gradient(18deg,#c8acd0 0 8px,#b895c3 9px 11px,#d6bddc 12px 18px);border-radius:55% 50% 52% 45%;width:150px;height:132px;position:relative;transform:rotate(-8deg);box-shadow:0 30px 35px #33231e3d}.yarn-ball i{border:4px solid #6d477647;border-radius:50%;width:110px;height:32px;display:block;position:absolute;top:45px;left:18px;transform:rotate(36deg)}.yarn-ball i:nth-child(2){top:55px;transform:rotate(-42deg)}.yarn-ball i:nth-child(3){width:130px;top:55px;left:5px;transform:rotate(3deg)}.section-label{color:#9a6c56;letter-spacing:.14em;justify-content:space-between;font-size:7px;font-weight:750;display:flex}.section-label b{color:#aaa59e}.continue-copy h2{margin:17px 0 4px;font:500 26px/1.1 Georgia,serif}.continue-copy>p{color:var(--muted);margin:0 0 22px;font-size:10px}.progress{background:#e7e1da;border-radius:4px;height:5px;overflow:hidden}.progress i{border-radius:inherit;background:linear-gradient(90deg,#a477b7,#8c5aa2);height:100%;display:block}.progress-meta{color:#89847d;justify-content:space-between;margin-top:8px;font-size:8px;display:flex}.continue-actions{align-items:center;gap:8px;margin-top:25px;display:flex}.primary{background:var(--purple);color:#fff;border:0;border-radius:8px;padding:11px 16px;font-size:10px;font-weight:700;box-shadow:0 4px 12px #6f457f2b}.primary:hover{background:var(--purple-dark)}.primary span{margin-left:18px}.icon-button{border:1px solid var(--line);color:#746f69;background:0 0;border-radius:8px;width:36px;height:36px}.section-head{justify-content:space-between;align-items:end;margin:35px 1px 16px;display:flex}.section-head h2,.panel-title h2{margin:0;font:500 18px/1.2 Georgia,serif}.section-head p,.panel-title p{color:var(--muted);margin:4px 0 0;font-size:9px}.section-head>button,.panel-title>button{color:#805294;background:0 0;border:0;font-size:9px;font-weight:650}.section-head button span{margin-left:6px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.project-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:0;transition:all .2s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-thumb{background:linear-gradient(145deg,var(--project-color),var(--project-color));height:106px}@supports (color:color-mix(in lab, red, red)){.project-thumb{background:linear-gradient(145deg,color-mix(in srgb,var(--project-color) 50%,#f2e9df),color-mix(in srgb,var(--project-color) 75%,#7d736a))}}.project-thumb{place-items:center;display:grid;position:relative;overflow:hidden}.project-thumb:after{content:"";border:12px solid #ffffff1f;border-radius:50%;width:150px;height:70px;position:absolute;transform:rotate(-14deg)}.stitch-lines{letter-spacing:3px;color:#382c314a;text-shadow:0 1px #ffffff47;font:26px/1 Georgia,serif;transform:rotate(-4deg)}.project-thumb>span{z-index:1;color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#26221f80;border-radius:4px;padding:4px 7px;font-size:7px;position:absolute;bottom:9px;left:10px}.project-body{padding:14px 14px 13px}.project-body>div:first-child{justify-content:space-between;gap:6px;display:flex}.project-body h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font:600 14px Georgia,serif;overflow:hidden}.project-body button{color:#9b968f;background:0 0;border:0;font-size:8px}.project-body p{height:25px;color:var(--muted);margin:5px 0 15px;font-size:8px;line-height:1.5}.progress.small{height:3px}.dashboard-lower{grid-template-columns:.85fr 1.15fr;gap:15px;margin-top:15px;display:grid}.counter-panel,.activity-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:19px 20px}.panel-title{align-items:center;gap:10px;display:flex}.panel-title>button{margin-left:auto}.panel-icon{border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.panel-icon.lilac{color:#835497;background:#eee2f3}.panel-icon.honey{color:#a26d36;background:#f7e8cf}.counter{background:#f2eee8;border-radius:10px;justify-content:space-between;align-items:center;margin:17px 0 13px;padding:12px 14px;display:flex}.counter>div:first-child{align-items:baseline;gap:7px;display:flex}.counter span{color:#8e8880;letter-spacing:.12em;font-size:7px}.counter strong{font:600 34px Georgia,serif}.counter small{color:#8e8880;font-size:9px}.counter-buttons{gap:7px;display:flex}.counter-buttons button{color:#766f68;background:#fffdf8;border:1px solid #ddd6cd;border-radius:8px;width:36px;height:36px;font-size:20px}.counter-buttons .plus{color:#fff;background:#34312e;border-color:#34312e}.counter-project{color:#7f7a73;margin:0;font-size:8px}.counter-project span{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.week-chart{border-bottom:1px solid #e7e2da;justify-content:space-around;align-items:end;height:82px;margin:11px 0 8px;display:flex}.week-chart div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.week-chart i{background:#d9d2c9;border-radius:4px 4px 0 0;width:7px;display:block}.week-chart i.today{background:#9a6daf}.week-chart span{color:#9b958d;font-size:6px}.week-stats{grid-template-columns:repeat(3,1fr);display:grid}.week-stats div{border-left:1px solid #eee9e1;padding-left:12px}.week-stats div:first-child{border:0;padding-left:0}.week-stats strong,.week-stats span{display:block}.week-stats strong{font:600 12px Georgia,serif}.week-stats span{color:#8e8981;margin-top:2px;font-size:7px}.new-project-card{text-align:left;width:100%;color:var(--ink);background:#ffffff52;border:1px dashed #c8bfc4;border-radius:11px;align-items:center;gap:12px;margin-top:15px;padding:14px 17px;display:flex}.new-project-card>span{color:#865a98;background:#e6d5ec;border-radius:8px;place-items:center;width:31px;height:31px;font-size:18px;display:grid}.new-project-card strong,.new-project-card small{display:block}.new-project-card strong{font:600 11px Georgia,serif}.new-project-card small{color:#918b84;margin-top:3px;font-size:8px}.new-project-card b{color:#895d99;margin-left:auto}.view{min-height:calc(100vh - 180px)}.view.narrow{max-width:820px}.page-title{justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px;display:flex}.title-actions{gap:8px;display:flex}.title-actions>button:not(.primary){border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:10px 13px;font-size:10px}.filter-row{border-bottom:1px solid var(--line);gap:5px;margin-bottom:22px;display:flex}.filter-row button{color:#858078;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 12px;font-size:9px}.filter-row button.selected{color:#704782;border-color:#8f5ea8;font-weight:700}.filter-row b{color:#805591;background:#eee5f1;border-radius:8px;margin-left:3px;padding:2px 5px}.filter-row select{color:#7f7971;background:0 0;border:0;margin-left:auto;font-size:9px}.project-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid.large .project-thumb{height:160px}.project-grid.large .project-body{padding:18px}.project-grid.large .project-body h3{font-size:17px}.pattern-layout{grid-template-columns:210px 1fr;align-items:start;gap:18px;display:grid}.pattern-outline{background:#eee9e1;border-radius:12px;padding:18px 12px;position:sticky;top:90px}.pattern-outline>p{letter-spacing:.15em;color:#9a938a;padding:0 8px;font-size:7px}.pattern-outline>button{color:#777169;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;padding:8px;font-size:9px;display:flex}.pattern-outline>button span{border:1px solid #d7d0c7;border-radius:50%;place-items:center;width:20px;height:20px;font-size:7px;display:grid}.pattern-outline>button.active{background:var(--paper);color:#704882;font-weight:700}.pattern-outline>button.active span{color:#fff;background:#9a6dae;border-color:#9a6dae}.pattern-progress{border-top:1px solid #ddd7ce;margin:14px 7px 0;padding-top:15px}.pattern-progress strong,.pattern-progress span{display:block}.pattern-progress strong{font:600 20px Georgia,serif}.pattern-progress span{color:#8e8880;margin:2px 0 10px;font-size:7px}.step-workspace{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.step-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:25px 28px 20px;display:flex}.step-head span{color:#966c56;letter-spacing:.14em;font-size:7px;font-weight:750}.step-head h2{margin:7px 0 3px;font:500 25px Georgia,serif}.step-head p{color:#837e77;margin:0;font-size:9px}.step-head button{color:#99948e;background:0 0;border:0}.step-list{padding:8px}.pattern-step{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:10px;grid-template-columns:35px 1fr 15px;align-items:center;gap:10px;padding:14px 13px;display:grid}.pattern-step:hover{background:#f5f1eb}.pattern-step+.pattern-step{border-top:1px solid #eee9e2}.check{border:1px solid #d9d2ca;border-radius:50%;place-items:center;width:28px;height:28px;font:600 10px Georgia,serif;display:grid}.pattern-step>span:nth-child(2) small,.pattern-step>span:nth-child(2) strong{display:block}.pattern-step small{letter-spacing:.11em;color:#a09a92;margin-bottom:5px;font-size:6px}.pattern-step strong{font:500 11px/1.5 Georgia,serif}.pattern-step>i{color:#aaa49c;font-style:normal}.pattern-step.complete{opacity:.55}.pattern-step.complete .check{color:#fff;background:#7a9d93;border-color:#7a9d93}.pattern-step.complete strong{text-decoration:line-through}.pattern-tools{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.pattern-tools button{border:0;border-right:1px solid var(--line);text-align:left;background:#faf7f2;grid-template-columns:26px 1fr;column-gap:8px;padding:14px;display:grid}.pattern-tools button:last-child{border:0}.pattern-tools span{color:#825494;background:#eee5f1;border-radius:6px;grid-row:1/3;place-items:center;width:25px;height:25px;display:grid}.pattern-tools strong{font-size:8px}.pattern-tools small{color:#928c84;margin-top:2px;font-size:7px}.stash-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px;display:grid}.stash-summary>div{background:var(--paper);border:1px solid var(--line);border-radius:11px;grid-template-columns:34px 1fr;column-gap:10px;padding:17px;display:grid}.stash-summary span{color:#855995;background:#ece1f0;border-radius:8px;grid-row:1/3;place-items:center;width:32px;height:32px;display:grid}.stash-summary strong{font:600 18px Georgia,serif}.stash-summary small{color:#8c867f;font-size:8px}.stash-summary .warning span{color:#a26150;background:#f5e3db}.stash-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stash-grid article{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.skein{place-items:center;height:115px;display:grid;position:relative;overflow:hidden}.skein:before{content:"";background:inherit;border-radius:45%;width:100px;height:64px;box-shadow:inset 0 0 0 14px #ffffff21,0 13px 20px #281e1e2e}.skein i{background:#ffffff3b;width:100px;height:2px;position:absolute;transform:rotate(25deg)}.skein i:nth-child(2){transform:rotate(-25deg)}.skein span{color:#fff;background:#27221f80;border-radius:4px;padding:4px 6px;font-size:6px;position:absolute;bottom:8px;left:8px}.stash-grid article>div:last-child{padding:13px}.stash-grid small{color:#9b958e;font-size:7px}.stash-grid h3{margin:3px 0 8px;font:600 13px Georgia,serif}.stash-grid p{color:#716c65;margin:0 0 12px;font-size:8px}.stash-grid p i{border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.stash-grid dl{gap:5px;margin:0;display:grid}.stash-grid dl div{justify-content:space-between;font-size:7px;display:flex}.stash-grid dt{color:#a09a93}.stash-grid dd{margin:0}.session-hero{background:var(--paper);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:25px;padding:22px;display:grid}.session-hero p{color:#9a7159;letter-spacing:.13em;margin:0;font-size:7px}.session-hero strong,.session-hero span{display:block}.session-hero>div:first-child strong{margin:5px 0 2px;font:500 25px Georgia,serif}.session-hero>div:first-child span{color:#8d8780;font-size:8px}.heatmap{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.heatmap i{aspect-ratio:1;background:#e9e4dc;border-radius:3px;max-width:15px}.heatmap i.warm{background:#d7c1df}.heatmap i.hot{background:#9e72ae}.streak-callout{border-left:1px solid var(--line);align-items:center;gap:10px;padding-left:22px;display:flex}.streak-callout>span{color:#d09d58;font-size:24px}.streak-callout strong{font:600 12px Georgia,serif}.streak-callout small{color:#928c84;margin-top:3px;font-size:7px}.session-list{gap:8px;display:grid}.session-list article{background:var(--paper);border:1px solid var(--line);border-radius:10px;grid-template-columns:35px 1fr auto 20px;align-items:center;gap:10px;padding:12px 15px;display:grid}.session-dot{color:#855897;background:#eee5f1;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.session-list small,.session-list strong,.session-list p{display:block}.session-list small{color:#9c968f;font-size:7px}.session-list strong{margin:3px 0;font:600 11px Georgia,serif}.session-list p{color:#837d76;margin:0;font-size:8px}.session-list>article>b{font:600 12px Georgia,serif}.session-list button{color:#9a958e;background:0 0;border:0}.stitch-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.stitch-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.stitch-card>button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;grid-template-columns:110px 1fr 20px;align-items:center;gap:15px;padding:12px;display:grid}.stitch-visual{color:#745082;background:#eadff0;border-radius:9px;place-items:center;height:82px;display:grid;position:relative}.stitch-card.honey .stitch-visual{color:#906832;background:#f3e3c8}.stitch-card.mint .stitch-visual{color:#547c72;background:#d9e9e2}.stitch-card.rose .stitch-visual{color:#955e65;background:#efdadd}.stitch-visual>span{font:700 18px Georgia,serif}.stitch-visual>div{letter-spacing:2px;font-size:14px}.stitch-card small{color:#9b7562;text-transform:uppercase;letter-spacing:.1em;font-size:7px}.stitch-card h3{margin:4px 0;font:600 14px Georgia,serif}.stitch-card p{color:#8c867f;margin:0;font-size:8px}.stitch-card>button>i{color:#8a5d9a;font-style:normal}.stitch-card ol{border-top:1px solid var(--line);gap:7px;margin:0;padding:10px 13px 14px;list-style:none;display:grid}.stitch-card li{grid-template-columns:20px 45px 1fr;align-items:center;gap:8px;display:grid}.stitch-card li>span{background:#eee7f0;border-radius:50%;place-items:center;width:19px;height:19px;font-size:7px;display:grid}.hook-demo{color:#9369a2;background:#eee9e2;border-radius:5px;place-items:center;height:30px;font-size:20px;display:grid}.stitch-card li p{font-size:8px}.library-count{text-align:center;color:#52756d;background:#e1ece7;border:1px solid #cfdfd8;border-radius:10px;min-width:110px;padding:12px 15px}.library-count strong,.library-count span{display:block}.library-count strong{font:600 22px Georgia,serif}.library-count span{text-transform:uppercase;letter-spacing:.1em;margin-top:2px;font-size:7px}.stitch-filters{scrollbar-width:none}.stitch-filters button{align-items:center;gap:4px;display:flex}.library-results{color:#8e8880;justify-content:space-between;align-items:center;min-height:26px;margin:-10px 0 14px;font-size:8px;display:flex}.library-results p{color:#55766f;background:#e4eee9;border-radius:6px;margin:0;padding:6px 9px}.empty-library{text-align:center;color:#918b84;align-content:center;place-items:center;min-height:280px;display:grid}.empty-library>span{font-size:28px}.empty-library h3{color:var(--ink);margin:10px 0 3px;font:600 16px Georgia,serif}.empty-library p{margin:0;font-size:9px}.notes-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.notes-grid article{border:1px solid var(--line);background:#fffdf7;border-radius:3px 3px 11px;min-height:170px;padding:18px;box-shadow:3px 3px #e8e1d7}.notes-grid article>span{color:#9264a1}.notes-grid small{color:#9c7560;text-transform:uppercase;letter-spacing:.1em;margin-top:15px;font-size:7px;display:block}.notes-grid h3{margin:5px 0 8px;font:600 15px Georgia,serif}.notes-grid p{color:#736e67;font-size:9px;line-height:1.55}.notes-grid button{color:#865895;background:0 0;border:0;padding:8px 0 0;font-size:8px}.settings-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:13px;padding:20px}.settings-card h2{margin:0 0 17px;font:600 16px Georgia,serif}.account-row{align-items:center;gap:12px;display:flex}.avatar.large{width:44px;height:44px;font-size:14px}.account-row strong,.account-row small{display:block}.account-row strong{font:600 12px Georgia,serif}.account-row small{color:#8d8780;margin-top:3px;font-size:8px}.account-row button,.settings-actions button,.import-button{border:1px solid var(--line);background:#fff;border-radius:7px;margin-left:auto;padding:8px 11px;font-size:8px}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 0;display:flex}.settings-card label strong,.settings-card label small{display:block}.settings-card label small{color:#918b83;margin-top:3px;font-size:8px}.settings-card select{border:1px solid var(--line);color:var(--ink);background:#fffdfa;border-radius:7px;padding:7px;font-size:8px}.settings-card>p{color:#847e77;font-size:9px}.settings-actions{gap:8px;margin-top:14px;display:flex}.settings-actions button,.settings-actions .import-button{margin:0}.import-button{cursor:pointer;color:var(--ink)}.import-button input{opacity:0;clip-path:inset(50%);pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.mobile-tabs,.scrim{display:none}.toast{z-index:100;color:#fff;background:#302e2a;border-radius:9px;align-items:center;gap:9px;padding:11px 16px;font-size:9px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 15px 35px #0003}.toast span{background:#789e92;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.modal-wrap{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d1b19a3;border:0;position:absolute;inset:0}.modal{z-index:1;background:var(--paper);border-radius:16px;width:min(440px,100%);max-height:90vh;padding:29px;position:relative;overflow:auto;box-shadow:0 24px 70px #0000004d}.modal-close{color:#736e67;background:#eee9e2;border:0;border-radius:50%;width:27px;height:27px;font-size:18px;position:absolute;top:12px;right:15px}.modal h2{margin:0;font:500 24px Georgia,serif}.modal>p:not(.eyebrow){color:#817b74;margin:6px 0 20px;font-size:9px}.modal-form{gap:13px;display:grid}.modal-form label{color:#6f6963;gap:6px;font-size:8px;font-weight:650;display:grid}.modal-form input,.modal-form textarea,.modal-form select,.session-note{color:#292723;resize:vertical;background:#fff;border:1px solid #ded8cf;border-radius:8px;width:100%;padding:10px;font-size:10px}.form-split{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-form .primary{margin-top:3px}.text-button{color:#805490;background:0 0;border:0;font-size:8px}.form-error{background:#f7e5e6;border-radius:6px;padding:8px;color:#a84f56!important;margin:0!important}.import-tabs{border-bottom:1px solid var(--line);margin-bottom:15px;display:flex}.import-tabs button{color:#8d8780;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:9px;font-size:8px}.import-tabs button.active{color:#795087;border-color:#9162a2;font-weight:700}.dropzone{text-align:center;cursor:pointer;background:#f6f0f7;border:1px dashed #bdb2bc;border-radius:10px;align-content:center;place-items:center;gap:5px;height:145px;display:grid}.dropzone span{color:#8c5e9c;font-size:22px}.dropzone strong{font-size:10px}.dropzone small{color:#918a93;font-size:7px}.dropzone input{opacity:0;pointer-events:none;position:absolute}.legal-note{background:#f2ede6;border-radius:7px;padding:10px;line-height:1.5;color:#7d766e!important;margin:0!important}.primary.full{width:100%;margin-top:15px}.timer-ring{border:8px solid #e9e1e9;border-top-color:#a775b9;border-radius:50%;align-content:center;place-items:center;width:190px;height:190px;margin:18px auto;transition:all .3s;display:grid}.timer-ring.running{border-right-color:#a775b9;animation:2s infinite pulse}.timer-ring span{font:500 31px var(--font-geist-mono),monospace}.timer-ring small{letter-spacing:.12em;color:#90888d;margin-top:5px;font-size:6px}.timer-actions{justify-content:center;align-items:center;gap:20px;margin-bottom:17px;display:flex}.timer-actions button{border:1px solid var(--line);color:#786f78;background:#fff;border-radius:50%;width:34px;height:34px}.timer-actions .timer-play{color:#fff;background:#8e5ba1;border:0;width:49px;height:49px}.session-note{min-height:64px}@keyframes pulse{50%{opacity:.5}}@keyframes heart-orbit{0%{transform:translate(-50%,-50%)rotate(0)translate(15px)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)translate(15px)rotate(-360deg)}}@keyframes heart-pulse{50%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.heart-logo i{animation:none}.heart-one{transform:translate(12px,-10px)}.heart-two{transform:translate(-17px,7px)}}@media (prefers-color-scheme:dark){:root{--bg:#1d1c1a;--paper:#272522;--ink:#f0ece5;--muted:#aaa49d;--line:#3a3732;--sidebar:#151513}.topbar{background:#1d1c1ae0}.search,.modal-form input,.modal-form textarea,.modal-form select,.session-note,.settings-card select{color:var(--ink);background:#211f1d;border-color:#45413b}.continue-card,.project-card,.counter-panel,.activity-panel,.step-workspace,.stash-summary>div,.stash-grid article,.session-hero,.session-list article,.stitch-card,.settings-card{box-shadow:none}.project-body p,.continue-copy>p{color:#aaa39b}.counter,.pattern-outline{background:#211f1d}.counter-buttons button,.account-row button,.settings-actions button{color:var(--ink);background:#302d29;border-color:#48443f}.pattern-step:hover{background:#302d29}.pattern-tools button{background:#211f1d}.notes-grid article{background:#292620;box-shadow:3px 3px #37322b}.new-project-card{background:#ffffff05}.week-ring div:before{background:var(--bg)}}@media (max-width:1180px){.sidebar{transition:transform .25s;overflow:hidden;transform:translate(-100%);box-shadow:10px 0 30px #0000002e}.sidebar.open{overflow-y:auto;transform:translate(0)}.scrim{z-index:35;background:#00000073;border:0;display:block;position:fixed;inset:0}.mobile-menu{color:var(--ink);display:block}main{margin-left:0}.topbar{padding:0 22px}.content{padding:32px 25px 85px}.project-grid.large,.stash-grid{grid-template-columns:repeat(2,1fr)}.pattern-layout{grid-template-columns:170px 1fr}}@media (max-width:650px){.topbar{gap:10px;height:58px;padding:0 15px}.search{flex:1;width:auto}.search kbd,.top-actions>button:not(.start-session){display:none}.top-actions .start-session{width:35px;height:35px;padding:0;font-size:0}.start-session span{margin:0;font-size:11px}.content{padding:24px 15px 85px}.welcome{align-items:flex-start}.welcome h1,.page-title h1{font-size:27px}.week-ring>span{display:none}.week-ring div{width:50px;height:50px}.continue-card{grid-template-columns:1fr}.project-art{min-height:180px}.continue-copy{padding:23px}.project-grid,.project-grid.large{scroll-snap-type:x mandatory;grid-template-columns:1fr;grid-auto-columns:82%;grid-auto-flow:column;padding-bottom:5px;overflow-x:auto}.project-card{scroll-snap-align:start}.dashboard-lower{grid-template-columns:1fr}.activity-panel{order:-1}.mobile-tabs{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);height:62px;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:#23211ef5;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 25px #0000001f}.mobile-tabs button{color:#8f8a84;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:7px;display:flex}.mobile-tabs span{font-size:17px}.mobile-tabs button.active{color:#e3c4ed}.page-title{flex-direction:column;align-items:flex-start;margin-bottom:22px}.page-title>.primary{align-self:stretch}.filter-row{overflow:auto}.filter-row button{white-space:nowrap}.filter-row select{display:none}.project-grid.large .project-thumb{height:140px}.pattern-view .page-title{gap:15px}.title-actions{width:100%}.title-actions button{flex:1}.pattern-layout{grid-template-columns:1fr}.pattern-outline{padding:8px;display:flex;position:static;overflow:auto}.pattern-outline>p,.pattern-outline .pattern-progress{display:none}.pattern-outline>button{white-space:nowrap;width:auto}.step-head{padding:20px}.pattern-step{grid-template-columns:31px 1fr}.pattern-step>i{display:none}.pattern-tools button{text-align:center;grid-template-columns:1fr}.pattern-tools span{grid-row:auto;margin:auto}.pattern-tools small{display:none}.stash-summary{grid-template-columns:1fr 1fr}.stash-summary>div:last-child{grid-column:1/-1}.stash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-hero{grid-template-columns:1fr 1fr}.session-hero .heatmap{grid-area:2/1/auto/-1}.streak-callout{padding-left:15px}.session-list article{grid-template-columns:32px 1fr auto}.session-list button{display:none}.stitch-grid{grid-template-columns:1fr}.stitch-card>button{grid-template-columns:90px 1fr 15px}.stitch-card li{grid-template-columns:20px 35px 1fr}.notes-grid{grid-template-columns:1fr}.setting-row{gap:10px}.account-row{flex-wrap:wrap}.modal{padding:25px 20px}.toast{white-space:nowrap;bottom:75px}.form-split{grid-template-columns:1fr}.counter-panel,.activity-panel{padding:17px}}.impersonation-banner{color:#f8effa;min-height:44px;font-size:var(--font-xs);background:#5d3a67;justify-content:center;align-items:center;gap:8px;padding:6px 14px;display:flex}.impersonation-banner>span{color:#4b2855;text-transform:uppercase;background:#f1d9f5;border-radius:20px;padding:4px 7px;font-weight:800}.impersonation-banner button{color:#fff;background:0 0;border:1px solid #ffffff57;border-radius:7px;min-height:34px;margin-left:8px;font-weight:700}.profile-picker{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.profile-picker button{border:2px solid var(--line);background:var(--paper);min-height:116px;color:var(--ink);border-radius:13px;align-content:center;place-items:center;gap:5px;display:grid}.profile-picker button.selected{background:var(--paper);border-color:#9867aa}@supports (color:color-mix(in lab, red, red)){.profile-picker button.selected{background:color-mix(in srgb,var(--paper) 72%,var(--lilac))}}.profile-picker button.selected{box-shadow:0 0 0 3px #9764a91f}.profile-picker strong,.profile-picker small{display:block}.profile-picker small{color:var(--muted)}.pin-login input,.pin-setup input{text-align:center;min-height:54px;font:700 24px/1 var(--font-geist-mono),monospace;letter-spacing:.3em}.pin-setup{gap:10px}.profile-setup{border:1px solid var(--line);border-radius:10px;grid-template-columns:70px 1fr 1fr;align-items:end;gap:8px;padding:10px;display:grid}.profile-setup>strong{font:600 var(--font-md) Georgia,serif;align-self:center}.account-modal{place-items:center;gap:12px;padding:10px 0 2px;display:grid}.account-modal .primary{width:100%}.admin-grid{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:14px;display:grid}.admin-card{border:1px solid var(--line);background:var(--paper);min-width:0;box-shadow:var(--shadow);border-radius:13px;padding:18px}.admin-card-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-card-head>span{color:#80518f;background:#ecdef1;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.admin-card-head h2{font:600 var(--font-lg) Georgia,serif;margin:0 0 3px}.admin-card-head p{color:var(--muted);font-size:var(--font-xs);margin:0}.admin-card-head>b{color:#795087;background:#eee4f1;border-radius:50%;place-items:center;min-width:30px;height:30px;margin-left:auto;display:grid}.invite-card{grid-row:span 2}.invite-result{background:var(--paper);border-radius:9px;gap:7px;margin-top:14px;padding:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.invite-result{background:color-mix(in srgb,var(--paper) 72%,#dceae4)}}.invite-result input{border:1px solid var(--line);background:var(--paper);width:100%;min-height:44px;color:var(--ink);font-size:var(--font-xs);border-radius:7px;padding:8px}.invite-result button,.admin-user-list button,.trash-list button{border:1px solid var(--line);background:var(--paper);color:#774b89;min-height:44px;font-size:var(--font-xs);border-radius:8px;font-weight:750}.admin-user-list,.trash-list{gap:7px;display:grid}.admin-user-list article,.trash-list article{border:1px solid var(--line);background:var(--paper);border-radius:9px;align-items:center;gap:10px;min-height:68px;padding:9px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-user-list article,.trash-list article{background:color-mix(in srgb,var(--paper) 88%,var(--bg))}}.admin-user-list article>div,.trash-list article>div{flex:1;min-width:0}.admin-user-list strong,.admin-user-list small,.trash-list strong,.trash-list small{display:block}.admin-user-list strong,.trash-list strong{font-size:var(--font-sm)}.admin-user-list strong b{color:#754786;font-size:var(--font-micro);background:#e7d6ec;border-radius:4px;margin-left:6px;padding:2px 5px}.admin-user-list small,.trash-list small{color:var(--muted);font-size:var(--font-micro);margin-top:4px}.admin-user-list button,.trash-list button{padding-inline:12px}.trash-list>article>span{color:#986b55;background:#eee6df;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.admin-empty{text-align:center;min-height:145px;color:var(--muted);align-content:center;place-items:center;display:grid}.admin-empty>span{color:#547b70;background:#dbe9e3;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.admin-empty strong{color:var(--ink);margin-top:8px}.admin-empty p{font-size:var(--font-xs);margin:3px 0 0}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}.invite-card{grid-row:auto}}@media (max-width:650px){.impersonation-banner{flex-wrap:wrap;padding-block:8px}.impersonation-banner button{min-height:44px}.profile-setup{grid-template-columns:1fr}.admin-card{padding:14px}.admin-user-list article,.trash-list article{flex-wrap:wrap;align-items:flex-start}.admin-user-list article button,.trash-list article button,.admin-view .page-title>.primary{width:100%}.invite-result button{min-height:48px}}.preview-studio{color:#f4efe8;background:#11100f;min-height:100dvh;overflow:hidden}.preview-header{z-index:2;background:#141312f5;border-bottom:1px solid #34312e;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:20px;min-height:76px;padding:13px 22px;display:grid;position:relative}.preview-brand{align-items:center;gap:11px;min-width:0;display:flex}.preview-heart{color:#a84f78;background:radial-gradient(circle,#f5e3ee 0 48%,#d8a8c4 49% 54%,#0000 55%);border-radius:50%;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.preview-brand strong,.preview-brand small{display:block}.preview-brand strong{font:600 16px Georgia,serif}.preview-brand small{color:#96908a;margin-top:2px;font-size:9px}.preview-device-tabs{background:#191817;border:1px solid #393633;border-radius:12px;gap:3px;padding:4px;display:flex}.preview-device-tabs button,.preview-actions button,.preview-actions a{color:#aaa49e;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 13px;font-size:11px;text-decoration:none;display:inline-flex}.preview-device-tabs button:hover,.preview-actions button:hover,.preview-actions a:hover{color:#fff;background:#2a2825}.preview-device-tabs button.active{color:#fff;background:#774b89;box-shadow:0 5px 16px #55316552}.preview-device-tabs button span{font-size:18px}.preview-actions{justify-self:end;gap:5px;display:flex}.preview-actions button{border:1px solid #393633}.preview-actions button:disabled{opacity:.35;cursor:not-allowed}.preview-actions a{color:#151311;background:#eee7dc;font-weight:700}.preview-actions a:hover{color:#151311;background:#fff}.preview-meta{background:#171615;border-bottom:1px solid #2b2927;justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:12px 24px;display:flex}.preview-meta div{align-items:baseline;gap:10px;display:flex}.preview-meta strong{font:600 17px Georgia,serif}.preview-meta span,.preview-meta p{color:#938d87;font-size:10px}.preview-meta p{text-align:right;margin:0}.preview-stage{background:radial-gradient(circle at 50% 0,#29231f 0,#0000 38%),#0e0d0c;place-items:center;height:calc(100dvh - 142px);min-height:450px;padding:24px;display:grid;overflow:auto}.device-frame{background:#090909;border-radius:15px;flex:none;transition:width .25s,height .25s;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000008c,0 0 0 1px #48433f}.device-frame.ipad{border-radius:20px;box-shadow:0 28px 80px #0000008c,0 0 0 8px #211f1d,0 0 0 9px #4a4641}.device-frame.iphone{border-radius:28px;box-shadow:0 28px 80px #0000008c,0 0 0 9px #211f1d,0 0 0 10px #4a4641}.device-frame iframe{background:#1d1c1a;border:0;display:block}.stitch-visual.illustrated{background-color:#eee6dc;padding:0;overflow:hidden}.stitch-visual.illustrated img{object-fit:cover;width:100%;height:100%;display:block}.stitch-visual-fallback{align-content:center;gap:3px}.stitch-step-image{aspect-ratio:1.22;background-color:#eee6dc;background-repeat:no-repeat;background-size:300%;border-radius:10px;width:clamp(92px,18vw,150px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #4b3a321a}.stitch-card li.has-step-image{grid-template-columns:28px clamp(92px,18vw,150px) minmax(0,1fr);align-items:center}.stitch-load-more{place-items:center;margin:18px 0 4px;display:grid}.stitch-load-more button{border:1px solid var(--line);background:var(--paper);min-height:48px;color:var(--ink);font-size:var(--font-xs);box-shadow:var(--shadow);border-radius:10px;padding:0 20px;font-weight:750}.stitch-load-more span{color:var(--muted);margin-left:6px;font-weight:500}.library-mode-tabs{border:1px solid var(--line);background:var(--paper);border-radius:12px;gap:6px;margin:0 0 18px;padding:5px;display:inline-flex}.library-mode-tabs button{min-height:44px;color:var(--muted);font-size:var(--font-xs);background:0 0;border:0;border-radius:8px;padding:0 16px;font-weight:700}.library-mode-tabs button.active{color:#fff;background:#8c5ca0;box-shadow:0 4px 14px #69437533}.library-mode-tabs b,.abbreviation-filters b{font-size:var(--font-micro);background:#8058901f;border-radius:20px;margin-left:5px;padding:2px 6px}.library-mode-tabs button.active b{background:#ffffff2e}.abbreviation-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.abbreviation-toolbar label{border:1px solid var(--line);background:var(--paper);width:min(100%,520px);min-height:48px;color:var(--muted);border-radius:10px;align-items:center;gap:9px;padding:0 14px;display:flex}.abbreviation-toolbar input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.abbreviation-toolbar>span{color:var(--muted);font-size:var(--font-xs);white-space:nowrap}.abbreviation-filters{margin-bottom:13px}.terminology-note{background:var(--paper);border-radius:9px;margin:0 0 16px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.terminology-note{background:color-mix(in srgb,var(--paper) 72%,#dceae4)}}.terminology-note{color:var(--muted);font-size:var(--font-xs);line-height:1.45}.abbreviation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:11px;display:grid}.abbreviation-grid article{border:1px solid var(--line);background:var(--paper);min-height:128px;box-shadow:var(--shadow);border-radius:11px;align-content:start;gap:5px;padding:16px;display:grid}.abbreviation-grid article>span{color:#96705e;font-size:var(--font-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:750}.abbreviation-grid article>strong{color:#8f5ea8;font:700 clamp(18px,2vw,24px)/1.1 var(--font-geist-mono),monospace;overflow-wrap:anywhere;margin-top:4px}.abbreviation-grid article>p{color:var(--ink);font-size:var(--font-sm);margin:2px 0 0;line-height:1.4}.abbreviation-grid article>small{color:var(--muted);font-size:var(--font-micro);line-height:1.35}@media (max-width:650px){.search input{min-height:44px}.stitch-card li.has-step-image{grid-template-columns:28px minmax(0,1fr)}.stitch-card li.has-step-image .stitch-step-image{aspect-ratio:1.65;grid-column:2;width:100%}.stitch-card li.has-step-image p{grid-column:2;margin-top:2px}.library-mode-tabs{width:100%}.library-mode-tabs button{flex:1;min-width:0;padding-inline:8px}.abbreviation-toolbar{flex-direction:column;align-items:stretch;gap:7px}.abbreviation-toolbar label{width:100%}.abbreviation-toolbar>span{align-self:flex-end}.abbreviation-grid{grid-template-columns:1fr 1fr;gap:8px}.abbreviation-grid article{min-height:118px;padding:13px}}@media (max-width:420px){.abbreviation-grid{grid-template-columns:1fr}}@media (max-width:900px){.preview-header{grid-template-columns:1fr auto}.preview-brand small{display:none}.preview-device-tabs{grid-area:2/1/auto/-1;justify-self:center}.preview-actions span,.preview-meta p{display:none}.preview-stage{height:calc(100dvh - 196px)}}@media (max-width:520px){.preview-header{gap:8px;padding:10px 12px}.preview-brand strong{font-size:13px}.preview-heart{width:32px;height:32px}.preview-actions a{display:none}.preview-device-tabs{width:100%}.preview-device-tabs button{flex:1;padding-inline:8px;font-size:9px}.preview-meta{min-height:55px;padding-inline:14px}.preview-stage{height:calc(100dvh - 177px);padding:18px 12px}.device-frame.iphone{box-shadow:0 20px 50px #00000080,0 0 0 5px #211f1d,0 0 0 6px #4a4641}}.active-context-card{background:linear-gradient(135deg,var(--paper),var(--paper));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:14px;margin:-8px 0 20px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.active-context-card{background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 92%,#d9c0e4),var(--paper))}}.active-context-card{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px}.active-context-card>div{gap:6px;min-width:0;display:grid}.active-context-card>div>span,.library-panel-head>div span,.workspace-pattern-title span{color:#9a6f59;font-size:var(--font-micro);letter-spacing:.14em;font-weight:750}.active-context-card select,.import-project-select select{background:var(--paper);width:100%;min-height:44px;color:var(--ink);font-size:var(--font-sm);border:1px solid #ded7cf;border-radius:8px;padding:0 34px 0 11px}.active-context-card>button{color:#fff;min-height:44px;font-size:var(--font-xs);white-space:nowrap;background:#302d2a;border:0;border-radius:8px;padding:0 14px;font-weight:700}.context-arrow{color:#9e72ae;align-self:center;font-size:20px}.pattern-library-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.pattern-library-panel,.pattern-workspace-panel{border:1px solid var(--line);background:var(--paper);border-radius:14px;min-width:0;overflow:hidden}.pattern-library-panel{position:sticky;top:84px}.library-panel-head{border-bottom:1px solid var(--line);padding:16px}.library-panel-head>div{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.library-panel-head>div strong{font:600 var(--font-sm) Georgia,serif}.library-panel-head label{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.library-panel-head label{background:color-mix(in srgb,var(--paper) 85%,var(--bg))}}.library-panel-head label{color:var(--muted)}.library-panel-head input{width:100%;min-width:0;color:var(--ink);font-size:var(--font-xs);background:0 0;border:0;outline:0}.pattern-library-list{max-height:calc(100dvh - 300px);padding:7px;overflow:auto}.pattern-library-list>button{text-align:left;width:100%;min-height:78px;color:var(--ink);background:0 0;border:0;border-radius:9px;grid-template-columns:40px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:9px;display:grid}.pattern-library-list>button:hover{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.pattern-library-list>button:hover{background:color-mix(in srgb,var(--paper) 78%,var(--lilac))}}.pattern-library-list>button.active{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.pattern-library-list>button.active{background:color-mix(in srgb,var(--paper) 60%,var(--lilac))}}.pattern-library-list>button.active{box-shadow:inset 3px 0 #9465a6}.pattern-library-list button>i{color:#fff;width:38px;height:44px;font:750 8px/1 var(--font-geist-sans);letter-spacing:.06em;border-radius:6px;place-items:center;font-style:normal;display:grid}.pattern-library-list button>span{min-width:0}.pattern-library-list small,.pattern-library-list strong,.pattern-library-list em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pattern-library-list small{color:#9b7562;font-size:var(--font-micro)}.pattern-library-list strong{font:600 var(--font-sm) Georgia,serif;margin:3px 0}.pattern-library-list em{color:var(--muted);font-size:var(--font-micro);font-style:normal}.pattern-library-list b{color:#9a6aaa}.empty-patterns{text-align:center;color:var(--muted);font-size:var(--font-xs);padding:28px 12px}.workspace-pattern-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;min-height:92px;padding:18px 21px;display:flex}.workspace-pattern-title h2{margin:5px 0 3px;font:500 clamp(22px,3vw,30px)/1.05 Georgia,serif}.workspace-pattern-title p{color:var(--muted);font-size:var(--font-xs);margin:0}.workspace-file-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.workspace-file-actions button,.workspace-file-actions a{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--muted);font-size:var(--font-xs);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 11px;text-decoration:none;display:inline-flex}.workspace-file-actions button:hover,.workspace-file-actions a:hover{color:var(--purple);border-color:#b996c5}.workspace-file-actions button[aria-label=Pattern\ options]{background:0 0;border:0;min-width:44px;padding:0}.pattern-workspace-panel>.pattern-layout{grid-template-columns:minmax(150px,190px) minmax(0,1fr);padding:14px}.pattern-workspace-panel .pattern-outline{top:84px}.pattern-workspace-panel .step-workspace{border-radius:10px}.empty-workspace{text-align:center;min-height:230px;color:var(--muted);align-content:center;place-items:center;padding:30px;display:grid}.empty-workspace>span{color:#9465a6;font-size:32px}.empty-workspace h2,.empty-workspace h3{color:var(--ink);margin:10px 0 5px;font:600 22px Georgia,serif}.empty-workspace p{font-size:var(--font-xs);margin:0 0 16px}.empty-workspace.large{min-height:520px}.import-project-select{color:var(--muted);font-size:var(--font-xs);gap:6px;margin-bottom:14px;font-weight:700;display:grid}@media (max-width:1000px){.pattern-library-layout{grid-template-columns:245px minmax(0,1fr)}.pattern-workspace-panel>.pattern-layout{grid-template-columns:145px minmax(0,1fr);gap:10px;padding:10px}.active-context-card{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.active-context-card>button{grid-column:1/-1}.pattern-workspace-panel .pattern-outline{padding-inline:7px}}@media (max-width:820px){.active-context-card{grid-template-columns:1fr;align-items:stretch}.context-arrow{display:none}.pattern-library-layout{grid-template-columns:1fr}.pattern-library-panel{position:static}.pattern-library-list{gap:7px;max-height:none;display:flex;overflow:auto}.pattern-library-list>button{min-width:250px}.pattern-workspace-panel>.pattern-layout{grid-template-columns:minmax(150px,190px) minmax(0,1fr)}}@media (max-width:650px){.active-context-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0;padding:12px}.active-context-card>button{grid-column:1/-1}.active-context-card select{text-overflow:ellipsis;min-width:0;font-size:16px}.pattern-library-list>button{min-width:230px}.workspace-pattern-title{min-height:82px;padding:15px}.pattern-workspace-panel>.pattern-layout{grid-template-columns:1fr;padding:8px}.pattern-workspace-panel .pattern-outline{position:static}.empty-workspace.large{min-height:380px}.import-project-select select{font-size:16px}}@media (max-width:350px){.active-context-card{grid-template-columns:1fr}.active-context-card>button{grid-column:auto}}.top-actions>button:not(.start-session),.project-body button,.panel-title>button,.section-head>button{justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex}.library-panel-head label{min-height:44px}@media (max-width:1180px){.sidebar nav button,.title-actions>button,.active-context-card>button{min-height:44px}}@media (max-width:650px){.top-actions .start-session{width:44px;min-width:44px;height:44px;min-height:44px}.title-actions>button{min-height:44px}}.original-viewer{z-index:150;color:#f7f3ed;background:#171513;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.original-viewer-head{min-height:74px;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:#24211e;border-bottom:1px solid #49433e;grid-template-columns:minmax(180px,1fr) auto minmax(250px,1fr);align-items:center;gap:14px;display:grid;box-shadow:0 5px 18px #0000003d}.original-viewer-head>div:first-child{min-width:0}.original-viewer-head span,.original-viewer-head strong,.original-viewer-head small{display:block}.original-viewer-head span{color:#c99fd7;font-size:var(--font-micro);letter-spacing:.14em;font-weight:750}.original-viewer-head strong{font:600 var(--font-md) Georgia,serif;text-overflow:ellipsis;white-space:nowrap;margin:3px 0;overflow:hidden}.original-viewer-head small{color:#aaa39b;font-size:var(--font-micro)}.original-viewer-controls,.original-viewer-actions{align-items:center;gap:5px;display:flex}.original-viewer-actions{justify-content:flex-end}.original-viewer-head button{color:#eee7df;min-height:44px;font-size:var(--font-xs);background:#302c28;border:1px solid #514a44;border-radius:8px;padding:0 11px;font-weight:650}.original-viewer-head button.active{color:#fff;background:#744f82;border-color:#a875b9}.original-viewer-head button:disabled{opacity:.4}.original-viewer-controls output{text-align:center;color:#d7bedf;min-width:48px;font:700 var(--font-xs) var(--font-geist-mono),monospace}.original-viewer-head .viewer-close{border-color:#6a514e;width:44px;padding:0;font-size:24px}.original-viewer-stage{min-height:0;padding:max(8px,env(safe-area-inset-bottom));background:#38332f;place-items:center;display:grid;position:relative;overflow:hidden}.original-viewer-stage iframe{background:#fff;border:0;border-radius:8px;width:100%;height:100%;box-shadow:0 15px 45px #00000052}.viewer-message{color:#d7d0c8;text-align:center;place-items:center;gap:10px;display:grid}.viewer-message>span{color:#e1c1e9;background:#493c4e;border-radius:50%;place-items:center;width:45px;height:45px;font-size:20px;display:grid}.viewer-message button{color:#fff;background:#8d5ca0;border:0;border-radius:8px;min-height:44px;padding:0 14px}.viewer-message.error>span{color:#f1b9b3;background:#5a3937}@media (max-width:1050px){.original-viewer-head{grid-template-columns:minmax(180px,1fr) auto}.original-viewer-controls{grid-area:2/1/auto/-1;justify-content:center}.original-viewer-actions{grid-area:1/2}}@media (max-width:650px){.workspace-pattern-title{flex-direction:column;align-items:flex-start}.workspace-file-actions{justify-content:flex-start;width:100%}.workspace-file-actions button,.workspace-file-actions a{flex:1}.original-viewer-head{padding-top:max(8px,env(safe-area-inset-top));grid-template-columns:1fr auto;gap:8px}.original-viewer-head>div:first-child small{display:none}.original-viewer-actions button:not(.viewer-close){width:44px;padding:0;font-size:0}.original-viewer-actions button:not(.viewer-close):first-letter{font-size:16px}.original-viewer-controls{justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.original-viewer-controls button{white-space:nowrap}.original-viewer-stage{padding:4px}}.eyebrow,.section-label,.project-art>span,.project-thumb>span,.progress-meta,.pattern-outline>p,.pattern-step small,.step-head span,.pattern-progress span,.pattern-tools small,.stash-grid small,.stash-grid dl div,.session-list small,.stitch-card small,.library-results,.library-count span,.notes-grid small,.settings-card label small,.timer-ring small{line-height:1.35;font-size:var(--font-micro)!important}.section-head p,.panel-title p,.profile small,.streak-mini small,.week-stats span,.counter span,.counter small,.counter-project,.pattern-tools strong,.stash-summary small,.session-hero span,.streak-callout small,.modal>p:not(.eyebrow),.legal-note,.week-chart span,.panel-title>button,.new-project-card small{line-height:1.4;font-size:var(--font-xs)!important}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-x:none;-webkit-tap-highlight-color:transparent;min-height:100dvh}button,a,label,select,input[type=checkbox],input[type=file]{touch-action:manipulation}button{-webkit-user-select:none;user-select:none}.filter-row,.project-grid,.pattern-outline,.stitch-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.project-grid::-webkit-scrollbar{display:none}.pattern-outline::-webkit-scrollbar{display:none}.stitch-filters::-webkit-scrollbar{display:none}@media (hover:none),(pointer:coarse){button:hover,.project-card:hover{transform:none}button:active,.project-card:active{opacity:.78}.primary:active,.counter-buttons button:active,.timer-actions button:active{opacity:1;transform:scale(.96)}.sidebar nav button,.profile{min-height:48px}.top-actions button,.mobile-menu,.icon-button,.modal-close,.session-list button{min-width:44px;min-height:44px}.primary,.title-actions button,.section-head>button,.panel-title>button,.new-project-card,.filter-row button,.pattern-outline>button,.import-tabs button{min-height:44px}.counter-buttons button{width:54px;height:54px;font-size:25px}.pattern-step{min-height:66px;padding-block:16px}.pattern-step .check{width:36px;height:36px}.pattern-tools button{min-height:66px}.stitch-card>button{min-height:106px}.notes-grid button,.settings-actions button,.import-button,.account-row button{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.timer-actions button{width:48px;height:48px}.timer-actions .timer-play{width:62px;height:62px}.dropzone{min-height:170px}}@media (min-width:651px) and (max-width:1180px){.content{padding:34px clamp(24px,4vw,42px) 96px}.topbar{padding-inline:clamp(22px,4vw,38px)}.search{width:min(430px,52vw);height:44px}.search input{min-height:44px}.project-grid{gap:14px}.continue-card{min-height:310px}.continue-copy{flex-direction:column;justify-content:center;display:flex}.pattern-layout{grid-template-columns:minmax(168px,210px) 1fr}.stash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stitch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{width:min(560px,100vw - 64px)}.mobile-menu,.top-actions button,.start-session,.icon-button,.modal-close{min-width:44px;min-height:44px}.primary,.title-actions button,.filter-row button,.section-head>button,.panel-title>button,.pattern-outline>button,.pattern-step,.pattern-tools button{min-height:44px}.counter-buttons button{width:48px;height:48px}.project-body h3{white-space:normal;line-height:1.25}}@media (min-width:651px) and (max-width:820px){.project-grid:not(.large){grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower{grid-template-columns:1fr}.activity-panel{order:-1}}@media (max-width:650px){body{overflow-x:hidden}.app-shell{min-height:100dvh}.topbar{box-sizing:content-box;height:56px;padding-top:env(safe-area-inset-top);padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.mobile-menu{flex:0 0 44px;width:44px;height:44px;padding:0}.search{height:44px;padding-inline:12px}.search input,.modal-form input,.modal-form textarea,.modal-form select,.session-note,.settings-card select{font-size:16px}.content{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));padding-bottom:calc(92px + env(safe-area-inset-bottom))}.mobile-tabs{height:calc(64px + env(safe-area-inset-bottom));padding:5px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left))}.mobile-tabs button{min-width:0;min-height:56px;font-size:8px}.mobile-tabs span{font-size:19px}.sidebar{width:min(84vw,320px);padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:max(15px,env(safe-area-inset-left))}.scrim{touch-action:none}.welcome{gap:12px}.continue-actions .primary{flex:1}.project-grid,.project-grid.large{gap:12px;margin-inline:-15px;padding-inline:15px;scroll-padding-inline:15px}.project-grid:after,.project-grid.large:after{content:"";width:3px}.filter-row,.pattern-outline{margin-inline:-15px;padding-inline:15px;scroll-padding-inline:15px}.filter-row button,.pattern-outline>button{flex:none}.counter{padding:14px}.counter strong{font-size:42px}.counter-buttons{gap:10px}.pattern-step{grid-template-columns:40px 1fr;gap:12px}.pattern-step strong{font-size:14px;line-height:1.45}.pattern-step small{font-size:8px}.step-list{padding:5px}.stitch-card>button{grid-template-columns:82px 1fr 20px;padding:12px}.stitch-card h3{font-size:16px}.stitch-card p,.stitch-card li p{font-size:11px;line-height:1.45}.stitch-card li{grid-template-columns:28px 42px 1fr;min-height:48px}.stitch-card li>span{width:28px;height:28px;font-size:10px}.library-count{justify-content:center;align-self:stretch;align-items:center;gap:8px;width:100%;display:flex}.library-count span{margin:0}.library-results{align-items:flex-start;gap:8px}.library-results p{text-align:right;max-width:70%}.setting-row{min-height:64px}.settings-actions{grid-template-columns:1fr;display:grid}.settings-actions button,.settings-actions .import-button{width:100%}.modal-wrap{align-items:end;padding:0}.modal{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);padding:30px 20px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:22px 22px 0 0}.modal:before{content:"";background:#c9c1b8;border-radius:3px;width:38px;height:4px;margin:-18px auto 17px;display:block}.modal-close{width:44px;height:44px;top:14px;right:14px}.modal h2{padding-right:42px}.modal-form{gap:16px}.modal-form input,.modal-form textarea,.modal-form select,.session-note{border-radius:10px;min-height:48px;padding:12px}.modal .primary.full,.modal-form .primary{min-height:50px}.toast{bottom:calc(76px + env(safe-area-inset-bottom));white-space:normal;text-align:left;max-width:calc(100vw - 28px)}}@media (max-width:380px){.welcome h1,.page-title h1{font-size:24px}.week-ring{display:none}.stash-grid,.session-hero{grid-template-columns:1fr}.session-hero .heatmap{grid-column:1}.streak-callout{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.top-actions{display:none}}@media (orientation:landscape) and (max-height:520px) and (pointer:coarse){.modal{border-radius:16px 16px 0 0;max-height:100dvh}.timer-ring{width:128px;height:128px;margin:8px auto}.timer-ring span{font-size:24px}.sidebar{overflow-y:auto}}:root{--font-micro:clamp(.68rem,.64rem + .12vw,.78rem);--font-xs:clamp(.74rem,.69rem + .16vw,.86rem);--font-sm:clamp(.82rem,.76rem + .18vw,.96rem);--font-base:clamp(.94rem,.86rem + .22vw,1.08rem);--font-md:clamp(1.04rem,.94rem + .3vw,1.26rem);--font-lg:clamp(1.28rem,1.08rem + .6vw,1.68rem);--font-xl:clamp(1.72rem,1.34rem + 1.15vw,2.5rem);--font-display:clamp(1.9rem,1.42rem + 1.5vw,2.9rem);--space-page:clamp(1rem,4vw,4rem);--space-section:clamp(1.5rem,2.8vw,2.75rem)}body{font-size:var(--font-base);line-height:1.5}.content{width:100%;max-width:90rem;padding-left:var(--space-page);padding-right:var(--space-page)}:where(main,section,article,aside,div,span){min-inline-size:0}:where(h1,h2,h3,p,small,strong,span,button,label,dt,dd){overflow-wrap:break-word}.welcome h1,.page-title h1{font-size:var(--font-display);line-height:1.08}.continue-copy h2,.step-head h2{font-size:var(--font-xl)}.section-head h2,.panel-title h2,.settings-card h2{font-size:var(--font-lg)}.project-body h3,.stash-grid h3,.stitch-card h3,.notes-grid h3,.account-row strong,.session-list strong{font-size:var(--font-md)}.welcome p,.page-title p,.continue-copy>p,.step-head p,.project-body p,.notes-grid p,.settings-card>p,.session-list p,.stitch-card li p{font-size:var(--font-sm);line-height:1.55}.pattern-step strong{font-size:var(--font-base);line-height:1.55}.sidebar nav button,.primary,.title-actions>button:not(.primary),.new-project-card strong,.counter-project,.stitch-card p,.stash-grid p,.account-row button,.settings-actions button,.import-button{font-size:var(--font-xs)}:where(.eyebrow,.section-label,.project-thumb>span,.pattern-outline>p,.pattern-step small,.step-head span,.project-body .progress-meta,.progress-meta,.stash-grid small,.stash-grid dl div,.session-list small,.stitch-card small,.library-results,.library-count span,.notes-grid small,.settings-card label small,.modal>.eyebrow,.timer-ring small){line-height:1.35;font-size:var(--font-micro)!important}:where(.section-head p,.panel-title p,.profile small,.streak-mini small,.week-stats span,.counter span,.counter small,.pattern-progress span,.pattern-tools small,.stash-summary small,.session-hero span,.streak-callout small,.modal>p:not(.eyebrow),.legal-note){font-size:var(--font-xs);line-height:1.45}.brand>span:last-child{font-size:clamp(.95rem,.84rem + .32vw,1.18rem)}.brand small{font-size:clamp(.56rem,.52rem + .1vw,.66rem)}.search input,.search kbd{font-size:var(--font-xs)}.sidebar nav button{line-height:1.25}.profile strong,.streak-mini strong{font-size:var(--font-xs)}.week-ring,.week-ring small{font-size:var(--font-micro)}.week-ring strong{font-size:var(--font-lg)}.counter strong{font-size:clamp(2.25rem,1.8rem + 1.35vw,3.25rem)}.week-stats strong,.session-list>article>b,.stash-summary strong{font-size:var(--font-md)}.pattern-outline>button{font-size:var(--font-xs);line-height:1.25}.pattern-progress strong,.library-count strong{font-size:var(--font-lg)}.pattern-tools strong,.stash-grid dl,.modal-form label,.import-tabs button{font-size:var(--font-xs)}.settings-card label strong{font-size:var(--font-sm)}.modal h2{font-size:var(--font-xl)}.modal-form input,.modal-form textarea,.modal-form select,.session-note{font-size:max(1rem,var(--font-base));line-height:1.4}.toast{font-size:var(--font-xs);line-height:1.4}.project-body p{height:auto;min-height:2.9em}.page-title{margin-bottom:var(--space-section)}.section-head{margin-top:var(--space-section)}.project-body,.counter-panel,.activity-panel,.settings-card{padding:clamp(.9rem,1.5vw,1.35rem)}.continue-copy{padding:clamp(1.4rem,3vw,2.5rem)}.step-head{padding:clamp(1.2rem,2.5vw,2rem)}.pattern-step{padding:clamp(.9rem,1.5vw,1.2rem)}@media (min-width:651px){.project-grid.large{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.stash-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr))}.stitch-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr))}.notes-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}}@media (min-width:1500px){.project-grid:not(.large){grid-template-columns:repeat(3,1fr)}.dashboard-lower{grid-template-columns:minmax(22rem,.85fr) minmax(32rem,1.15fr)}.continue-card{grid-template-columns:minmax(28rem,42%) 1fr}}@media (max-width:650px){:root{--font-micro:clamp(.7rem,.66rem + .18vw,.76rem);--font-xs:clamp(.78rem,.73rem + .2vw,.84rem);--font-sm:clamp(.88rem,.82rem + .24vw,.96rem);--font-base:clamp(.98rem,.91rem + .3vw,1.06rem);--font-md:clamp(1.08rem,.97rem + .48vw,1.22rem);--font-lg:clamp(1.34rem,1.16rem + .76vw,1.56rem);--font-xl:clamp(1.68rem,1.35rem + 1.4vw,2rem);--font-display:clamp(1.78rem,1.37rem + 1.75vw,2.18rem)}.content{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.project-grid,.project-grid.large{margin-inline:calc(-1 * max(1rem,env(safe-area-inset-left)));padding-inline:max(1rem,env(safe-area-inset-left))}.project-body h3{white-space:normal}.pattern-step strong,.stitch-card h3{font-size:var(--font-md)}.mobile-tabs button{font-size:var(--font-micro);line-height:1.1}.modal{font-size:var(--font-base)}}@media (min-width:2000px){:root{--space-page:5rem}.content{max-width:100rem}}.step-workspace{--pattern-reading-size:1em;--pattern-meta-size:.72em}.pattern-zoom{border-bottom:1px solid var(--line);background:#f4f0ea;grid-template-columns:auto 42px minmax(110px,1fr) 52px 42px auto;align-items:center;gap:8px;padding:10px 16px;display:grid}.zoom-label{font-size:var(--font-xs);color:#706a63;white-space:nowrap;font-weight:700}.pattern-zoom button{background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);font-size:var(--font-sm);border:1px solid #d8d1c8;border-radius:9px;font-weight:700}@media (min-width:651px) and (max-width:1180px){.project-body button,.panel-title>button{place-items:center;min-width:44px;min-height:44px;display:grid}}.pattern-zoom button:disabled{opacity:.38;cursor:not-allowed}.pattern-zoom .zoom-reset{min-width:auto;font-size:var(--font-xs);padding-inline:12px;font-weight:650}.pattern-zoom output{text-align:center;color:#765087;min-width:48px;font:700 var(--font-xs)/1 var(--font-geist-mono),monospace}.pattern-zoom input[type=range]{cursor:pointer;width:100%;height:42px;accent-color:var(--purple);background:0 0;margin:0}.pattern-zoom input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#b182c2,#ded6d0);border-radius:6px;height:6px}.pattern-zoom input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--paper);background:var(--purple);border-radius:50%;width:24px;height:24px;margin-top:-9px;box-shadow:0 2px 7px #492f5040}.pattern-zoom input[type=range]::-moz-range-track{background:#ded6d0;border:0;border-radius:6px;height:6px}.pattern-zoom input[type=range]::-moz-range-progress{background:#a873b9;border-radius:6px;height:6px}.pattern-zoom input[type=range]::-moz-range-thumb{border:3px solid var(--paper);background:var(--purple);border-radius:50%;width:20px;height:20px;box-shadow:0 2px 7px #492f5040}.step-workspace .step-head p,.pattern-step strong{font-size:var(--pattern-reading-size)}.step-workspace .pattern-step small,.step-workspace .pattern-tools small{font-size:var(--pattern-meta-size)!important}.step-workspace .pattern-tools strong{font-size:var(--pattern-reading-size)}@media (prefers-color-scheme:dark){.pattern-zoom{background:#211f1d}.pattern-zoom button{background:#302d29;border-color:#48433e}.zoom-label{color:#c0b9b1}}@media (max-width:650px){.pattern-zoom{grid-template-columns:44px minmax(90px,1fr) 52px 44px;gap:7px;padding:10px}.zoom-label{grid-column:1/-1}.pattern-zoom .zoom-reset{grid-column:1/-1;width:100%}.pattern-zoom button{min-height:44px}}@media (min-width:651px) and (max-width:1180px){.pattern-zoom{grid-template-columns:44px minmax(90px,1fr) 52px 44px;gap:7px;padding:10px}.pattern-zoom .zoom-label{grid-column:1/-1}.pattern-zoom .zoom-reset{grid-column:1/-1;width:100%}.pattern-zoom input[type=range]{height:44px}.session-list button{min-width:44px;min-height:44px}.notes-grid button{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.settings-card select{min-height:44px;font-size:var(--font-xs)}.top-actions>button:not(.start-session),.account-row button,.settings-actions button,.settings-actions .import-button{min-width:44px;min-height:44px}}@media (max-width:650px){.top-actions>button:not(.start-session){display:none}.primary,.icon-button,.section-head>button,.panel-title>button,.filter-row button,.pattern-outline>button,.stitch-filters button,.notes-grid button,.account-row button,.settings-actions button,.settings-actions .import-button{min-width:44px;min-height:44px}.project-body button{min-width:44px}.notes-grid button{align-items:center;display:inline-flex}.settings-card select{max-width:55%;min-height:44px;font-size:16px}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
