:root{--bg:#f6f5f2;--surface:#fff;--surface-2:#f0efeb;--text:#1b1c1f;--muted:#6b6d74;--line:#0000001a;--accent:#c8324a;--accent-ink:#fff;--blue:#2a6de8;--ok:#1e9d5a;--warn:#b45309;--glass:#ffffffd1;--shadow:0 6px 24px #00000024;--r:14px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--tb-b:max(6px, calc(var(--safe-b) - 14px));--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121315;--surface:#1c1d21;--surface-2:#26282d;--text:#ececee;--muted:#9a9ca3;--line:#ffffff1f;--glass:#1e1f23d1;--shadow:0 6px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121315;--surface:#1c1d21;--surface-2:#26282d;--text:#ececee;--muted:#9a9ca3;--line:#ffffff1f;--glass:#1e1f23d1;--shadow:0 6px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0}body{-webkit-text-size-adjust:100%;font:16px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,Roboto,sans-serif}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--blue)}h1{margin:0;font-size:19px;font-weight:700}h2{margin:0;font-size:17px}h3{font-size:15px}small,.small{font-size:13px}.muted{color:var(--muted)}.ellip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grow{flex:1;min-width:0}.row{align-items:center;display:flex}.gap{gap:10px}.gap-s{gap:6px}.wrap{flex-wrap:wrap}.left{text-align:left}.pad{padding:16px}.warn{background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.screen{flex-direction:column;height:100%;display:flex;overflow:hidden}.screen.center{justify-content:center;align-items:center}.bar{padding:calc(var(--safe-t) + 8px) calc(var(--safe-r) + 12px) 8px calc(var(--safe-l) + 12px);background:var(--bg);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;min-height:52px;display:flex}.brand{letter-spacing:-.02em;font-weight:800}.content{padding:12px calc(var(--safe-r) + 16px) calc(var(--safe-b) + 96px) calc(var(--safe-l) + 16px);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.content.narrow{width:100%;max-width:720px;margin:0 auto}.section{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px;font-size:13px;font-weight:700}.icon-btn{border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:inline-grid}.icon-btn:active{background:var(--surface-2)}.btn{background:var(--surface-2);border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{border:1px solid var(--line);background:0 0}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.btn.block{width:100%;margin-top:10px}.btn:disabled{opacity:.45}.btn:active:not(:disabled){filter:brightness(.94)}.chip{background:var(--surface-2);border-radius:99px;align-items:center;gap:6px;min-height:34px;padding:6px 12px;font-size:14px;display:inline-flex}.chip.on{background:var(--text);color:var(--bg)}.input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:12px;padding:10px 12px;font-size:16px}.lbl{font-size:14px;font-weight:600;display:block}.field{gap:6px;display:grid}.form{grid-auto-rows:max-content;align-content:start;gap:14px;display:grid}.form>*{min-width:0}.swatch{border-radius:6px;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1px #0000002e}.seg{background:var(--surface-2);border-radius:12px;flex:none;gap:2px;min-height:44px;padding:3px;display:flex;overflow-x:auto}.seg button{white-space:nowrap;min-height:38px;color:var(--muted);border-radius:9px;flex:1;padding:0 10px;font-size:14px;font-weight:600}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000026}.seg.small button{min-height:32px;font-size:13px}.toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.toggle-row small{display:block}.toggle-row input{appearance:none;background:var(--surface-2);width:50px;height:30px;box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;flex:none;transition:background .15s;position:relative}.toggle-row input:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle-row input:checked{background:var(--ok)}.toggle-row input:checked:after{transform:translate(20px)}.stepper{gap:6px;display:grid}.stepper-ctl{background:var(--surface-2);border-radius:12px;align-items:center;width:max-content;height:44px;display:inline-flex}.stepper-ctl button{place-items:center;width:44px;height:44px;display:grid}.stepper-ctl input{text-align:center;width:64px;color:var(--text);font:inherit;-moz-appearance:textfield;background:0 0;border:0;font-size:16px;font-weight:700}.stepper-ctl input::-webkit-inner-spin-button{display:none}.suffix{color:var(--muted);margin-right:4px;font-size:13px}.filters{flex:none;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.cards{padding:4px calc(var(--safe-r) + 16px) calc(var(--safe-b) + 100px) calc(var(--safe-l) + 16px);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid;overflow-y:auto}.card{background:var(--surface);border-radius:var(--r);text-align:left;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000f}.thumb{aspect-ratio:1;background:var(--surface-2);place-items:center;padding:10px;display:grid}.thumb img{max-width:100%;max-height:100%;image-rendering:pixelated;border-radius:4px}.card-body{gap:4px;padding:10px 12px 12px;display:grid}.bar-track{background:var(--surface-2);border-radius:3px;height:5px;margin-top:4px;overflow:hidden}.bar-fill{background:var(--ok);height:100%}.fab{right:calc(var(--safe-r) + 20px);bottom:calc(var(--safe-b) + 24px);background:var(--accent);color:#fff;width:60px;height:60px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:fixed}.empty{gap:12px;max-width:560px;margin:0 auto;padding:24px 16px;display:grid}.demo-list{gap:8px;display:grid}.demo{text-align:left;background:var(--surface);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.demo-level{color:var(--muted);text-transform:none;margin:14px 0 4px;font-size:14px;font-weight:600}.row-btn{text-align:left;border-bottom:1px solid var(--line);width:100%;color:inherit;align-items:center;gap:12px;min-height:56px;padding:12px 6px;text-decoration:none;display:flex}.row-ic{background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.row-tx{flex:1;gap:2px;min-width:0;display:grid}.screen.chart{background:#000;flex-direction:row}.chart-host{flex:1;height:100%;position:relative;overflow:hidden}.chart-canvas{display:block;position:absolute;inset:0}.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);box-shadow:var(--shadow)}.topbar{top:calc(var(--safe-t) + 14px);left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);align-items:center;gap:8px;transition:opacity .2s,transform .2s;display:flex;position:absolute}.topbar .icon-btn{border-radius:50%}.pill{border-radius:22px;align-items:center;gap:8px;min-width:0;height:44px;padding:0 14px;font-size:15px;display:inline-flex}.pill .name{max-width:34vw;font-weight:600}.pill .pct{color:var(--ok);font-weight:800}.pill.cur{white-space:nowrap;flex:0 auto;min-width:0;margin-left:auto;font-weight:700}.pill.cur .cur-tx{min-width:0;overflow:hidden}.pill.cur>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.pill.cur small{color:var(--muted);font-weight:600}.toolbar{left:50%;bottom:var(--tb-b);border-radius:22px;gap:2px;padding:6px;transition:opacity .2s,transform .2s;display:flex;position:absolute;transform:translate(-50%)}.toolbar button{text-align:center;width:66px;height:54px;color:var(--text);border-radius:16px;align-content:center;place-items:center;gap:2px;font-size:11px;font-weight:600;line-height:1.1;display:grid}.toolbar button.on{background:var(--ok);color:#fff}.toolbar button:active{background:var(--surface-2)}.hidden{opacity:0;pointer-events:none}.toolbar.hidden{transform:translate(-50%,20px)}.topbar.hidden{transform:translateY(-20px)}.minimap{left:calc(var(--safe-l) + 10px);top:calc(var(--safe-t) + 116px);width:120px;box-shadow:var(--shadow);background:#fff;border-radius:8px;transition:opacity .35s;position:absolute}.guide{left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);bottom:calc(var(--tb-b) + 72px);border-radius:18px;gap:2px;max-width:560px;margin:0 auto;padding:6px 6px 10px 14px;display:grid;position:absolute}.guide-tx{gap:1px;min-width:0;padding-right:8px;font-size:14px;line-height:1.3;display:grid}.guide-top{align-items:center;gap:8px;min-width:0;display:flex}.guide-step{white-space:nowrap;font-size:14px}.guide-top .chip-btn{white-space:nowrap}.guide-btns{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.palette{gap:4px;display:grid}.pal-row{border-radius:12px}.pal-row.on{background:color-mix(in srgb, var(--blue) 12%, transparent)}.pal-row.complete{opacity:.5}.pal-main{text-align:left;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px;display:flex}.pal-tx{flex:1;min-width:0;display:grid}.pal-n{text-align:right;display:grid}.pal-row .btn{margin:0 8px 8px 50px}.sheet-wrap{z-index:20;background:#00000047;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:78vh;box-shadow:var(--shadow);padding-bottom:var(--safe-b);border-radius:20px 20px 0 0;flex-direction:column;animation:.2s ease-out up;display:flex}.sheet.tall{height:86vh;max-height:86vh}.sheet-head{touch-action:none;flex:none;padding:6px 8px 0 16px}.grabber{background:var(--line);border-radius:3px;width:40px;height:5px;margin:2px auto 6px}.sheet-title-row{align-items:center;gap:8px;display:flex}.sheet-title-row h2{flex:1}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:4px 16px 20px;overflow-y:auto}@keyframes up{0%{opacity:.4;transform:translateY(40px)}}@keyframes fade{0%{opacity:0}}.menu{display:grid}.menu button{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:52px;padding:0 4px;display:flex}.menu button.danger{color:#d33}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats div{background:var(--surface-2);text-align:center;border-radius:12px;gap:2px;padding:10px;display:grid}.stats b{font-size:17px}.stats small{color:var(--muted);font-size:12px}.picker{gap:10px;display:grid}.picker-list{gap:2px;display:grid}.picker-item{text-align:left;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:8px 4px;display:flex}.picker-item b{min-width:46px}.picker-item.hl,.picker-row.hl{background:color-mix(in srgb, var(--ok) 14%, transparent)}.toast{width:max-content;left:50%;top:calc(var(--safe-t) + 192px);color:#fff;z-index:40;max-width:calc(100vw - 32px);box-shadow:var(--shadow);background:#222;border-radius:14px;align-items:center;gap:12px;padding:10px 16px;font-size:14px;animation:.2s fade;display:flex;position:fixed;transform:translate(-50%)}.toast button{color:#fff;background:#ffffff2e;border-radius:10px;flex:none;min-height:36px;padding:0 14px;font-weight:700}.busy{z-index:30;color:#fff;text-align:center;background:#00000073;align-content:center;place-items:center;gap:12px;padding:24px;display:grid;position:fixed;inset:0}.spinner{border:3px solid #8080804d;border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.split{flex-direction:column;flex:1;min-height:0;display:flex}.split>.quad,.split>.preview{flex:1;min-height:0}.panel{padding:12px calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:var(--surface);border-top:1px solid var(--line);flex:none;gap:10px;display:grid}.panel.scroll{max-height:52vh;overflow-y:auto}.preview{background:var(--surface-2);align-content:start;place-items:center;gap:8px;padding:8px;display:grid;overflow:auto}.preview canvas{border-radius:8px;max-width:100%}.quad{touch-action:none;background:#111;position:relative}.quad canvas{display:block}.loupe{width:120px;height:120px;box-shadow:var(--shadow);pointer-events:none;border:3px solid #fff;border-radius:50%;position:absolute}.quad-hint{color:#fff;text-align:center;pointer-events:none;background:#0000008c;border-radius:10px;padding:8px 12px;font-size:13px;position:absolute;bottom:12px;left:12px;right:12px}.fab-sw{border-radius:50%;width:36px;height:36px;box-shadow:inset 0 0 0 1px #00000040}.fab-sw.on{outline:3px solid var(--blue);outline-offset:2px}.page-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.page-row img{object-fit:cover;border-radius:8px;width:64px;height:64px}.cluster-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:12px 0;display:grid}.cluster{background:var(--surface);border-radius:12px;justify-items:center;gap:4px;padding:8px;font-size:14px;display:grid}.crop{image-rendering:pixelated;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:6px}.thread-table{display:grid}.thread-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.skeins{text-align:right;min-width:28px;font-size:18px}.own{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:flex}.facts{gap:4px;margin:0;padding-left:18px;display:grid}.note{background:var(--surface);border-radius:12px;margin:12px 0 0;padding:10px 12px;font-size:14px}.stash{flex-wrap:wrap;gap:6px;display:flex}.nudge{gap:6px;display:grid}.nudge .icon-btn{background:var(--surface-2);font-size:18px}.dot{border:2px solid #e1202d;border-radius:2px;width:10px;height:10px;display:inline-block}.dot.half-only{border-color:#f0a000}.help p,.help li{line-height:1.55}.anim{background:#fbfaf6;border-radius:12px;margin:10px auto;display:block}.anim .draw{stroke-dasharray:80;stroke-dashoffset:80px;animation:6s infinite draw}@keyframes draw{0%{stroke-dashoffset:80px}15%,94%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.anim .pop{transform-origin:30px 30px;animation:2.5s infinite pop}@keyframes pop{0%{transform:scale(0)}30%,90%{transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (min-width:760px){.split{flex-direction:row}.split>.panel{border-top:0;border-left:1px solid var(--line);align-content:start;width:380px;max-height:none;overflow-y:auto}.sheet-wrap{align-items:center}.sheet{border-radius:20px;max-height:80vh}.sheet.tall{height:80vh}.pill .name{max-width:300px}.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.toolbar button{width:76px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sel-bar{left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);bottom:calc(var(--tb-b) + 72px);z-index:5;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;max-width:520px;margin:0 auto;padding:8px 10px;display:flex;position:absolute}.sel-n{margin-right:auto;padding-left:4px;font-size:14px;font-weight:700}.chart-host,.chart-host *,.minimap,.quad,.quad *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body{touch-action:manipulation;width:100%;position:fixed;inset:0;overflow:hidden}.key-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.key-row p{margin:2px 0 0}.key-pic{border-radius:8px;flex:none;max-width:160px;height:auto}.modebar{border-radius:14px;gap:2px;width:min(320px,100% - 32px);padding:3px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%)}.modebar button{min-height:36px;color:var(--text);border-radius:11px;flex:1;font-size:14px;font-weight:600}.modebar button.on{background:var(--text);color:var(--bg)}.modebar.hidden{opacity:0;pointer-events:none}.route-pair{gap:2px;margin-right:6px;display:flex}.route-pair button{background:var(--surface-2)}.route-pair button:first-child{border-radius:16px 4px 4px 16px}.route-pair button:last-child{border-radius:4px 16px 16px 4px}.route-pair button.on{background:var(--ok);color:#fff}.chip-btn{border:1px solid var(--line);border-radius:8px;min-height:26px;padding:0 8px;font-size:12px;font-weight:600}.minimap.faded{opacity:0;pointer-events:none}.saved-for{border-top:1px solid var(--line);padding-top:8px}.lefty .minimap{left:auto;right:calc(var(--safe-r) + 10px)}.lefty .toolbar{flex-direction:row-reverse}.brand-me{color:var(--accent)}.card-wrap{display:flex;position:relative}.card-wrap .card{flex:1}.card-more{background:var(--glass);border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 1px 4px #00000026}.pill.cur .cur-tx{text-align:left;line-height:1.15;display:grid}.pill.cur .cur-tx small{font-size:11px}body:has(.sheet-wrap) .toast{top:calc(var(--safe-t) + 10px)}.topbar .hist{flex:none;gap:6px;display:flex}.topbar .hist button:disabled svg{opacity:.3}.topbar>.pill:not(.cur){flex:0 auto}.topbar.has-cur .pill .name{max-width:22vw}.pill.cur .cur-tx>span,.pill.cur .cur-tx small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:480px){.topbar.has-cur>.pill:not(.cur) svg{display:none}}@media (orientation:landscape){.chart .modebar{flex:0 300px;order:1;width:auto;min-width:250px;margin:0 auto;position:static;transform:none}.chart .topbar .pill .name{max-width:24vw}.chart .topbar .hist{order:2}.chart .topbar .pill.cur{order:3;margin-left:0}.chart .toolbar{left:auto;right:calc(var(--safe-r) + 4px);flex-direction:column;top:50%;bottom:auto;transform:translateY(-50%)}.chart .toolbar.hidden{transform:translate(20px,-50%)}.chart .route-pair{flex-direction:column;margin:0 0 6px}.chart .route-pair button:first-child{border-radius:16px 16px 4px 4px}.chart .route-pair button:last-child{border-radius:4px 4px 16px 16px}.chart .toolbar button{width:66px;height:50px}.chart .guide,.chart .sel-bar{bottom:calc(var(--safe-b) + 10px);right:calc(var(--safe-r) + 104px)}.chart .minimap{top:calc(var(--safe-t) + 66px)}.chart.lefty .toolbar{right:auto;left:calc(var(--safe-l) + 4px);flex-direction:column}.chart[data-notch=left]:not(.lefty) .toolbar{right:8px}.chart[data-notch=right].lefty .toolbar{left:8px}.chart.lefty .toolbar.hidden{transform:translate(-20px,-50%)}.chart.lefty .guide,.chart.lefty .sel-bar{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + 104px)}}.topbar{pointer-events:none}.topbar:not(.hidden)>:not(.hidden){pointer-events:auto}details.group{border:1px solid var(--line);border-radius:14px;padding:0 12px}details.group>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;font-size:15px;font-weight:700;list-style:none;display:flex}details.group>summary::-webkit-details-marker{display:none}details.group>summary:after{content:"▾";color:var(--muted);transition:transform .15s}details.group:not([open])>summary:after{transform:rotate(-90deg)}details.group[open]{gap:6px;padding-bottom:10px;display:grid}details.group .picker-list{max-height:300px}.size-pill{text-align:left;flex:none;align-content:center;gap:0;padding:0 12px;line-height:1.15;display:grid}.size-pill b{white-space:nowrap;font-size:14px}.size-pill small{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:600}.topbar>.pill svg{flex:none}.draw-col{background:var(--surface-2);text-align:left;min-width:0;min-height:44px;color:var(--text);border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 10px 0 6px;display:inline-flex}.draw-col .cur-tx{min-width:0;line-height:1.15;display:grid}.draw-col .cur-tx small{color:var(--muted);font-size:11px;font-weight:600}.draw-col .chev{color:var(--muted);margin-left:auto}.chart.full .topbar,.chart.full .toolbar{display:none}.full-bar{left:50%;bottom:var(--tb-b);z-index:6;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.exit-full{white-space:nowrap;height:44px;color:var(--text);z-index:6;border-radius:22px;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.chart.full .sel-bar{bottom:calc(var(--tb-b) + 56px)}@media (orientation:landscape){.chart.full .sel-bar,.chart.full .guide{right:calc(var(--safe-r) + 8px);bottom:calc(var(--safe-b) + 60px)}.chart.full.lefty .guide{left:calc(var(--safe-l) + 8px)}.full-bar{bottom:calc(var(--safe-b) + 8px)}}.topbar>.pill:not(.cur):not(.size-pill){flex:0 100 auto;min-width:72px}.topbar>.pill:not(.cur):not(.size-pill) .name{text-overflow:ellipsis;min-width:0;overflow:hidden}.toast-btns{flex:none;gap:6px;display:flex}.guide-thread{align-items:center;gap:8px;min-width:0;display:flex}.guide-thread b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.guide-new{background:#14a05a1f;border-radius:10px;align-items:center;gap:8px;margin:2px 0;padding:0 0 0 8px;display:flex}.guide-new .dot{background:#14a05ae6;border-radius:50%;flex:none;width:12px;height:12px}.guide-new.park{background:#963cc81a;padding:6px 8px}.guide-new.park .dot{background:#963cc8e6}.guide-new.same{background:color-mix(in srgb, var(--blue) 10%, transparent);padding:6px 8px}.guide-new .chip-btn{flex:none}.guide-end{color:var(--text)}:root{--panel-w:clamp(320px, 34vw, 400px)}.chart>.sheet-wrap{pointer-events:none;background:0 0}.chart>.sheet-wrap .sheet{pointer-events:auto;box-shadow:0 -6px 28px #00000047}@media (min-width:760px){.chart>.sheet-wrap{width:calc(var(--panel-w) + var(--safe-r));background:var(--surface);border-left:1px solid var(--line);height:100%;padding-right:var(--safe-r);z-index:auto;flex:none;align-items:stretch;animation:none;position:static}.chart>.sheet-wrap .sheet,.chart>.sheet-wrap .sheet.tall{width:100%;max-width:none;box-shadow:none;padding-top:var(--safe-t);border-radius:0;animation:none;height:100%!important;max-height:none!important;transform:none!important}.chart>.sheet-wrap .grabber{display:none}.chart>.sheet-wrap .stats div{padding:10px 4px}.chart>.sheet-wrap .stats b{white-space:nowrap;font-size:15px}.chart:has(>.sheet-wrap) .modebar{flex-basis:216px;min-width:216px}.chart:has(>.sheet-wrap) .modebar button{font-size:13px}.chart>.sheet-wrap .sheet-head{padding-top:10px}.chart:has(>.sheet-wrap) .chart-host{--safe-r:0px}.chart.lefty>.sheet-wrap{border-left:0;border-right:1px solid var(--line);padding-right:0;padding-left:var(--safe-l);width:calc(var(--panel-w) + var(--safe-l));order:-1}.chart.lefty:has(>.sheet-wrap) .chart-host{--safe-r:env(safe-area-inset-right,0px);--safe-l:0px}}body:has(.screen.chart) .toast{top:calc(var(--safe-t) + 116px)}@media (orientation:landscape){body:has(.screen.chart) .toast{top:calc(var(--safe-t) + 66px);max-width:calc(100vw - 220px)}}@media (max-width:759px){body:has(.chart>.sheet-wrap) .toast{top:calc(var(--safe-t) + 10px)}}@media (min-width:760px){body:has(.chart>.sheet-wrap) .toast{left:calc((100vw - var(--panel-w)) / 2);max-width:calc(100vw - var(--panel-w) - 32px)}@media (orientation:landscape){body:has(.chart>.sheet-wrap) .toast{max-width:calc(100vw - var(--panel-w) - 220px)}}body:has(.chart.lefty>.sheet-wrap) .toast{left:calc(var(--panel-w) + (100vw - var(--panel-w)) / 2)}}.guide-short,.guide-less{display:none}@media (max-height:699px){.chart .guide:not(.open){padding:4px 6px 4px 8px}.chart .guide:not(.open) .guide-step,.chart .guide:not(.open):not(.mcard) .chip-btn,.chart .guide:not(.open) .guide-tx{display:none}.chart .guide:not(.open) .guide-short{text-align:left;min-width:0;min-height:44px;color:var(--text);flex:1;align-items:center;gap:8px;font-size:14px;display:flex}.guide-short>span:not(.chev){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.guide-short .chev{color:var(--muted);flex:none}.chart .guide.open .guide-less{align-items:center;display:inline-flex}}.chart .guide.short:not(.open){padding:4px 6px 4px 8px}.chart .guide.short:not(.open) .guide-step,.chart .guide.short:not(.open):not(.mcard) .chip-btn,.chart .guide.short:not(.open) .guide-tx{display:none}.chart .guide.short:not(.open) .guide-short{text-align:left;min-width:0;min-height:44px;color:var(--text);flex:1;align-items:center;gap:8px;display:flex}.guide.short .guide-short>span:not(.chev){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.guide.short .guide-short .chev{color:var(--muted);flex:none}.chart .guide.short.open .guide-less{align-items:center;display:inline-flex}@media (min-width:760px) and (min-height:600px){.chart .toolbar{gap:4px;padding:8px}.chart .toolbar button{gap:4px;width:88px;height:64px;font-size:13px}.chart .toolbar svg{width:26px;height:26px}}@media (min-width:760px) and (min-height:600px) and (orientation:landscape){.chart .guide,.chart .sel-bar{right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .guide,.chart.lefty .sel-bar{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}}.cols{display:block}.cols>.form+.form{margin-top:14px}@media (min-width:900px){.content.cols{grid-template-columns:1fr 1fr;align-content:start;align-items:start;gap:0 40px;width:100%;max-width:1120px;margin:0 auto;display:grid}.cols>.span{grid-column:1/-1}.cols>.form+.form{margin-top:0}.cols>.form>.section:first-child{margin-top:12px}}.coach{left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);z-index:7;border-radius:16px;gap:8px;max-width:460px;margin:0 auto;padding:10px 12px;font-size:14px;animation:.2s fade;display:grid;position:absolute}.coach p{margin:0;line-height:1.35}.coach-btns{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.topbar .tip-btn{margin-left:auto}@media (orientation:landscape){.chart .topbar .tip-btn{order:4;margin-left:0}}.lock-btn.on{color:var(--accent)}.sticky-foot{bottom:calc(-16px - var(--safe-b));margin-bottom:calc(-16px - var(--safe-b));padding:10px 0 calc(16px + var(--safe-b));background:var(--surface);border-top:1px solid var(--line);z-index:2;gap:8px;display:grid;position:sticky}.sticky-foot .btn.block{margin-top:0}details.more-opts>summary{cursor:pointer;align-items:center;min-height:44px;font-size:14px;font-weight:600;display:flex}details.more-opts[open]{gap:14px;display:grid}.grabber{width:48px;height:6px}.sheet-head{cursor:ns-resize}.hist-list{display:grid}.hist-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:52px;padding:8px 0;font-size:14px;display:flex}.hist-row .btn{flex:none}.mcard{padding:6px 6px 8px 8px}.mcard-thread{text-align:left;min-width:0;min-height:44px;color:var(--text);border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 8px 0 4px;display:flex}.mcard-thread:active{background:var(--surface-2)}.mcard-thread .cur-tx{min-width:0;line-height:1.2;display:grid}.mcard-thread .cur-tx b,.mcard-thread .cur-tx small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mcard-thread .cur-tx b{white-space:normal;overflow-wrap:anywhere}.mcard-thread .cur-tx small{color:var(--muted);font-size:12px;font-weight:600}.mcard-thread .chev{color:var(--muted);flex:none}.mcard-info{align-items:center;gap:8px;min-height:28px;padding:2px 8px 0;font-size:13px;display:flex}.mcard .guide-btns{gap:6px}@media (orientation:landscape) and (max-height:560px){.chart .mcard:not(.has-sel) .mcard-info{display:none}.chart .mcard{padding:4px 6px 4px 8px}}.pop-back{z-index:8;position:fixed;inset:0}.hist-pop{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + 8px);z-index:9;border-radius:16px;max-width:420px;margin-left:auto;padding:4px 10px 8px 14px;animation:.15s fade;position:absolute}.hist-head{justify-content:space-between;align-items:center;min-height:40px;display:flex}.hist-head .icon-btn{width:40px;height:40px}.hist-pop .hist-row:last-child{border-bottom:0}.hist-pop p{margin:4px 0 8px}.mcard-clear{border:1px solid var(--line);border-radius:8px;min-height:28px;padding:0 10px;font-size:12px;font-weight:600}.hoop-pick{color:var(--text);font-size:15px}.bar-btn{white-space:nowrap;flex:none;padding:0 10px}.lib-tip{background:var(--surface);border-radius:14px;flex:none;gap:8px;margin:8px 16px 0;padding:10px 12px;font-size:14px;display:grid;box-shadow:0 1px 4px #0000001f}.lib-tip p{margin:0;line-height:1.35}.lib-tip.welcome{padding:14px 14px 12px}.lib-tip.welcome h2{margin:0;font-size:22px}.level-choice{gap:8px;display:grid}.level-btn{border:2px solid var(--line,#00000026);background:var(--bg);min-height:56px;color:var(--text);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;font-size:17px;display:flex}.level-btn small{color:var(--muted);font-size:14px}.level-btn.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.mat-pane{background:var(--bg);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.mat-view{-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;min-height:0;display:flex}.mat-head{padding:6px calc(var(--safe-r) + 16px) 6px calc(var(--safe-l) + 16px);flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.mat-view .content{padding-top:0}.modebar{width:min(400px,100% - 16px)}.modebar button{white-space:nowrap;padding:0 4px;font-size:13px}@media (orientation:landscape){.chart .modebar{flex:0 390px;min-width:320px}.chart:has(>.sheet-wrap) .modebar{flex-basis:280px;min-width:280px}.chart:has(>.sheet-wrap) .modebar button{padding:0 2px;font-size:12px}}@media (max-width:759px){.chart>.sheet-wrap .sheet{max-height:50dvh}.chart>.sheet-wrap .sheet.tall{height:50dvh;max-height:50dvh}}.coach-links{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:14px;padding-top:6px;display:flex}.coach-links button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;min-height:32px;padding:6px 2px;font-size:13px;font-weight:600;display:inline-flex}.hist-all{margin-top:4px}.my-list .my-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 0;display:flex}.my-list .my-row .grow{min-width:0;line-height:1.25}.flags{flex:none;gap:6px;display:flex}.flag{background:var(--surface-2);min-width:40px;min-height:38px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.flag.on{background:var(--ok);color:#fff}.flag.star.on{color:#fff;background:#e9a100}.flag.star.on svg{fill:currentColor}.chip.big{min-height:46px;padding:6px 16px;font-size:16px;font-weight:600}.chip.big small{opacity:.7;font-weight:400}.chip.on.big{background:var(--ok);color:#fff}.chip.my-fab{gap:6px}.fab-dot{border:1px solid #00000040;border-radius:50%;flex:none;width:16px;height:16px}.facts .have-line .own{float:right;margin-left:10px}.mat-view .content{padding-bottom:calc(var(--tb-b) + 84px)}@media (orientation:landscape){.mat-view .content{padding-bottom:20px;padding-right:calc(var(--safe-r) + 86px)}.mat-view .mat-head{padding-right:calc(var(--safe-r) + 86px)}.chart.lefty .mat-view .content,.chart.lefty .mat-view .mat-head{padding-right:calc(var(--safe-r) + 16px);padding-left:calc(var(--safe-l) + 86px)}}@media (min-width:760px) and (min-height:600px) and (orientation:landscape){.mat-view .content,.mat-view .mat-head{padding-right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .mat-view .content,.chart.lefty .mat-view .mat-head{padding-right:calc(var(--safe-r) + 16px);padding-left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}}@media (max-width:1300px){.chart:has(>.sheet-wrap) .mat-view .content.cols{display:block}.chart:has(>.sheet-wrap) .mat-view .cols>.form+.form{margin-top:14px}}.my-add{gap:8px;display:grid}.auto-none .sel-n{white-space:normal;line-height:1.3}.view-lock.on{background:var(--accent);color:var(--accent-ink)}.pick-bar .cur-tx b,.pick-bar .cur-tx small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pick-bar .btn{flex:none}.pal-row.with-edit{align-items:center;display:flex}.pal-row.with-edit .pal-main{flex:1;min-width:0}.pal-edit{background:var(--surface-2);width:44px;height:44px;color:var(--text);border-radius:12px;flex:none;place-items:center;margin-right:4px;display:grid}.coverage{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.pick-bar .draw-col{flex:1}.chart.full .guide{bottom:calc(var(--tb-b) + 56px)}:root{--z:1}.btn.small{min-height:44px;font-size:15px}.chip{min-height:44px;padding:6px 14px;font-size:15px}.seg{min-height:50px}.seg button,.seg.small button{min-height:44px;font-size:15px}.chip-btn{border-radius:12px;min-height:44px;padding:0 12px;font-size:14px}.toast button{min-height:44px}.flag{min-width:44px;min-height:44px}.fab-sw{width:44px;height:44px}.coach-links button{min-height:44px;font-size:14px}.hist-head .icon-btn,.card-more{width:44px;height:44px}.mcard-clear{border-radius:12px;min-height:44px;padding:0 14px;font-size:14px}.mcard-info,.modebar button{min-height:44px;font-size:14px}@media (orientation:landscape){.chart:has(>.sheet-wrap) .modebar button{font-size:13px}}.toolbar button,.chart .toolbar button{width:auto;min-width:62px;padding:0 5px;font-size:13px}.toolbar button span{white-space:nowrap}.toolbar svg{width:26px;height:26px}@media (orientation:landscape){.chart .toolbar button{width:auto;min-width:72px}.chart .toolbar .route-pair{align-items:stretch}.mat-view .content,.mat-view .mat-head{padding-right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .mat-view .content,.chart.lefty .mat-view .mat-head{padding-right:calc(var(--safe-r) + 16px);padding-left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}.chart .guide,.chart .sel-bar{right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .guide,.chart.lefty .sel-bar{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}}@media (min-width:760px) and (min-height:600px){.chart .toolbar button{min-width:88px}}@media (min-width:760px) and (min-height:600px) and (orientation:landscape){.mat-view .content,.mat-view .mat-head{padding-right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .mat-view .content,.chart.lefty .mat-view .mat-head{padding-right:calc(var(--safe-r) + 16px);padding-left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}.chart .guide,.chart .sel-bar{right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .guide,.chart.lefty .sel-bar{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}}.mcard .guide-top{flex-wrap:wrap;row-gap:4px}.mcard .mcard-thread{flex:150px}.pill.cur .cur-tx small,.size-pill small,.draw-col .cur-tx small,.mcard-thread .cur-tx small,.stats small{font-size:13px}.guide-tx{font-size:16px}.guide-step{font-size:15px}.guide-tx small{font-size:14px}.guide-short{font-size:15px}.coach,.lib-tip,.toast{font-size:16px}.note,.warn{font-size:15px}p.small,p .small{font-size:14px}.hist-row{font-size:15px}.topbar .icon-btn.undo-btn{border-radius:22px;gap:6px;width:auto;padding:0 14px 0 10px;display:inline-flex}.undo-word{font-size:15px;font-weight:600}.topbar .hist button:disabled .undo-word{opacity:.35}@media (max-width:399px){.guide-top .rs-more{display:none}.guide-top{gap:6px}}@media (max-width:359px){.undo-word{display:none}.topbar .icon-btn.undo-btn{justify-content:center;width:44px;padding:0}}@media (orientation:landscape) and (max-width:1100px){.chart:has(>.sheet-wrap) .undo-word{display:none}.chart:has(>.sheet-wrap) .topbar .icon-btn.undo-btn{justify-content:center;width:44px;padding:0}}.float-stack{left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);z-index:9;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.float-stack>*{pointer-events:auto}.float-stack .coach,.float-stack .hist-pop{width:100%;margin:0;position:static}.float-stack .hist-pop{align-self:flex-end}.chart .float-stack .toast.in-stack{z-index:auto;width:max-content;max-width:100%;position:static;top:auto;left:auto;transform:none}@media (orientation:landscape){.chart .float-stack{right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .float-stack{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}}@media (min-width:760px) and (min-height:600px) and (orientation:landscape){.chart .float-stack{right:calc(var(--safe-r) + var(--bar-w,104px) + 12px)}.chart.lefty .float-stack{right:calc(var(--safe-r) + 8px);left:calc(var(--safe-l) + var(--bar-w,104px) + 12px)}}.coach,.hist-pop{background:var(--surface)}.have-list{display:grid}.have-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;min-height:52px;padding:6px 2px;display:flex}.have-row.plain{cursor:default}.have-row .grow{line-height:1.3}.have-word{color:var(--muted);flex:none;font-size:13px}input.tick{appearance:none;border:2px solid var(--muted);background:var(--surface);cursor:pointer;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;margin:0;display:grid}input.tick:checked{background:var(--ok);border-color:var(--ok)}input.tick:checked:after{content:"";border:3px solid #fff;border-width:0 3px 3px 0;width:8px;height:15px;transform:translateY(-2px)rotate(45deg)}.thread-row.have-row{padding:8px 2px}.thread-row.owned{opacity:.6}details.allowances{margin-top:18px}.thread-head{color:var(--muted);align-items:center;gap:10px;padding:0 2px 2px;font-size:13px;display:flex}.thread-head .grow{flex:1}.thread-head span:last-child{text-align:center;width:30px}:root[data-text=large]{--z:1.15}:root[data-text=large] .screen:not(.chart),:root[data-text=large] .chart .topbar,:root[data-text=large] .chart .toolbar,:root[data-text=large] .chart .guide,:root[data-text=large] .chart .sel-bar,:root[data-text=large] .chart .float-stack,:root[data-text=large] .chart .full-bar,:root[data-text=large] .chart .mat-view,:root[data-text=large] .chart>.sheet-wrap .sheet-head,:root[data-text=large] .chart>.sheet-wrap .sheet-body,:root[data-text=large] .toast:not(.in-stack){zoom:1.15}@media (max-width:430px){:root[data-text=large] .chart .toolbar button{min-width:52px;height:auto;min-height:54px;padding:2px 3px}:root[data-text=large] .chart .toolbar button span{white-space:normal;line-height:1.1}:root[data-text=large] .undo-word{display:none}:root[data-text=large] .topbar .icon-btn.undo-btn{justify-content:center;width:44px;padding:0}}@media (orientation:landscape) and (max-height:560px){:root[data-text=large] .chart .toolbar button{height:46px}}.toolbar button.open{background:color-mix(in srgb, var(--blue) 18%, var(--surface));color:var(--blue);box-shadow:inset 0 0 0 2px var(--blue)}.chip-btn.open,.mcard-thread.open{background:color-mix(in srgb, var(--blue) 18%, var(--surface));color:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.blend-note{color:var(--warn);font-weight:600}.same-note{color:var(--blue);font-weight:600}.mat-view .hand-dyed{margin:4px 0 12px}.mat-view .framing{margin:6px 0 4px}.sheet-foot{z-index:1;background:var(--surface);flex-direction:column;gap:8px;margin:4px -16px -20px;padding:10px 16px 20px;display:flex;position:sticky;bottom:-20px;box-shadow:0 -10px 12px -12px #00000059}@media (max-width:759px){.chart:has(>.sheet-wrap) .toolbar:not(.hidden){z-index:21}.chart:has(>.sheet-wrap .sheet)>.sheet-wrap .sheet-body{padding-bottom:calc(92px + var(--tb-b))}.chart>.sheet-wrap .sheet-foot{bottom:calc(-92px - var(--tb-b));margin-bottom:calc(-92px - var(--tb-b));padding-bottom:calc(var(--bar-h,66px) + var(--tb-b) + 12px)}}.topbar.editing .edit-title{min-width:0;color:var(--accent);flex:0 auto;gap:8px;font-weight:700}.topbar.editing .done-edit{border-radius:22px;flex:none;min-height:44px;padding:0 18px}.topbar.editing .tip-btn{margin-left:auto}@media (orientation:landscape){.chart .topbar.editing .done-edit{order:5}.chart .topbar.editing .edit-title{margin-right:auto}}.edit-strip{gap:6px 8px}.edit-strip .strip-head{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;font-size:14px;overflow:hidden}.edit-strip .strip-btns{flex:none;gap:6px;display:flex}.edit-strip .strip-btns .btn{padding:0 10px}.edit-strip .strip{overscroll-behavior-x:contain;scrollbar-width:none;flex:1 0 100%;gap:2px;padding:2px 0;display:flex;overflow-x:auto}.edit-strip .strip::-webkit-scrollbar{display:none}.strip-sw{border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.strip-sw.on{box-shadow:inset 0 0 0 3px var(--blue);background:color-mix(in srgb, var(--blue) 14%, transparent)}.edit-strip>.sel-n{flex:200px}@media (orientation:landscape) and (max-height:560px){.edit-strip{flex-wrap:nowrap;max-width:820px}.edit-strip .strip-head{flex:0 auto;max-width:150px}.edit-strip .strip-head .pre{display:none}.edit-strip .strip{flex:1 1 0;min-width:0}}@media (max-width:420px){.chart .toolbar.tools6{gap:0;padding:4px}.chart .toolbar.tools6 button{min-width:50px;padding:0 3px}}@media (max-width:480px){.topbar.editing .undo-word,.edit-strip .strip-head .pre{display:none}}@media (max-width:420px){.edit-strip .strip-head .nm{display:none}}@media (max-width:400px){.topbar.editing .edit-title .sq{display:none}.topbar.editing .done-edit{padding:0 14px}}.park-title{align-items:center;gap:8px;min-height:44px;font-size:16px;display:inline-flex}.park-pin{background:#fff;border-radius:50%;flex:none;width:18px;height:18px;box-shadow:0 0 0 3px #963cc8f2}.toolbar button.on .park-pin{box-shadow:0 0 0 3px #fff}.trial-tag{background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent);white-space:nowrap;border-radius:9px;align-items:center;padding:3px 7px;font-size:13px;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.toolbar button.has-tag{position:relative}.toolbar button.has-tag .trial-tag{box-shadow:0 0 0 2px var(--surface);padding:2px 5px;font-size:13px;position:absolute;top:-6px;right:-4px}.trial-note{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-radius:12px;margin:0;padding:8px 10px;font-size:15px}@media (min-width:760px) and (orientation:landscape){.chart:has(>.sheet-wrap) .toolbar{z-index:21;right:calc(env(safe-area-inset-right,0px) + 4px);position:fixed}.chart[data-notch=left]:not(.lefty):has(>.sheet-wrap) .toolbar{right:8px}.chart>.sheet-wrap{width:calc(var(--panel-w) + var(--bar-w,96px) + 12px + var(--safe-r));padding-right:calc(var(--bar-w,96px) + 12px + var(--safe-r))}.chart.lefty:has(>.sheet-wrap) .toolbar{right:auto;left:calc(env(safe-area-inset-left,0px) + 4px)}.chart.lefty[data-notch=right]:has(>.sheet-wrap) .toolbar{left:8px}.chart.lefty>.sheet-wrap{width:calc(var(--panel-w) + var(--bar-w,96px) + 12px + var(--safe-l));padding-right:0;padding-left:calc(var(--bar-w,96px) + 12px + var(--safe-l))}:is(.chart:has(>.sheet-wrap) .guide,.chart:has(>.sheet-wrap) .sel-bar,.chart:has(>.sheet-wrap) .float-stack){right:8px;left:calc(var(--safe-l) + 8px)}:is(.chart.lefty:has(>.sheet-wrap) .guide,.chart.lefty:has(>.sheet-wrap) .sel-bar,.chart.lefty:has(>.sheet-wrap) .float-stack){left:8px;right:calc(var(--safe-r) + 8px)}:is(.chart:has(>.sheet-wrap) .mat-view .content,.chart:has(>.sheet-wrap) .mat-view .mat-head){padding-right:16px}:is(.chart.lefty:has(>.sheet-wrap) .mat-view .content,.chart.lefty:has(>.sheet-wrap) .mat-view .mat-head){padding-left:16px;padding-right:calc(var(--safe-r) + 16px)}}@media (min-width:760px) and (orientation:portrait){.chart:has(>.sheet-wrap) .toolbar{z-index:21;position:fixed}.chart:has(>.sheet-wrap .sheet)>.sheet-wrap .sheet-body{padding-bottom:calc(var(--bar-h,80px) + var(--tb-b) + 16px)}.chart .topbar.mb-top .modebar{flex:0 390px;order:1;width:auto;min-width:300px;margin:0 auto;position:static;transform:none}.chart .topbar.mb-top .hist{order:2}.chart .topbar.mb-top .tip-btn{order:4;margin-left:0}}@media (orientation:landscape){.chart .toolbar button.has-tag .trial-tag{top:2px;right:2px}}@media (min-width:760px) and (min-height:600px) and (orientation:portrait){.chart .guide{bottom:calc(var(--tb-b) + 90px)}}@media (max-width:480px){.chart .guide.open .guide-top .rs-more,.chart .guide.open .guide-top .ls-word{display:none}.chart .guide.open .guide-top{gap:6px}}.mcard-tools{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 2px 0;display:flex}.mcard-tools .sel-tools{flex:0 260px;min-width:210px}.mcard-tools .chip-btn{flex:none}@media (orientation:landscape) and (max-height:560px){.chart .mcard.with-tools{grid-template-columns:auto auto;column-gap:8px;display:grid}.chart .mcard.with-tools .guide-top{grid-column:1/-1}.chart .mcard.with-tools .mcard-tools,.chart .mcard.with-tools .mcard-info{padding-top:2px}}:root[data-text=small] body{font-size:15px}:root[data-text=small] .bar{padding-top:calc(var(--safe-t) + 4px);min-height:48px;padding-bottom:4px}:root[data-text=small] .content{padding-top:8px;padding-left:calc(var(--safe-l) + 12px);padding-right:calc(var(--safe-r) + 12px)}:root[data-text=small] .section{margin:14px 0 6px}:root[data-text=small] .form{gap:10px}:root[data-text=small] .chart .topbar{top:calc(var(--safe-t) + 6px);gap:6px}:root[data-text=small] .chart .modebar{padding:2px;top:47px}:root[data-text=small] .chart .toolbar{gap:1px;padding:3px}:root[data-text=small] .chart .toolbar button{gap:1px;min-width:56px;height:48px;padding:0 3px}:root[data-text=small] .chart .toolbar svg{width:22px;height:22px}:root[data-text=small] .chart .guide{padding:3px 4px 4px 10px}@media (orientation:portrait){:root[data-text=small] .chart .guide,:root[data-text=small] .chart .sel-bar{bottom:calc(var(--tb-b) + 56px)}}:root[data-text=small] .chart .mcard{padding:3px 4px 4px 6px}:root[data-text=small] .chart .mcard:not(.has-sel) .mcard-info{min-height:0;padding-top:2px}:root[data-text=small] .chart .mcard-tools{padding-top:2px}:root[data-text=small] .chart .mcard .seg{min-height:0;padding:2px}@media (min-width:760px) and (min-height:600px){:root[data-text=small] .chart .toolbar{gap:2px;padding:4px}:root[data-text=small] .chart .toolbar button{width:78px;height:54px}}@media (min-width:760px) and (min-height:600px) and (orientation:portrait){:root[data-text=small] .chart .guide{bottom:calc(var(--tb-b) + 70px)}}.stats-screen .stat-tiles{margin-top:4px}.stats-screen .pace li{margin-bottom:6px}.cal-head{align-items:center;gap:8px;display:flex}.cal-head .cal-title{text-align:center;font-size:17px}.cal-head .icon-btn{min-width:44px;min-height:44px}.cal{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:6px;display:grid}.cal-dow{text-align:center;color:var(--muted);font-size:13px;font-weight:600}.cal-day{background:var(--surface-2);border-radius:10px;align-content:center;place-items:center;min-height:46px;font-size:15px;line-height:1.1;display:grid}.cal-day small{font-size:13px;font-weight:600}.cal-day.empty{background:0 0}.cal-day.today{outline:2px solid var(--blue);outline-offset:-2px}.col-stats{gap:6px;display:grid}.col-stat{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 4px;display:flex}.col-stat .grow{min-width:0}.col-stat .col-n{text-align:right;display:grid}.bar-track{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;height:8px;margin-top:6px;display:block;overflow:hidden}.bar-fill{height:100%;display:block}.print-panel .print-pages{margin:0}.mat-head .row{flex-wrap:wrap;justify-content:flex-end}.edit-strip .strip-btns .btn{justify-content:center;min-width:44px}.mcard .mcard-tools{flex-wrap:wrap}.mcard .mark-kinds{flex:250px;max-width:290px}.mcard .mark-kinds button{padding:0 8px}.mcard .mcard-info .grow{flex:auto;min-width:0}@media (orientation:landscape) and (max-height:560px){.edit-strip .strip-head,.edit-strip .strip-btns .bl{display:none}.chart .mcard .mcard-tools{flex-wrap:nowrap}.chart .mcard .mcard-tools .mark-kinds{flex:auto;min-width:0}.chart .mcard .mcard-tools .sel-tools{flex:0 220px;min-width:180px}}.details-screen .det-name{margin:6px 0 10px;font-size:22px}.details-screen .det-actions{flex-wrap:wrap;margin-bottom:4px}.details-screen .det-actions .btn{min-width:150px}.det-facts{gap:0;margin:0;display:grid}.det-facts>div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:10px;padding:7px 2px;display:grid}.det-facts dt{color:var(--muted);font-size:14px}.det-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.det-fabric-sw{padding:4px 2px 6px}.det-sum{margin:10px 2px 4px}.det-threads{display:grid}.det-thread{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 2px;display:flex}.det-thread .grow{min-width:0}.det-skeins{text-align:right;line-height:1.15;display:grid}.det-skeins small{font-size:13px}.det-have{text-align:center;background:var(--surface-2);min-width:52px;color:var(--muted);border-radius:999px;padding:4px 8px;font-size:13px;font-weight:700}.det-have.on{color:#2e7d5a;background:#2e7d5a26}.det-link{min-height:48px;color:var(--blue)}.det-link small{color:var(--muted)}.info-btns{margin:4px 0}.notes-input{resize:vertical;min-height:72px;font:inherit}@media (max-width:380px){.det-facts>div{grid-template-columns:100px 1fr}}.read-how{border-radius:12px;align-items:flex-start;gap:10px;margin:0 0 12px;padding:12px 14px;font-size:15px;line-height:1.35;display:flex}.read-how>svg{flex:none;width:26px;height:26px;margin-top:1px}.read-how b{margin-bottom:2px;font-size:16px;display:block}.read-how.exact{background:color-mix(in srgb, var(--ok) 14%, var(--surface))}.read-how.exact>svg{color:var(--ok)}.read-how.picture{background:color-mix(in srgb, var(--warn) 14%, var(--surface))}.read-how.picture>svg{color:var(--warn)}.cluster .choose{color:var(--accent);font-weight:700}img.crop{image-rendering:auto}.edit-strip .strip-row{flex:1 0 100%;align-items:center;gap:6px;min-width:0;display:flex}.edit-strip .strip-row .strip{flex:1 1 0;min-width:0}.edit-strip .kind-btn{white-space:nowrap;flex:none;padding:0 12px}.edit-strip .kind-btn.open{box-shadow:inset 0 0 0 2px var(--blue);color:var(--blue)}.edit-strip .kind-btn.on{background:var(--blue);color:#fff;border-color:var(--blue)}.kinds-pop{z-index:30;width:min(340px,100% - 16px);box-shadow:var(--shadow);background:var(--surface);border-radius:16px;gap:2px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:8px}.kinds-pop button{text-align:left;border-radius:12px;gap:2px;min-height:52px;padding:8px 12px;display:grid}.kinds-pop button:active{background:var(--surface-2)}.kinds-pop b{font-size:16px}.kinds-pop small{font-size:13px;line-height:1.3}@media (orientation:landscape) and (max-height:560px){.edit-strip .strip-row{flex:1 1 0}.kinds-pop{max-height:calc(100vh - var(--safe-t) - 110px);overflow-y:auto}}.ask{z-index:60;padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:#00000073;place-items:center;animation:.15s ease-out ask-in;display:grid;position:fixed;inset:0}@keyframes ask-in{0%{opacity:0}}.ask-box{background:var(--surface);width:min(400px,100%);max-height:100%;color:var(--text);border-radius:20px;padding:8px 18px 16px;overflow-y:auto;box-shadow:0 12px 40px #00000059}.ask-head{align-items:center;gap:8px;display:flex}.ask-head h2{flex:1;margin:8px 0 0;font-size:20px}.ask-text{margin:6px 0 4px;font-size:16px;line-height:1.4}.ask-why{min-height:44px;color:var(--blue);text-align:left;background:0 0;padding:0;font-size:15px;font-weight:600}.ask-more{gap:6px;margin:4px 0 6px;font-size:14px;line-height:1.4;display:grid}.ask-more p{margin:0}.ask-btns{gap:8px;margin-top:12px;display:grid}.btn.danger{color:#fff;background:#c62828}:root[data-text=large] .ask-box{zoom:1.15}@media (orientation:landscape) and (max-height:560px){.ask-btns{grid-template-columns:1fr 1fr}.ask-btns>:last-child:nth-child(odd){grid-column:1/-1}.ask-head h2{margin-top:4px}.ask-box{width:min(540px,100%)}}.toolbar button,.chart .toolbar button{font-size:11px}@media (orientation:landscape){.chart .toolbar button{width:60px;min-width:0;height:auto;min-height:48px;padding:4px 2px}.chart .toolbar button span{white-space:normal;text-align:center;overflow-wrap:normal;line-height:1.12}}@media (orientation:landscape) and (min-width:760px) and (min-height:600px){.chart .toolbar button{width:72px;min-height:60px}}@media (orientation:landscape){:root[data-text=small] .chart .toolbar button{width:56px;height:auto;min-height:46px}}.pp{z-index:50;color:var(--text);background:#5c5f66;flex-direction:column;display:flex;position:fixed;inset:0}.pp-top,.pp-foot{background:var(--surface);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex;box-shadow:0 1px 6px #0003}.pp-top{padding:calc(var(--safe-t) + 8px) calc(var(--safe-r) + 12px) 8px calc(var(--safe-l) + 12px)}.pp-foot{padding:8px calc(var(--safe-r) + 12px) calc(var(--safe-b) + 8px) calc(var(--safe-l) + 12px);justify-content:center}.pp-top .seg{flex:220px;max-width:360px}.pp-close{flex:none;padding:0 12px}.pp-count{font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:15px;font-weight:700}.pp-pages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;flex:auto;overflow:auto}.pp-stack{padding:12px calc(var(--safe-r) + 12px) 20px calc(var(--safe-l) + 12px);box-sizing:border-box;gap:14px;margin:0 auto;display:grid}.pp-item{gap:4px;display:grid}.pp-page{aspect-ratio:210/297;background:#fff;place-items:center;display:grid;overflow:hidden;box-shadow:0 2px 10px #00000059}.pp-page img{width:100%;height:100%;display:block}.pp-wait{color:#888;font-size:15px}.pp-cap{color:#f2f2f2;text-align:center;font-size:13px}.pp-note{color:#eee;margin:0}.pp-zoom,.pp-nav{gap:4px;display:flex}.pp-zoom .btn,.pp-nav .btn{min-width:44px;padding:0 8px}.pp-foot>.btn{padding:0 14px}.pp-busy{text-align:center;flex:200px;place-items:center;min-height:44px;font-weight:600;display:grid}:root[data-text=large] .pp-top,:root[data-text=large] .pp-foot{zoom:1.15}@media (max-width:480px){.pp-nav{display:none}.pp-foot{gap:6px}.pp-foot>.btn{padding:0 10px}}@media (orientation:landscape) and (max-height:560px){.pp-top{padding-top:calc(var(--safe-t) + 4px);flex-wrap:nowrap;padding-bottom:4px}.pp-foot{padding-top:4px;padding-bottom:calc(var(--safe-b) + 4px);flex-wrap:nowrap}}.pp-print-root{display:none}@media print{@page{size:A4;margin:0}body>:not(.pp-print-root){display:none!important}.pp-print-root{display:block}.pp-print-root img{page-break-after:always;break-after:page;width:210mm;height:297mm;display:block}}@media (orientation:landscape){.chart .toolbar button.has-tag .trial-tag{padding:1px 4px;font-size:11px;top:-7px;right:-6px}}@media (orientation:landscape) and (max-height:560px){:root[data-text=large] .chart .toolbar{zoom:1;gap:2px;padding:4px}:root[data-text=large] .chart .toolbar button{gap:1px;width:66px;min-height:44px;padding:2px;font-size:12.65px}:root[data-text=large] .chart .toolbar svg{width:22px;height:22px}}.thread-check{background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}.thread-check span{flex:200px}details.other-makes{border:1px solid var(--line);border-radius:12px;padding:0 12px}details.other-makes>summary{cursor:pointer;align-items:center;gap:8px;min-height:48px;font-weight:600;display:flex}details.other-makes>summary small{font-weight:400}.make-list{padding-bottom:6px;display:grid}.make-btn{min-height:52px;padding:8px 4px}.make-btn .row-tx{gap:2px;display:grid}.other-form{padding:4px 0 12px}.other-form .chip-row{flex-wrap:wrap;gap:6px;display:flex}.check-msg .btn{margin-left:4px}.make-head{color:var(--muted);text-transform:none;margin:14px 0 2px;font-size:15px}.make-counts{margin:0}.key-notes{gap:4px;margin:0;padding-left:28px;display:grid}.check-this{color:var(--warn);text-align:center;font-size:13px;font-weight:700}.key-said{margin:6px 0}.skein-note,details.other-makes>summary .om-t{white-space:nowrap}details.other-makes>summary small{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.picker>*{min-width:0}details.other-makes>summary{overflow:hidden}.picker-row{border-radius:10px;align-items:center;gap:6px;display:flex}.picker-row .picker-item{flex:1;min-width:0}.picker-row .picker-item>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.picker-row.hl{background:color-mix(in srgb, var(--ok) 14%, transparent)}.picker-row .flag.star{background:0 0}.picker-row .flag.star.on{background:#e9a100}.favs{border:1px solid color-mix(in srgb, #e9a100 50%, var(--line));border-radius:12px;gap:2px;padding:4px 10px 8px;display:grid}.fav-head{align-items:center;gap:6px;margin:6px 0 2px;display:flex}.fav-head svg{fill:#e9a100;color:#e9a100}.fav-make{gap:6px;padding:6px 0;display:grid}.fav-make .chip-row,.own-form .chip-row{flex-wrap:wrap;gap:6px;display:flex}.swatch.none{background:repeating-linear-gradient(45deg, var(--surface-2) 0 4px, var(--line) 4px 6px);width:22px;height:22px}.make-row{align-items:center;gap:6px;display:flex}.make-row .make-btn{flex:1;min-width:0}.own-list{gap:2px;padding-bottom:8px;display:grid}.own-row .picker-item{line-height:1.25}.own-form{padding:4px 0 12px}.own-colour .wheel{flex:none;position:relative;overflow:hidden}.own-colour .wheel input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.own-colour .input{min-width:0}.fav-chip{justify-self:start}.fav-chip.on{color:#fff;background:#e9a100}.fav-chip svg{fill:currentColor}.danger-text{color:#c62828}.make-plan .plan-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.make-plan .plan-row .grow{min-width:0;line-height:1.25}.make-plan .plan-arrow{color:var(--muted);flex:none}.make-plan .plan-tick{flex:none;width:26px;height:26px}.make-plan .left-list{margin:4px 0 0;padding-left:20px}.sub-note{color:var(--muted);font-style:italic}.plan-why{color:var(--warn);font-weight:600}.make-plan .plan-row .btn{flex:none}.lib-save{background:color-mix(in srgb, var(--blue) 8%, var(--surface));border:1px solid var(--line);border-radius:12px;flex:none;align-items:center;gap:8px;margin:8px 16px 0;padding:4px 4px 4px 12px;font-size:15px;line-height:1.3;display:flex}.lib-save>svg{color:var(--muted);flex:none}.lib-save>span{flex:1;min-width:0}.lib-save .btn{flex:none}.cloud-fab{left:calc(var(--safe-l) + 16px);bottom:calc(var(--safe-b) + 30px);background:var(--surface);height:48px;color:var(--ink,inherit);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:6px;padding:0 16px 0 12px;font-size:15px;font-weight:600;display:flex;position:fixed}.cloud-fab.open{color:var(--blue)}@media (max-width:430px){.library .bar{gap:6px}.library .bar .bar-btn{padding:0 8px}.library .bar .bar-btn.ghost{white-space:normal;text-align:center;max-width:84px;line-height:1.1}}.sync-when{margin:0}.help-pics{gap:12px;margin:8px 0 12px;display:grid}.help-pic{grid-template-columns:120px 1fr;align-items:center;gap:12px;display:grid}.help-pic svg{width:120px;height:auto}.help-pic p{margin:0}.chart .mcard .next-area{white-space:nowrap;flex:none}.chart .mcard .next-area.next-top{display:none}@media (orientation:landscape){.chart .mcard .next-area.next-top{align-items:center;display:inline-flex}.chart .mcard .next-area.next-info{display:none}.chart .mcard .mcard-info.with-next:not(:has(.grow:not(:empty))){display:none}}.help .need-list{gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.help .need-list li{grid-template-columns:48px 1fr;align-items:center;gap:12px;display:grid}.need-pic{border:1px solid var(--line);background:#fff;border-radius:10px;width:48px;height:48px}.cluster-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.cluster{position:relative}.cluster.filling{outline:2px dashed var(--accent);outline-offset:-2px}.cluster .key-pos{background:var(--accent);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:13px;font-weight:700;display:grid;position:absolute;top:4px;left:4px}.key-fill{z-index:3;background:var(--surface);border:2px solid var(--accent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:10px 12px;font-size:16px;display:flex;position:sticky;top:0}.key-type{margin:8px 0}.key-type textarea{min-height:88px;font-size:16px}.key-open{margin:8px 0}.sym-map{justify-items:start;gap:4px;margin:10px 0;display:grid}.sym-map canvas{border:1px solid var(--line);border-radius:4px;max-width:100%}.roll-buy{font-size:14px}
