.language-picker{position:relative;flex:0 0 auto;line-height:1;z-index:85}.language-picker .language-trigger{display:flex;align-items:center;justify-content:center;gap:5px;width:50px;height:44px;padding:0;border:1px solid #d8d4ca;border-radius:999px;color:#252823;background:transparent;cursor:pointer}.language-picker .language-trigger:hover,.language-picker .language-trigger[aria-expanded=true]{background:#eae6dc}.language-picker .language-trigger:focus-visible,.language-picker .language-options a:focus-visible{outline:2px solid #ef792b;outline-offset:3px}.language-picker .language-options{position:absolute;right:0;top:calc(100% + 9px);min-width:170px;padding:7px;border:1px solid #ded9ce;border-radius:14px;background:#fffdf8;box-shadow:0 10px 30px #23251f24;line-height:1.4}.language-picker .language-options a{display:flex;justify-content:space-between;gap:24px;padding:11px 12px;border-radius:8px;text-decoration:none;color:#252823;font:500 14px/1.4 system-ui,sans-serif;white-space:nowrap}.language-picker .language-options a:hover,.language-picker .language-options a[aria-checked=true]{background:#f2ece1}.language-picker--editor{flex-shrink:0}@media(max-width:640px){.language-picker .language-trigger{width:40px;height:40px;gap:2px}.language-picker .language-options{min-width:155px}}.brand-mark{display:block;flex:none}.brand-mark-en{width:204px;height:52px;object-fit:contain}.brand-mark-zh{position:relative;width:66px;height:66px;overflow:hidden;mix-blend-mode:darken}.brand-mark-zh>img{position:absolute;display:block;width:133.4042553%;height:auto;max-width:none;left:-18.0851064%;top:-13.8297872%}.portal-brand .brand-mark-zh{width:48px;height:48px}.site-account{position:relative}.account-unread-dot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:#cb4934;box-shadow:0 0 0 2px #fcf9f3}.inbox-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-dialog.auth-account-dialog{width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}.auth-account-dialog .auth-address{margin:0 0 20px;font-size:13px}.inbox-tabs{display:flex;gap:22px;border-bottom:1px solid #dfd9ce}.inbox-tabs button{border:0;padding:10px 0 12px;background:none;color:#686b63;border-bottom:2px solid transparent;font:inherit;font-weight:600}.inbox-tabs button[aria-selected=true]{color:#9c402c;border-color:#ae4933}.inbox-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ad4331;color:#fff;font-size:11px;margin-left:6px;box-sizing:border-box}.inbox-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin:16px 0 8px;font-size:12px;color:#707369}.inbox-toolbar>div{display:flex;gap:15px}.account-inbox .inbox-text-button,.support-conversation .inbox-text-button{padding:0;background:none;border:0;font:inherit;color:#98432f;cursor:pointer}.account-inbox button:disabled,.support-conversation button:disabled{cursor:default;opacity:.5}.inbox-text-button:hover{text-decoration:underline;text-underline-offset:3px}.inbox-empty{padding:35px 12px;text-align:center;color:#6e7368;font-size:13px}.inbox-empty>span{display:block;font-size:28px;color:#9c927e;margin-bottom:8px}.inbox-empty strong{display:block;color:#3d453a;font-size:15px}.inbox-empty p{margin:8px 0 14px}.inbox-error,.auth-dialog .inbox-error{font-size:13px;color:#aa3025;margin:12px 0}.inbox-error button{margin-left:8px}.inbox-notices{padding:0;margin:0;list-style:none;max-height:360px;overflow-y:auto}.inbox-notices li{border-bottom:1px solid #e5ded1}.inbox-notice-toggle{width:100%;display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;text-align:left;gap:4px 12px;border:0;background:none;padding:15px 2px;color:#5e655a}.inbox-notice-toggle>span{display:flex;align-items:center;gap:9px}.inbox-notice-toggle i{width:6px;height:6px;border-radius:50%;background:transparent;flex:0 0 auto}.is-unread .inbox-notice-toggle{color:#262d23}.is-unread .inbox-notice-toggle i{background:#c84a32}.inbox-notice-toggle time{font-size:11px;color:#74796e;padding-left:15px;font-weight:400}.inbox-notice-body{padding:0 15px 17px;font-size:13px}.inbox-notice-body p{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.inbox-more{margin:16px 0;width:100%}.account-utilities{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;border-top:1px solid #dfd9ce;padding-top:16px;margin-top:20px;font-size:12px}.account-utilities .account-signout{color:#73776c;margin-left:auto}.support-intro,.auth-dialog .support-intro{font-size:12px;line-height:1.75;color:#6c7365;margin:16px 0}.support-history{height:270px;overflow-y:auto;overscroll-behavior:contain;background:#f3efe5;border:1px solid #e3ddcf;border-radius:12px;padding:14px;box-sizing:border-box}.support-older{display:block;font-size:12px!important;margin:0 auto 16px}.support-messages{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:17px}.support-messages li{max-width:88%;align-self:flex-start;min-width:0}.support-messages li.is-own{align-self:flex-end}.support-messages li>div{display:flex;flex-wrap:wrap;gap:3px 10px;color:#687061;font-size:10px;margin-bottom:5px}.support-messages li.is-own>div{justify-content:flex-end}.support-messages li>p,.auth-dialog .support-messages li>p{margin:0;padding:10px 13px;border-radius:3px 12px 12px;background:#fffdf7;color:#30382d;line-height:1.7;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.support-messages li.is-own>p{background:#e1e8d9;border-radius:12px 3px 12px 12px}.support-composer{margin-top:16px}.support-composer label{display:block;font-size:12px;color:#4b5545;margin-bottom:7px;font-weight:600}.support-composer textarea{resize:vertical;width:100%;min-height:80px;max-height:220px;padding:11px 12px;box-sizing:border-box;border:1px solid #c9cabb;border-radius:9px;background:#fffdf8;color:#293123;font:inherit;font-size:13px;line-height:1.7}.support-composer textarea:focus-visible,.support-history:focus-visible{outline:2px solid #9c513b;outline-offset:2px}.support-composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:15px}.support-composer-bottom>span{color:#73786d;font-size:11px}.support-composer .inbox-send{border:0;border-radius:8px;background:#40513c;color:#fff;font:inherit;font-size:13px;padding:9px 20px;cursor:pointer}@media(max-width:600px){.auth-dialog.auth-account-dialog{padding:26px 20px}.auth-account-dialog h2{font-size:22px;margin-bottom:6px}.inbox-tabs{gap:20px}.inbox-tabs button{font-size:14px}.support-history{height:220px;padding:10px}.support-messages li{max-width:95%}.account-utilities .account-signout{margin-left:0}.inbox-notices{max-height:300px}}.auth-dialog .account-records-note{margin:14px 0 0;font-size:10px;line-height:1.7;color:#8a8e80}.account-records-note a{color:#8d5b40}.visit-privacy{position:fixed;left:12px;bottom:10px;z-index:55;font:12px/1.6 system-ui,sans-serif;color:#343b32}.visit-preferences{border:1px solid #ddd7cc;border-radius:18px;padding:4px 10px;background:#fcfaf5e8;color:inherit;cursor:pointer}.visit-consent{position:relative;max-width:390px;padding:22px;background:#fffcf5;border:1px solid #ded6c7;border-radius:16px;box-shadow:0 12px 45px #32291925}.visit-consent strong{font-size:15px}.visit-consent p{margin:10px 0;color:#61645b}.visit-consent>div{display:flex;gap:8px;margin:16px 0 10px}.visit-consent button{padding:8px 12px;border:1px solid #d5cbbb;border-radius:8px;background:#f8f3e7;color:#30362d;cursor:pointer}.visit-consent button:disabled{opacity:.5;cursor:default}.visit-consent a{color:#a14b31}.visit-consent .visit-close{position:absolute;right:7px;top:5px;padding:1px 6px;border:0;background:none;font-size:20px}@media(max-width:480px){.visit-privacy{left:8px;bottom:8px;right:8px}.visit-consent{max-width:none;padding:20px}.visit-consent>div{flex-wrap:wrap}.visit-preferences{font-size:11px}}.auth-dialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:36px;border:1px solid #ded7ca;border-radius:20px;background:#fcf9f3;color:#20221f;box-shadow:0 24px 100px #20221f33;font:15px/1.6 Segoe UI,Microsoft YaHei,sans-serif}.auth-dialog::backdrop{background:#20221f70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-dialog h2{font-size:25px;margin:12px 0}.auth-dialog p{color:#676b62;overflow-wrap:anywhere}.auth-dialog button{cursor:pointer;font:inherit}.auth-dialog button:disabled{cursor:default;opacity:.55}.auth-dialog .auth-close{position:absolute;right:14px;top:10px;background:none;border:none;font-size:26px}.auth-eyebrow{color:#a44731;font-weight:600;letter-spacing:.08em}.auth-google,.auth-primary{width:100%;padding:12px;border-radius:9px;border:1px solid #ded7ca}.auth-google{background:#fffdf8;color:#20221f}.auth-primary{margin-top:18px;background:#a94730;color:#fff;border-color:#a94730}.auth-divider{text-align:center;margin:20px 0;color:#676b62;font-size:13px}.auth-dialog label{display:block;margin-bottom:6px}.auth-dialog input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #aaa394;border-radius:8px;background:#fffdf8;color:#20221f;font:inherit}.auth-dialog :focus-visible{outline:3px solid #a94730;outline-offset:3px}.auth-secondary{display:flex;justify-content:space-between;margin:12px 0}.auth-secondary button{border:0;background:none;color:#a44731;padding:6px 0}.auth-dialog small{display:block;margin-top:20px;color:#676b62}.auth-dialog .auth-error{color:#a32520}.site-account{border:1px solid #bcb4a5;background:transparent;border-radius:7px;padding:8px 10px;color:inherit;white-space:nowrap;cursor:pointer;font:inherit}@media(max-width:600px){.site-header .site-header-actions .site-create{display:none}.auth-dialog{padding:28px 22px}.site-header .site-header-actions{gap:8px}.site-account{padding:7px;font-size:12px}}:root,.portal,.portal-dialog{--bg: #f5f0e7;--panel: #fcf9f3;--line: #ded7ca;--ink: #20221f;--muted: #79796e;--accent: #d4553a;--accent-soft: #f5e3d8;--field: #fffdf8}.site-header{--header-h: 76px;--control-h: 40px;position:sticky;top:0;z-index:90;height:var(--header-h);padding:0 clamp(18px,3.6vw,56px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;box-sizing:border-box;background:#f5f0e7eb;border-bottom:1px solid #20221f14;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);font:500 14.5px/1.2 Inter,Segoe UI,Microsoft YaHei,sans-serif;color:var(--ink)}.site-header *,.site-header *:before{box-sizing:border-box}.fold-landing>.site-header{position:fixed;inset:0 0 auto}.site-brand{display:flex;align-items:center;gap:10px;justify-self:start;color:inherit;text-decoration:none}.site-brand .brand-mark-zh{width:52px;height:52px}.site-brand .brand-mark-en{width:168px;height:44px}.site-brand-text{display:grid;gap:3px;padding-left:12px;border-left:1px solid #20221f24}.site-brand-text b{font:700 18px/1 "Source Han Serif SC","Noto Serif SC",Songti SC,serif;letter-spacing:-.01em}.site-brand-text small{color:#7a7a70;font-size:11.5px;font-weight:500;letter-spacing:.08em}.site-header nav{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #20221f14;border-radius:999px;background:#fffdf8b3}.site-header nav a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border-radius:999px;color:#4f524b;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}.site-header nav a:hover{background:#20221f0d;color:var(--ink)}.site-header nav a[aria-current=page]{background:var(--ink);color:#fbf6ec}.site-header nav a[data-badge]:before{content:"";width:7px;height:7px;border-radius:50%;background:#ef7b2c;box-shadow:0 0 0 3px #ef7b2c2e}.site-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.site-header .site-account,.site-header .site-language,.site-header .site-create,.site-header .site-menu{height:var(--control-h);padding:0 16px;border:1px solid #20221f26;border-radius:999px;background:transparent;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.site-header .site-account:hover,.site-header .site-language:hover,.site-header .site-menu:hover{border-color:var(--ink);background:#fffdf8}.site-header .site-language{min-width:var(--control-h);padding:0 12px;font-size:13px;font-weight:650;letter-spacing:.04em}.site-header .site-create{display:inline-flex;align-items:center;gap:10px;border-color:var(--ink);background:var(--ink);color:#fbf6ec;font-weight:600}.site-header .site-create span{display:grid;place-items:center;width:22px;height:22px;margin-right:-8px;border-radius:50%;background:var(--accent);font-size:12px}.site-header .site-create:hover{background:var(--accent);border-color:var(--accent)}.site-header .site-create:hover span{background:var(--ink)}.site-header .site-menu{display:none;width:var(--control-h);padding:0;font-size:18px}.site-header :focus-visible,.site-footer :focus-visible{outline:2px solid var(--accent);outline-offset:5px}.site-footer{--bg: #f5f0e7;--line: #ded7ca;--ink: #20221f;--muted: #606359;--accent: #d4553a;padding:28px clamp(20px,4.4vw,72px) 16px;border-top:1px solid var(--line);color:var(--muted);font:400 13px/1.6 Inter,Segoe UI,Microsoft YaHei,sans-serif;background:var(--bg)}.site-footer-inner{max-width:1320px;margin-inline:auto}.site-footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 32px}.site-footer a{color:inherit;text-decoration:none}.site-footer .site-footer-brand{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:18px;font-weight:650;letter-spacing:-.02em}.site-footer-tagline{margin:0;font-size:14px;text-wrap:balance}.site-footer-nav,.site-footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:4px 28px;flex-wrap:wrap}.site-footer-nav a,.site-footer-legal a,.site-footer-support{display:inline-flex;align-items:center;min-height:44px}.site-footer-nav{color:var(--ink);font-size:14px;font-weight:500}.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 24px;margin-top:20px;padding-top:8px;border-top:1px solid var(--line);font-size:12px}.site-footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:0 24px}.site-footer-support{overflow-wrap:anywhere}.site-footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.site-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.portal{background:var(--bg);color:var(--ink);min-height:100vh}.portal-main{max-width:1400px;min-height:calc(100vh - 200px);padding:36px 6% 80px}.portal .portal-primary,.portal-dialog .portal-primary{background:var(--accent);border-color:var(--accent);color:#fffdf8}.portal .portal-primary:hover,.portal-dialog .portal-primary:hover{background:#b9432b;border-color:#b9432b}.portal a.portal-primary,.portal-dialog a.portal-primary{background:var(--accent);border-color:var(--accent);color:#fffdf8;text-decoration:none}.portal a.portal-primary:hover,.portal-dialog a.portal-primary:hover{background:#b9432b;border-color:#b9432b}.portal :focus-visible,.portal-dialog :focus-visible{outline-color:var(--accent)}.portal button,.portal-dialog button{border-color:var(--line);background-color:var(--panel)}.portal button:hover,.portal-dialog button:hover{border-color:#c18d73}.portal .portal-text-button{background:transparent;color:#73766c}.portal .portal-text-button:hover{color:var(--accent)}.portal-eyebrow{color:#a65b43;letter-spacing:2px}.portal-page-heading h1,.template-detail h1,.lesson-article h1{font-family:Georgia,"Noto Serif SC",Songti SC,SimSun,serif;font-size:clamp(32px,3.4vw,48px);line-height:1.3;font-weight:600;letter-spacing:-.035em}.portal-page-heading{margin:24px 0 36px}.portal-page-heading p,.portal-help,.portal-results,.portal-project-toolbar>span{color:var(--muted);line-height:1.8}.portal .portal-tabs{background:#eae3d7}.portal .portal-tabs button[aria-selected=true],.portal .portal-tabs a[aria-current=page]{color:#b3442d;background:var(--field)}.portal .portal-filter button[aria-pressed=true]{color:#b3442d;background:var(--accent-soft)}.portal .portal-filter button{background:transparent}.portal input,.portal select,.portal-dialog input,.portal-dialog select{background:var(--field);border-color:var(--line)}.portal-card-art{background:#ece5d9}.portal-template-card,.portal-project-card{background:var(--panel);border-color:var(--line)}.portal-template-card:hover{border-color:#c18d73}.portal .portal-empty{background:#eee7dc;border-color:#d7cbb9}.portal .portal-offline{margin:0 0 20px;background:transparent;border-left:2px solid #d1b99b;padding:6px 12px;color:var(--muted);font-size:11px}.portal-dialog{background:var(--panel);color:var(--ink);border-color:var(--line)}.portal-dialog::backdrop{background:#20221f55}.portal-dialog .portal-tags span,.portal .portal-tags span{color:#7c6b5d;background:#eee6d9;border-color:#e0d6c8}.page-back{margin:0 0 24px}.template-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;margin-bottom:72px}.template-detail-art{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:410px;padding:40px;background:#ece5d9;border:1px solid var(--line);border-radius:12px}.template-detail-art>svg,.template-detail-art>div{width:100%;max-width:480px}.template-detail-art>span{font-size:10px;color:#80796c;text-align:center;margin-top:30px}.template-detail h1{font-size:clamp(30px,3vw,42px);margin:18px 0}.template-detail-copy>p{color:var(--muted);line-height:1.9}.template-detail-copy>.portal-primary{padding:13px 24px}.template-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);padding-top:24px;margin:28px 0}.template-facts dt{font-size:11px;color:var(--muted);margin-bottom:6px}.template-facts dd{margin:0;font-size:14px}.detail-notes{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:36px;border-top:1px solid var(--line)}.detail-notes h2{font-size:23px;font-weight:500}.detail-notes p{color:var(--muted);line-height:1.9}.portal .lesson-link{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:15px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;gap:16px}.lesson-link span{color:var(--accent)}.learn-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.learn-feature{display:flex;align-items:center;gap:36px;padding:40px;border:1px solid #ddc9b9;border-radius:12px;background:#eee2d3;margin-bottom:36px}.learn-feature-number{align-self:flex-start;font:14px/1.4 Georgia,serif;color:#b56d50}.learn-feature>div{flex:1}.learn-feature h2{font:500 30px/1.4 Georgia,Songti SC,SimSun,serif;margin:12px 0}.learn-feature p{color:#7c7569;margin:0 0 22px}.learn-feature>svg{width:280px;max-height:180px}.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.portal .learn-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid var(--line);text-align:left;color:var(--ink);text-decoration:none;background:var(--panel);border-radius:10px;transition:transform .2s,border-color .2s}.portal .learn-card:hover{transform:translateY(-3px);border-color:#c18d73}.portal .learn-card:visited{color:var(--ink)}.portal .learn-card:focus-visible{border-color:var(--accent)}.learn-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#8a8173}.learn-card-number{font:42px/1 Georgia,serif;color:#d9bc9e;margin:24px 0 18px}.learn-card h2{font-size:19px;line-height:1.5;font-weight:500;color:var(--ink);text-wrap:balance;overflow-wrap:break-word;margin:0 0 10px}.learn-card p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 24px;flex:1}.learn-card-action{font-size:12px;color:var(--accent)}.portal a.lesson-link,.portal a.lesson-next{box-sizing:border-box;color:var(--ink);text-decoration:none}.portal a.lesson-link:hover{color:var(--accent)}.portal a.lesson-next{border:1px solid var(--line);border-radius:10px;background:var(--panel)}.portal a.lesson-next:hover{border-color:#c18d73}.lesson-resources,.vfold-series,.vfold-template-guide{box-sizing:border-box;margin:30px 0;padding:clamp(20px,3vw,28px);border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font-size:14px;line-height:1.8}.lesson-resources h2,.vfold-series h2,.vfold-template-guide h2{margin:0 0 14px;font-size:21px;font-weight:600;line-height:1.5;text-wrap:balance}.lesson-resources p,.vfold-series>p,.vfold-template-guide p{margin:0 0 16px;color:#666b61}.lesson-resources>:last-child,.vfold-series>:last-child,.vfold-template-guide>:last-child{margin-bottom:0}.lesson-resources p a,.vfold-series>p a,.vfold-template-guide p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.lesson-resource-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:20px 0 24px}.lesson-resource-actions>a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid var(--line);border-radius:7px;background:var(--field);color:var(--ink);font-weight:500;line-height:1.5;text-align:center;text-decoration:none}.lesson-resource-actions>a:hover{border-color:#c18d73}.lesson-resources .portal-help{font-size:12px;line-height:1.8}.vfold-series ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;padding:0;list-style:none}.vfold-series li{min-width:0}.vfold-series li>a{display:flex;flex-direction:column;gap:8px;box-sizing:border-box;height:100%;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);line-height:1.5;text-decoration:none}.vfold-series li>a:hover,.vfold-series li>a[aria-current=page]{border-color:var(--accent);background:var(--accent-soft)}.vfold-series strong{font-size:14px;font-weight:600}.vfold-series li span{color:#666b61;font-size:12px;line-height:1.7}.vfold-guide-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.vfold-template-guide h3{margin:22px 0 10px;font-size:17px;font-weight:600;line-height:1.5}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:9%;align-items:start}.lesson-article{max-width:720px}.lesson-article header>p{color:var(--muted);font-size:16px;line-height:1.9}.lesson-article h1{margin:16px 0}.lesson-layout.lesson-layout-preface,.lesson-layout.lesson-layout-prose{grid-template-columns:minmax(0,720px);justify-content:center}.lesson-layout-prose .lesson-article h1{text-wrap:balance}.preface-sections{margin:40px 0}.preface-sections section{padding:28px 0;border-top:1px solid var(--line)}.preface-sections h2{margin:0 0 20px;font-size:22px;font-weight:500;line-height:1.6}.preface-sections p{margin:0 0 18px;color:#666b61;font-size:16px;line-height:2}.preface-sections p:last-child{margin-bottom:0}.lesson-steps{list-style:none;padding:0;margin:40px 0}.lesson-steps>li{display:flex;align-items:flex-start;gap:24px;padding:28px 0;border-top:1px solid var(--line)}.lesson-step-number{font:23px/1.5 Georgia,serif;color:var(--accent)}.lesson-steps>li h2{margin:0 0 12px;font-size:20px;font-weight:500}.lesson-steps>li p{margin:0;color:#666b61;font-size:14px;line-height:2}.lesson-prose{margin:36px 0;color:#666b61;font-size:16px;line-height:2;overflow-wrap:anywhere}.lesson-prose section{padding:28px 0;border-top:1px solid var(--line)}.lesson-prose h2{margin:0 0 20px;color:var(--ink);font-size:22px;font-weight:500;line-height:1.6}.lesson-prose h3{margin:28px 0 14px;color:var(--ink);font-size:18px;font-weight:500;line-height:1.7}.lesson-prose p{margin:0 0 18px}.lesson-prose section>:last-child{margin-bottom:0}.lesson-prose strong{color:var(--ink);font-weight:600}.lesson-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.lesson-prose ul,.lesson-prose ol{margin:18px 0;padding-left:1.5em}.lesson-prose li{padding-left:4px;margin:10px 0}.lesson-table-scroll{max-width:100%;overflow-x:auto;margin:24px 0}.lesson-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lesson-prose table{width:100%;min-width:540px;border-collapse:collapse;font-size:14px;line-height:1.8}.lesson-prose caption{text-align:left;margin-bottom:12px;color:var(--ink)}.lesson-prose th,.lesson-prose td{padding:14px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}.lesson-prose th{color:var(--ink);font-weight:500}.lesson-prose thead{background:var(--panel)}.lesson-diagram{margin:28px 0}.lesson-diagram img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.lesson-diagram figcaption{margin-top:12px;font-size:14px;line-height:1.8}.lesson-diagram figcaption a{white-space:nowrap}.fold-demo,.fold-demo-placeholder{margin:24px 0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.fold-demo-heading{display:grid;gap:4px;padding:20px 24px 0;line-height:1.6}.fold-demo-heading strong{font-size:16px}.fold-demo-heading>span{font-size:13px}.fold-demo .stage{position:relative;height:380px}.fold-demo canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.fold-demo canvas:active{cursor:grabbing}.fold-demo canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.fold-demo .stage-caption{position:absolute;inset:auto 24px 12px;display:flex;align-items:center;justify-content:space-between;font-size:13px;pointer-events:none}.fold-demo .view-actions{pointer-events:auto}.portal .fold-demo button{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:14px;line-height:1.5;cursor:pointer}.portal .fold-demo button:hover{border-color:var(--accent)}.portal .fold-demo button:focus-visible,.fold-demo input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.fold-demo-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;padding:18px 24px;border-block:1px solid var(--line)}.fold-demo-range label{display:flex;justify-content:space-between;color:var(--ink);font-size:14px;line-height:1.5}.fold-demo-range output{font-variant-numeric:tabular-nums}.fold-demo-range input{display:block;width:100%;height:28px;margin:4px 0 0;padding:0;accent-color:var(--accent);cursor:pointer}.fold-demo-ticks{display:flex;justify-content:space-between;font-size:12px;line-height:1.5}.lesson-prose .fold-demo-legend{display:flex;flex-wrap:wrap;gap:8px 20px;padding:18px 24px 0;margin:0;list-style:none;font-size:13px;line-height:1.5}.lesson-prose .fold-demo-legend li{display:flex;align-items:center;gap:7px;padding:0;margin:0}.fold-demo-legend i{display:inline-block;width:18px;border-top:2px dashed}.fold-key-center{color:#b64c3c}.fold-key-mount{color:#587f7a}.fold-demo-legend .fold-key-glue{height:10px;border:1px solid #ac934b;background:#efd58f}.lesson-prose .fold-demo-note{margin:0;padding:12px 24px 20px;font-size:13px;line-height:1.8}.fold-demo-placeholder{min-height:510px;display:grid;align-content:center}.fold-demo-placeholder img{width:100%;height:auto}.lesson-prose .fold-demo-placeholder p{padding:0 24px;font-size:14px}.fold-demo .stage-error{position:absolute;inset:16px;margin:0;color:var(--accent);background:var(--panel)}@media(max-width:600px){.fold-demo-heading{padding:16px 16px 0}.fold-demo .stage{height:290px}.fold-demo .stage-caption{inset:auto 16px 8px}.fold-demo-controls{gap:16px;padding:16px}.portal .fold-demo .fold-demo-play{max-width:110px}.lesson-prose .fold-demo-legend{padding:16px 16px 0;gap:8px 14px}.lesson-prose .fold-demo-note{padding:12px 16px 16px}.fold-demo-placeholder{min-height:470px}}.fold-demo-presets{display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px 0}.portal .fold-demo-presets button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.fold-demo .fold-compare-controls{grid-template-columns:minmax(0,1fr)}.lesson-prose .fold-demo-limit{margin:0;padding:16px 24px 0;color:#8b4935;font-size:14px;line-height:1.8}@media(max-width:600px){.fold-demo-presets{padding:16px 16px 0;gap:8px}.lesson-prose .fold-demo-limit{padding:16px 16px 0}}.lesson-companion{position:sticky;top:120px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:26px}.lesson-companion>svg{width:100%;height:160px;margin:20px 0}.lesson-companion h2{font-size:18px;font-weight:500}.lesson-companion p{color:var(--muted)}.portal .lesson-next{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;width:100%;text-align:left}.lesson-next>span{color:#a65b43;font-size:10px;letter-spacing:2px}.lesson-next strong{font-weight:500}.portal-dialog:has(.new-project-options){width:600px}.new-project-options{display:grid;gap:12px;margin:25px 0 10px}.portal-dialog .new-project-option{display:flex;gap:20px;align-items:center;width:100%;padding:20px;text-align:left;border-radius:10px;background:var(--field)}.new-project-option>span{font:24px Georgia,serif;color:var(--accent)}.new-project-option strong{display:block;font-weight:500;font-size:16px}.new-project-option small{display:block;color:var(--muted);margin-top:6px;font-size:12px;line-height:1.7}.new-project-option>b{margin-left:auto;font-weight:400;color:var(--accent)}.new-project-form{display:grid;gap:18px;margin-top:24px}.new-project-form label{display:grid;gap:8px}.new-project-form .portal-primary{justify-self:end}.studio .logo .brand-mark-zh,.pattern-brand .brand-mark-zh{width:32px;height:32px}.studio .logo .brand-mark-en,.pattern-brand .brand-mark-en{width:112px;height:32px}.studio .logo{font-size:12px;font-weight:500}.studio .bar{height:auto;min-height:52px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}.studio .bar .title{width:180px}.studio .back-projects{border-color:transparent;background:transparent}.studio .bar .shared-state{font-size:10px}.studio .bar .studio-help{border-color:transparent;background:transparent;color:var(--accent)}.studio .segmented button.on{color:#b3442d;background:#fff8f0}.pattern-editor{background:var(--bg);color:var(--ink)}.pattern-editor .pattern-bar,.pattern-editor .pattern-toolbar{background:var(--panel);border-color:var(--line)}.pattern-brand{display:flex;align-items:center;gap:8px}.pattern-editor button{border-color:var(--line)}.pattern-editor button[aria-pressed=true],.pattern-editor button[aria-selected=true]{background:var(--accent-soft);color:#b3442d;border-color:#d9a287}.pattern-editor input[type=range],.pattern-editor input[type=checkbox]{accent-color:var(--accent)}.missing-page{margin:60px auto;max-width:700px}.catalog-thumbnail{display:block;width:100%;height:100%;object-fit:contain}.catalog-design-icon{display:block;width:100%;height:100%;max-height:200px}.portal-card-art>.catalog-thumbnail{width:100%;height:100%;max-width:none}.template-detail-art>.catalog-thumbnail{max-width:none;max-height:400px}.portal-dialog-preview>.catalog-thumbnail{height:220px}.portal-project-art>.catalog-thumbnail{width:100%;height:100%}.home-template-grid .catalog-thumbnail{width:100%;height:180px}.lesson-companion>.catalog-thumbnail{height:160px;margin:20px 0}.home-start{padding:90px 6%;border-top:1px solid var(--line);background:#f1eadd}.home-start-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.home-start h2{font:500 clamp(30px,3.5vw,46px)/1.4 Georgia,"Songti SC",SimSun,serif;margin:12px 0 0}.home-start :is(a,button){font:inherit;color:inherit;cursor:pointer}.home-start-heading>:is(a,button){display:inline-flex;align-items:center;min-height:44px;border:0;background:transparent;color:#a34d36;font-size:12px}.home-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-template-grid>:is(a,button){display:block;min-width:0;padding:0;border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;text-align:left;color:var(--ink);text-decoration:none}.home-template-grid>:is(a,button):hover{border-color:#c18d73}.home-template-grid>:is(a,button)>div{padding:28px;background:#e9e0d1}.home-template-grid svg{width:100%;height:180px;display:block}.home-template-grid>:is(a,button)>span{display:flex;justify-content:space-between;padding:22px;font-size:15px}.home-template-grid b{color:var(--accent);font-weight:400}.home-halloween-grid>:is(a,button){border-radius:16px;cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}.home-halloween-grid>:is(a,button):hover{transform:translateY(-4px);box-shadow:0 24px 40px -26px #20221f80}.home-halloween-grid>:is(a,button)>div{position:relative;padding:26px 26px 30px;background:var(--tone)}.home-halloween-grid img{display:block;width:100%;aspect-ratio:1.414;object-fit:cover;border-radius:10px;box-shadow:0 18px 28px -18px #20221f99;transform:rotate(-1.5deg);transition:transform .3s}.home-halloween-grid img[src*=pumpkin-lantern]{object-fit:contain;box-shadow:none;filter:drop-shadow(0 16px 18px #20221f55)}.home-halloween-grid>:is(a,button):hover img{transform:rotate(0) scale(1.03)}.home-halloween-grid i{position:absolute;left:18px;top:16px;padding:6px 11px;border-radius:999px;background:#20221f;color:#fbf6ec;font-size:12px;font-style:normal}.home-halloween-grid>button>span{padding:20px 22px 6px;font:700 19px/1.3 "Source Han Serif SC","Noto Serif SC",serif}.home-halloween-grid small{display:block;padding:0 22px 22px;color:var(--muted);font-size:13.5px;line-height:1.6}.home-learn-callout{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:36px 0 0;margin-top:40px;border-top:1px solid #d9cbb8}.home-learn-callout h3{font-size:23px;font-weight:400;margin:12px 0}.home-learn-callout p{font-size:12px;color:var(--muted)}.home-learn-callout button{border:1px solid var(--ink);border-radius:30px;padding:12px 24px;background:transparent;white-space:nowrap;font-size:12px}@media(max-width:1360px){.site-brand-text{display:none}.site-header nav a{padding:0 12px}}@media(max-width:1100px){.site-header{grid-template-columns:auto 1fr}.site-header .site-menu{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:14px clamp(18px,3.6vw,56px) 20px;border:0;border-bottom:1px solid #20221f14;border-radius:0;background:#f5f0e7;box-shadow:0 14px 24px #20221f12}.site-header nav.is-open{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.site-header nav a{height:44px;padding:0 16px;font-size:15px}.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{gap:5%;grid-template-columns:minmax(0,1fr) 260px}}@media(max-width:760px){.home-start{padding:55px 5%}.home-template-grid{grid-template-columns:1fr}.home-template-grid svg{height:160px}.home-start-heading,.home-learn-callout{align-items:flex-start;flex-direction:column}.site-header{--header-h: 64px;--control-h: 38px;gap:12px;font-size:14px}.site-brand .brand-mark-zh{width:46px;height:46px}.site-brand .brand-mark-en{width:136px;height:40px}.site-header nav.is-open{grid-template-columns:1fr 1fr}.site-header-actions{gap:8px}.site-header .site-account,.site-header .site-create{padding:0 13px}.site-header .site-create span{display:none}.portal-main{padding:22px 5% 50px}.portal .portal-page-heading h1{font-size:32px}.template-detail{grid-template-columns:1fr;gap:28px;margin-bottom:40px}.template-detail-art{min-height:280px;padding:28px}.detail-notes{grid-template-columns:1fr;gap:30px}.learn-heading{align-items:flex-start;flex-direction:column;gap:18px}.learn-feature{padding:26px;gap:18px}.learn-feature>svg{display:none}.learn-feature h2{font-size:26px}.learn-card{padding:22px}.lesson-resource-actions{flex-direction:column}.lesson-resource-actions>a{width:100%}.vfold-series ol,.vfold-guide-columns{grid-template-columns:1fr}.lesson-layout{grid-template-columns:1fr;gap:40px}.lesson-companion{position:static}.lesson-companion>svg{width:200px;display:block;margin-inline:auto}.site-footer{padding:24px 5% 16px}.site-footer-top{grid-template-columns:1fr;gap:12px}.site-footer-nav,.site-footer-legal{justify-content:flex-start;gap:4px 24px}.site-footer-bottom{align-items:flex-start;flex-direction:column;margin-top:16px}.site-footer-meta{align-items:flex-start;flex-direction:column;gap:4px}.portal .portal-project-heading{align-items:flex-start;flex-direction:column}.portal .portal-library-toolbar{align-items:stretch;flex-direction:column}.portal .portal-tabs{flex-wrap:wrap}.portal input[type=search]{width:100%}.studio .bar .spacer{display:none}.studio .bar .logo{margin-right:auto}}@media(min-width:761px)and (max-width:1100px){.vfold-series ol{grid-template-columns:1fr}}@media(max-width:480px){.portal .portal-template-grid,.learn-grid{grid-template-columns:1fr}.site-header-actions{gap:6px}.site-brand .brand-mark-en{width:118px}.lesson-steps>li{gap:16px}.portal .portal-tabs button,.portal .portal-tabs a{font-size:11px;padding:9px 10px}.portal-project-toolbar{flex-wrap:wrap}.portal-project-toolbar>span{width:100%;flex-basis:100%}}@media(prefers-reduced-motion:reduce){.portal .learn-card{transition:none}}.site-credit-balance{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid #e0cfad;background:#fff3d6;color:#8b530a;text-decoration:none;padding:9px 12px;white-space:nowrap;font-size:13px}.site-credit-balance svg{color:#d78a19}.site-credit-balance strong{font-variant-numeric:tabular-nums;font-size:15px}@media(max-width:640px){.site-credit-balance{padding:8px;gap:4px}.site-credit-balance>span{display:none}.site-header-actions{gap:6px}}@media(max-width:640px){.site-header .site-brand .brand-mark-en{width:100px}.site-header .site-header-actions{gap:5px}.site-header .site-account{padding-left:10px;padding-right:10px}.site-header .site-language{min-width:40px;width:40px;padding-left:0;padding-right:0}}
