:root{--bg:#ffffff;--bg-subtle:#fafafa;--bg-muted:#f4f4f5;--ink:#09090b;--text:#3f3f46;--muted:#71717a;--line:#e4e4e7;--line-strong:#d4d4d8;--brand-dark:#074119;--brand:#119e09;--green:#0b7a0a;--green-hover:#075e08;--green-dark:#074119;--green-soft:#eef8ec;--green-softer:#f6fcf5;--green-line:#bfe5b6;--primary:#074119;--primary-hover:#0a5523;--amber:#b45309;--amber-soft:#fffbeb;--amber-line:#fde68a;--red:#b91c1c;--red-soft:#fef2f2;--red-line:#fecaca;--blue:#1d4ed8;--blue-soft:#eff6ff;--blue-line:#bfdbfe;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--font-sans:var(--font-geist),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-code:var(--font-geist-mono),ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--shadow-xs:0 1px 2px rgba(9,9,11,0.04);--shadow-sm:0 1px 3px rgba(9,9,11,0.06),0 1px 2px rgba(9,9,11,0.04);--shadow-lg:0 24px 64px -16px rgba(9,9,11,0.16),0 2px 6px rgba(9,9,11,0.04);--container:1160px;--nav-h:64px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + var(--s-4))}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:flex;flex-direction:column;min-height:100vh}main{flex:1 0 auto}h1,h2,h3,h4{color:var(--ink);margin:0;line-height:1.15;font-weight:600;text-wrap:balance}h1{font-size:clamp(32px,4vw,44px);letter-spacing:-.035em}h2{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.03em}h3{font-size:17px;letter-spacing:-.015em}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}img,svg{display:block}.mono,code,kbd{font-family:var(--font-code)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}::selection{background:#d6f0cf}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:-60px;z-index:100;background:var(--primary);color:#fff;padding:var(--s-2) var(--s-4);border-radius:var(--r-md)}.skip-link:focus{top:var(--s-3)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--s-5)}.container.narrow{max-width:760px}.stack{gap:var(--s-4)}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:var(--s-2)}.stack-lg{display:flex;flex-direction:column;gap:var(--s-5)}.row{flex-wrap:wrap}.flex,.row{gap:var(--s-3)}.between,.flex,.row{display:flex;align-items:center}.between{justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5)}.muted{color:var(--muted)}.small{font-size:14px}.xsmall{font-size:13px}.center{text-align:center}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.85);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line)}.nav-inner{height:var(--nav-h);display:flex;gap:var(--s-6)}.brand,.nav-inner{align-items:center}.brand{display:inline-flex;gap:10px;font-size:17px;font-weight:650;color:var(--ink);letter-spacing:-.02em}.logo-img{display:block;height:auto;max-width:100%}.logo{display:inline-flex;align-items:center;gap:10px}.logo-word{font-weight:750;letter-spacing:-.035em;line-height:1}.logo-sheet{color:var(--brand-dark)}.logo-skill{color:var(--brand)}.brand-mark{width:28px;height:28px;border-radius:7px;background:var(--green);color:#fff;display:grid;place-items:center;flex:0 0 28px}.navlinks{display:flex;align-items:center;gap:var(--s-1);flex:1 1 auto}.navlinks a{height:36px;padding:0 var(--s-3);border-radius:var(--r-md);display:inline-flex;align-items:center;color:var(--muted);font-size:14px;font-weight:500;transition:color .15s,background .15s}.navlinks a:hover{color:var(--ink)}.navlinks a[aria-current=page]{color:var(--ink);background:var(--bg-muted)}.nav-actions{display:flex;align-items:center;gap:var(--s-2)}.nav-toggle{width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--line);background:#fff;align-items:center;justify-content:center}.mobile-menu,.nav-toggle{display:none}.account{position:relative}.account-placeholder{display:inline-block;width:120px;height:34px}.account-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 4px;border-radius:var(--r-full);border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:550}.account-btn:hover{background:var(--bg-subtle)}.account-name{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-sm{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--primary);color:#fff;display:inline-grid;place-items:center;font-size:12px;font-weight:650;letter-spacing:.02em}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:240px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.account-menu a,.account-menu button{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--r-sm);border:0;background:transparent;color:var(--text);font-size:14px;font-weight:500;text-align:left;width:100%}.account-menu a:hover,.account-menu button:hover{background:var(--bg-subtle);color:var(--ink)}.account-menu svg{color:var(--muted)}.account-who{display:flex;flex-direction:column;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;min-width:0}.account-who strong{color:var(--ink);font-size:14px;font-weight:600}.account-who span,.account-who strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-who span{color:var(--muted);font-size:13px}.account-who.mobile{flex-direction:row;align-items:center;gap:12px;border-bottom:0;padding:4px 12px 8px}.account-sep{height:1px;background:var(--line);margin:4px 0}.nav-toggle .avatar-sm{width:28px;height:28px;flex-basis:28px}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-full);font-size:13px;font-weight:550;white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--text)}.chip svg{color:var(--muted)}.chip.green svg{color:var(--green)}.chip.amber svg{color:var(--amber)}.tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r-sm);background:var(--green-soft);color:var(--green-hover);font-size:12px;font-weight:550;white-space:nowrap}.tag.neutral{background:var(--bg-muted);color:var(--text)}.tag.amber{background:var(--amber-soft);color:var(--amber)}.tag.blue{background:var(--blue-soft);color:var(--blue)}.tag.red{background:var(--red-soft);color:var(--red)}.fn-chip{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:var(--r-sm);background:var(--bg-muted);color:var(--ink);font-family:var(--font-code);font-size:12px;font-weight:500;white-space:nowrap}.eyebrow{font-size:13px;font-weight:550;color:var(--green);letter-spacing:0}kbd{height:20px;padding:0 5px;border-radius:4px;border:1px solid var(--line-strong);box-shadow:0 1px 0 var(--line-strong);font-size:11px;font-weight:500;color:var(--text)}.btn,kbd{display:inline-flex;align-items:center;background:#fff}.btn{justify-content:center;gap:var(--s-2);height:40px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid var(--line-strong);color:var(--ink);font-size:14px;font-weight:550;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){background:var(--bg-subtle);border-color:#a1a1aa}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.accent{background:var(--green);border-color:var(--green);color:#fff}.btn.accent:hover:not(:disabled){background:var(--green-hover);border-color:var(--green-hover)}.btn.dark{background:var(--primary);border-color:var(--primary);color:#fff}.btn.light{background:#fff;border-color:#fff;color:var(--ink)}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted);box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--ink);border-color:transparent}.btn.lg{height:46px;padding:0 var(--s-5);font-size:15px}.btn.sm,.btn.tiny{height:34px;padding:0 var(--s-3);font-size:13px}.btn.block{width:100%}.link{color:var(--green);font-weight:550;display:inline-flex;align-items:center;gap:4px}.link:hover{color:var(--green-hover);text-decoration:underline;text-underline-offset:3px}.buttons{display:flex;gap:var(--s-3);flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5)}.card.pad-lg{padding:var(--s-6)}.card.flush{padding:0;overflow:hidden}a.card{transition:border-color .15s,box-shadow .15s}a.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.card-head{border-bottom:1px solid var(--line)}.card-foot,.card-head{padding:var(--s-3) var(--s-4)}.card-foot{border-top:1px solid var(--line);background:var(--bg-subtle)}.icon-tile{width:36px;height:36px;flex:0 0 36px;border-radius:var(--r-md);background:var(--bg-muted);color:var(--ink);display:grid;place-items:center}.page-head{padding:var(--s-8) 0 var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.page-head p{color:var(--muted);font-size:17px;max-width:620px}.section{padding:var(--s-9) 0 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-6)}.section-head p{color:var(--muted);margin-top:var(--s-2)}.breadcrumb{display:flex;align-items:center;gap:var(--s-2);font-size:14px;color:var(--muted);flex-wrap:wrap}.breadcrumb a:hover{color:var(--ink)}.hero-v4{position:relative;padding:var(--s-9) 0 0;overflow:hidden}.hero-v4:before{content:"";position:absolute;inset:0 0 auto 0;height:640px;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 70% 60% at 50% 0,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0,#000 30%,transparent 75%);opacity:.6}.hero-copy{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}.announce{gap:var(--s-2);height:32px;padding:0 var(--s-3) 0 6px;border-radius:var(--r-full);border:1px solid var(--line);background:#fff;font-size:13px;color:var(--text);box-shadow:var(--shadow-xs);margin-bottom:var(--s-5)}.announce,.announce .pill-dot{display:inline-flex;align-items:center}.announce .pill-dot{height:22px;padding:0 8px;border-radius:var(--r-full);background:var(--green-soft);color:var(--green-hover);font-weight:600;font-size:12px}.announce:hover{border-color:var(--line-strong)}.hero-v4 h1{font-size:clamp(40px,6.4vw,72px);line-height:1.02;letter-spacing:-.05em;margin-bottom:var(--s-5)}.hero-v4 h1 .accent{color:var(--brand)}.hero-v4 .lead{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:580px;margin-bottom:var(--s-6)}.hero-v4 .buttons{justify-content:center}.hero-note{margin-top:var(--s-4);font-size:13px;color:var(--muted)}.product-shot{margin:var(--s-8) auto 0;max-width:1040px;border-radius:var(--r-xl);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-lg);overflow:hidden}.shot-bar{height:40px;gap:var(--s-3);padding:0 var(--s-4);border-bottom:1px solid var(--line);background:var(--bg-subtle);font-size:13px;color:var(--muted)}.shot-bar,.shot-bar .url{display:flex;align-items:center}.shot-bar .url{flex:1 1 auto;max-width:340px;margin:0 auto;height:24px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line);justify-content:center;font-size:12px}.shot-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:360px}.shot-task{padding:var(--s-5);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s-3);text-align:left}.shot-task h3{font-size:20px;letter-spacing:-.02em}.shot-sheet{display:flex;flex-direction:column;min-width:0}.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-2) var(--s-5);margin-top:var(--s-5);color:var(--muted);font-size:14px}.checks span{display:inline-flex;align-items:center;gap:6px}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-6);gap:var(--s-6)}.how-item{border-top:1px solid var(--line);padding-top:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2)}.how-item .num{font-family:var(--font-code);font-size:13px;color:var(--green);font-weight:500}.how-item p{color:var(--muted);font-size:15px}.cat{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.cat:nth-child(3n){border-right:0}.cat:nth-last-child(-n+3){border-bottom:0}.cat-links{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--font-code);font-size:13px}.cat-links a{color:var(--text)}.cat-links a:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}.cta-simple{margin-top:var(--s-9);padding:var(--s-8) var(--s-5);border-radius:var(--r-xl);background:var(--bg-subtle);border:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}.cta-simple p{color:var(--muted);max-width:520px}.cta-band,.feature-band{margin-top:var(--s-9);border-radius:var(--r-xl);padding:var(--s-7) var(--s-6);border:1px solid var(--line);background:var(--bg-subtle)}.feature{display:flex;flex-direction:column;gap:var(--s-2)}.feature p{color:var(--muted);font-size:15px}.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5)}.step-card{display:flex;flex-direction:column;gap:var(--s-3)}.step-num{width:28px;height:28px;border-radius:var(--r-full);background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px}.hero{padding:var(--s-8) 0}.preview-card{padding:0;overflow:hidden}.preview-bar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line)}.formula-chip,.preview-bar .namebox{height:28px;padding:0 var(--s-2);display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-family:var(--font-code);font-size:13px;color:var(--ink)}.preview-bar .namebox{min-width:48px;justify-content:center;background:var(--bg-subtle)}.preview-bar .formula-chip{flex:1 1 auto;border-color:transparent}.preview-bar .fx{font-family:Georgia,serif;font-style:italic;color:var(--muted);padding:0 2px;font-size:14px}.ex-list{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}.ex-row{display:grid;grid-template-columns:96px minmax(0,1fr) 120px 110px 24px;align-items:center;grid-gap:var(--s-4);gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);transition:background .12s}.ex-row:last-child{border-bottom:0}.ex-row:hover{background:var(--bg-subtle)}.ex-row .title{color:var(--ink);font-weight:550;font-size:15px}.ex-row .desc{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ex-row .lvl,.ex-row .state{font-size:13px;color:var(--muted)}.ex-row .state{display:inline-flex;align-items:center;gap:6px}.ex-row .state.done{color:var(--green);font-weight:550}.ex-row .arrow{color:var(--muted)}.ex-row:hover .arrow{color:var(--ink)}.lesson-card{display:flex;flex-direction:column;gap:var(--s-3)}.done-badge{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:550;font-size:13px}.toolbar{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--s-4)}.search{position:relative;flex:1 1 260px;max-width:380px}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search input{padding-left:38px}.pills{display:inline-flex;gap:2px;padding:3px;background:var(--bg-muted);border-radius:var(--r-md);flex-wrap:wrap}.pill{height:32px;padding:0 var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:13px;font-weight:550}.pill:hover{color:var(--ink)}.pill[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.empty{text-align:center;padding:var(--s-8) var(--s-5);color:var(--muted)}.progress-line{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-5);font-size:14px;color:var(--muted)}.progress-line .progressbar{flex:1 1 auto;max-width:280px}.field{display:flex;flex-direction:column;gap:6px}.field label,.label{font-size:14px;font-weight:550;color:var(--ink)}.field .hint{font-size:13px;color:var(--muted)}input,select,textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#fff;color:var(--ink);font-size:15px;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}textarea{min-height:96px;resize:vertical}input::placeholder,textarea::placeholder{color:#a1a1aa}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(9,9,11,.08)}input[type=checkbox]{width:auto;min-height:0;box-shadow:none}.input-wrap{position:relative}.input-wrap .icon-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%)}.icon-btn{width:36px;height:36px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);display:grid;place-items:center}.icon-btn:hover{background:var(--bg-muted);color:var(--ink)}.switch{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;cursor:pointer}.switch+.switch{border-top:1px solid var(--line)}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .track{width:36px;height:20px;flex:0 0 36px;margin-top:2px;border-radius:var(--r-full);background:var(--line-strong);position:relative;transition:background .15s}.switch .track:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.switch input:checked+.track{background:var(--green)}.switch input:checked+.track:after{transform:translateX(16px)}.switch input:focus-visible+.track{outline:2px solid var(--green);outline-offset:2px}.switch .text strong{display:block;color:var(--ink);font-size:14px;font-weight:550}.switch .text span{color:var(--muted);font-size:13px}.notice{display:flex;gap:var(--s-3);align-items:flex-start;border-radius:var(--r-md);padding:var(--s-3) var(--s-4);background:var(--green-soft);color:var(--green-dark);border:1px solid var(--green-line);font-size:14px;line-height:1.55}.notice svg{flex:0 0 auto;margin-top:2px}.notice.error{background:var(--red-soft);color:#7f1d1d;border-color:var(--red-line)}.notice.hint,.notice.warn{background:var(--amber-soft);color:#78350f;border-color:var(--amber-line)}.notice.info{background:var(--blue-soft);color:#1e3a8a;border-color:var(--blue-line)}.notice.neutral{background:var(--bg-subtle);color:var(--text);border-color:var(--line)}.progressbar{height:6px;border-radius:var(--r-full);background:var(--bg-muted);overflow:hidden}.progressbar>div{height:100%;background:var(--green);border-radius:var(--r-full);transition:width .3s}.sheet-sample{border-collapse:collapse;width:100%;font-size:13px;table-layout:fixed}.sheet-sample td,.sheet-sample th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:32px;padding:0 var(--s-3);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-sample thead th{height:26px}.sheet-sample tbody th,.sheet-sample thead th{background:var(--bg-subtle);color:var(--muted);font-size:11px;font-weight:500;text-align:center}.sheet-sample tbody th{width:40px;padding:0}.sheet-sample thead th:first-child{width:40px}.sheet-sample td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sheet-sample tr.header td{font-weight:600;color:var(--ink)}.sheet-sample .target{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-soft);color:var(--green-hover);font-weight:600;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.practice-top{border-bottom:1px solid var(--line);background:#fff}.practice-top-inner{height:56px}.practice-progress,.practice-top-inner{display:flex;align-items:center;gap:var(--s-4)}.practice-progress{flex:1 1 auto;min-width:0}.practice-progress .breadcrumb{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden}.practice-progress .progressbar{flex:1 1 120px;max-width:220px;margin-left:auto}.practice-grid{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-gap:var(--s-7);gap:var(--s-7);align-items:start;padding:var(--s-6) 0 var(--s-8)}.practice-main,.sheet-card{min-width:0}.task-panel{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + var(--s-5));display:flex;flex-direction:column;gap:var(--s-4)}.task-panel h1{font-size:clamp(26px,2.4vw,30px);letter-spacing:-.03em}.task-panel .task{font-size:16px;color:var(--text)}.target-chip{display:inline-flex;align-self:flex-start;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border-radius:var(--r-md);background:var(--green-soft);font-size:13px;color:var(--green-hover);font-weight:500}.target-chip b{font-family:var(--font-code);font-weight:600}.syntax-card{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);background:var(--bg-subtle)}.syntax-card .code{font-family:var(--font-code);font-size:14px;color:var(--ink);word-break:break-word}.arg-list{display:flex;flex-direction:column;gap:var(--s-2);margin:0;padding:0;list-style:none}.arg-list li{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--s-3);gap:var(--s-3);font-size:13px;line-height:1.5;color:var(--text)}.arg-list code{color:var(--ink);font-weight:500}.label-caps{font-size:12px;font-weight:550;color:var(--muted)}.solution-code{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:6px 6px 6px var(--s-3);background:var(--ink);color:#fafafa;border-radius:var(--r-md);font-family:var(--font-code);font-size:14px}.solution-code>span{flex:1 1 auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;padding:4px 0}.solution-code button{flex:none;align-self:flex-start;height:28px;padding:0 var(--s-2);border-radius:var(--r-sm);border:0;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans)}.solution-code button:hover{background:rgba(255,255,255,.2)}.solution-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:var(--s-1);font-size:14px}.sheet-card{padding:0;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.sheet-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;background:var(--bg-subtle)}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--ink);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.check-bar{display:flex;justify-content:space-between;gap:var(--s-3)}.check-bar,.check-bar .hint-text{align-items:center;flex-wrap:wrap}.check-bar .hint-text{font-size:13px;color:var(--muted);display:inline-flex;gap:6px}.result-panel{border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}.result-panel.ok{background:var(--green-soft);border:1px solid var(--green-line)}.result-panel.bad{background:var(--red-soft);border:1px solid var(--red-line);color:#7f1d1d;flex-direction:row;align-items:flex-start;padding:var(--s-4) var(--s-5);font-size:15px}.result-panel .title{display:flex;align-items:center;gap:var(--s-2);font-size:17px;font-weight:600;color:var(--green-dark)}.result-panel .title svg{color:var(--green)}.result-panel .why{font-size:15px;color:#064e3b}.ps{display:flex;flex-direction:column;background:#fff}.ps-bar,.ps-keypad,.ps-steps,.ps-tip{flex-shrink:0}.ps-bar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line)}.ps-name{width:64px;height:34px;flex:0 0 64px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle);font-family:var(--font-code);font-size:13px;font-weight:600;color:var(--ink)}.ps-fx{font-family:Georgia,Times New Roman,serif;font-style:italic;color:var(--muted);font-size:15px;padding:0 2px}.ps-editor{position:relative;flex:1 1 auto;min-width:0;height:34px}.ps-input,.ps-mirror{position:absolute;inset:0;margin:0;padding:0 10px;border-radius:var(--r-sm);font-family:var(--font-code);font-size:14px;line-height:32px;letter-spacing:0;white-space:pre;text-align:left}.ps-mirror{border:1px solid transparent;overflow:hidden;color:var(--ink);pointer-events:none}.ps-input{width:100%;height:34px;min-height:0;border:1px solid var(--line);background:transparent;color:transparent;caret-color:var(--ink);box-shadow:none}.ps-input::placeholder{color:#a1a1aa}.ps-input::selection{background:rgba(17,158,9,.2);color:transparent}.ps-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(17,158,9,.15)}.ps-ok{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:var(--r-sm);background:var(--primary);color:#fff;display:grid;place-items:center}.ps-sugg{position:absolute;top:40px;left:0;z-index:20;width:min(340px,100%);background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-direction:column}.ps-sugg button{all:unset;box-sizing:border-box;display:flex;align-items:baseline;gap:10px;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:13px;color:var(--muted)}.ps-sugg button b{font-family:var(--font-code);font-weight:600;color:var(--ink);font-size:13px}.ps-sugg button.on,.ps-sugg button:hover{background:var(--green-soft)}.ps-sugg-foot{padding:6px 10px 4px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:4px}.ps-tip{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:32px;padding:4px var(--s-3) 4px calc(64px + 46px);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.ps-sig{font-family:var(--font-code);font-size:12.5px;color:var(--text)}.ps-sig .arg.on{color:#fff;background:var(--primary);padding:1px 5px;border-radius:4px;font-weight:600}.ps-err{color:var(--red)}.ps-err b{font-family:var(--font-code);margin-right:4px}.ps-help{color:var(--muted)}.ps-preview{font-family:var(--font-code);font-size:13px;color:var(--ink);font-weight:600;white-space:nowrap;padding:2px 8px;border-radius:var(--r-sm);background:var(--bg-muted)}.ps-keypad{display:none}.ps-grid-wrap{overflow:auto;max-height:440px;outline:none;position:relative}.ps-grid-wrap:focus-visible{box-shadow:inset 0 0 0 2px var(--green-line)}.ps-canvas,.ps-grid{-moz-user-select:none;user-select:none;-webkit-user-select:none}.ps-canvas{position:relative}.ps-headrow{position:-webkit-sticky;position:sticky;top:0;z-index:10;height:26px}.ps-corner{position:-webkit-sticky;position:sticky;left:0;z-index:2;width:44px;cursor:pointer;background:var(--bg-subtle)}.ps-colh,.ps-corner{height:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ps-colh{position:absolute;top:0;display:grid;place-items:center;background:var(--bg-subtle);color:var(--muted);font-size:11px;font-weight:550;cursor:s-resize;box-sizing:border-box}.ps-body{position:relative}.ps-rowstrip{position:-webkit-sticky;position:sticky;left:0;z-index:7;width:44px}.ps-rowh{position:absolute;left:0;width:44px;display:grid;place-items:center;background:var(--bg-subtle);color:var(--muted);font-size:11px;font-weight:550;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:e-resize;box-sizing:border-box}.ps-colh.on,.ps-rowh.on{background:var(--green-soft);color:var(--green-hover)}.ps-colh.full,.ps-rowh.full{background:var(--brand);color:#fff}.ps-cell{position:absolute;box-sizing:border-box;padding:0 8px;display:flex;align-items:center;cursor:cell;min-width:0;border-right:1px solid #eeeef0;border-bottom:1px solid #eeeef0;font-size:13.5px;color:var(--ink);background:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ps-txt{overflow:hidden;white-space:nowrap;text-overflow:clip;min-width:0}.ps-cell.a-r{justify-content:flex-end}.ps-cell.a-c{justify-content:center}.ps-cell.bold{font-weight:650}.ps-cell.spill{color:var(--text)}.ps-cell.err{color:var(--red);font-weight:550}.ps-cell.target{background:var(--green-soft)}.ps-cell.target:not(.anchor):after{content:"";position:absolute;inset:0;border:1.5px dashed var(--brand);pointer-events:none}.ps-cell.insel{background:rgba(17,158,9,.08)}.ps-cell.anchor{z-index:1}.ps-cell.fillzone{background:rgba(113,113,122,.08)}.ps-cell.editing{font-family:var(--font-code);font-size:12.5px;justify-content:flex-start;background:#fff;z-index:2}.ps-cell.editing .ps-txt{overflow:visible}.ps-fill{position:absolute;right:-4px;bottom:-4px;width:7px;height:7px;background:var(--brand);border:1.5px solid #fff;cursor:crosshair;z-index:5;box-sizing:content-box}.ps-fill:before{content:"";position:absolute;inset:-6px}.ps-resize{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:4}.ps-resize:hover{background:var(--green-line)}.continue-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:14px 16px;margin-bottom:var(--s-4);border:1px solid var(--green-line);background:var(--green-soft);border-radius:var(--r-lg);text-decoration:none;color:inherit}.continue-card .title{font-weight:600;color:var(--ink);font-size:16px}.continue-card .eyebrow{margin:0}.continue-card:hover{border-color:var(--brand)}.ps-menu{position:fixed;z-index:200;min-width:220px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.ps-menu button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;color:var(--ink);cursor:pointer}.ps-menu button:focus-visible,.ps-menu button:hover{background:var(--bg-subtle)}.ps-menu button.danger{color:var(--red)}.ps-menu-sep{margin:4px 2px}.btn-dl{display:inline-flex;align-items:center;gap:6px}.btn-dl img{width:16px;height:16px;display:block}.ps-stats{font-family:var(--font-code);font-size:12.5px;color:var(--ink)}.ps-tip-right{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.ps-toast{color:var(--green-hover);background:var(--green-soft);padding:2px 8px}.ps-explain-btn,.ps-toast{font-size:12px;font-weight:600;border-radius:var(--r-sm)}.ps-explain-btn{height:26px;padding:0 10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);white-space:nowrap}.ps-explain-btn:hover{background:var(--bg-subtle)}.ps-explain-btn[aria-expanded=true]{background:var(--green-soft);border-color:var(--green-line);color:var(--green-hover)}.ps-steps{list-style:none;margin:0;padding:10px var(--s-3) 12px calc(64px + 46px);border-bottom:1px solid var(--line);background:var(--bg-subtle);display:flex;flex-direction:column;gap:4px;counter-reset:step}.ps-steps li{display:flex;align-items:baseline;gap:10px;font-size:13px;counter-increment:step}.ps-steps li:before{content:counter(step);width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:var(--line);color:var(--text);font-size:11px;font-weight:600;display:grid;place-items:center}.ps-steps li.last:before{background:var(--brand);color:#fff}.ps-steps code{font-size:13px;color:var(--ink);word-break:break-word}.ps-steps li.last code{font-weight:650;color:var(--green-hover)}@media (max-width:700px),(pointer:coarse){.ps-keypad{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:6px;gap:6px;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);background:var(--bg-subtle)}.ps-keypad button{height:40px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-family:var(--font-code);font-size:15px;font-weight:600;color:var(--ink);padding:0}.ps-keypad button:nth-child(n+13){grid-column:span 2;font-size:12px;background:var(--green-soft);color:var(--green-hover)}.ps-tip{flex-wrap:wrap}.ps-steps,.ps-tip{padding-left:var(--s-3)}.ps-input,.ps-mirror{font-size:16px}.ps-cell{font-size:14px}.ps-grid-wrap{max-height:360px}}.practice-grid.is-full{position:fixed;inset:0;z-index:80;max-width:none;margin:0;padding:0;background:var(--bg-subtle);display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto minmax(0,1fr);grid-gap:0;gap:0;align-items:stretch}.full-bar{grid-column:1/-1;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:10px var(--s-4);background:#fff;border-bottom:1px solid var(--line)}.full-bar,.full-title{display:flex;align-items:center}.full-title{gap:10px;min-width:0;flex:1 1 200px}.full-title strong{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.full-bar kbd{margin-left:2px}.full-task{display:none;flex:1 1 100%;font-size:14px;color:var(--text)}.btn.primary kbd{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);color:#fff;box-shadow:none}.is-full .practice-main{grid-column:1;grid-row:2;min-height:0;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);overflow:auto}.is-full .task-panel{grid-column:2;grid-row:2;position:static;min-height:0;overflow-y:auto;background:#fff;border-left:1px solid var(--line);padding:var(--s-5);gap:var(--s-3)}.is-full .task-panel h1{font-size:22px}.is-full .task-panel .task{font-size:15px}.is-full .sheet-card{flex:1 1 auto;min-height:280px;display:flex;flex-direction:column}.is-full .sheet-card>.card-foot,.is-full .sheet-card>.card-head{display:none}.is-full .ps-grid-wrap,.is-full .sheet-card .ps{flex:1 1 auto;min-height:0}.is-full .ps-grid-wrap{max-height:none}.is-full .result-panel{flex:0 0 auto;padding:var(--s-4)}.is-full .result-panel .btn.lg{height:40px;font-size:14px}@media (max-width:900px){.practice-grid.is-full{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;overflow-y:auto}.is-full .practice-main{grid-row:2;overflow:visible;padding:var(--s-3);min-height:auto}.full-task{display:block}.is-full .sheet-card{min-height:0;flex:none}.is-full .ps-grid-wrap{flex:none;max-height:55vh}.is-full .task-panel{grid-column:1;grid-row:3;border-left:0;border-top:1px solid var(--line);overflow:visible;min-height:auto}}@media (max-width:600px){.hide-sm{display:none!important}.full-title strong{font-size:14px}}.my-steps{gap:6px;margin-top:4px}.my-steps,.my-steps ol{display:flex;flex-direction:column}.my-steps ol{margin:0;padding-left:20px;gap:2px}.my-steps code{font-size:13px;color:#7f1d1d;word-break:break-word}.fn-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--s-7);gap:var(--s-7);align-items:start;padding-bottom:var(--s-8)}.sticky-aside{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + var(--s-5))}.code-block{background:var(--ink);color:#fafafa;border-radius:var(--r-md);padding:var(--s-4) var(--s-5);font-family:var(--font-code);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{text-align:left;padding:var(--s-3);border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}.data-table th{color:var(--muted);font-size:12px;font-weight:550;background:var(--bg-subtle)}.data-table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}.chip-list{display:flex;flex-wrap:wrap;gap:var(--s-2)}.chip-list a{height:30px;padding:0 10px;border-radius:var(--r-md);border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;font-family:var(--font-code);font-size:12px;color:var(--ink)}.chip-list a:hover{border-color:var(--line-strong);background:var(--bg-subtle)}.list-link{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);font-weight:550;font-size:14px;color:var(--ink)}.list-link:hover{border-color:var(--line-strong);background:var(--bg-subtle)}.auth-wrap{max-width:400px;margin:0 auto;padding:var(--s-8) 0 var(--s-9)}.tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px;padding:3px;background:var(--bg-muted);border-radius:var(--r-md)}.tabs button{height:34px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-weight:550;font-size:14px}.tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.passport-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:var(--s-5);gap:var(--s-5);align-items:start;padding-bottom:var(--s-8)}.profile-head{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.avatar{width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:600;font-size:22px}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.kpi{border-radius:var(--r-md);border:1px solid var(--line);padding:var(--s-4);display:flex;flex-direction:column;gap:2px;background:#fff}.kpi b{font-size:26px;line-height:1.1;color:var(--ink);font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi span{font-size:13px;color:var(--muted)}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.badge{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:#fff}.badge .ic{width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.badge.locked{background:var(--bg-subtle)}.badge.locked .ic{background:var(--bg-muted);color:#a1a1aa}.badge strong{font-size:14px;font-weight:550;color:var(--ink)}.badge span{font-size:12px;color:var(--muted);line-height:1.4}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:var(--s-6);gap:var(--s-6);align-items:start;padding-bottom:var(--s-8)}.admin-menu{display:flex;flex-direction:column;gap:2px;padding:var(--s-2);position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + var(--s-4))}.admin-menu button{display:flex;align-items:center;gap:var(--s-3);height:36px;padding:0 var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-weight:500;font-size:14px;text-align:left}.admin-menu button:hover{background:var(--bg-subtle);color:var(--ink)}.admin-menu button.active{background:var(--bg-muted);color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.status{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-sm);font-size:12px;font-weight:550;background:var(--bg-muted);color:var(--text)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.ok{background:var(--green-soft);color:var(--green-hover)}.status.wait{background:var(--amber-soft);color:var(--amber)}.status.fail{background:var(--red-soft);color:var(--red)}.status.run{background:var(--blue-soft);color:var(--blue)}.footer{margin-top:var(--s-10);border-top:1px solid var(--line);background:var(--bg-subtle)}.footer-inner{display:grid;grid-template-columns:1.6fr repeat(4,minmax(0,1fr));grid-gap:var(--s-6);gap:var(--s-6);padding:var(--s-7) 0 var(--s-6)}.footer h4{font-size:13px;font-weight:550;color:var(--ink);margin-bottom:var(--s-3);letter-spacing:0}.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2);font-size:14px;color:var(--muted)}.footer ul a:hover{color:var(--ink)}.footer-bottom{border-top:1px solid var(--line);padding:var(--s-4) 0;display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;font-size:13px;color:var(--muted)}@media (max-width:1024px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-layout,.passport-grid{grid-template-columns:1fr}.sticky-aside{position:static}.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-row{grid-template-columns:90px minmax(0,1fr) 100px 24px}.ex-row .lvl{display:none}}@media (max-width:900px){.admin-layout,.practice-grid{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}.grid3,.how-grid,.steps3{grid-template-columns:repeat(2,minmax(0,1fr))}.cat:nth-child(3n){border-right:1px solid var(--line)}.cat:nth-child(2n){border-right:0}.cat:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.cat:nth-last-child(-n+2){border-bottom:0}.form-grid{grid-template-columns:1fr 1fr}.admin-menu,.sticky-aside,.task-panel{position:static}.admin-menu{flex-direction:row;overflow-x:auto}.admin-menu button{flex:0 0 auto}.nav-actions .desktop-only,.navlinks{display:none}.nav-inner{justify-content:space-between}.nav-toggle{display:inline-flex}.mobile-menu{display:block;border-top:1px solid var(--line);background:#fff;padding:var(--s-3) 0 var(--s-4)}.mobile-menu nav{display:flex;flex-direction:column;gap:2px}.mobile-menu a:not(.btn){height:44px;padding:0 var(--s-3);border-radius:var(--r-md);display:flex;align-items:center;font-weight:500;color:var(--text)}.mobile-menu a[aria-current=page]{background:var(--bg-muted);color:var(--ink)}.shot-body{grid-template-columns:1fr}.shot-task{border-right:0;border-bottom:1px solid var(--line)}.practice-progress .progressbar{display:none}}@media (max-width:600px){:root{--nav-h:56px}.container{padding:0 var(--s-4)}.form-grid,.grid2,.grid3,.grid4,.how-grid,.steps3{grid-template-columns:1fr}.cat{border-right:0!important;border-bottom:1px solid var(--line)!important}.cat:last-child{border-bottom:0!important}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.page-head{padding:var(--s-6) 0 var(--s-5)}.section{padding-top:var(--s-8)}.hero-v4{padding-top:var(--s-7)}.card{padding:var(--s-4)}.card.pad-lg{padding:var(--s-5)}.cta-band,.cta-simple,.feature-band{padding:var(--s-7) var(--s-4)}.footer-inner{grid-template-columns:1fr 1fr;gap:var(--s-5)}.footer-inner>:first-child{grid-column:1/-1}.hero-v4 .buttons .btn{flex:1 1 100%}.ex-row{grid-template-columns:minmax(0,1fr) auto;padding:var(--s-3) var(--s-4);gap:var(--s-2) var(--s-3)}.ex-row .fnc{grid-column:1/-1}.ex-row .arrow,.ex-row .desc,.shot-sheet .sheet-sample td:nth-child(n+5),.shot-sheet .sheet-sample th:nth-child(n+5){display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.tag.green{background:var(--green-soft);color:var(--green-hover)}.fn-chip.on{background:var(--brand);color:#fff}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.cat-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:18px;min-height:150px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .15s,box-shadow .15s,transform .15s}.cat-card:hover{box-shadow:var(--shadow-md,0 4px 14px rgba(0,0,0,.06));transform:translateY(-1px)}.cat-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.cat-card.on{border-color:var(--brand);background:var(--green-softer)}.cat-card.ghost{background:var(--bg-subtle);border-style:dashed}.cat-name{font-weight:650;font-size:16.5px;color:var(--ink);letter-spacing:-.01em}.cat-blurb{font-size:13.5px;color:var(--muted);line-height:1.45;flex:1 1}.cat-meta{font-size:12.5px;font-weight:600;color:var(--green-hover);gap:4px}.cat-meta,.mini-progress{display:inline-flex;align-items:center}.mini-progress{gap:8px;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-bar{width:72px;height:5px;border-radius:99px;background:var(--bg-muted);overflow:hidden;display:inline-block}.mini-bar>span{display:block;height:100%;background:var(--brand);border-radius:99px}.crumbs{margin:0 0 var(--s-3)}.fn-group{margin-top:var(--s-6)}.fn-group h2{font-size:19px;margin-bottom:var(--s-3)}.fn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:var(--s-2);gap:var(--s-2)}.fn-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:inherit;text-decoration:none;min-width:0}.fn-card:hover{border-color:var(--green-line);background:var(--green-softer)}.fn-card-name{font-family:var(--font-code);font-weight:650;font-size:13.5px;color:var(--ink)}.fn-card-desc{font-size:13px;color:var(--muted);line-height:1.4}.fn-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.lvl-dot{width:18px;height:18px;border-radius:50%;background:var(--bg-muted);color:var(--text);font-size:10.5px;font-weight:700;display:inline-grid;place-items:center}.guide-steps{counter-reset:gs;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.guide-steps li{counter-increment:gs;position:relative;padding-left:38px;line-height:1.55}.guide-steps li:before{content:counter(gs);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--green-soft);color:var(--green-hover);font-weight:700;font-size:13px;display:grid;place-items:center}.guide-steps b{color:var(--ink)}.bullets{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.try-sheet .ps-grid-wrap{max-height:300px}.fnpick,.fnpick-box{position:relative}.fnpick-box{display:flex;align-items:center}.fnpick-box input{padding-left:34px;padding-right:36px;font-family:var(--font-code)}.fnpick-icon{position:absolute;left:11px;color:var(--muted);pointer-events:none}.fnpick-toggle{all:unset;position:absolute;right:8px;width:26px;height:26px;display:grid;place-items:center;cursor:pointer;color:var(--muted);border-radius:var(--r-sm)}.fnpick-toggle:hover{background:var(--bg-muted)}.fnpick-pop{position:absolute;z-index:60;top:calc(100% + 4px);left:0;width:min(560px,92vw);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.fnpick-cats{display:flex;gap:4px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--line);background:var(--bg-subtle)}.fnpick-cats button{all:unset;cursor:pointer;font-size:12px;font-weight:600;padding:3px 8px;border-radius:99px;color:var(--text);border:1px solid var(--line);background:#fff}.fnpick-cats button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.fnpick-list{list-style:none;margin:0;padding:4px;max-height:320px;overflow:auto}.fnpick-list li{display:grid;grid-template-columns:150px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:7px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:13px}.fnpick-list li.active{background:var(--green-soft)}.fnpick-list li.off{opacity:.55;cursor:not-allowed}.fnpick-name{font-family:var(--font-code);font-weight:650;color:var(--ink);display:inline-flex;align-items:center;gap:4px}.fnpick-desc,.fnpick-name{overflow:hidden;text-overflow:ellipsis}.fnpick-desc{color:var(--muted);white-space:nowrap}.fnpick-tag{font-size:11px;font-weight:600;padding:2px 7px;border-radius:99px;white-space:nowrap}.fnpick-tag.ok{background:var(--green-soft);color:var(--green-hover)}.fnpick-tag.desk{background:var(--bg-muted);color:var(--text)}.fnpick-tag.warn{background:var(--amber-soft);color:var(--amber)}.fnpick-empty{padding:12px;color:var(--muted)}.fnpick-foot{font-size:12px;color:var(--muted);padding:6px 10px;border-top:1px solid var(--line);background:var(--bg-subtle)}@media (max-width:600px){.fnpick-list li{grid-template-columns:1fr auto}.fnpick-desc{display:none}.cat-grid{grid-template-columns:1fr}.cat-card{min-height:0}}.adm-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.adm-search{flex:1 1 260px}.adm-select{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}.adm-select select{min-width:130px;height:40px}.adm-clear{height:40px}.adm-bulk{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-subtle);min-height:48px}.adm-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}.adm-check input,.adm-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.adm-table tr.picked td{background:var(--green-softer)}.btn.danger{color:var(--red);border-color:var(--red-soft,#fecaca)}.btn.danger:hover{background:var(--red-soft,#fef2f2)}.btn.icon-only{width:32px;padding:0;justify-content:center}.adm-table{table-layout:fixed;width:100%}.adm-table th:first-child{width:40px}.adm-table th:nth-child(3){width:110px}.adm-table th:nth-child(4),.adm-table th:nth-child(5){width:104px}.adm-table th:nth-child(6){width:132px}.adm-table td{vertical-align:top}.adm-table td .mono{word-break:break-all;white-space:normal}.adm-table td:nth-child(2)>div:first-child{overflow-wrap:anywhere}.adm-table .buttons{gap:6px}@media (max-width:900px){.adm-table td:nth-child(4),.adm-table th:nth-child(4){display:none}}@media (max-width:760px){.adm-table td:nth-child(3),.adm-table td:nth-child(5),.adm-table th:nth-child(3),.adm-table th:nth-child(5){display:none}.adm-table th:nth-child(6){width:92px}.adm-table td:nth-child(6) .buttons{flex-direction:column;align-items:stretch}}.container.admin-wide{max-width:none;padding-left:clamp(16px,2.5vw,40px);padding-right:clamp(16px,2.5vw,40px)}.admin-wide .admin-layout{grid-template-columns:200px minmax(0,1fr);gap:var(--s-5)}.admin-wide .adm-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(6,minmax(120px,1fr)) auto;grid-gap:10px;gap:10px;align-items:end}.admin-wide .adm-filters .adm-select select{width:100%;min-width:0}.admin-wide .adm-table th:nth-child(3){width:140px}.admin-wide .adm-table th:nth-child(6){width:150px}@media (max-width:1400px){.admin-wide .adm-filters{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(120px,1fr))}}@media (max-width:760px){.admin-wide .adm-filters{grid-template-columns:1fr 1fr}.admin-wide .adm-filters .adm-search{grid-column:1/-1}}.ps-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px var(--s-3);border-bottom:1px solid var(--line);background:#fff}.ps-freeze-wrap>button,.ps-tools>button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text);font-size:12.5px;font-weight:550;cursor:pointer;white-space:nowrap}.ps-freeze-wrap>button:hover,.ps-tools>button:hover{background:var(--bg-subtle);color:var(--ink)}.ps-tools button.on{background:var(--green-soft);color:var(--green-hover);border-color:var(--green-line)}.ps-tools-sep{width:1px;height:20px;background:var(--line);margin:0 4px}.ps-freeze-wrap{position:relative;display:inline-flex}.ps-menu.ps-menu-drop{position:absolute;top:34px;left:0}.ps-menu button:disabled{color:var(--muted);opacity:.55;cursor:default;background:none}.ps-fz{position:-webkit-sticky;position:sticky;box-sizing:border-box}.ps-fz-rows{z-index:9;box-shadow:0 2px 0 var(--line-strong)}.ps-fz-rowh{z-index:3}.ps-fz-corner{z-index:2}.ps-fz-cols{z-index:5}.ps-fz-colh,.ps-fz-cols{box-shadow:2px 0 0 var(--line-strong)}.ps-fz-colh{z-index:3}.ps-fz-corner{box-shadow:2px 0 0 var(--line-strong)}.ps-rowh.gap{box-shadow:inset 0 2px 0 var(--brand)}.ps-cell.fhead{padding-right:26px}.ps-fbtn{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--muted);cursor:pointer;padding:0}.ps-fbtn:hover{color:var(--ink);border-color:var(--ink)}.ps-fbtn.on{color:#fff;background:var(--brand);border-color:var(--brand)}.ps-fbtn svg{width:12px;height:12px}.ps-filterpop{position:fixed;z-index:210;width:260px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px;gap:8px;font-size:13px}.ps-filterpop,.ps-fp-sort{display:flex;flex-direction:column}.ps-fp-sort{gap:2px;border-bottom:1px solid var(--line);padding-bottom:6px}.ps-fp-sort button{all:unset;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;color:var(--ink)}.ps-fp-sort button:hover{background:var(--bg-subtle)}.ps-filterpop input[type=search]{height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:13px}.ps-fp-list{list-style:none;margin:0;padding:0;max-height:210px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm)}.ps-fp-list label{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer}.ps-fp-list label:hover{background:var(--bg-subtle)}.ps-fp-list input{accent-color:var(--brand);width:15px;height:15px;flex:none}.ps-fp-val{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-fp-n{color:var(--muted);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ps-fp-foot{display:flex;align-items:center;justify-content:space-between;gap:6px}.ps-fp-foot span{display:inline-flex;gap:6px}.ps-fp-foot button{height:30px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:#fff;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink)}.ps-fp-foot button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.ps-fp-foot button:disabled{opacity:.5;cursor:default}.ps-fp-foot .ps-fp-clear{border-color:transparent;color:var(--muted);padding:0 6px}.ps-tabs{display:flex;gap:2px;padding:0 var(--s-2);border-top:1px solid var(--line);background:var(--bg-subtle);overflow-x:auto;min-height:36px;scrollbar-width:thin}.ps-tab,.ps-tabs{align-items:center}.ps-tab{position:relative;display:inline-flex;gap:6px;height:30px;padding:0 14px;margin-top:-1px;flex:none;border:1px solid transparent;border-top:0;border-radius:0 0 var(--r-sm) var(--r-sm);background:transparent;font-size:12.5px;font-weight:550;color:var(--text);cursor:pointer;white-space:nowrap;max-width:220px}.ps-tab:hover{background:var(--bg-muted);color:var(--ink)}.ps-tab.on{background:#fff;color:var(--green-hover);border-color:var(--line);box-shadow:inset 0 -2px 0 var(--brand);font-weight:650}.ps-tab.editing{color:var(--ink);box-shadow:inset 0 -2px 0 #2563eb}.ps-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}.ps-tab.renaming{padding:0 4px;background:#fff;border-color:var(--line)}.ps-tab.renaming input{height:24px;width:140px;font-size:12.5px;padding:0 6px;border:1px solid var(--brand);border-radius:4px;outline:none}.ps-tab-err{position:absolute;bottom:34px;left:0;z-index:20;white-space:nowrap;background:var(--ink);color:#fff;font-size:12px;padding:4px 8px;border-radius:4px}.ps-tab-add{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);border:0;background:transparent;color:var(--muted);cursor:pointer;flex:none}.ps-tab-add:hover{background:var(--bg-muted);color:var(--ink)}.is-full .ps-tabs,.is-full .ps-tools{flex:none}@media (max-width:700px){.ps-freeze-wrap>button span,.ps-tools>button span{display:none}.ps-freeze-wrap>button,.ps-tools>button{padding:0 8px}}.ps-loading{height:420px;display:grid;place-items:center;color:var(--muted);font-size:14px;background:var(--bg-subtle)}.save-note{display:inline-flex;align-items:center;gap:6px;margin-right:12px;color:var(--green-hover);font-weight:600}.save-note:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand)}.playground{padding-bottom:var(--s-8)}.play-head{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap}.play-head p{max-width:640px}.play-card{overflow:hidden}.play-card .ps-grid-wrap{max-height:min(68vh,720px);min-height:420px}.play-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:var(--s-8) 0 0;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}.home-stats>div{padding:var(--s-5) var(--s-5);display:flex;flex-direction:column-reverse;gap:4px;border-right:1px solid var(--line)}.home-stats>div:last-child{border-right:0}.home-stats dt{font-size:13px;color:var(--muted)}.home-stats dd{margin:0;font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.03em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.feat{display:flex;flex-direction:column;gap:8px;padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}a.feat:hover{border-color:var(--green-line);transform:translateY(-1px);box-shadow:var(--shadow-md,0 4px 14px rgba(0,0,0,.06))}.feat h3{font-size:17px}.feat p{color:var(--muted);font-size:14.5px;line-height:1.55}.feat-ico{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green-hover);margin-bottom:4px}.play-band{margin-top:var(--s-9);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--s-7);gap:var(--s-7);align-items:center;padding:var(--s-7);border-radius:var(--r-xl);border:1px solid var(--green-line);background:linear-gradient(135deg,var(--green-softer,#f3fbf2),#fff 70%)}.play-band h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.03em;margin:6px 0 10px}.play-band p{color:var(--muted);margin-bottom:var(--s-5);max-width:460px}.play-mock{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-lg);overflow:hidden;font-size:13px}.pm-bar{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line)}.pm-name{font-family:var(--font-code);font-size:12px;padding:2px 8px;border:1px solid var(--line);border-radius:4px}.pm-fx{color:var(--muted);font-style:italic}.pm-bar code{font-family:var(--font-code);color:#2563eb}.pm-grid{display:grid;grid-template-columns:1fr 1fr 1fr}.pm-grid span{padding:8px 10px;border-right:1px solid #eeeef0;border-bottom:1px solid #eeeef0}.pm-grid .pm-h{font-weight:650;display:flex;justify-content:space-between;background:var(--bg-subtle)}.pm-grid .pm-h i{font-style:normal;color:var(--muted);font-size:11px}.pm-grid .pm-n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pm-tabs{display:flex;gap:2px;padding:0 8px;background:var(--bg-subtle)}.pm-tabs span{padding:6px 12px;font-size:12px;color:var(--muted)}.pm-tabs .on{background:#fff;color:var(--green-hover);font-weight:650;box-shadow:inset 0 -2px 0 var(--brand)}.pm-tabs .pm-add{color:var(--muted)}@media (max-width:960px){.feat-grid{grid-template-columns:1fr 1fr}.play-band{grid-template-columns:1fr;padding:var(--s-6) var(--s-5)}.home-stats{grid-template-columns:1fr 1fr}.home-stats>div:nth-child(2){border-right:0}.home-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:600px){.feat-grid{grid-template-columns:1fr}}@keyframes ss-card-in{0%{opacity:0;transform:perspective(800px) translateY(22px) rotateX(16deg) scale(.96)}55%{opacity:1;transform:perspective(800px) translateY(-4px) rotateX(-3deg) scale(1.01)}80%{transform:perspective(800px) translateY(1px) rotateX(1deg)}to{opacity:1;transform:none}}@keyframes ss-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ss-pop{0%{transform:scale(.4) rotate(-20deg);opacity:0}70%{transform:scale(1.12) rotate(4deg);opacity:1}to{transform:none}}@keyframes ss-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.js .reveal:not([data-shown])>*{opacity:0}.reveal[data-shown]>.cat-card{animation:ss-card-in .7s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 55ms);transform-origin:50% 100%}.reveal[data-shown]>.cat-card .cat-ic{animation:ss-pop .6s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i, 0) * 55ms + .22s)}.reveal[data-shown]>.cat-card:before{animation:ss-sweep .6s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 55ms + .3s)}.reveal[data-shown]>.fn-card{animation:ss-fade-up .45s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 22ms)}}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.cat-card{position:relative;overflow:hidden;gap:8px;padding:20px;min-height:160px;transition:border-color .2s,box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1),background-color .2s}.cat-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;transform-origin:0 50%;background:linear-gradient(90deg,var(--brand-dark),var(--brand) 60%,#7fd36f)}.cat-card:after{content:"";position:absolute;width:180px;height:180px;right:-70px;bottom:-90px;border-radius:50%;background:radial-gradient(circle,rgba(17,158,9,.1),transparent 70%);opacity:0;transition:opacity .3s,transform .4s;pointer-events:none}.cat-card:hover{border-color:var(--green-line);transform:translateY(-3px);box-shadow:0 12px 28px -12px rgba(7,65,25,.28),0 2px 6px rgba(7,65,25,.06)}.cat-card:hover:after{opacity:1;transform:scale(1.15)}.cat-card:active{transform:translateY(-1px) scale(.99)}.cat-card.ghost:before{background:var(--line-strong)}.cat-top{display:flex;align-items:center;gap:10px}.cat-ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:inline-grid;place-items:center;background:var(--green-soft);color:var(--green);border:1px solid var(--green-line);transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s}.cat-card:hover .cat-ic{transform:rotate(-8deg) scale(1.08);background:var(--brand);color:#fff;border-color:var(--brand)}.cat-card.ghost .cat-ic{background:#fff;color:var(--muted);border-color:var(--line)}.cat-arrow{transition:transform .25s cubic-bezier(.22,1,.36,1)}.cat-card:hover .cat-arrow{transform:translateX(4px)}.fn-card{transition:border-color .15s,background-color .15s,transform .2s,box-shadow .2s}.fn-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px -12px rgba(7,65,25,.3)}.fx-layout{display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:var(--s-6);gap:var(--s-6);align-items:start;padding-bottom:var(--s-8)}.fx-side{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + var(--s-4));max-height:calc(100vh - var(--nav-h) - var(--s-6));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.fx-menu{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}.fx-menu-title{font-size:12px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 8px}.fx-item{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:4px 8px;border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--text);transition:background-color .15s,color .15s}.fx-item .cat-ic{width:26px;height:26px;border-radius:7px}.fx-item:hover:not(:disabled){background:var(--bg-muted);color:var(--ink)}.fx-item:focus-visible{outline:2px solid var(--green);outline-offset:1px}.fx-item[aria-pressed=true]{background:var(--green-soft);color:var(--green-dark);font-weight:650}.fx-item[aria-pressed=true] .cat-ic{background:var(--brand);border-color:var(--brand);color:#fff}.fx-item:disabled{opacity:.45;cursor:default}.fx-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-item-count{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}.fx-item[aria-pressed=true] .fx-item-count{color:var(--green-hover)}.fx-main{min-width:0}.fx-toolbar{margin-bottom:var(--s-2)}.fx-toolbar .search{max-width:none}.fx-cat-head{display:flex;gap:12px;align-items:flex-start;margin:var(--s-3) 0 var(--s-2)}.fx-cat-head .cat-ic{width:40px;height:40px;border-radius:10px}.fx-cat-head h2{font-size:22px;letter-spacing:-.02em}.fx-main .fn-group:first-of-type{margin-top:var(--s-4)}@media (max-width:900px){.fx-layout{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}.fx-side{top:var(--nav-h);z-index:20;max-height:none;overflow:visible;margin:0 calc(-1 * var(--s-4));padding:8px var(--s-4);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.fx-menu{flex-direction:row;overflow-x:auto;padding:0;border:0;background:none;gap:6px;scrollbar-width:none}.fx-menu::-webkit-scrollbar{display:none}.fx-menu-title{display:none}.fx-item{flex:0 0 auto;grid-template-columns:auto auto auto;border:1px solid var(--line);border-radius:var(--r-full);padding:4px 12px 4px 4px;background:#fff;font-size:13px}.fx-item .cat-ic{width:24px;height:24px;border-radius:50%}.fx-item[aria-pressed=true]{border-color:var(--brand)}}@keyframes ss-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes ss-backdrop-in{0%{opacity:0}to{opacity:1}}.msgbox{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;color:var(--text);box-shadow:0 30px 80px -20px rgba(9,9,11,.35);animation:ss-dialog-in .22s cubic-bezier(.22,1,.36,1)}.msgbox::-webkit-backdrop{background:rgba(9,22,12,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ss-backdrop-in .2s ease}.msgbox::backdrop{background:rgba(9,22,12,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ss-backdrop-in .2s ease}.msgbox-inner{display:flex;gap:14px;padding:22px 22px 8px}.msgbox-icon{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue)}.msgbox.tone-success .msgbox-icon{background:var(--green-soft);color:var(--green)}.msgbox.tone-danger .msgbox-icon,.msgbox.tone-error .msgbox-icon{background:var(--red-soft);color:var(--red)}.msgbox.tone-warning .msgbox-icon{background:var(--amber-soft);color:var(--amber)}.msgbox-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:8px;padding-top:2px}.msgbox-body h2{font-size:18px;letter-spacing:-.01em;color:var(--ink)}.msgbox-text{font-size:14.5px;line-height:1.55;color:var(--text);overflow-wrap:anywhere}.msgbox-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 20px}.btn.danger-solid{background:var(--red);border-color:var(--red);color:#fff}.btn.danger-solid:hover:not(:disabled){background:#991b1b;border-color:#991b1b}@media (max-width:600px){.msgbox-actions{flex-direction:column-reverse}.msgbox-actions .btn{width:100%;justify-content:center}}.copy-field{display:flex;gap:6px;align-items:center;margin-top:4px}.copy-field input{flex:1 1;min-width:0;height:36px;padding:0 10px;font-family:var(--font-code);font-size:12.5px;color:var(--ink);background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-md)}.copy-field .btn{flex:0 0 auto;height:36px}.share-box{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--green-line);border-radius:var(--r-lg);background:var(--green-softer)}.share-box-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:var(--green-dark)}.rank-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.rank-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--r-lg);text-decoration:none;color:inherit;background:linear-gradient(160deg,var(--green-softer),#fff 70%);border:1px solid var(--green-line);transition:transform .2s,box-shadow .2s}.rank-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(7,65,25,.35)}.rank-card.top{background:linear-gradient(150deg,var(--brand-dark),#0b7a0a 65%,var(--brand));border-color:transparent;color:#fff}.rank-card-label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--green-hover)}.rank-card-num{font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--green-dark);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.rank-card-sub{font-size:12.5px;color:var(--muted)}.rank-card.top .rank-card-label,.rank-card.top .rank-card-num,.rank-card.top .rank-card-sub{color:#fff}.rank-card.top .rank-card-sub{opacity:.85}@media (max-width:600px){.rank-cards{grid-template-columns:1fr}.rank-card{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.rank-card-num{font-size:24px}.cat-grid{grid-template-columns:1fr}.cat-card{min-height:0;padding:16px}}.question-box{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:var(--r-lg);background:linear-gradient(150deg,var(--brand-dark),#0a5523 70%,#0b6b12);color:#fff;box-shadow:0 12px 28px -16px rgba(7,65,25,.55)}.question-label{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-full);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#d6f5cf}.is-full .task-panel .question-box .task,.task-panel .question-box .task{color:#fff;margin:0;line-height:1.55;font-weight:500}.question-box .task b,.question-box .task code{color:#fff}.link-btn{all:unset;cursor:pointer;color:var(--green);font-size:13px;font-weight:550;border-radius:4px}.link-btn:hover{color:var(--green-hover);text-decoration:underline;text-underline-offset:3px}.link-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.link-btn.center{align-self:center}.report-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;color:var(--muted);font-size:12.5px;font-weight:500}.report-link:hover{color:var(--red)}.report-box{width:min(500px,calc(100vw - 32px))}.report-box .msgbox-icon{background:var(--amber-soft);color:var(--amber)}.report-reasons{border:0;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.report-reason{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);font-size:14px;cursor:pointer;transition:border-color .15s,background-color .15s}.report-reason:hover{border-color:var(--line-strong);background:var(--bg-subtle)}.report-reason.on{border-color:var(--green);background:var(--green-softer);color:var(--ink);font-weight:550}.report-reason input{accent-color:var(--green);margin:0}.report-box .field{margin-top:6px}.report-box textarea{min-height:72px}.report-attach{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text);cursor:pointer}.report-attach input{accent-color:var(--green);margin-top:3px}.report-attach code{font-family:var(--font-code);font-size:12px;background:var(--bg-muted);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}.report-error{color:var(--red);font-size:13px;font-weight:550}.report-group{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:#fff}.report-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.report-count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:99px;background:var(--red-soft);color:var(--red);font-weight:700;font-size:13px}.report-items{list-style:none;margin:0;padding:0;gap:8px}.report-item,.report-items{display:flex;flex-direction:column}.report-item{padding:10px 12px;border-radius:var(--r-md);background:var(--bg-subtle);font-size:13.5px;gap:4px}.report-item code{font-family:var(--font-code);font-size:12px;background:#fff;border:1px solid var(--line);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}.tab-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--red);color:#fff;font-size:11.5px;font-weight:700;display:inline-grid;place-items:center}.report-attach input[type=checkbox],.report-reason input[type=radio]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;flex:0 0 auto;width:16px;height:16px;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.report-reasons{gap:5px}.report-reason{padding:8px 12px}.blog-hero{color:#fff;padding:var(--s-8) 0 calc(var(--s-8) + 24px);position:relative;overflow:hidden;background:radial-gradient(600px 260px at 85% 0,rgba(127,211,111,.35),transparent 70%),linear-gradient(135deg,#052e12,var(--brand-dark) 45%,#0b7a0a)}.blog-hero .container{display:flex;flex-direction:column;gap:var(--s-3)}.blog-hero h1{color:#fff;font-size:clamp(30px,5vw,46px);letter-spacing:-.03em}.blog-hero p{color:rgba(255,255,255,.85);max-width:620px}.blog-body{display:flex;flex-direction:column;gap:var(--s-5);padding-top:var(--s-6);padding-bottom:var(--s-8)}.blog-cats{display:flex;gap:6px;flex-wrap:wrap}.blog-cats a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--r-full);border:1px solid var(--line);font-size:13.5px;font-weight:550;color:var(--text);background:#fff}.blog-cats a span{font-size:12px;color:var(--muted)}.blog-cats a:hover{border-color:var(--green-line)}.blog-cats a[aria-current=page]{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.blog-cats a[aria-current=page] span{color:#bff0b4}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.blog-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;color:inherit;text-decoration:none;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .2s}.blog-card:hover{transform:translateY(-3px);border-color:var(--green-line);box-shadow:0 14px 30px -16px rgba(7,65,25,.35)}.blog-card img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;display:block;border-bottom:1px solid var(--line);background:var(--green-softer)}.blog-card-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1 1}.blog-card-fn{font-family:var(--font-code);font-size:12.5px;font-weight:700;color:var(--green);letter-spacing:.02em}.blog-card-title{font-weight:650;font-size:17px;line-height:1.35;color:var(--ink)}.blog-card-desc{font-size:14px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-meta{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--muted)}.blog-card-meta>span{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:600}.blog-card-meta svg{transition:transform .2s}.blog-card:hover .blog-card-meta svg{transform:translateX(3px)}@media (prefers-reduced-motion:no-preference){.reveal[data-shown]>.blog-card{animation:ss-card-in .7s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 70ms)}}.post-wrap{max-width:820px;padding-top:var(--s-5);padding-bottom:var(--s-8)}.post-head{display:flex;flex-direction:column;gap:10px;margin:var(--s-3) 0 var(--s-5)}.post-head h1{font-size:clamp(28px,4.4vw,42px);letter-spacing:-.03em;line-height:1.12}.post-lede{font-size:18px;color:var(--text);line-height:1.55}.post-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}.post-meta span{display:inline-flex;align-items:center;gap:6px}.post{gap:var(--s-6);font-size:16.5px;line-height:1.7;color:var(--text)}.post,.post section{display:flex;flex-direction:column}.post section{gap:14px;scroll-margin-top:calc(var(--nav-h) + 16px)}.post h2{font-size:26px;letter-spacing:-.02em;color:var(--ink);line-height:1.25}.post h3{font-size:19px;color:var(--ink);display:flex;gap:10px;align-items:center}.post li code,.post p code,.post summary code,.post td code{font-family:var(--font-code);font-size:.88em;background:var(--green-softer);border:1px solid var(--green-line);color:var(--green-dark);padding:1px 6px;border-radius:5px}.post strong{color:var(--ink)}.post-hero{width:100%;height:auto;border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:0 18px 40px -26px rgba(7,65,25,.5)}.post-summary{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:var(--r-lg);color:#fff;background:linear-gradient(150deg,var(--brand-dark),#0a5523 70%,#0b6b12)}.post-summary p{color:#fff;margin:0;font-size:17px}.post-summary strong{color:#fff}.post-summary code:not(.post-syntax-inline){background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}.post-summary-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#bff0b4}.post-syntax-inline{align-self:flex-start;font-family:var(--font-code);font-size:14.5px;background:#fff;color:var(--green-dark);padding:6px 12px;border-radius:8px;overflow-wrap:anywhere}.post-toc{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;background:var(--bg-subtle);font-size:15px}.post-toc>span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.post-toc ol{margin:8px 0 0;padding-left:20px;column-count:2;column-gap:24px}.post-toc li{margin:2px 0}.post-toc a{color:var(--green-dark);font-weight:550}.post-toc a:hover{text-decoration:underline;text-underline-offset:3px}.post-checks,.post-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.post-checks li{position:relative;padding-left:28px}.post-checks li:before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:7px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}.post-tips li{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--amber-soft,#fffbeb);border:1px solid #fde68a}.post-tips li svg{flex:0 0 auto;margin-top:5px;color:var(--amber,#b45309)}.post-code{margin:0;padding:14px 18px;border-radius:var(--r-md);background:#0b1f12;color:#c9f5bd;font-family:var(--font-code);font-size:15px;overflow-x:auto}.post-table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5}.post-table th{text-align:left;padding:10px 12px;background:var(--green-soft);color:var(--green-dark);font-weight:650;border-bottom:2px solid var(--green-line)}.post-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.post-table tr:nth-child(2n) td{background:var(--bg-subtle)}.post-err{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-code);font-weight:700;color:var(--red);white-space:nowrap}.post-example{display:flex;flex-direction:column;gap:10px;padding-top:6px}.post-example+.post-example{border-top:1px dashed var(--line);padding-top:22px;margin-top:8px}.post-example-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:14px;flex:0 0 auto}.post-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px;border-radius:var(--r-xl);color:#fff;background:radial-gradient(400px 160px at 90% 0,rgba(127,211,111,.35),transparent 70%),linear-gradient(135deg,#052e12,var(--brand-dark) 50%,#0b7a0a)}.post-cta>div{display:flex;flex-direction:column;gap:2px}.post-cta strong{color:#fff;font-size:19px}.post-cta span{color:rgba(255,255,255,.85);font-size:14.5px}.post-cta .btn{background:#fff;color:var(--green-dark);border-color:#fff}.post-faq{display:flex;flex-direction:column;gap:8px}.post-faq details{border:1px solid var(--line);border-radius:var(--r-md);padding:0 16px;background:#fff}.post-faq summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:12px}.post-faq summary::-webkit-details-marker{display:none}.post-faq summary:after{content:"+";font-size:20px;line-height:1;color:var(--green);flex:0 0 auto}.post-faq details[open] summary:after{content:"−"}.post-faq details p{margin:0 0 14px}.post-foot{border-top:1px solid var(--line);padding-top:var(--s-4)}.admin-preview{max-width:none;padding:0}.sheetfig{margin:4px 0 0;border:1px solid #d4dcd5;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 28px -20px rgba(7,65,25,.45)}.sheetfig-bar{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f7f9f7;border-bottom:1px solid #d4dcd5;font-size:13.5px}.sheetfig-name{min-width:52px;text-align:center;padding:3px 8px;border:1px solid #d4dcd5;border-radius:6px;background:#fff;font-weight:650;font-family:var(--font-code);font-size:12.5px}.sheetfig-fx{font-style:italic;color:var(--muted);font-family:Georgia,serif}.sheetfig-formula{flex:1 1;min-width:0;padding:3px 8px;border:1px solid #d4dcd5;border-radius:6px;background:#fff;font-family:var(--font-code);font-size:13px;color:var(--ink);white-space:nowrap;overflow-x:auto}.sheetfig-scroll{overflow-x:auto}.sheetfig-grid{border-collapse:collapse;font-size:13.5px;line-height:1.3;min-width:100%}.sheetfig-grid th{background:#f3f5f3;color:#5b6660;font-weight:500;font-size:12px;padding:4px 8px;border:1px solid #e1e6e2;text-align:center;min-width:30px}.sheetfig-grid thead th{min-width:88px}.sheetfig-grid tbody th,.sheetfig-grid thead th:first-child{min-width:36px;width:36px}.sheetfig-grid th.on{background:#dff3d8;color:var(--green-dark);font-weight:700}.sheetfig-grid td{border:1px solid #e1e6e2;padding:5px 9px;white-space:nowrap;color:#1f2622;height:28px}.sheetfig-grid td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sheetfig-grid td.head{font-weight:650;background:#fafcfa}.sheetfig-grid td.target{outline:2px solid var(--brand);outline-offset:-2px;background:#effaeb;font-weight:700;color:var(--green-dark)}.sheetfig figcaption{padding:8px 12px;font-size:13px;color:var(--muted);border-top:1px solid #e1e6e2;background:#fafcfa}@media (max-width:600px){.post{font-size:16px}.post h2{font-size:22px}.post-toc ol{column-count:1}.post-table{font-size:13.5px}.post-table td,.post-table th{padding:8px}.blog-grid{grid-template-columns:1fr}}.try-sheet .card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.try-full-btn{margin-left:auto}.try-sheet.try-full{position:fixed;inset:0;z-index:80;margin:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;background:var(--bg-subtle)}.try-full .full-bar{flex:none}.try-full .full-title{flex-wrap:wrap}.try-full .ps{flex:1 1 auto;min-height:0;margin:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.try-full .ps-tabs,.try-full .ps-tools{flex:none}.try-sheet.try-full .ps-grid-wrap{flex:1 1 auto;max-height:none;min-height:0}@media (max-width:600px){.try-full .ps{margin:var(--s-2)}.try-full .head-help{display:none}}.google-btn{gap:10px;background:#fff;border:1px solid var(--line-strong);color:var(--ink);font-weight:600}.google-btn:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--muted)}.google-mark{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-weight:800;font-size:14px;color:#fff;background:var(--ink)}.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12.5px}.or-divider:after,.or-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.lb{padding-bottom:var(--s-8);background:linear-gradient(180deg,var(--green-softer),#fff 520px)}.lb-hero{position:relative;overflow:hidden;color:#fff;padding:var(--s-8) 0 calc(var(--s-8) + 64px);background:radial-gradient(700px 300px at 80% -10%,rgba(127,211,111,.4),transparent 70%),linear-gradient(135deg,#04240e 0,var(--brand-dark) 45%,#0b7a0a 100%)}.lb-hero:after{content:"";inset:0;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 0);background-size:56px 32px;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 90%);mask-image:linear-gradient(180deg,#000 10%,transparent 90%)}.lb-hero-glow,.lb-hero:after{position:absolute;pointer-events:none}.lb-hero-glow{width:420px;height:420px;right:-80px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,66,.28),transparent 65%)}.lb-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--s-3)}.lb-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#bff0b4}.lb-hero h1{color:#fff;font-size:clamp(32px,5.4vw,52px);letter-spacing:-.035em;line-height:1.05}.lb-hero p{color:rgba(255,255,255,.82);max-width:560px}.lb-tabs{display:inline-flex;gap:4px;padding:4px;margin-top:var(--s-2);align-self:flex-start;border-radius:var(--r-full);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lb-tabs a{height:38px;padding:0 20px;display:inline-flex;align-items:center;border-radius:var(--r-full);font-size:14px;font-weight:600;color:rgba(255,255,255,.88);transition:background-color .15s,color .15s}.lb-tabs a:hover{background:rgba(255,255,255,.12);color:#fff}.lb-tabs a[aria-current=page]{background:#fff;color:var(--green-dark);box-shadow:0 4px 14px rgba(0,0,0,.2)}.lb-stats{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.lb-stats li{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-full);font-size:13px;font-weight:600;color:#eafbe6;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.12)}.lb-stats svg{color:#bff0b4}.lb-body{position:relative;margin-top:-84px;display:flex;flex-direction:column;gap:var(--s-5);max-width:920px}.my-rank{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--green-line);box-shadow:0 12px 32px -18px rgba(7,65,25,.45);font-size:14.5px;color:var(--ink)}.my-rank b{color:var(--green-dark)}.lb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:var(--s-8) var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);color:var(--green)}.lb-empty h2{font-size:22px;color:var(--ink)}.lb-empty p{color:var(--muted);max-width:420px;margin-bottom:8px}.lb-stage{padding:var(--s-6) var(--s-5) 0;border-radius:22px;overflow:hidden;border:1px solid var(--green-line);background:radial-gradient(500px 220px at 50% 0,rgba(245,197,66,.16),transparent 70%),linear-gradient(180deg,#fff,var(--green-softer));box-shadow:0 24px 50px -30px rgba(7,65,25,.5)}.lb-podium{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4);align-items:end;max-width:720px}.lb-podium.n1{grid-template-columns:minmax(0,240px);justify-content:center}.lb-podium.n2{grid-template-columns:repeat(2,minmax(0,240px));justify-content:center}.lb-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}.lb-crown{color:#f2b705;filter:drop-shadow(0 3px 6px rgba(217,154,6,.45));margin-bottom:-4px}.lb-ring{padding:4px;border-radius:50%;background:var(--ring);box-shadow:0 10px 24px -10px var(--ring-shadow)}.gold{--ring:conic-gradient(from 200deg,#fff1b8,#f5c542,#d99a06,#fff1b8);--ring-shadow:rgba(217,154,6,0.6);--ped:linear-gradient(180deg,#f8d867,#e0a50a 60%,#b98205)}.silver{--ring:conic-gradient(from 200deg,#ffffff,#cbd5e1,#8a96a8,#ffffff);--ring-shadow:rgba(100,116,139,0.55);--ped:linear-gradient(180deg,#e2e8f0,#a8b3c4 60%,#7c889b)}.bronze{--ring:conic-gradient(from 200deg,#ffe0c7,#e3a06d,#b0642f,#ffe0c7);--ring-shadow:rgba(176,100,47,0.55);--ped:linear-gradient(180deg,#f0b98d,#c97a3f 60%,#9c5626)}.lb-av{--h:140;display:grid;place-items:center;border-radius:50%;font-weight:750;letter-spacing:-.02em;color:hsl(var(--h) 55% 22%);background:linear-gradient(140deg,hsl(var(--h) 70% 90%),hsl(var(--h) 55% 78%));border:3px solid #fff}.lb-av.md{width:64px;height:64px;font-size:21px}.gold .lb-av.md{width:82px;height:82px;font-size:27px}.lb-av.sm{width:34px;height:34px;font-size:12.5px;border-width:2px;flex:0 0 auto}.lb-av.anon{background:var(--bg-muted);color:var(--muted)}.lb-name{font-weight:650;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.lb-name:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}.lb-name.anon{color:var(--muted);font-weight:550}.lb-step .lb-name{font-size:15.5px;margin-top:4px}.gold .lb-name{font-size:17px}.lb-score{font-size:13px;color:var(--muted)}.lb-score b{color:var(--green-dark);font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gold .lb-score b{font-size:22px}.lb-pedestal{align-self:stretch;margin-top:10px;display:grid;place-items:center;border-radius:14px 14px 0 0;height:70px;background:var(--ped);box-shadow:inset 0 2px 0 rgba(255,255,255,.6),inset 0 -10px 20px rgba(0,0,0,.08)}.gold .lb-pedestal{height:112px}.silver .lb-pedestal{height:86px}.lb-pedestal-num{font-size:40px;font-weight:850;color:#fff;letter-spacing:-.04em;text-shadow:0 2px 8px rgba(0,0,0,.18)}.gold .lb-pedestal-num{font-size:52px}.lb-table{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);padding:8px}.lb-table-head{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px 6px}.lb-table-head h2{font-size:19px}.lb-cols,.lb-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(90px,220px) 72px;align-items:center;grid-gap:14px;gap:14px}.lb-cols{padding:6px 14px;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line)}.lb-cols span:last-child{text-align:right}.lb-list{list-style:none;margin:0;padding:4px 0 0}.lb-row{padding:8px 14px;border-radius:12px;transition:background-color .15s}.lb-row+.lb-row{margin-top:2px}.lb-row:hover{background:var(--green-softer)}.lb-rank{justify-self:start;min-width:34px;height:28px;padding:0 8px;display:inline-grid;place-items:center;border-radius:8px;font-weight:700;font-size:13.5px;color:var(--muted);background:var(--bg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lb-row.top10 .lb-rank{background:var(--green-soft);color:var(--green-dark)}.lb-who{min-width:0;display:flex;align-items:center;gap:10px}.lb-bar{height:8px;border-radius:99px;background:var(--bg-muted);overflow:hidden}.lb-bar>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),#6fd35e)}.lb-count{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lb-count b{color:var(--ink);font-size:15.5px}.lb-more{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px;padding:10px;border-radius:12px;font-size:14px;font-weight:600;color:var(--green-dark);background:var(--green-softer);border:1px dashed var(--green-line)}.lb-more:hover,.lb-note{background:var(--green-soft)}.lb-note{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);padding:12px 14px;border-radius:var(--r-lg);border:1px solid var(--green-line)}.lb-note svg{flex:0 0 auto;margin-top:2px;color:var(--green)}@keyframes ss-rise{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}@keyframes ss-ped{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ss-crown{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-4px) rotate(6deg)}}@media (prefers-reduced-motion:no-preference){.lb-step{animation:ss-rise .7s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * .12s + .1s)}.lb-pedestal{transform-origin:50% 100%;animation:ss-ped .6s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * .12s + .25s)}.lb-crown{animation:ss-crown 3s ease-in-out infinite}.lb-row{animation:ss-fade-up .4s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 28ms + .45s)}}@media (max-width:600px){.lb-hero{padding:var(--s-7) 0 calc(var(--s-7) + 64px)}.lb-tabs{align-self:stretch}.lb-tabs a{flex:1 1;justify-content:center;padding:0 8px}.lb-stage{padding:var(--s-5) 10px 0}.lb-podium{gap:8px}.lb-av.md{width:46px;height:46px;font-size:16px}.gold .lb-av.md{width:58px;height:58px;font-size:19px}.gold .lb-name,.lb-step .lb-name{font-size:13px}.lb-score{font-size:11.5px}.gold .lb-score b,.lb-score b{font-size:15px}.lb-pedestal{height:52px;border-radius:10px 10px 0 0}.gold .lb-pedestal{height:82px}.silver .lb-pedestal{height:66px}.lb-pedestal-num{font-size:28px}.gold .lb-pedestal-num{font-size:36px}.lb-cols,.lb-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px}.lb-col-bar,.lb-row .lb-bar{display:none}.lb-row{padding:8px}.lb-cols{padding:6px 8px}}.users-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.users-tools .search{max-width:none}.users-sort{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.users-sort select{height:40px}.users-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.users-filters button{height:30px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--line);background:#fff;font-size:13px;font-weight:550;color:var(--text);cursor:pointer}.users-filters button:hover{border-color:var(--green-line)}.users-filters button[aria-pressed=true]{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.users-sample{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}.users-sample input{accent-color:var(--green);width:15px;height:15px}.users-table td{vertical-align:middle}.users-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.users-who{display:flex;align-items:center;gap:10px;min-width:220px}.users-av{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--green-dark);background:var(--green-soft)}.users-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:600;color:var(--ink)}.users-name .tag{height:20px;font-size:11px;display:inline-flex;align-items:center;gap:3px}.users-unconfirmed{color:var(--amber,#b45309);font-weight:600}.users-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:800px){.users-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.ps-menu.ps-ctx{min-width:250px;padding:6px;border-radius:12px;box-shadow:0 18px 40px -12px rgba(9,9,11,.28),0 2px 6px rgba(9,9,11,.06)}.ps-quick{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px}.ps-menu .ps-quick button{flex-direction:column;justify-content:center;gap:5px;padding:9px 4px 7px;font-size:12px;color:var(--text);border-radius:8px}.ps-menu .ps-quick button svg{color:var(--ink)}.ps-mi{position:relative}.ps-menu .ps-mi-plain,.ps-menu .ps-mi>button{width:100%;padding:8px 10px;border-radius:8px}.ps-mi-label{display:inline-flex;align-items:center;gap:10px}.ps-mi-label svg{flex:0 0 auto}.ps-mi-chev,.ps-mi-label svg{color:var(--muted)}.ps-mi.open>button{background:var(--green-softer);color:var(--green-dark)}.ps-mi.open>button .ps-mi-chev,.ps-mi.open>button .ps-mi-label svg{color:var(--green)}.ps-menu.ps-sub{position:absolute;left:calc(100% + 4px);top:-6px;min-width:210px;padding:6px;border-radius:12px;z-index:201;animation:ss-sub-in .12s ease-out}.ps-menu.ps-sub.flip{left:auto;right:calc(100% + 4px)}.ps-menu.ps-sub button{border-radius:8px}.ps-mi-hint{font-size:11.5px;color:var(--muted);font-family:var(--font-code)}@keyframes ss-sub-in{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}.ps-menu.ps-sub.flip{animation-name:ss-sub-in-left}@keyframes ss-sub-in-left{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ps-menu.ps-sub{animation:none}}.path{padding-bottom:var(--s-8);background:linear-gradient(180deg,var(--green-softer),#fff 480px)}.path-hero{color:#fff;padding:var(--s-8) 0 calc(var(--s-8) + 20px);position:relative;overflow:hidden;background:radial-gradient(640px 280px at 85% -10%,rgba(127,211,111,.38),transparent 70%),linear-gradient(135deg,#04240e,var(--brand-dark) 45%,#0b7a0a)}.path-hero-inner{display:flex;flex-direction:column;gap:var(--s-3);max-width:880px}.path-hero h1{color:#fff;font-size:clamp(30px,5vw,46px);letter-spacing:-.03em;line-height:1.08}.path-hero p{color:rgba(255,255,255,.84);max-width:620px}.path-overall{display:flex;flex-direction:column;gap:6px;max-width:520px;font-size:13px;color:#d9f5d2;margin-top:4px}.path-overall-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}.path-overall-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#a6f08f,#fff)}.path-cta{background:#fff;color:var(--green-dark);border-color:#fff}.path-cta:hover{background:#f0fbec}.btn.ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}.btn.ghost-light:hover{background:rgba(255,255,255,.1)}.path-body{max-width:880px;padding-top:var(--s-6)}.path-body,.path-units{display:flex;flex-direction:column;gap:var(--s-4)}.path-units{list-style:none;margin:0;padding:0;position:relative}.path-units:before{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--green-line),var(--line))}.path-unit{grid-template-columns:44px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.path-node,.path-unit{position:relative;display:grid}.path-node{z-index:1;width:44px;height:44px;border-radius:50%;place-items:center;margin-top:18px;background:#fff;border:3px solid var(--line);color:var(--muted);font-weight:750;font-size:16px}.path-unit.current .path-node{border-color:var(--brand);color:var(--green-dark);box-shadow:0 0 0 6px rgba(17,158,9,.15)}.path-unit.complete .path-node{background:var(--brand);border-color:var(--brand);color:#fff}.path-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s}.path-unit.current .path-card{border-color:var(--green-line);box-shadow:0 16px 36px -22px rgba(7,65,25,.5)}.path-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.path-unit-num{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.path-now{color:var(--green)}.path-card h2{font-size:21px;letter-spacing:-.02em;margin:2px 0 4px}.path-card p{color:var(--muted);font-size:14.5px}.path-ring{--p:0;flex:0 0 auto;width:58px;height:58px;place-items:center;background:conic-gradient(var(--brand) calc(var(--p) * 1%),var(--bg-muted) 0)}.path-ring,.path-ring span{border-radius:50%;display:grid}.path-ring span{width:46px;height:46px;background:#fff;place-items:center;font-size:12.5px;font-weight:700;color:var(--green-dark)}.path-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.path-steps a{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:99px;border:1px solid var(--line);background:#fff;font-family:var(--font-code);font-size:12.5px;font-weight:600;color:var(--text)}.path-steps a:hover{border-color:var(--green-line);background:var(--green-softer)}.path-steps li svg{color:var(--line-strong)}.path-steps .part a{border-color:var(--green-line)}.path-steps .part svg{color:var(--green)}.path-steps .done a{background:var(--green-soft);border-color:var(--green-line);color:var(--green-dark)}.path-steps .done svg{color:var(--green)}.path-steps .soon a{color:var(--muted);border-style:dashed}.path-steps em{font-family:var(--font-sans,inherit);font-style:normal}.path-step-count,.path-steps em{font-size:11px;color:var(--muted)}.path-step-count{font-weight:500}.path-card-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.path-done{display:inline-flex;align-items:center;gap:6px;color:var(--green-dark);font-weight:600;font-size:14px}.path-summary-btn{gap:8px}.path-score{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:#8a6200;background:#fff4cc;border-radius:99px;padding:2px 8px}@media (prefers-reduced-motion:no-preference){.path-unit{animation:ss-fade-up .5s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 60ms)}}@media (max-width:600px){.path-units:before{left:15px}.path-unit{grid-template-columns:32px minmax(0,1fr);gap:10px}.path-node{width:32px;height:32px;font-size:13px;border-width:2px;margin-top:16px}.path-card{padding:14px}.path-ring{width:48px;height:48px}.path-ring span{width:38px;height:38px;font-size:11px}}.path-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:var(--s-5);border-radius:16px;color:#fff;text-decoration:none;background:radial-gradient(360px 140px at 95% 0,rgba(127,211,111,.35),transparent 70%),linear-gradient(135deg,#052e12,var(--brand-dark) 55%,#0b7a0a);transition:transform .2s,box-shadow .2s}.path-banner:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(7,65,25,.6)}.path-banner-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.14);flex:0 0 auto}.path-banner-text{display:flex;flex-direction:column;gap:2px;flex:1 1}.path-banner-text strong{color:#fff;font-size:16px}.path-banner-text span{color:rgba(255,255,255,.82);font-size:13.5px}.summary-start{align-items:center;text-align:center}.summary-badge{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#f5c542,#d99a06);box-shadow:0 12px 28px -12px rgba(217,154,6,.7)}.summary-rules{list-style:none;margin:0;padding:14px 18px;border-radius:14px;background:var(--green-softer);border:1px solid var(--green-line);text-align:left;display:flex;flex-direction:column;gap:6px;font-size:14.5px;align-self:stretch}.run-bar{background:#fffaeb;border-bottom:1px solid #fde68a}.run-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.run-bar-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.run-bar-label{font-size:11.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#8a6200}.run-dots{list-style:none;margin:0;padding:0;display:flex;gap:5px;flex-wrap:wrap}.run-dots a{display:block;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #e5d18f}.run-dots .clean a{background:var(--brand);border-color:var(--brand)}.run-dots .helped a{background:#f5c542;border-color:#d99a06}.run-dots .skipped a{background:var(--bg-muted);border-color:var(--line-strong)}.run-dots .here a{box-shadow:0 0 0 3px rgba(17,158,9,.3);border-color:var(--green-dark)}.results-wrap{max-width:720px;margin:0 auto;padding:var(--s-7) 0 var(--s-8)}.results-hero{display:flex;align-items:center;gap:22px;padding:22px 24px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.results-hero.good{border-color:var(--green-line);background:linear-gradient(135deg,#fff,var(--green-softer))}.results-hero h1{font-size:30px;letter-spacing:-.02em}.results-ring{--p:0;flex:0 0 auto;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--p) * 1%),var(--bg-muted) 0)}.results-ring>span{width:88px;height:88px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px;color:var(--muted)}.results-ring b{font-size:28px;color:var(--green-dark);letter-spacing:-.03em}.results-list{list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--line);border-radius:16px}.results-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px;border-radius:10px}.results-item+.results-item{border-top:1px solid var(--line);border-radius:0}.results-num{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--bg-muted);font-weight:700;font-size:13px;color:var(--muted)}.results-what{display:flex;flex-direction:column;min-width:0}.results-what a{font-weight:600;color:var(--ink)}.results-what a:hover{color:var(--green)}.results-tag{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:650;white-space:nowrap;color:var(--muted)}.results-item.clean .results-tag{color:var(--green-dark)}.results-item.clean .results-num{background:var(--green-soft);color:var(--green-dark)}.results-item.helped .results-tag{color:#8a6200}.results-item.helped .results-num{background:#fff4cc;color:#8a6200}@media (max-width:600px){.results-hero{flex-direction:column;text-align:center}.results-tag{font-size:12px}}.path-unit.soon .path-card{background:var(--bg-subtle);box-shadow:none;border-style:dashed}.path-unit.soon .path-node{border-style:dashed}.path-unit.soon h2{color:var(--text)}.path-soon{font-size:13.5px;color:var(--muted)}.ps-cell.italic{font-style:italic}.ps-cell.underline{text-decoration:underline;text-underline-offset:2px}.ps-tools .ps-style-btn{width:30px;justify-content:center;padding:0;font-family:Georgia,Times New Roman,serif;font-size:15px}.ps-tools .ps-style-btn.bold{font-weight:800}.ps-tools .ps-style-btn.italic{font-style:italic}.ps-tools .ps-style-btn.underline{text-decoration:underline;text-underline-offset:2px}.ps-tools .ps-style-btn.on{background:var(--green-soft);color:var(--green-dark)}.keys{flex-wrap:wrap}.keys,.keys>span{display:inline-flex;align-items:center;gap:3px}.keys i{font-style:normal;color:var(--muted);font-size:11px}.keys kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:6px;font-family:var(--font-sans,inherit);font-size:12px;font-weight:650;color:var(--ink);background:linear-gradient(180deg,#fff,#f3f5f3);border:1px solid #cfd6d0;box-shadow:0 2px 0 #cfd6d0}.keys.big kbd{min-width:38px;height:38px;padding:0 12px;font-size:15px;border-radius:9px;box-shadow:0 3px 0 #b9c4bb}.keys.big i{font-size:14px}.drill{padding-bottom:var(--s-8)}.drill-top{display:flex;justify-content:space-between;align-items:center;padding:var(--s-4) 0}.drill-grid{display:grid;grid-template-columns:380px minmax(0,1fr);grid-gap:var(--s-5);gap:var(--s-5);align-items:start}.drill-panel{display:flex;flex-direction:column;gap:var(--s-3);position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 12px)}.drill-panel h1{font-size:30px;letter-spacing:-.03em}.drill-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.drill-steps button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);background:#fff}.drill-steps button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.drill-steps .here button{border-color:var(--brand);color:var(--green-dark);background:var(--green-softer)}.drill-steps .done button{color:var(--green-dark)}.drill-steps .done svg{color:var(--green)}.drill-task{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:16px;background:linear-gradient(150deg,var(--brand-dark),#0a5523 70%,#0b6b12);color:#fff;box-shadow:0 14px 30px -18px rgba(7,65,25,.6)}.drill-task-text{font-size:17px;line-height:1.5;color:#fff;margin:0}.drill-task-text strong{color:#fff}.drill-task-text code{background:rgba(255,255,255,.15);padding:1px 6px;border-radius:5px;font-family:var(--font-code);font-size:.9em}.drill-keys{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border-radius:12px;background:rgba(255,255,255,.95)}.drill-key-step{display:inline-flex;align-items:center;gap:8px}.drill-tip{display:flex;gap:6px;font-size:13.5px;color:rgba(255,255,255,.88);margin:0}.drill-tip svg{flex:0 0 auto;margin-top:2px;color:#f5d76e}.drill-msg{display:flex;align-items:center;gap:6px;margin:0;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px}.drill-msg.ok{background:#e7f9e1;color:var(--green-dark)}.drill-msg.nudge{background:#fff4cc;color:#6b4d00}.drill-task .btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}.drill-task .btn:hover{background:rgba(255,255,255,.2)}.drill-pressed{display:flex;flex-direction:column;gap:6px}.drill-pressed>div{display:flex;gap:8px;flex-wrap:wrap}.drill-finish{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;background:var(--green-soft);border:1px solid var(--green-line)}.drill-finish strong{display:inline-flex;align-items:center;gap:6px;color:var(--green-dark)}.drill-sheet .ps-grid-wrap{max-height:520px}@media (max-width:960px){.drill-grid{grid-template-columns:minmax(0,1fr)}.drill-panel{position:static}}.cheat{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);border:1px solid var(--line);border-radius:20px;background:#fff}.cheat h2{font-size:24px}.cheat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.cheat-group h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--green-dark);margin-bottom:8px}.cheat-group dl{margin:0;display:flex;flex-direction:column;gap:6px}.cheat-group dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-gap:10px;gap:10px;align-items:center;font-size:13.5px}.cheat-group dd{margin:0;color:var(--text)}@media print{.cat-grid,.cheat .btn,.nav,.path-hero,.site-header,footer{display:none!important}.cheat{border:0;padding:0}}.ps-cell.strike,.ps-cell.strike .ps-txt{text-decoration:line-through}.ps-cell.underline.strike{text-decoration:underline line-through}.ps-cfbar{position:absolute;left:2px;top:4px;bottom:4px;border-radius:2px;pointer-events:none;z-index:0}.ps-cell .ps-txt{position:relative;z-index:1}.cf-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow:auto}.cf-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 6px}.cf-head h2{display:inline-flex;align-items:center;gap:8px;font-size:19px}.cf-head h2 svg{color:var(--green)}.cf-new{flex-direction:column;padding:10px 22px 16px;border-bottom:1px solid var(--line)}.cf-new,.cf-row{display:flex;gap:10px}.cf-row{flex-wrap:wrap;align-items:flex-end}.cf-row .field{flex:1 1 200px;display:flex;flex-direction:column;gap:4px;margin:0}.cf-row .field>span{font-size:13px;font-weight:600;color:var(--ink)}.cf-row input,.cf-row select{height:38px}.cf-preview{flex:0 0 auto;height:38px;display:inline-grid;place-items:center;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-md);font-size:13.5px}.cf-chips{display:flex;gap:6px;flex-wrap:wrap}.cf-chips button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--line);font-size:13px;background:#fff}.cf-chips button span{width:34px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.08)}.cf-chips button.on{border-color:var(--brand);background:var(--green-softer);font-weight:600}.cf-chips button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.cf-list{padding:14px 22px 4px;display:flex;flex-direction:column;gap:8px}.cf-list h3{font-size:15px}.cf-list ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cf-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.cf-swatch{flex:0 0 auto;width:46px;height:26px;border-radius:6px;border:1px solid var(--line);display:grid;place-items:center;font-size:12px}.cf-desc{flex:1 1;min-width:0;display:flex;flex-direction:column;font-size:13.5px}.cf-desc b{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.cf-actions{display:inline-flex;gap:2px}.cf-actions .icon-btn{width:30px;height:30px}.cf-custom{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px 12px;border:1px solid var(--line,#dfe7df);border-radius:10px;background:#f7faf7}.cf-color{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.cf-color input[type=checkbox]{width:16px;height:16px;accent-color:#1f7a3a;margin:0}.cf-color input[type=color]{width:38px;height:28px;padding:2px;border:1px solid #cdd8cd;border-radius:6px;background:#fff;cursor:pointer}.cf-color input[type=color]:disabled{opacity:.35;cursor:not-allowed}.cf-chip-custom{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border:1px solid #cdd8cd;border-radius:999px;font-size:13px;cursor:pointer;background:#fff}.cf-chip-custom.on{border-color:#1f7a3a;box-shadow:0 0 0 2px rgba(31,122,58,.18)}.cf-chip-custom input[type=color]{width:26px;height:22px;padding:0;border:0;background:none;cursor:pointer}.sd{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow:auto}.sd-find{width:min(470px,calc(100vw - 24px));position:fixed;inset:84px 16px auto auto;margin:0;z-index:95;box-shadow:0 18px 50px rgba(9,22,12,.22)}.sd-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 4px}.sd-head h2{font-size:18px}.sd-body{display:flex;flex-direction:column;gap:10px;padding:8px 20px 12px}.sd .field{gap:4px;margin:0}.sd .field>span{font-size:13px;font-weight:600;color:var(--ink)}.sd .field input,.sd .field select{height:38px}.sd .field.sm{max-width:220px}.sd textarea{width:100%;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);font:inherit;font-size:14px}.sd-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:4px;flex-wrap:wrap}.sd-tabs button{all:unset;cursor:pointer;padding:8px 12px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.sd-tabs button.on{color:var(--ink);font-weight:650;border-bottom-color:var(--brand)}.sd-tabs button:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}.sd-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.sd-check input{width:16px;height:16px;accent-color:#1f7a3a;margin:0}.sd-more{align-self:flex-start;background:none;border:0;padding:0;cursor:pointer}.sd-opts{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7faf7}.sd-msg{margin:0;color:var(--ink)}.sd-hits{list-style:none;margin:0;padding:0;max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:10px}.sd-hits button{all:unset;cursor:pointer;display:grid;grid-template-columns:minmax(60px,auto) 54px 1fr;grid-gap:10px;gap:10px;width:100%;box-sizing:border-box;padding:6px 10px;font-size:13px;border-bottom:1px solid #f1f1f3}.sd-hits button:focus-visible,.sd-hits button:hover{background:var(--green-softer)}.sd-hit-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.sd-recent{display:flex;gap:6px;flex-wrap:wrap}.sd-recent .chip{cursor:pointer}.sd-row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end}.sd-grow{flex:1 1 240px}.sd-col{display:flex;flex-direction:column;gap:12px}.sd-num{display:grid;grid-template-columns:150px 1fr;grid-gap:14px;gap:14px}.sd-cats,.sd-fnlist,.sd-types{list-style:none;margin:0;padding:4px;border:1px solid var(--line);border-radius:10px;overflow:auto}.sd-cats{max-height:290px}.sd-cats button,.sd-fnlist button,.sd-types button{all:unset;cursor:pointer;display:block;width:100%;box-sizing:border-box;padding:6px 10px;border-radius:6px;font-size:14px}.sd-cats button.on,.sd-fnlist button.on,.sd-types button.on{background:var(--brand);color:#fff}.sd-cats button:focus-visible,.sd-fnlist button:focus-visible,.sd-types button:focus-visible{outline:2px solid var(--green)}.sd-types{max-height:170px}.sd-num-opts{gap:10px;min-width:0}.sd-num-opts,.sd-sample{display:flex;flex-direction:column}.sd-sample{gap:2px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.sd-sample b{font-family:var(--font-code);font-size:15px;overflow-wrap:anywhere}.sd-preview{padding:14px;border-radius:10px;text-align:center;font-size:15px}.sd-borders{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px}.sd-bd{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13.5px}.sd-bd.on{border-color:var(--brand);background:var(--green-softer);font-weight:600}.sd-bd:focus-visible{outline:2px solid var(--green);outline-offset:2px}.sd-bd span{width:22px;height:22px;border:1px dashed #c4c4c8;box-sizing:border-box;flex:0 0 auto}.sd-bd-all span,.sd-bd-outline span{border:2px solid #222}.sd-bd-all span{background:linear-gradient(#222,#222) 50% /2px 100% no-repeat,linear-gradient(#222,#222) 50% /100% 2px no-repeat}.sd-bd-top span{border-top:2px solid #222}.sd-bd-bottom span{border-bottom:2px solid #222}.sd-bd-left span{border-left:2px solid #222}.sd-bd-right span{border-right:2px solid #222}.sd-palette{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sd-sw{all:unset;cursor:pointer;width:28px;height:28px;border-radius:6px;border:1px solid rgba(0,0,0,.15);box-sizing:border-box}.sd-sw.none{width:auto;padding:0 10px;font-size:13px;display:inline-grid;place-items:center;background:#fff}.sd-sw.on{outline:2px solid var(--brand);outline-offset:2px}.sd-sw:focus-visible{outline:2px solid var(--green);outline-offset:2px}.sd-search{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r-md);padding:0 10px;background:#fff}.sd-search svg{color:var(--muted)}.sd-search input{border:0!important;box-shadow:none!important;padding:0!important;flex:1 1;min-width:0;height:36px;outline:none}.sd-fnlist{max-height:220px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:2px;gap:2px}.sd-fn-sig,.sd-fnlist{font-family:var(--font-code)}.sd-fn-sig{margin:0;font-size:14px;overflow-wrap:anywhere}.sd-fn-sig .small{font-family:var(--font-sans,inherit)}@media (max-width:560px){.sd-num{grid-template-columns:1fr}.sd-cats{max-height:140px}.sd-find{inset:auto 8px 8px 8px;width:auto}}.ps-bd{inset:-1px 0 0 -1px;z-index:2;box-sizing:border-box}.ps-bd,.ps-note-mark{position:absolute;pointer-events:none}.ps-note-mark{top:0;right:0;width:0;height:0;border-color:transparent #d93025 transparent transparent;border-style:solid;border-width:0 7px 7px 0;z-index:3}.ps-cell.link .ps-txt{color:#0563c1;text-decoration:underline}.ps-cell.multi,.ps-cell.wrap{align-items:flex-end;padding-bottom:5px}.ps-cell.multi .ps-txt{white-space:pre;line-height:18px}.ps-cell.wrap .ps-txt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:18px}.ps-colh.gap{box-shadow:inset 2px 0 0 var(--brand)}.ps-editor.multi{height:calc(12px + var(--lines) * 22px)}.ps-editor.multi .ps-input,.ps-editor.multi .ps-mirror{line-height:22px;padding-top:5px;padding-bottom:5px;height:100%}.ps-input{resize:none;overflow:hidden;display:block}.ps-editor.multi .ps-input{overflow:auto}.ps-note-tip{display:inline-flex;align-items:center;gap:6px;color:#8a5300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-menu kbd{margin-left:auto}.ps-mi-plain{display:flex;align-items:center;gap:8px}.full-btn{margin-left:auto;flex:none}.drill-sheet .card-head,.play-cardhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sheet-card.sheet-full{position:fixed;inset:0;z-index:80;margin:0;border:0;border-radius:0;box-shadow:none;max-width:none;width:auto;display:flex;flex-direction:column;background:var(--bg-subtle)}.sheet-full .full-bar{flex:none}.sheet-full .ps{flex:1 1 auto;min-height:0;margin:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff}.sheet-full .ps-tabs,.sheet-full .ps-tools{flex:none}.sheet-full .ps-grid-wrap{flex:1 1 auto;max-height:none!important;min-height:0;height:auto!important}.sheet-full .play-foot{display:none}.drill-fullbar{flex-wrap:wrap;row-gap:8px}.drill-fulltask{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 260px}.drill-fulltext{font-size:15px;color:var(--ink)}.drill-fullkeys{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.drill-msg.sm{margin:0;padding:5px 10px;font-size:13px}.drill-fullbtns{display:inline-flex;gap:6px;margin-left:auto}@media (max-width:600px){.sheet-full .ps{margin:var(--s-2)}.sheet-full .head-help{display:none}}.pv-dialog{width:min(920px,calc(100vw - 24px));padding:0}.pv-src{margin:2px 0 0}.pv-main{display:grid;grid-template-columns:minmax(300px,380px) 1fr;grid-gap:18px;gap:18px;padding:6px 20px 8px;align-items:start}.pv-left{min-width:0}.pv-tab{display:flex;flex-direction:column;gap:12px;padding-top:8px}.pv-help{margin:0}.pv-fieldlist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.pv-fieldlist li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px 7px 12px;border-bottom:1px solid #eef1ee}.pv-fieldlist li:last-child{border-bottom:0}.pv-fieldlist li.used{background:#f4faf5}.pv-fname{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-num{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px}.pv-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:none;background:#fff}.pv-seg button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:4px 9px;font-size:12.5px;color:var(--muted);border-left:1px solid var(--line)}.pv-seg button:first-child{border-left:0}.pv-seg button:hover{background:#f2f5f2;color:var(--ink)}.pv-seg button.on{background:var(--brand);color:#fff;font-weight:600}.pv-seg button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.pv-order{display:flex;align-items:center;gap:8px;margin:0}.pv-fn{flex-direction:column}.pv-fn,.pv-pills{display:flex;gap:6px}.pv-pills{flex-wrap:wrap}.pv-pills button{all:unset;cursor:pointer;padding:5px 12px;border-radius:99px;border:1px solid var(--line);font-size:13px;background:#fff}.pv-pills button.on{border-color:var(--brand);background:var(--green-softer);font-weight:650;color:var(--ink)}.pv-pills button:disabled{opacity:.4;cursor:not-allowed}.pv-pills button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.pv-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-left:6px;vertical-align:2px}.pv-filter-head{display:flex;justify-content:space-between;align-items:center}.pv-filter-head .link{background:none;border:0;padding:0;cursor:pointer}.pv-filter{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:6px 12px;gap:6px 12px;padding:10px 12px;max-height:220px;overflow:auto}.pv-filter,.pv-options fieldset{border:1px solid var(--line);border-radius:10px}.pv-options fieldset{padding:8px 12px 10px;margin:0;display:flex;flex-direction:column;gap:6px}.pv-options legend{font-size:13px;font-weight:650;padding:0 4px}.pv-right{display:flex;flex-direction:column;gap:8px;min-width:0;padding-top:4px}.pv-preview{border:1px solid var(--line);border-radius:10px;overflow:auto;height:330px;background:#fff}.pv-empty{display:grid;place-items:center;height:100%;margin:0;padding:12px;text-align:center}.pv-preview .report-error{margin:12px}.pv-preview table{border-collapse:collapse;width:100%;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pv-preview td,.pv-preview th{border-bottom:1px solid #eef0ee;padding:6px 10px;text-align:left;white-space:nowrap}.pv-preview th{background:#e8f3ea;font-weight:650;position:-webkit-sticky;position:sticky;top:0}.pv-preview td.num{text-align:right}.pv-preview tr.tot td{font-weight:700;border-top:1.5px solid #1f7a3a;background:#f5faf6}.pv-formula{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-radius:8px;background:#0f2a17;color:#9fc5a8}.pv-formula code{flex:1 1;min-width:0;font-family:var(--font-code);font-size:12.5px;color:#fff;background:none;padding:0;overflow-wrap:anywhere}.pv-formula .icon-btn{color:#cfe6d5;width:30px;height:30px;flex:none}.pv-err{margin:0 20px}.pv-foot{justify-content:space-between;gap:10px;border-top:1px solid var(--line)}.pv-dest,.pv-foot{align-items:center;flex-wrap:wrap}.pv-dest{display:flex;gap:6px 14px}.pv-cell{width:72px;height:32px;padding:0 8px}.pv-btns{display:inline-flex;gap:8px;margin-left:auto}@media (max-width:760px){.pv-main{grid-template-columns:1fr}.pv-preview{height:220px}}.sd-head h2{display:inline-flex;align-items:center;gap:8px}.ps-cell.tb-head .ps-fbtn{color:#fff}.ps-cell.tb-head .ps-fbtn svg{stroke:#fff}.tb-dialog{width:min(600px,calc(100vw - 24px))}.tb-styles{display:flex;flex-wrap:wrap;gap:8px}.tb-styles button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:10px;font-size:13.5px}.tb-styles button.on{border-color:var(--brand);background:var(--green-softer);font-weight:650}.tb-styles button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.tb-mini{display:inline-flex;flex-direction:column;width:34px;border:1px solid #d5d9d5;border-radius:3px;overflow:hidden}.tb-mini span{height:5px}.tb-foot{justify-content:space-between;flex-wrap:wrap;gap:8px}.tb-left,.tb-right{display:inline-flex;gap:8px;flex-wrap:wrap}.ps-chart{position:absolute;z-index:6;background:#fff;border:1px solid #d4d4d8;border-radius:6px;box-shadow:0 4px 14px rgba(9,22,12,.1);cursor:move;overflow:visible}.ps-chart>svg{display:block;border-radius:6px;pointer-events:none}.ps-chart.on{border-color:var(--green);box-shadow:0 0 0 2px rgba(17,158,9,.35),0 6px 18px rgba(9,22,12,.14)}.ps-chart-bar{position:absolute;top:6px;right:8px;display:inline-flex;gap:4px;cursor:default}.ps-chart-bar button{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12.5px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}.ps-chart-bar button:hover{border-color:var(--green)}.ps-chart-size{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;border-radius:3px;background:var(--green);border:2px solid #fff;cursor:nwse-resize;box-shadow:0 1px 3px rgba(0,0,0,.25)}.ch-dialog{width:min(920px,calc(100vw - 24px))}.ch-main{display:grid;grid-template-columns:minmax(280px,1fr) 460px;grid-gap:18px;gap:18px;padding:8px 20px 4px;align-items:start}.ch-left{display:flex;flex-direction:column;gap:12px;min-width:0}.ch-types{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.ch-types button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;font-size:12.5px;color:var(--muted)}.ch-types button.on{border-color:var(--brand);background:var(--green-softer);color:var(--brand);font-weight:650}.ch-types button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.ch-preview{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafafa;display:flex;flex-direction:column;gap:6px;align-items:center}.ch-preview svg{max-width:100%;height:auto;border-radius:6px;border:1px solid #eee}.ch-err{margin:6px 20px 0}.ch-foot{justify-content:space-between}.ch-right{display:inline-flex;gap:8px;margin-left:auto}@media (max-width:820px){.ch-main{grid-template-columns:1fr}}input.ps-name{border:0;outline:none;background:transparent;font:inherit;text-align:center;width:100%;min-width:0;cursor:text}input.ps-name:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--green);border-radius:6px;text-align:left}.ps-dd{position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:18px;height:20px;padding:0;border:1px solid #b9c4b9;border-radius:3px;background:#f4f6f4;color:#333;font-size:11px;line-height:1;cursor:pointer;z-index:4}.ps-dd:hover{background:#e6efe6}.ps-ddpop{position:absolute;z-index:30;list-style:none;margin:2px 0 0;padding:4px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(9,22,12,.16);max-height:240px;overflow:auto;font-size:13.5px}.ps-ddpop li{padding:6px 10px;border-radius:6px;cursor:pointer;white-space:nowrap}.ps-ddpop li.on{background:var(--brand);color:#fff}.ps-invalid{position:absolute;inset:1px -3px;border:2px solid #d93025;border-radius:50%;pointer-events:none;z-index:3}.ps-dv-tip{color:#1f4e78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-menu-sep{display:block;height:1px;background:var(--line);margin:4px 6px}.dv-dialog,.nm-dialog{width:min(600px,calc(100vw - 24px))}.dv-left,.dv-right{display:inline-flex;gap:8px;flex-wrap:wrap}.dv-right{margin-left:auto}.dv-dialog .msgbox-actions,.nm-dialog .msgbox-actions{justify-content:space-between;flex-wrap:wrap;gap:8px}.dup-dialog,.srt-dialog{width:min(620px,calc(100vw - 24px))}.srt-levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.srt-levels li{display:grid;grid-template-columns:62px 1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}.srt-levels select{height:36px}.srt-btns{display:inline-flex}.dup-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:6px 14px;gap:6px 14px;max-height:240px;overflow:auto}.dup-cols,.nm-edit{padding:10px 12px;border:1px solid var(--line);border-radius:10px}.nm-edit{display:flex;flex-direction:column;gap:8px;background:#f7faf7}.nm-table{width:100%;border-collapse:collapse;font-size:13.5px}.nm-table td,.nm-table th{text-align:left;padding:6px 8px;border-bottom:1px solid #eef0ee;vertical-align:middle}.nm-table th{font-size:12px;color:var(--muted);font-weight:600}.nm-val{max-width:160px;overflow:hidden;text-overflow:ellipsis}.nm-act,.nm-val{white-space:nowrap}.nm-act{text-align:right}@media (max-width:560px){.srt-levels li{grid-template-columns:1fr 1fr}}.copy-code{display:flex;align-items:flex-start;gap:10px}.copy-code>code{flex:1 1 auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit;background:none;padding:0}.copy-code>button{flex:none;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;margin:-4px -8px -4px 0;border:0;border-radius:var(--r-sm);background:rgba(255,255,255,.12);color:#fff;font:500 12px var(--font-sans);cursor:pointer}.copy-code>button:hover{background:rgba(255,255,255,.22)}.copy-code>button:focus-visible{outline:2px solid #8fd68a;outline-offset:2px}.post-code.copy-code{white-space:normal;overflow:visible}@media (max-width:480px){.copy-code>button span{display:none}}.ps-menu.ps-rich{min-width:264px;padding:6px;border-radius:12px;box-shadow:0 18px 40px -12px rgba(9,9,11,.28),0 2px 6px rgba(9,9,11,.06)}.ps-menu.ps-rich button{padding:7px 10px;font-size:13.5px}.ps-menu.ps-rich .ps-mi-label{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.ps-menu.ps-rich .ps-mi-label svg{color:var(--muted);flex:none}.ps-menu.ps-rich button:focus-visible .ps-mi-label svg,.ps-menu.ps-rich button:hover .ps-mi-label svg{color:var(--brand)}.ps-menu kbd{white-space:nowrap;flex:none;padding:1px 6px;border:1px solid var(--line);border-radius:5px;background:#fafafa;font-family:var(--font-code);font-size:11px;color:var(--muted);box-shadow:none}.ps-menu-head{display:block;padding:8px 10px 4px;font-size:11.5px;font-weight:650;letter-spacing:.02em;color:var(--muted)}.ps-menu-head:first-child{padding-top:4px}.ps-border-menu{max-height:min(78vh,640px);overflow-y:auto}.ps-bicon{color:var(--ink)!important}.ps-split{display:inline-flex;align-items:stretch}.ps-split>.ps-split-main{padding-right:4px!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.ps-split>.ps-split-caret{padding-left:2px!important;padding-right:6px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.ps-pen-styles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;padding:2px 6px 4px}.ps-menu .ps-pen-styles button{justify-content:center;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:6px}.ps-menu .ps-pen-styles button.on{border-color:var(--brand);background:var(--green-softer)}.ps-pen-styles button span:first-child{display:block;width:100%;height:0}.ps-pen-colors{display:flex;flex-wrap:wrap;gap:6px;padding:2px 8px 4px;align-items:center}.ps-menu .ps-pen-colors button{width:20px;height:20px;padding:0;border-radius:5px;border:1px solid rgba(0,0,0,.15)}.ps-menu .ps-pen-colors button.on{outline:2px solid var(--brand);outline-offset:2px}.ps-pen-more{position:relative;width:20px;height:20px;border-radius:5px;overflow:hidden;border:1px dashed #9aa19a;background:conic-gradient(#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);cursor:pointer}.ps-pen-more input{position:absolute;inset:0;opacity:0;cursor:pointer}.ps-pen-note{margin:2px 10px 4px;font-size:11.5px;color:var(--muted);max-width:240px}.sd-line-sample{display:inline-block;width:60px;height:0;align-self:center}.rb{position:relative;background:#fff;border-bottom:1px solid var(--line);container-type:inline-size;container-name:ribbon}.is-full .rb,.rb,.sheet-full .rb,.try-full .rb{flex:none}.rb-tabs{display:flex;align-items:stretch;gap:1px;height:34px;padding:0 6px;background:var(--bg-subtle);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.rb-tabs::-webkit-scrollbar{display:none}.rb-tab{position:relative;flex:none;border:0;background:none;padding:0 12px;font:inherit;font-size:12.5px;font-weight:550;color:var(--text);cursor:pointer;white-space:nowrap}.rb-tab:hover{background:var(--bg-muted);color:var(--ink)}.rb-tab[aria-selected=true]{color:var(--green-hover);font-weight:650;background:#fff}.rb-tab[aria-selected=true]:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--brand)}.rb-tab.ctx{box-shadow:inset 0 3px 0 #9bc2e6}.rb-tab.ctx,.rb-tab.ctx[aria-selected=true]{color:#1f4e78}.rb-tab.ctx[aria-selected=true]:after{background:#2f75b5}.rb-btn:focus-visible,.rb-pin:focus-visible,.rb-tab:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.rb-file{display:inline-flex;flex:none}.rb-file .rb-plainbtn{border:0;background:none;padding:0 14px 0 10px;font:inherit;font-size:12.5px;font-weight:650;color:var(--green-hover);cursor:pointer}.rb-file .rb-plainbtn:hover,.rb-file .rb-plainbtn[aria-expanded=true]{background:var(--brand);color:#fff}.rb-tabs-fill{flex:1 1}.rb-pin{flex:none;width:32px;border:0;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;border-radius:var(--r-sm)}.rb-pin:hover{background:var(--bg-muted);color:var(--ink)}.rb-body{display:flex;align-items:stretch;height:98px;padding:6px 4px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;background:#fff}.rb-peek .rb-body{position:absolute;left:0;right:0;top:34px;z-index:60;border-bottom:1px solid var(--line);box-shadow:0 10px 24px -10px rgba(9,9,11,.25)}.rb-group{display:flex;flex-direction:column;flex:none;padding:0 7px;border-right:1px solid var(--line)}.rb-group:last-child{border-right:0}.rb-group-body{flex:1 1;min-height:0;display:flex;align-items:center;gap:2px}.rb-group-name{height:19px;line-height:19px;text-align:center;font-size:10.5px;color:var(--muted);white-space:nowrap}.rb-col{flex-direction:column;justify-content:center}.rb-col,.rb-row{display:flex;gap:1px}.rb-btn,.rb-row{align-items:center}.rb-btn{display:inline-flex;gap:6px;height:24px;padding:0 6px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.rb-btn:hover:not(:disabled),.rb-btn[aria-expanded=true]{background:var(--bg-subtle);color:var(--ink);border-color:var(--line)}.rb-btn.on{background:var(--green-soft)}.rb-btn.on,.rb-btn.on:hover:not(:disabled){border-color:var(--green-line);color:var(--green-dark)}.rb-btn.on:hover:not(:disabled){background:#e2f3de}.rb-btn:disabled{opacity:.42;cursor:default}.rb-btn svg{flex:none}.rb-label{display:inline-flex;align-items:center;gap:2px}.rb-caret{opacity:.65;flex:none}.rb-icon{width:27px;padding:0;justify-content:center;gap:0}.rb-icon .rb-caret{margin-left:-2px}.rb-big{flex-direction:column;justify-content:flex-start;height:70px;min-width:50px;max-width:86px;padding:5px 5px 3px;gap:4px;white-space:normal;text-align:center;line-height:1.15}.rb-big svg:first-child{color:var(--green-hover);margin-top:1px}.rb-big .rb-label{display:block;font-size:11.5px}.rb-big .rb-label .rb-caret{display:inline;vertical-align:-2px}.rb-big.on svg:first-child{color:var(--green-dark)}.rb-menuwrap{display:inline-flex}.rb-splitwrap{align-items:stretch}.rb-splitwrap>.rb-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:3px}.rb-splitwrap>.rb-caretbtn{border-top-left-radius:0;border-bottom-left-radius:0;padding:0 3px;gap:0}.rb-splitwrap.rb-split-big{flex-direction:column}.rb-splitwrap.rb-split-big>.rb-btn:first-child{height:52px;border-radius:var(--r-sm) var(--r-sm) 0 0;padding-right:5px}.rb-splitwrap.rb-split-big>.rb-caretbtn{height:18px;justify-content:center;border-radius:0 0 var(--r-sm) var(--r-sm)}.rb-splitwrap.rb-split-icon>.rb-btn:first-child{width:24px;padding:0;justify-content:center}.rb-splitwrap:hover>.rb-btn:not(:disabled){border-color:var(--line)}.rb-letter{font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1;color:var(--ink)}.rb-letter.bold{font-weight:800}.rb-letter.italic{font-style:italic;font-weight:600}.rb-letter.underline{text-decoration:underline;text-underline-offset:2px;font-weight:600}.rb-letter.strike{text-decoration:line-through;font-size:13.5px;font-weight:600}.rb-letter.comma{font-family:inherit;font-size:18px;font-weight:800;line-height:.5;margin-top:-6px}.rb-letter.dec{font-family:inherit;font-size:10.5px;font-weight:700;letter-spacing:-.02em}.rb-letter.dec.more:before{content:"←";font-weight:500;margin-right:1px}.rb-letter.dec.less:before{content:"→";font-weight:500;margin-right:1px}.rb-colicon{display:inline-flex;flex-direction:column;align-items:center;gap:1px}.rb-colicon i{display:block;width:16px;height:4px;border-radius:1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}.rb-numsel>.rb-btn{width:150px;height:26px;justify-content:space-between;border-color:var(--line-strong);background:#fff}.rb-numsel>.rb-btn .rb-label{flex:1 1;justify-content:space-between}.rb-prop{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:12px;padding:0 2px}.rb-prop-label{color:var(--muted);font-size:11px}.rb-prop strong{font-weight:650;color:var(--ink);max-width:150px;overflow:hidden;text-overflow:ellipsis}.ps-menu.rb-drop{position:fixed;z-index:400;max-height:min(74vh,620px);overflow-y:auto;min-width:210px}.ps-menu .rb-checked{background:var(--green-soft);color:var(--green-dark);font-weight:650}.rb-nummenu{min-width:250px}.rb-nummenu .ps-mi-label>span{display:flex;flex-direction:column;gap:1px}.rb-nummenu small{font-size:11px;color:var(--muted);font-weight:400}.rb-fnmenu{width:360px}.rb-fnlist{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;max-height:52vh;overflow-y:auto}.ps-menu .rb-fnlist button{justify-content:flex-start;padding:6px 9px;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12.5px}.rb-colors{width:262px}.rb-swgrid{display:grid;grid-template-columns:repeat(10,20px);grid-gap:4px;gap:4px;padding:2px 8px 4px}.rb-swgrid.rb-tints{gap:0 4px;padding-top:0}.ps-menu button.rb-sw{width:20px;height:20px;padding:0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.16)}.ps-menu .rb-tints button.rb-sw{border-radius:0;height:17px}.ps-menu button.rb-sw:focus-visible,.ps-menu button.rb-sw:hover{outline:2px solid var(--brand);outline-offset:1px;z-index:1;position:relative}.ps-menu button.rb-auto{justify-content:flex-start;gap:10px}.rb-sw-none{display:inline-block;width:18px;height:18px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);background:linear-gradient(to top right,#fff 44%,#d33 45%,#d33 55%,#fff 56%)}.rb-more{position:relative;display:flex;align-items:center;gap:10px;margin:2px 0 0;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;color:var(--ink);cursor:pointer}.rb-more:focus-within,.rb-more:hover{background:var(--bg-subtle)}.rb-more-wheel{flex:none;width:18px;height:18px;border-radius:50%;background:conic-gradient(#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);position:relative}.rb-more-wheel:after{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(#fff 0 40%,rgba(255,255,255,0) 100%)}.rb-more-text{flex:1 1}.rb-more-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 7px 2px 3px;border:1px solid var(--line);border-radius:999px;background:#fff;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:11px;color:var(--muted)}.rb-more-chip i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.rb-more input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;cursor:pointer}.ps-menu button.rb-sw.on{outline:2px solid var(--ink);outline-offset:1px;position:relative;z-index:1}.rb-sw-auto{background:#222!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}.ps-grid-wrap.no-grid .ps-cell{border-right-color:transparent;border-bottom-color:transparent}.ps-grid-wrap.painting,.ps-grid-wrap.painting .ps-cell{cursor:copy}.rb[data-c~=c1] .rb-g-clip .rb-small .rb-label{display:none}.rb[data-c~=c1] .rb-g-clip .rb-small{width:28px;padding:0;justify-content:center}.rb[data-c~=c1] .rb-group{padding:0 4px}.rb[data-c~=c1] .rb-numsel>.rb-btn{width:132px}.rb[data-c~=c1] .rb-big{max-width:76px}.rb[data-c~=c1] .rb-fontsel>.rb-btn{width:104px}.rb[data-c~=c2] .rb-g-cells .rb-small .rb-label>:not(.rb-caret),.rb[data-c~=c2] .rb-g-edit .rb-small .rb-label>:not(.rb-caret),.rb[data-c~=c2] .rb-g-names .rb-small .rb-label{display:none}.rb[data-c~=c2] .rb-g-cells .rb-small .rb-label,.rb[data-c~=c2] .rb-g-edit .rb-small .rb-label{font-size:0}.rb[data-c~=c2] .rb-numsel>.rb-btn{width:112px}.rb[data-c~=c2] .rb-wrapbtn .rb-label{display:none}.rb[data-c~=c2] .rb-big{min-width:44px;max-width:66px;padding-left:3px;padding-right:3px}.rb[data-c~=c2] .rb-big .rb-label{font-size:11px}.rb[data-c~=c2] .rb-group{padding:0 3px}.rb[data-c~=c2] .rb-fontsel>.rb-btn{width:86px}.rb[data-c~=c2] .rb-mergebtn .rb-label{font-size:0}.rb[data-c~=c3] .rb-small:not(.rb-fontsel *):not(.rb-sizesel *):not(.rb-numsel *) .rb-label{display:none}.rb[data-c~=c3] .rb-small:not(.rb-fontsel *):not(.rb-sizesel *):not(.rb-numsel *){padding:0 5px}.rb[data-c~=c3] .rb-fontsel>.rb-btn{width:74px}.rb[data-c~=c3] .rb-numsel>.rb-btn{width:96px}.rb[data-c~=c3] .rb-big{max-width:58px;min-width:40px}.rb[data-c~=c3] .rb-big .rb-label{font-size:10.5px}.rb[data-c~=c3] .rb-group{padding:0 2px}.rb[data-c~=c4] .rb-big{flex-direction:row;justify-content:center;height:30px;min-width:30px;max-width:none;padding:0 5px;gap:2px}.rb[data-c~=c4] .rb-big svg:first-child{width:18px;height:18px;margin:0}.rb[data-c~=c4] .rb-big .rb-label{display:none}.rb[data-c~=c4] .rb-splitwrap.rb-split-big{flex-direction:row}.rb[data-c~=c4] .rb-splitwrap.rb-split-big>.rb-btn:first-child{height:30px;border-radius:var(--r-sm) 0 0 var(--r-sm)}.rb[data-c~=c4] .rb-splitwrap.rb-split-big>.rb-caretbtn{height:30px;border-radius:0 var(--r-sm) var(--r-sm) 0}@container ribbon (max-width: 760px){.rb-body{height:44px;padding:4px 2px;align-items:center}.rb-group{padding:0 4px}.rb-group-name{display:none}.rb-big,.rb-col{flex-direction:row}.rb-big{height:32px;min-width:32px;max-width:none;padding:0 6px}.rb-big svg:first-child{width:18px;height:18px;margin:0}.rb-big .rb-label,.rb-big .rb-label .rb-caret,.rb-small .rb-label{display:none}.rb-small{height:32px;padding:0 7px}.rb-icon{height:32px;width:30px}.rb-splitwrap.rb-split-big{flex-direction:row}.rb-splitwrap.rb-split-big>.rb-btn:first-child{height:32px;border-radius:var(--r-sm) 0 0 var(--r-sm)}.rb-splitwrap.rb-split-big>.rb-caretbtn{height:32px;border-radius:0 var(--r-sm) var(--r-sm) 0}.rb-numsel>.rb-btn{width:112px;height:30px}.rb-numsel>.rb-btn .rb-label{display:inline-flex}.rb-prop{flex-direction:row;align-items:center}.rb-peek .rb-body{top:34px}}.container.sheet-wide{max-width:none;padding-left:clamp(16px,2.2vw,36px);padding-right:clamp(16px,2.2vw,36px)}.rb-fontsel>.rb-btn,.rb-sizesel>.rb-btn{height:26px;justify-content:space-between;border-color:var(--line-strong);background:#fff}.rb-fontsel>.rb-btn{width:128px}.rb-sizesel>.rb-btn{width:50px;padding:0 4px 0 6px}.rb-fontsel>.rb-btn .rb-label,.rb-sizesel>.rb-btn .rb-label{flex:1 1;justify-content:space-between;overflow:hidden}.rb-fontmenu{min-width:220px}.rb-fontmenu button{font-size:14px}.rb-sizemenu{min-width:80px}.ps-menu.rb-sizemenu button{padding:6px 12px;justify-content:flex-start}@container ribbon (max-width: 760px){.rb-fontsel>.rb-btn .rb-label,.rb-sizesel>.rb-btn .rb-label{display:inline-flex;font-size:12px}.rb-fontsel>.rb-btn{width:96px;height:30px}.rb-sizesel>.rb-btn{height:30px}}.ps-ol{position:absolute;left:2px;top:50%;transform:translateY(-50%);width:15px;height:15px;padding:0;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:3px;background:#fff;color:var(--ink);font-size:12px;line-height:1;font-weight:700;cursor:pointer;z-index:2}.ps-ol:hover{border-color:var(--brand);color:var(--brand)}.ps-ol.closed{background:var(--green-soft);border-color:var(--green-line);color:var(--green-dark)}.ps-colh .ps-ol{left:3px}.ps-rowh.grp{box-shadow:inset 3px 0 0 #9ca3af}.ps-olbar{position:absolute;left:0;right:0;top:0;height:3px;background:#9ca3af}.ps-spark{position:absolute;left:5px;top:5px;pointer-events:none;overflow:visible}.sd-fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 12px 10px;margin:0;display:flex;flex-direction:column;gap:8px}.sd-fieldset legend{font-size:13px;font-weight:600;color:var(--ink);padding:0 4px}.sd-checks{display:flex;flex-wrap:wrap;gap:8px 16px}.sd-other{width:34px!important;height:28px!important;text-align:center;padding:0!important;margin-left:4px;border:1px solid var(--line-strong);border-radius:var(--r-sm)}.sd-preview{max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle)}.sd-preview table{border-collapse:collapse;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sd-preview td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 8px;white-space:nowrap;background:#fff}.sd-note{margin:0;font-size:13.5px;color:var(--text)}.sd-seg{display:flex;gap:6px}.sd-seg button{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#fff;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}.sd-seg button:hover{border-color:var(--brand)}.sd-seg button.on,.sd-seg button[aria-checked=true]{border-color:var(--brand);background:var(--green-soft);color:var(--green-dark)}.sd-seg-big button{height:64px;flex-direction:column;gap:4px}.sd-ttc{width:min(560px,94vw)}.sd-goal,.sd-protect,.sd-spark{width:min(420px,94vw)}.sd-group{width:min(320px,94vw)}.sd-goal .sd-body,.sd-group .sd-body,.sd-protect .sd-body,.sd-spark .sd-body,.sd-ttc .sd-body{display:flex;flex-direction:column;gap:12px}.about,.contact,.legal{padding-bottom:var(--s-8)}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.about-feature{display:flex;flex-direction:column;gap:8px}.about-feature h2{font-size:17px}.about-feature p{font-size:14.5px;line-height:1.55;margin:0}.about-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-hover)}.about-dev{margin-top:var(--s-6);display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:var(--s-6);gap:var(--s-6);align-items:center}.about-dev h2{font-size:28px}.about-dev p{font-size:16px;line-height:1.6;max-width:620px;margin:0}.about-photo{width:180px;height:auto;aspect-ratio:361/387;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.about-note{margin-top:var(--s-5)}@media (max-width:860px){.about-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.about-dev,.about-grid{grid-template-columns:1fr}.about-dev{justify-items:start}.about-photo{width:140px}}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--s-5);gap:var(--s-5);align-items:start}.contact-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-4);gap:var(--s-4)}.contact-form input,.contact-form select,.contact-form textarea{width:100%}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-aside .card{display:flex;flex-direction:column;gap:6px}.contact-aside h2{font-size:15.5px;display:flex;align-items:center;gap:8px;color:var(--ink)}.contact-aside p{margin:0;line-height:1.5}.contact-sent{display:flex;flex-direction:column;gap:10px;align-items:flex-start;color:var(--green-hover)}.contact-sent h2{color:var(--ink);font-size:22px}@media (max-width:860px){.contact-layout{grid-template-columns:1fr}}@media (max-width:560px){.contact-two{grid-template-columns:1fr}}.legal-body{display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.65;color:var(--text)}.legal-body h2{font-size:21px;margin-top:var(--s-5);color:var(--ink)}.legal-body h3{font-size:16.5px;margin-top:6px;color:var(--ink)}.legal-body p,.legal-body ul{margin:0}.legal-body ul{padding-left:22px;display:flex;flex-direction:column;gap:6px}.legal-body strong{color:var(--ink);font-weight:650}.msg-body{margin:0;white-space:pre-wrap;font-size:14.5px;line-height:1.55;color:var(--text);padding:10px 12px;background:var(--bg-subtle);border-radius:var(--r-sm)}.footer-credit{font-weight:650;color:inherit;text-decoration:underline;text-underline-offset:3px}@media (max-width:1360px) and (min-width:961px){.drill-grid{grid-template-columns:340px minmax(0,1fr)}}body:has(.container.sheet-wide) .nav .container{max-width:none;padding-left:clamp(16px,2.2vw,36px);padding-right:clamp(16px,2.2vw,36px)}