*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-4{height:1rem}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-60{width:15rem}.w-80{width:20rem}.w-full{width:100%}.flex-none{flex:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.rounded-card{border-radius:16px}.rounded-control{border-radius:12px}.rounded-full{border-radius:9999px}.rounded-pill{border-radius:999px}.border{border-width:1px}.border-2{border-width:2px}.border-sy-line{border-color:var(--sy-line)}.border-t-sy-primary{border-top-color:var(--sy-primary)}.bg-sy-accent{background-color:var(--sy-accent)}.bg-sy-paper-deep{background-color:var(--sy-paper-deep)}.bg-sy-primary{background-color:var(--sy-primary)}.bg-transparent{background-color:transparent}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.p-10{padding:2.5rem}.p-5{padding:1.25rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.font-sans{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.italic{font-style:italic}.text-sy-blue{color:var(--sy-blue)}.text-sy-green{color:var(--sy-green)}.text-sy-ink{color:var(--sy-ink)}.text-sy-ink-soft{color:var(--sy-ink-soft)}.text-sy-primary-deep{color:var(--sy-primary-deep)}.text-sy-red{color:var(--sy-red)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--desk:#f5efe3;--bar:hsla(40,47%,93%,.94);--sheet:#fffdf9;--sheet-deep:#f5eedf;--sheet-bright:#fff;--edge:#dfd4be;--edge-strong:#bcab88;--ink:#3b352b;--ink2:#5f5442;--ink3:#756a56;--red:#c25454;--red-deep:#9e3838;--gold:#ffd66b;--gold-edge:#ddb74a;--gold-ink:#4f400c;--ok:#286146;--okbg:#e3f1e5;--ok-edge:#b4d8bc;--warn:#9f4631;--warnbg:#fbe9e2;--warn-edge:#e4b6a7;--info:#345a86;--infobg:#e6eef8;--info-edge:#b7cde6;--rule:rgba(96,125,180,.11);--shadow-card:0 2px 6px rgba(60,48,25,.04),0 12px 28px -4px rgba(70,52,25,.07),0 24px 44px -12px rgba(70,52,25,.04);--shadow-ctrl:0 1px 2px rgba(80,60,25,.07),0 2px 5px rgba(80,60,25,.04);--ease-out:cubic-bezier(0.16,1,0.3,1)}html{background:var(--desk);-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-behavior:smooth}body{background:radial-gradient(ellipse at 25% 0,rgba(255,252,245,.72) 0,transparent 55%),radial-gradient(ellipse at 85% 100%,hsla(40,33%,74%,.22) 0,transparent 60%),var(--desk);color:var(--ink);font-size:15px;line-height:1.7;font-variant-numeric:tabular-nums}::-moz-selection{background:var(--gold);color:var(--ink)}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:2px solid var(--info);outline-offset:2px}a{color:var(--info);text-underline-offset:3px}input,textarea{caret-color:var(--red);accent-color:var(--red)}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.gate,.modal,.outline-preview{scrollbar-width:thin;scrollbar-color:var(--edge-strong) transparent}.brandbar{position:sticky;top:0;z-index:50;background:var(--bar);backdrop-filter:blur(10px);border-bottom:1px solid rgba(90,70,30,.16)}.brandbar-in,.wrap{max-width:1180px;margin:0 auto;padding-inline:18px}.brandbar-in{display:flex;align-items:center;gap:14px;min-height:54px;padding-block:8px}.logo{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;white-space:nowrap}.logo-mark{display:inline-grid;place-items:center;width:32px;height:32px;background:transparent;border:0;border-radius:9px;overflow:hidden}.logo b{font-size:20px;letter-spacing:4px;line-height:1.2}.logo span:not(.logo-mark){font-size:12.5px;color:var(--ink2);padding-left:4px;border-left:1px dashed var(--edge-strong)}.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav a,.nav button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 13px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink2);font-size:13.5px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s}.nav a:hover,.nav button:hover{background:hsla(0,0%,100%,.65);color:var(--ink)}.nav a[aria-current=page]{background:var(--sheet);border-color:var(--edge);color:var(--ink);font-weight:700;box-shadow:var(--shadow-ctrl)}.page{padding-block:26px 72px}.foot{padding:20px 18px;border-top:1px dashed rgba(90,70,30,.25);color:var(--ink2);font-size:12.5px;text-align:center}.page-loading{display:flex;justify-content:center;padding:64px 16px}.page-loading-card{padding:16px 24px;border:1px solid var(--edge);border-radius:12px}.card,.page-loading-card{background:var(--sheet);box-shadow:var(--shadow-card)}.card{position:relative;margin-bottom:22px;padding:28px;border:1px solid hsla(42,26%,61%,.44);border-radius:16px}.tape:before{content:"";position:absolute;top:-11px;left:50%;width:120px;height:22px;transform:translateX(-50%) rotate(-1.5deg);background:repeating-linear-gradient(45deg,rgba(255,218,115,.88) 0 8px,rgba(255,232,160,.88) 8px 16px);border-radius:2px;box-shadow:0 2px 6px rgba(70,50,20,.12);pointer-events:none;backdrop-filter:blur(1px)}.narrow{max-width:760px;margin-inline:auto}.title{margin:0;font-size:24px;letter-spacing:1.5px;line-height:1.35;text-wrap:balance}.h3,.title{font-weight:700}.h3{margin:0 0 10px;font-size:16px;letter-spacing:.5px}.sub{margin:4px 0 0;font-size:13.5px;line-height:1.6}.small,.sub{color:var(--ink2)}.small{font-size:13px;line-height:1.55}.muted{color:var(--ink3)}.between{justify-content:space-between;gap:10px}.between,.btnrow{display:flex;flex-wrap:wrap;align-items:center}.btnrow{gap:8px}.sample-frame{overflow:hidden;background:var(--sheet-bright);border:1px solid var(--edge);border-radius:11px;box-shadow:var(--shadow-ctrl,0 1px 2px rgba(90,70,30,.09))}.sample-frame iframe{display:block;width:100%;max-width:480px;height:560px;margin:0 auto;border:0}@media (max-width:560px){.sample-frame iframe{height:480px}}.faq details{border-bottom:1px dashed var(--edge)}.faq details:last-of-type{border-bottom:0}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .15rem;cursor:pointer;font-weight:600;line-height:1.45;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--red-deep,#9e3838)}.faq-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid var(--edge-strong,#b6a682);border-radius:50%;position:relative}.faq-toggle:after,.faq-toggle:before{content:"";position:absolute;background:var(--ink2,#635744);border-radius:1px}.faq-toggle:before{width:10px;height:1.5px}.faq-toggle:after{width:1.5px;height:10px;transition:transform .15s ease}.faq details[open] .faq-toggle:after{transform:scaleY(0)}.faq details[open] .faq-toggle{border-color:var(--red,#c25454)}.faq details[open] .faq-toggle:after,.faq details[open] .faq-toggle:before{background:var(--red,#c25454)}.faq .faq-a{padding:0 .15rem .95rem;color:var(--ink2,#635744);line-height:1.7;font-size:.92rem}.faq .faq-a a{color:var(--red-deep,#9e3838)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 15px;background:var(--sheet-bright);border:1.5px solid var(--edge);border-radius:9px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-ctrl);transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),background-color .15s,border-color .15s}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--edge-strong);background:#fff}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn.gold{background:var(--gold);border-color:var(--gold-edge);color:var(--gold-ink)}.btn.gold:hover:not(:disabled){background:#ffdf84;border-color:#cca437}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--sheet)}.btn.primary:hover:not(:disabled){background:#2f2b23;border-color:#2f2b23}.btn.ghost{background:transparent;border-style:dashed;box-shadow:none}.btn.ghost:hover:not(:disabled){background:hsla(0,0%,100%,.55)}.btn.danger{color:var(--warn);border-color:rgba(159,70,49,.45)}.btn.danger:hover:not(:disabled){background:var(--warnbg);border-color:var(--warn)}.btn.sm{min-height:32px;padding:4px 11px;border-radius:7px;font-size:12.5px}.btn.icon-btn{min-width:34px;min-height:34px;padding:4px 7px}.btn.block{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.pillrow{display:flex;flex-wrap:wrap;gap:8px}.pill{min-height:36px;padding:6px 14px;background:var(--sheet-bright);border:1.5px solid var(--edge);border-radius:999px;color:var(--ink2);font-size:13.5px;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.pill:hover{border-color:var(--edge-strong);color:var(--ink)}.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--sheet);font-weight:700}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;background:#fff3b0;border-radius:6px;color:#624e07;font-size:12px;font-weight:700;white-space:nowrap}.tag.g{background:var(--okbg);color:var(--ok)}.tag.r{background:var(--warnbg);color:var(--warn)}.tag.b{background:var(--infobg);color:var(--info)}.tag.gray{background:#e9e1cc;color:var(--ink2)}.box{margin:10px 0;padding:11px 14px;border:1px solid transparent;border-radius:10px;font-size:13.5px;line-height:1.6}.box.info{background:var(--infobg);border-color:var(--info-edge);color:#27476d}.box.ok{background:var(--okbg);border-color:var(--ok-edge);color:#21513a}.box.warn{background:var(--warnbg);border-color:var(--warn-edge);color:#7d3625}.box.neutral{background:var(--sheet-deep);border-color:var(--edge);color:var(--ink2)}.box-inline{display:flex;align-items:flex-start;gap:9px}.box-icon{flex:none;margin-top:2px}.text-input{width:100%;min-height:44px;padding:9px 12px;background:#fff;border:1.5px solid var(--edge);border-radius:9px;color:var(--ink);font-size:max(1rem,15px);line-height:1.5;transition:border-color .15s,box-shadow .15s}textarea.text-input{min-height:140px;resize:vertical;line-height:1.65}.text-input:focus{border-color:var(--info);box-shadow:0 0 0 3px rgba(52,90,134,.12);outline:none}.text-input:user-invalid{border-color:var(--warn)}.text-input::-moz-placeholder{color:var(--ink3);opacity:.78}.text-input::placeholder{color:var(--ink3);opacity:.78}.label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:700;color:var(--ink)}.field-hint{display:block;margin-top:5px;font-size:12.5px;color:var(--ink2)}.spinner{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);font-size:13.5px}.spinner i{width:15px;height:15px;border:2px solid var(--edge);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.home-container{display:flex;flex-direction:column;gap:28px}.hero-section{padding:44px 40px 36px;overflow:hidden;background:radial-gradient(ellipse at 88% 18%,rgba(255,214,107,.18),transparent 42%),radial-gradient(ellipse at 12% 85%,rgba(194,84,84,.08),transparent 38%),var(--sheet)}.hero-content{max-width:820px;margin:0 auto;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:999px;font-size:13px;font-weight:600;color:var(--ink2);box-shadow:0 1px 2px rgba(90,70,30,.06);margin-bottom:20px}.hero-badge-dot{width:7px;height:7px;background:var(--red);border-radius:50%;box-shadow:0 0 0 3px rgba(194,84,84,.2)}.hero-title{margin:0 0 16px;font-size:40px;font-weight:800;letter-spacing:2px;line-height:1.28;color:var(--ink);text-wrap:balance}.hero-subtitle{display:block;margin-top:8px;font-size:26px;font-weight:700;letter-spacing:1px;color:var(--ink2)}.hero-mark{font-style:normal;color:var(--red-deep);position:relative;display:inline-block;padding-inline:4px;z-index:1}.hero-mark:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:10px;background:rgba(255,214,107,.65);border-radius:3px;z-index:-1;transform:rotate(-1.5deg)}.hero-lead{max-width:68ch;margin:0 auto 28px;font-size:16px;line-height:1.8;color:var(--ink2);text-wrap:pretty}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}.btn-primary-stamp,.hero-actions{align-items:center;justify-content:center}.btn-primary-stamp{display:inline-flex;gap:8px;min-height:44px;padding:10px 24px;background:linear-gradient(180deg,#ffdc7a,#ffd05b);border:1.5px solid var(--gold-edge);border-radius:12px;color:var(--gold-ink);font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 1px 2px rgba(80,50,10,.08),0 4px 12px rgba(220,175,40,.25);transition:all .18s var(--ease-out);cursor:pointer}.btn-primary-stamp:hover{background:linear-gradient(180deg,#ffe088,#ffd468);transform:translateY(-1px);box-shadow:0 2px 4px rgba(80,50,10,.1),0 6px 18px rgba(220,175,40,.35);color:var(--gold-ink)}.btn-primary-stamp:hover svg{transform:translateX(3px);transition:transform .18s var(--ease-out)}.btn-secondary-paper{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 22px;background:var(--sheet-bright);border:1.5px solid var(--edge);border-radius:12px;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;box-shadow:var(--shadow-ctrl);transition:all .18s var(--ease-out);cursor:pointer}.btn-secondary-paper:hover{background:var(--sheet-deep);border-color:var(--edge-strong);color:var(--ink);transform:translateY(-1px)}.hero-trust-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;padding-top:14px;border-top:1px dashed hsla(42,26%,61%,.45)}.trust-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink2)}.trust-icon{color:var(--ok);flex-shrink:0}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px;padding-top:28px;border-top:1px dashed hsla(42,26%,61%,.55)}.journey-card{position:relative;display:flex;flex-direction:column;padding:20px 20px 22px;background:hsla(0,0%,100%,.72);border:1px solid var(--edge);border-radius:14px;box-shadow:0 1px 3px rgba(60,48,25,.03);transition:all .2s var(--ease-out)}.journey-card:hover{background:#fff;border-color:var(--edge-strong);transform:translateY(-2px);box-shadow:0 6px 16px -2px rgba(70,52,25,.08)}.journey-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.journey-badge{font-size:12px;font-weight:700;color:var(--red-deep);background:rgba(194,84,84,.08);padding:2px 8px;border-radius:6px}.journey-step{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;color:var(--ink3);opacity:.75}.journey-card-body{display:flex;flex-direction:column;gap:8px}.journey-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--sheet-deep);color:var(--red-deep);border:1px solid var(--edge);margin-bottom:4px}.journey-title{margin:0;font-size:16px;font-weight:700;color:var(--ink);line-height:1.4}.journey-desc{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.65}.showcase-section{scroll-margin-top:72px;padding:34px 34px 30px}.section-header{margin-bottom:22px}.section-title{margin:0 0 6px;font-size:24px;font-weight:800;letter-spacing:1px;color:var(--ink)}.section-subtitle{margin:0;font-size:14px;color:var(--ink2)}.sample-live-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--okbg);border:1px solid var(--ok-edge);border-radius:999px;font-size:13px;font-weight:700;color:var(--ok);white-space:nowrap}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(40,97,70,.4);animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(40,97,70,.5)}70%{box-shadow:0 0 0 7px rgba(40,97,70,0)}to{box-shadow:0 0 0 0 rgba(40,97,70,0)}}.notebook-desk{position:relative;margin:18px 0;padding:16px 20px 24px;background:#f0e6cf;border:1.5px solid var(--edge-strong);border-radius:18px;box-shadow:inset 0 2px 8px rgba(90,70,30,.1),0 8px 24px rgba(70,52,25,.12)}.notebook-spine{display:flex;justify-content:center;gap:36px;margin-bottom:14px}.notebook-spine span{display:block;width:9px;height:18px;background:#b6a682;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.25),0 1px 0 hsla(0,0%,100%,.4)}.sample-frame-wrapper{overflow:hidden;background:#fff;border:1.5px solid #d2c39e;border-radius:14px;box-shadow:0 4px 16px rgba(60,48,25,.12)}.showcase-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px dashed hsla(42,26%,61%,.5)}.showcase-note{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.6}.styles-section{padding:34px 34px 30px}.styles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:12px}.style-card{display:flex;flex-direction:column;padding:18px;background:var(--sheet-bright);border:1.5px solid var(--edge);border-radius:14px;box-shadow:0 1px 3px rgba(60,48,25,.04);transition:all .22s var(--ease-out)}.style-card:hover{transform:translateY(-3px);border-color:var(--edge-strong);box-shadow:0 8px 24px -4px rgba(70,52,25,.12)}.style-preview{position:relative;height:120px;margin-bottom:16px;background:#fffdf9;border:1px solid var(--edge);border-radius:10px;overflow:hidden}.preview-notebook{position:relative;height:100%;padding:16px 14px 14px 28px;background:repeating-linear-gradient(180deg,#fffdf8 0 21px,rgba(96,125,180,.12) 21px 22px)}.preview-notebook:before{content:"";position:absolute;top:0;bottom:0;left:20px;width:2px;background:rgba(214,90,90,.35)}.preview-lines{display:flex;flex-direction:column;gap:12px}.preview-lines .line{display:block;height:7px;background:#e6dfcb;border-radius:4px}.preview-lines .line.w-50{width:50%}.preview-lines .line.w-55{width:55%}.preview-lines .line.w-60{width:60%}.preview-lines .line.w-70{width:70%}.preview-lines .line.w-75{width:75%}.preview-lines .line.w-80{width:80%}.preview-lines .line.w-85{width:85%}.preview-lines .line.w-90{width:90%}.preview-sticky{position:absolute;top:10px;right:10px;padding:3px 8px;background:#ffe382;border:1px solid #dcb442;border-radius:4px;font-size:10.5px;font-weight:700;color:#4f400c;transform:rotate(3deg);box-shadow:0 2px 4px rgba(70,50,10,.1)}.preview-stamp{position:absolute;bottom:10px;right:14px;width:36px;height:36px;display:grid;place-items:center;border:2px dashed var(--red);border-radius:50%;color:var(--red);font-size:11px;font-weight:850;transform:rotate(-12deg);letter-spacing:1px}.preview-quest{position:relative;height:100%;padding:16px 14px;background:radial-gradient(#e2d5ff 1.5px,transparent 0),#fcfaff;background-size:14px 14px}.quest-route{display:flex;align-items:center;gap:6px;margin-bottom:14px}.quest-node{width:22px;height:22px;display:grid;place-items:center;background:#e9ddff;border:1.5px solid #8a6fb8;border-radius:50%;font-size:11px;font-weight:800;color:#4a2d75}.quest-node.done{background:#7c5fa8;border-color:#7c5fa8;color:#fff}.quest-node.active{background:#ffd66b;border-color:#ddb74a;color:#4f400c;box-shadow:0 0 0 3px rgba(255,214,107,.35)}.quest-dash{flex:1;height:2px;background:#8a6fb8;opacity:.45}.preview-badge{position:absolute;bottom:12px;right:14px;padding:2px 8px;background:#7c5fa8;color:#fff;border-radius:999px;font-size:10px;font-weight:700}.preview-quiz{position:relative;height:100%;padding:14px;background:#f7faff}.quiz-options{display:flex;flex-direction:column;gap:6px;margin-top:10px}.quiz-opt{display:flex;align-items:center;padding:4px 10px;background:#fff;border:1px solid var(--edge);border-radius:6px;font-size:11px;font-weight:600;color:var(--ink2)}.quiz-opt.checked{background:var(--okbg);border-color:var(--ok-edge);color:var(--ok);font-weight:700}.quiz-tag{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;color:var(--info);background:var(--infobg);padding:2px 6px;border-radius:4px}.style-meta{display:flex;flex-direction:column;gap:6px}.style-title-row{display:flex;align-items:center;justify-content:space-between}.style-title{margin:0;font-size:17px;font-weight:800;color:var(--ink)}.style-tag{font-size:11.5px;font-weight:700;color:var(--ink3);background:var(--sheet-deep);padding:2px 7px;border-radius:6px}.style-desc{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.6}.faq-section{padding:34px 34px 30px}.faq-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.faq-item{border:1px solid var(--edge);border-radius:12px;background:hsla(0,0%,100%,.65);transition:all .18s var(--ease-out);overflow:hidden}.faq-item[open]{background:#fff;border-color:var(--edge-strong);box-shadow:0 4px 12px rgba(60,48,25,.05)}.faq-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;cursor:pointer;font-size:15.5px;font-weight:700;color:var(--ink);list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.faq-summary::-webkit-details-marker{display:none}.faq-summary:hover{color:var(--red-deep)}.faq-q-text{flex:1}.faq-answer{font-size:14.5px;color:var(--ink2);line-height:1.75;border-top:1px dashed hsla(42,26%,61%,.35);margin-top:2px;padding:14px 20px 18px}.faq-answer p{margin:0}.faq-more-link{display:inline-flex;align-items:center;gap:4px;margin-top:8px;color:var(--red-deep);font-weight:700;font-size:13.5px;text-decoration:none}.faq-more-link:hover{text-decoration:underline}.closing-cta{padding:36px 40px;background:radial-gradient(circle at 8% 20%,rgba(255,214,107,.22),transparent 45%),radial-gradient(circle at 92% 80%,rgba(194,84,84,.12),transparent 40%),var(--sheet)}.closing-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.closing-cta-text{max-width:620px}.closing-cta-title{margin:0 0 8px;font-size:22px;font-weight:800;letter-spacing:1px;color:var(--ink)}.closing-cta-desc{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.65}.closing-cta-actions{flex-shrink:0}@media (max-width:860px){.hero-section{padding:32px 20px 24px}.hero-title{font-size:30px}.hero-subtitle{font-size:20px}.journey-grid,.styles-grid{grid-template-columns:1fr;gap:14px}.closing-cta-inner{flex-direction:column;align-items:flex-start}}.login-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:28px;align-items:center;max-width:920px;margin:20px auto 0}.login-intro{padding:12px 8px}.login-intro h1{margin:0;font-size:30px;font-weight:700;letter-spacing:2px;line-height:1.35;text-wrap:balance}.login-intro .lead{margin:10px 0 22px;font-size:15px}.login-points{display:grid;gap:12px;margin:0;padding:0;list-style:none}.login-points li{display:flex;align-items:flex-start;gap:11px;padding:11px 14px;background:hsla(46,68%,95%,.72);border:1px solid hsla(42,26%,61%,.55);border-radius:10px}.login-points .login-points-icon,.login-points-icon{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--sheet-deep);color:var(--red-deep)}.login-points strong{display:block;font-size:13.5px}.login-points div span{display:block;color:var(--ink2);font-size:12.5px;line-height:1.5}.login-card{margin-bottom:0;padding:28px 26px 24px}.login-step-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;margin-bottom:10px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:999px;color:var(--ink2);font-size:12px;font-weight:700}.login-field{margin-bottom:16px}.login-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.login-label-row .label{margin-bottom:0}.link-btn{padding:2px 4px;border:0;background:transparent;color:var(--info);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link-btn:hover:not(:disabled){color:var(--ink)}.link-btn:disabled{color:var(--ink3);text-decoration:none;cursor:default}.otp-row{display:flex;gap:8px;align-items:stretch}.otp-row .text-input{flex:1;letter-spacing:3px;font-weight:700}.login-foot-note{margin:16px 0 0;padding-top:12px;border-top:1px dashed var(--edge);color:var(--ink3);font-size:12px;line-height:1.55;text-align:center}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.cfg{display:grid;grid-template-columns:minmax(0,1fr) 324px;gap:18px;align-items:start}.summary{position:sticky;top:72px}.summary-steps{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;padding:6px 10px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:8px;font-size:11.5px}.summary-step-pill{display:inline-flex;align-items:center;gap:3px;color:var(--ink3);font-weight:600}.summary-step-pill.is-done{color:var(--ok);font-weight:700}.summary-step-arrow{color:var(--ink3);opacity:.4;font-size:10px}.quick-start{margin:0 0 24px;padding:15px 16px 16px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:11px}.quick-start-head{align-items:center;margin-bottom:10px}.quick-start h2{margin:0;font-size:15.5px;font-weight:700;line-height:1.35}.quick-start-link{color:var(--info);font-size:13px;font-weight:700;text-decoration:none}.quick-start-link:hover{text-decoration:underline}.quick-start-empty{margin:0;color:var(--ink2);font-size:13px}.saved-directory-list{display:grid;gap:8px}.saved-directory{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:hsla(0,0%,100%,.86);border:1.5px solid var(--edge);border-radius:9px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s var(--ease-out)}.saved-directory:hover:not(:disabled){border-color:var(--red);box-shadow:0 3px 10px rgba(80,60,30,.1);transform:translateY(-1px)}.saved-directory.is-active{border-color:var(--ok);background:#f5fbf6}.saved-directory:disabled{cursor:wait;opacity:.72}.saved-directory-icon{display:grid;flex:none;place-items:center;width:30px;height:30px;background:var(--okbg);border-radius:8px;color:var(--ok)}.saved-directory-copy{display:grid;min-width:0;gap:2px;flex:1}.saved-directory-copy b{overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.saved-directory-copy small{color:var(--ink2);font-size:12px}.saved-directory-action{display:inline-flex;align-items:center;gap:4px;flex:none;color:var(--red-deep);font-size:12.5px;font-weight:700;white-space:nowrap}.saved-directory.is-active .saved-directory-action{color:var(--ok)}.cascade-bar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:8px 12px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:9px;font-size:12.5px}.cascade-bar,.cascade-step{align-items:center;color:var(--ink3)}.cascade-step{display:inline-flex;padding:2px 9px;border-radius:6px;background:hsla(0,0%,100%,.75);border:1px solid var(--edge);font-weight:600}.cascade-step.is-filled{background:var(--ink);border-color:var(--ink);color:var(--sheet)}.cascade-sep{color:var(--ink3);opacity:.6}.textbook-done-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--sheet-deep);border:1.5px solid var(--edge);border-radius:9px;transition:border-color .15s,background-color .15s}.textbook-done-card:hover{border-color:var(--edge-strong)}.textbook-done-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.textbook-done-badge{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 8px;background:var(--okbg);border:1px solid rgba(46,125,50,.2);border-radius:6px;color:var(--ok);font-size:12px;font-weight:700}.textbook-done-title{margin:0;font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.textbook-picker-box{padding:14px 14px 8px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:10px}.capture-zone{padding:15px 16px;background:var(--sheet-deep);border:1.5px dashed var(--edge-strong);border-radius:10px;transition:border-color .15s,background-color .15s}.capture-zone.is-dragging{border-color:var(--red);background:rgba(255,243,176,.45)}.capture-empty{margin-top:12px;padding:16px;text-align:center;background:hsla(0,0%,100%,.65);border:1px dashed var(--edge);border-radius:8px}.capture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.capture-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--sheet-bright);border:1px solid var(--edge);border-radius:9px}.capture-thumb-btn{flex:none;width:48px;height:48px;padding:0;overflow:hidden;border:1px solid var(--edge);border-radius:7px;background:var(--sheet-deep);cursor:pointer}.capture-thumb-btn img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.capture-meta{flex:1;min-width:0}.capture-meta-title{font-size:13px;font-weight:700}.capture-meta-sub,.capture-meta-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capture-meta-sub{font-size:11.5px;color:var(--ink2)}.capture-actions{display:flex;align-items:center;gap:3px;flex:none}.outline-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:14px}.outline-editor-col,.outline-preview-col{min-width:0}.outline-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:222px;margin-top:26px;padding:18px;background:hsla(0,0%,100%,.45);border:1.5px dashed var(--edge);border-radius:9px;text-align:center;color:var(--ink3);font-size:13px}.material-collapsible{margin-top:18px;padding:10px 14px;background:hsla(0,0%,100%,.52);border:1px dashed var(--edge-strong);border-radius:9px;transition:background .15s,border-color .15s}.material-collapsible.is-open{background:var(--sheet-deep);border-style:solid}.material-toggle-bar{align-items:center}.material-toggle-btn{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;color:var(--ink);text-align:left}.material-toggle-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:5px;background:rgba(0,0,0,.05);color:var(--ink2)}.material-toggle-text b{font-size:13.5px}.material-toggle-text small{color:var(--ink3);font-size:12px;margin-left:4px}.material-expanded-content{margin-top:8px;padding-top:8px;border-top:1px dashed var(--edge)}.material-note{max-width:62ch;margin:-2px 0 12px}.material-upload-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.material-list{display:grid;gap:8px;margin-top:12px}.material-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:hsla(0,0%,100%,.72);border:1px solid var(--edge);border-radius:9px}.material-item.is-error{border-color:var(--warn-edge);background:var(--warnbg)}.material-file-icon{display:grid;flex:none;place-items:center;width:34px;height:32px;background:var(--infobg);border-radius:7px;color:var(--info);font-size:10px;font-weight:800;letter-spacing:.3px}.material-copy{display:grid;min-width:0;flex:1;gap:2px}.material-copy b{overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.material-copy small{color:var(--ink2);font-size:12px}.material-remove{flex:none}.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--edge);font-size:13.5px}.kv span{flex:none;color:var(--ink2)}.kv b{font-weight:700;text-align:right;overflow-wrap:anywhere}.section+.section{margin-top:26px;padding-top:22px;border-top:1px dashed var(--edge)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head-title{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.section-head-extra{display:flex;align-items:center;gap:8px}.section-head .n{display:inline-grid;flex:none;place-items:center;width:24px;height:24px;background:var(--ink);border-radius:50%;color:var(--sheet);font-size:12px;font-weight:700}.section-head .n.is-done{background:var(--ok);color:#fff}.section-head h2{margin:0;font-size:16px;font-weight:700}.section-head small{color:var(--ink3);font-size:12.5px}.choice{margin-top:14px}.choice-label{margin-bottom:7px;color:var(--ink2);font-size:13px;font-weight:700}.choice-empty{margin:0;padding:6px 0}.units{overflow:hidden;background:hsla(0,0%,100%,.58);border:1.5px solid var(--edge);border-radius:10px}.unit{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px dashed var(--edge);cursor:pointer;font-size:14px}.unit:last-child{border-bottom:0}.unit:hover{background:rgba(255,243,176,.35)}.unit input{flex:none;width:17px;height:17px}.outline-preview{max-height:280px;overflow:auto;background:hsla(0,0%,100%,.62);border:1.5px solid var(--edge);border-radius:9px}.outline-head{position:sticky;top:0;z-index:1;padding:7px 12px;background:var(--sheet-deep);border-bottom:1px dashed var(--edge);color:var(--ink2);font-size:12.5px;font-weight:700}.outline-list{margin:0;padding:4px 0;list-style:none}.outline-row{display:flex;align-items:center;gap:8px;min-height:36px;padding:3px 10px;font-size:13.5px}.outline-badge{flex:none;min-width:34px;padding:1px 6px;background:#ece5d3;border-radius:5px;color:var(--ink2);font-size:11px;font-weight:800;text-align:center}.outline-title{flex:1;min-width:0;overflow-wrap:anywhere}.outline-shift{display:inline-flex;flex:none;gap:4px}.outline-shift .btn{min-width:32px;min-height:30px;padding:2px 7px}.scope-tree .unit{gap:6px;padding-top:7px;padding-bottom:7px;cursor:default}.tree-toggle{display:inline-grid;flex:none;place-items:center;width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:6px;color:var(--ink2);cursor:pointer;transition:transform .15s var(--ease-out),background-color .15s}.tree-toggle:hover{background:rgba(90,70,30,.08)}.tree-toggle[aria-expanded=false]{transform:rotate(-90deg)}.tree-spacer{flex:none;width:28px}.tree-label{display:flex;flex:1;align-items:center;gap:8px;min-width:0;cursor:pointer}.tree-label input{flex:none;width:17px;height:17px}.tree-title{min-width:0;overflow-wrap:anywhere}.styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stylecard{position:relative;padding:12px;background:var(--sheet-bright);border:1.5px solid var(--edge);border-radius:10px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s var(--ease-out)}.stylecard:hover{border-color:var(--edge-strong);transform:translateY(-1px)}.stylecard[aria-pressed=true]{background:#fff;border-color:var(--red);box-shadow:0 0 0 2px rgba(194,84,84,.16)}.stylecard-swatch{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;margin-bottom:8px;border-radius:6px;border:1px solid rgba(90,70,30,.12)}.stylecard b{display:block;font-size:14px}.stylecard span{display:block;margin-top:2px;color:var(--ink2);font-size:12px}dialog.modal{width:min(560px,calc(100vw - 28px));max-height:86dvh;padding:24px 26px;background:var(--sheet);border:1px solid var(--edge-strong);border-radius:14px;color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.32)}dialog.modal:modal{overscroll-behavior:contain}dialog.modal::backdrop{background:rgba(45,38,26,.52);backdrop-filter:blur(2px);overflow:hidden;overscroll-behavior:contain}.consent{margin:12px 0 14px;padding:12px 14px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:9px;color:var(--ink2);font-family:inherit;font-size:13px;line-height:1.75;white-space:pre-wrap}.camera-viewport{position:relative;overflow:hidden;border-radius:10px;background:#1c1917;min-height:280px;display:flex;align-items:center;justify-content:center}.camera-viewport video{width:100%;max-height:360px;-o-object-fit:cover;object-fit:cover}.camera-frame{position:absolute;inset:20px;border:2px dashed rgba(255,214,107,.78);border-radius:8px;pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.25)}.camera-strip{display:flex;gap:8px;overflow-x:auto;padding:8px;margin:10px 0;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:8px}.camera-strip-item{position:relative;flex:none;width:60px;height:60px;border-radius:6px;overflow:hidden;border:1.5px solid var(--edge)}.camera-strip-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.camera-strip-label{position:absolute;bottom:0;inset-inline:0;background:rgba(0,0,0,.68);color:#fff;font-size:10px;text-align:center;line-height:15px}.camera-strip-del{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;display:grid;place-items:center;cursor:pointer}.preview-stage{display:flex;align-items:center;justify-content:center;padding:10px;background:#1c1917;border-radius:9px}.preview-stage img{max-width:100%;max-height:60dvh;-o-object-fit:contain;object-fit:contain;border-radius:5px}.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;padding:0;list-style:none}.ladder li{display:flex;align-items:center;gap:6px;padding-top:9px;border-top:4px solid #e6dcc2;color:var(--ink3);font-size:13.5px;transition:border-color .35s var(--ease-out),color .2s}.ladder li.done{border-color:#4c9a5f;color:var(--ok);font-weight:700}.ladder li.now{border-color:var(--gold-edge);color:var(--ink);font-weight:700}.gate{max-height:330px;margin:12px 0 0;padding:12px 14px;overflow:auto;background:#f5efdd;border-radius:9px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.9;list-style:none;-moz-column-width:130px;column-width:130px}.gate .ok{color:var(--ok)}.gate .bad{color:var(--warn)}.lesson-grid{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:18px;align-items:start}.lesson-side{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.lesson-side>*{min-width:0}.lesson-side .card{margin-bottom:0}.link-box{padding:10px 12px;overflow-wrap:anywhere;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:9px;font-size:13px}.link-box a{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;text-decoration:underline}.link-box-row{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:9px}.link-box-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--info);text-decoration:underline}.share-actions-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--edge)}.stat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 16px}.stat-tile{display:flex;flex-direction:column;justify-content:space-between;padding:11px 13px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:10px;min-height:70px}.stat-label{font-size:12px;color:var(--ink2);font-weight:600}.stat-val{display:flex;align-items:baseline;gap:6px;margin-top:4px;font-size:20px;font-weight:800;line-height:1.2;white-space:nowrap}.stat-sub{font-size:11.5px;color:var(--ink3);font-weight:400}.progress-track{height:7px;margin:8px 0 4px;background:var(--sheet-deep);border:1px solid var(--edge);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--ok);border-radius:999px;transition:width .35s var(--ease-out)}.err-dist{margin:8px 0 12px}.err-dist h3{margin:0 0 6px;font-weight:700}.err-dist ul{margin:0;padding:0;list-style:none}.err-dist li{display:grid;grid-template-columns:minmax(0,10em) 1fr 3.5em;align-items:center;gap:10px;padding:4px 0;font-size:13px;color:var(--ink2)}.err-dist .bar{display:block;height:8px;min-width:6px;background:var(--red-deep);border-radius:4px;opacity:.72}.err-dist b{text-align:right;color:var(--red-deep)}.err-dist .wrong-list{display:flex;flex-direction:column;gap:8px}.wrong-correct-pill{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:3px 10px;background:var(--okbg);border:1px solid var(--ok-edge);border-radius:6px;color:var(--ok);font-size:12.5px;font-weight:600}.history-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.history-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;background:var(--sheet,#faf7f0);border:1px solid var(--edge,#e5ded0);border-radius:10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.history-item:hover{border-color:var(--edge-strong);box-shadow:var(--shadow-ctrl)}.history-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}.history-title{font-size:14.5px;font-weight:700;color:var(--ink)}.history-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-meta{display:flex;align-items:baseline;gap:10px;white-space:nowrap;color:var(--ink2,#6b6355)}.history-item .score-good{color:var(--ok,#286146);font-size:15px}.history-item .score-mid{color:var(--red-deep,#9e3838);font-size:15px}.err-dist .wrong-item{display:block;padding:8px 10px;background:var(--sheet,#faf7f0);border:1px solid var(--edge,#e5ded0);border-radius:10px;font-size:13px}.err-dist .wrong-stem{margin:2px 0 4px;font-weight:600;color:var(--ink,#2f2a20);line-height:1.5}.err-dist .wrong-options{margin:0 0 4px;padding-left:18px;color:var(--ink2,#6b6355)}.err-dist .wrong-options li{display:list-item;grid-template-columns:none;padding:0;font-size:13px}.device{overflow:hidden;background:var(--sheet-deep);border:1.5px solid var(--edge-strong);border-radius:14px;box-shadow:0 14px 34px rgba(80,60,30,.18)}.device-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;padding:6px 12px;background:#eee5cd;border-bottom:1px solid var(--edge)}.device-dots{display:inline-flex;gap:5px;margin-right:2px}.device-dots i{display:block;width:9px;height:9px;border-radius:50%;background:#c7ba9c}.device-bar .addr{flex:1;min-width:140px;padding:3px 12px;overflow:hidden;background:#fff;border:1px solid var(--edge);border-radius:999px;color:var(--ink2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.device-viewport{display:flex;justify-content:center;background:repeating-linear-gradient(135deg,hsla(43,37%,80%,.25) 0 10px,transparent 10px 20px)}.device-viewport iframe{display:block;width:100%;height:740px;border:0;background:var(--sheet);transition:width .25s var(--ease-out)}@media (min-width:981px){.device{position:sticky;top:72px}.device-viewport iframe{height:calc(100vh - 146px);min-height:620px;max-height:850px}}.device-viewport.is-phone{padding:16px 12px}.device-viewport.is-phone iframe{width:min(390px,100%);height:700px;border:1.5px solid var(--edge-strong);border-radius:18px;box-shadow:0 12px 28px rgba(63,58,48,.16)}.dir-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-bottom:1px dashed var(--edge)}.dir-item:last-child{border-bottom:0}.dir-item-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.dir-tree-panel{margin-top:4px;padding:8px 10px;background:var(--sheet);border:1px solid var(--edge);border-radius:8px;max-height:240px;overflow:auto}@media (max-width:980px){.lesson-grid{grid-template-columns:1fr}}@media (max-width:900px){.cfg{grid-template-columns:1fr}.summary{position:static}.grid3,.login-shell,.roles{grid-template-columns:1fr}.login-shell{gap:16px;margin-top:4px}.login-intro{padding:0}.login-intro h1{font-size:24px}.hero{padding:30px 22px 24px}.hero h1{font-size:28px;letter-spacing:3px}}@media (max-width:780px){.history-item{gap:10px}.history-item,.outline-workspace{grid-template-columns:1fr}.outline-placeholder{min-height:auto;margin-top:0}}@media (max-width:560px){.brandbar-in{gap:8px;padding-inline:12px}.logo b{font-size:18px;letter-spacing:2.5px}.logo span:not(.logo-mark){display:none}.nav a,.nav button{padding:6px 10px;font-size:13px}.card{padding:18px 16px}.quick-start{padding:13px 12px 14px}.saved-directory{align-items:flex-start}.saved-directory-copy b{white-space:normal}.saved-directory-action{padding-top:3px}.material-item{align-items:flex-start}.material-remove{margin-left:auto}.stat,.styles{grid-template-columns:1fr}.device-viewport iframe{height:580px}}@media (pointer:coarse){.btn:not(.sm),.pill{min-height:44px}.nav a,.nav button{min-height:40px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:0s!important}.spinner i{animation:none}}.section-rule{padding-top:20px;border-top:1px dashed var(--edge)}.nav-user{position:relative}.nav-user-name{max-width:9em;overflow:hidden;text-overflow:ellipsis}.nav-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:168px;display:flex;flex-direction:column;padding:5px;border:1px solid var(--edge);border-radius:14px;background:var(--sheet);box-shadow:var(--shadow-ctrl),0 12px 28px rgba(90,70,30,.14);z-index:60}.nav-menu a,.nav-menu button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:36px;padding:7px 12px;border:0;border-radius:9px;background:transparent;color:var(--ink2);font-size:13.5px;font-weight:500;text-decoration:none;text-align:left;white-space:nowrap;cursor:pointer}.nav-menu a:hover,.nav-menu a[aria-current=page],.nav-menu button:hover{background:rgba(255,253,245,.9);color:var(--ink)}.nav-menu a[aria-current=page]{font-weight:700;box-shadow:none}.nav-menu-danger{color:#a2542f}.nav-menu-danger:hover{background:rgba(190,90,45,.09);color:#8a3f1e}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.hover\:border-sy-primary:hover{border-color:var(--sy-primary)}.hover\:bg-sy-primary-deep:hover{background-color:var(--sy-primary-deep)}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:root{--sy-ink:#2f2a26;--sy-ink-soft:#6b625a;--sy-paper:#faf6ef;--sy-paper-deep:#f1eadd;--sy-line:#e5dccb;--sy-primary:#c4552d;--sy-primary-deep:#a03f1e;--sy-accent:#e8a13c;--sy-green:#5e8c61;--sy-red:#c0392b;--sy-blue:#4a7ba6;--sy-radius-card:16px;--sy-radius-control:12px;--sy-radius-pill:999px}