.page-fade-enter-active,.page-fade-leave-active{transition:opacity .25s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0}:root{--paper: #f6f2ea;--paper-deep: #efe8da;--white: #fffdf8;--ink: #26231f;--ink-soft: #4c463e;--muted: #857c70;--line: #e4dccd;--line-strong: #d5cab6;--accent: #b9513a;--accent-dark: #8d3826;--accent-soft: #f3e3dc;--sage: #5f7159;--sage-soft: #e8ece2;--gold: #b38a4d;--radius: 6px;--shadow-sm: 0 4px 16px rgba(45, 37, 26, .06);--shadow-md: 0 14px 40px rgba(45, 37, 26, .12);--font-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--header-h: 72px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,h5{font-family:var(--font-serif);font-weight:600;line-height:1.35;margin:0;letter-spacing:.02em}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding-top:var(--header-h)}.app-main--flush{padding-top:0}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.container--narrow{max-width:860px}.section{padding:84px 0}.section--tight{padding:56px 0}.section--white{background:var(--white)}.section--cream{background:var(--paper)}.section--deep{background:var(--paper-deep)}.section--dark{background:#241f19;color:#f4ede2}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor;display:inline-block}.section-head{max-width:720px;margin:0 auto 52px;text-align:center}.section-head h2{font-size:clamp(28px,4vw,38px);margin:14px 0 12px}.section-head p{color:var(--muted);font-size:15.5px}.section-head--left{margin-left:0;text-align:left}.section-foot{margin-top:44px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:11px 26px;font-size:14px;letter-spacing:.08em;background:var(--ink);color:#fff;transition:all .22s ease;white-space:nowrap}.btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--accent{background:var(--accent)}.btn--accent:hover{background:var(--accent-dark)}.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent);background:transparent}.btn--light{background:#fffdf8eb;color:var(--ink)}.btn--light:hover{background:#fff;color:var(--accent-dark)}.btn--sm{padding:8px 18px;font-size:13px}.btn--block{width:100%}.btn--text{background:none;border:none;padding:0;color:var(--accent);border-radius:0}.btn--text:hover{background:none;color:var(--accent-dark);transform:none}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:90;display:flex;align-items:center;transition:background .3s ease,box-shadow .3s ease,color .3s ease;color:#fff}.site-header:not(.is-solid){background:transparent;color:#fff}.site-header:not(.is-solid) .site-nav a{color:#fff}.site-header.is-solid{background:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px #26231f14;color:var(--ink)}.site-header .container{display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-logo{display:block;height:38px;width:auto}.site-header:not(.is-solid) .brand-logo{filter:brightness(0) invert(1)}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-text strong{font-family:var(--font-serif);font-size:19px;letter-spacing:.12em;font-weight:600}.brand-text span{font-size:9px;letter-spacing:.24em;opacity:.75;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.site-nav a{position:relative;padding:8px 13px;font-size:14px;letter-spacing:.08em;opacity:.86}.site-nav a:hover,.site-nav a.is-active{opacity:1;color:inherit}.site-nav a.is-active:after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:1px;background:currentColor}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-user{position:relative}.header-user-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid currentColor;border-radius:999px;padding:7px 14px;font-size:13px;color:inherit}.header-user-btn:hover{opacity:.85}.header-user-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:168px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:8px;display:grid;gap:2px}.header-user-menu a,.header-user-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 12px;border-radius:4px;font-size:14px;color:var(--ink-soft)}.header-user-menu a:hover,.header-user-menu button:hover{background:var(--paper);color:var(--accent)}.menu-toggle{display:none;background:none;border:none;width:40px;height:40px;padding:8px;color:inherit}.menu-toggle span{display:block;height:1.5px;background:currentColor;margin:6px 0;transition:transform .25s ease,opacity .25s ease}.mobile-panel{position:fixed;inset:var(--header-h) 0 0;background:var(--paper);color:var(--ink);z-index:89;padding:28px 24px 40px;display:none;overflow-y:auto}.mobile-panel.is-open{display:block}.mobile-panel a{display:block;padding:16px 4px;border-bottom:1px solid var(--line);font-family:var(--font-serif);font-size:20px}.mobile-panel .btn{margin-top:26px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#2a241d}.hero-bg,.hero:after{position:absolute;top:0;right:0;bottom:0;left:0}.hero-bg{z-index:0;background-size:cover;background-position:center;transform:scale(1.02);animation:heroZoom 18s ease-out forwards}@keyframes heroZoom{0%{transform:scale(1.1)}to{transform:scale(1.02)}}.hero-fog{position:absolute;left:-35%;bottom:-50px;width:110%;z-index:2;opacity:.7;pointer-events:none}.hero-fog img{display:block;width:100%}.hero-fog--right{left:30%;opacity:.9}.hero-clouds{position:absolute;left:0;bottom:0;z-index:2;width:250.625em;height:43.75em;background-repeat:repeat-x;background-size:auto 100%;opacity:.6;pointer-events:none;animation:cloudLoop 80s linear infinite}@keyframes cloudLoop{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.hero .container{position:relative;z-index:3}.hero:after{content:"";z-index:1;background:linear-gradient(100deg,#181410c7,#18141080 46%,#18141038)}.hero .container{position:relative;z-index:2;padding-top:60px;padding-bottom:80px}.hero-inner{max-width:760px}.hero-sub{font-size:12px;letter-spacing:.34em;text-transform:uppercase;opacity:.8;margin-bottom:24px}.hero h1{font-size:clamp(46px,8vw,92px);font-weight:500;letter-spacing:.14em;line-height:1.1}.hero-en{font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,2.6vw,26px);letter-spacing:.16em;opacity:.86;margin:16px 0 30px}.hero-quote{font-size:16px;line-height:2;max-width:620px;color:#ffffffdb}.hero-quote cite{display:block;margin-top:14px;font-style:normal;font-size:13px;letter-spacing:.18em;opacity:.7}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.hero-scroll{position:absolute;left:50%;bottom:28px;z-index:3;transform:translate(-50%);font-size:11px;letter-spacing:.26em;opacity:.65;writing-mode:vertical-rl}.page-hero{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:70vh;max-height:999px;overflow:hidden;background-color:#b2afab;background-position:center center;background-size:cover;transform:translateZ(0);color:#fff;z-index:1}.page-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1}.page-hero .container{position:relative;z-index:2;width:100%;text-align:center;padding-top:calc(var(--header-h) + 40px);padding-bottom:40px}.page-hero h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:.08em}.page-hero p{margin:14px auto 0;max-width:620px;color:#ffffffd1;font-size:15px}.grid{display:grid;gap:28px}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.card__media{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--paper-deep)}.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card:hover .card__media img{transform:scale(1.04)}.card__media-tag{position:absolute;left:14px;top:14px;background:#26231fb8;color:#fff;padding:4px 12px;border-radius:999px;font-size:12px;letter-spacing:.08em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}.card__meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;letter-spacing:.04em;flex-wrap:wrap}.card__meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.card__title{font-size:19px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__desc{color:var(--muted);font-size:13.5px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.price{color:var(--accent);font-family:var(--font-serif);font-size:20px;font-weight:600}.price small{font-family:var(--font-sans);font-size:12px;color:var(--muted);font-weight:400;margin-left:4px}.price--free{color:var(--sage)}.teacher-card{text-align:center;padding:32px 22px 26px}.teacher-card .avatar{width:108px;height:108px;border-radius:50%;margin:0 auto 18px;overflow:hidden;border:1px solid var(--line);background:var(--paper-deep)}.teacher-card .avatar img{width:100%;height:100%;object-fit:cover}.teacher-card h3{font-size:19px;margin-bottom:6px}.teacher-card .teacher-city{color:var(--muted);font-size:12.5px;letter-spacing:.08em}.teacher-card .teacher-desc{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.teacher-card .teacher-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:16px}.tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;background:var(--paper);color:var(--ink-soft);font-size:12px;border:1px solid var(--line)}.tag--accent{background:var(--accent-soft);border-color:transparent;color:var(--accent-dark)}.tag--sage{background:var(--sage-soft);border-color:transparent;color:var(--sage)}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.intro-media{position:relative}.intro-media .frame{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3;background:var(--paper-deep);box-shadow:var(--shadow-md)}.intro-media .frame img,.intro-media .frame video{width:100%;height:100%;object-fit:cover}.intro-media:after{content:"";position:absolute;top:18px;right:-18px;bottom:-18px;left:18px;border:1px solid var(--line-strong);border-radius:var(--radius);z-index:-1}.intro-copy h2{font-size:clamp(26px,3.4vw,36px);margin:14px 0 18px}.intro-copy .lead{font-family:var(--font-serif);font-size:17px;color:var(--ink-soft);margin-bottom:18px}.intro-copy p{color:var(--muted);margin-bottom:14px;font-size:14.5px}.intro-stats{display:flex;gap:46px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.intro-stats strong{display:block;font-family:var(--font-serif);font-size:30px;color:var(--accent);line-height:1.2}.intro-stats span{font-size:12.5px;color:var(--muted);letter-spacing:.1em}.class-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.class-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px;border-radius:var(--radius);overflow:hidden;color:#fff;padding:26px;background:#2a241d}.class-tile img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.class-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1814100d 20%,#181410d1)}.class-tile:hover img{transform:scale(1.05)}.class-tile .inner{position:relative;z-index:2}.class-tile h3{font-size:24px}.class-tile .en{font-family:var(--font-serif);font-style:italic;font-size:13px;opacity:.76;margin:6px 0 12px}.class-tile p{font-size:13px;opacity:.84;line-height:1.8}.article-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.article-feature:nth-child(2n) .article-feature__media{order:2}.article-feature__media{aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:var(--paper-deep)}.article-feature__media img{width:100%;height:100%;object-fit:cover}.article-feature h3{font-size:clamp(20px,2.6vw,27px);margin:12px 0 14px}.article-feature p{color:var(--muted);font-size:14px;line-height:1.9}.article-feature .more{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--accent);font-size:13px;letter-spacing:.08em}.about-band{position:relative;background:#241f19;color:#f2eadf;overflow:hidden}.about-band__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.3}.about-band .container{position:relative;z-index:2}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}.about-card{background:#fffdf80f;border:1px solid rgba(255,253,248,.14);border-radius:var(--radius);padding:30px;display:flex;gap:22px;align-items:flex-start}.about-card .qr{width:132px;height:132px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#fff;padding:6px}.about-card h3{font-size:20px;margin-bottom:10px}.about-card p{font-size:13.5px;color:#f4ede2b8;line-height:1.9}.contact-list{display:grid;gap:16px;margin-top:22px}.contact-list li{display:flex;gap:12px;font-size:13.5px;color:#f4ede2c7}.contact-list strong{color:#f4ede2;font-weight:500;flex-shrink:0}.filter-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:22px 0 30px;border-bottom:1px solid var(--line);margin-bottom:42px}.filter-label{font-size:12px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line-strong);background:transparent;border-radius:999px;padding:7px 18px;font-size:13px;color:var(--ink-soft);transition:all .2s ease}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-spacer{margin-left:auto}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:999px;padding:8px 8px 8px 18px;background:var(--white);min-width:260px}.search-box input{border:none;outline:none;background:transparent;flex:1;font-size:14px;min-width:80px}.search-box button{border:none;border-radius:999px;background:var(--ink);color:#fff;padding:8px 16px;font-size:12.5px}.search-box button:hover{background:var(--accent)}.filter-total{color:var(--muted);font-size:13px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:52px}.pagination button,.pagination span{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--line-strong);background:transparent;font-size:13px;color:var(--ink-soft);padding:0 12px}.pagination button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .ellipsis{border-color:transparent}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);padding:26px 0 0}.breadcrumb a:hover{color:var(--accent)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;padding:34px 0 84px}.detail-main{min-width:0}.detail-title{font-size:clamp(26px,3.6vw,38px);margin:16px 0 18px}.detail-meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:13.5px;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:32px}.detail-meta span{display:inline-flex;align-items:center;gap:6px}.detail-section{margin-bottom:40px}.detail-section h2{font-size:21px;margin-bottom:18px;display:flex;align-items:center;gap:12px}.detail-section h2:before{content:"";width:18px;height:1px;background:var(--accent)}.side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:calc(var(--header-h) + 24px)}.side-card+.side-card{margin-top:20px}.side-card h3{font-size:17px;margin-bottom:16px}.price-options{display:grid;gap:10px;margin-bottom:20px}.price-option{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:12px 16px;font-size:13.5px;background:transparent;text-align:left;transition:all .2s ease}.price-option:hover{border-color:var(--accent)}.price-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.price-option .amount{font-family:var(--font-serif);font-size:17px;color:var(--accent)}.info-list{display:grid;gap:14px;font-size:13.5px}.info-list li{display:flex;gap:12px;color:var(--ink-soft)}.info-list .label{color:var(--muted);flex-shrink:0;min-width:64px}.teacher-mini{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}.teacher-mini:last-child{border-bottom:none}.teacher-mini img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--paper-deep)}.teacher-mini strong{display:block;font-size:14px;font-weight:500}.teacher-mini span{font-size:12px;color:var(--muted)}.prose{color:var(--ink-soft);font-size:15.5px;line-height:2;word-break:break-word}.prose p{margin:0 0 18px}.prose img{border-radius:var(--radius);margin:22px auto;height:auto}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--ink);margin:34px 0 16px}.prose h2{font-size:24px}.prose h3{font-size:20px}.prose ul,.prose ol{padding-left:22px;margin-bottom:18px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:8px}.prose a{color:var(--accent);text-decoration:underline}.prose blockquote{margin:24px 0;padding:16px 24px;border-left:2px solid var(--accent);background:var(--paper);color:var(--muted);font-family:var(--font-serif)}.prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left}.prose iframe,.prose video{max-width:100%;border:none}.form-grid{display:grid;gap:22px}.field{display:grid;gap:8px}.field>label{font-size:13.5px;color:var(--ink-soft);letter-spacing:.04em}.field .required{color:var(--accent);margin-left:2px}.field .hint{color:var(--muted);font-size:12.5px;line-height:1.7;white-space:pre-line}.input,.textarea,.select{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);padding:11px 14px;outline:none;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b9513a1a}.textarea{min-height:110px;resize:vertical}.radio-row,.checkbox-row{display:flex;flex-wrap:wrap;gap:10px 22px}.radio-item,.checkbox-item{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft);cursor:pointer}.radio-item input,.checkbox-item input{accent-color:var(--accent)}.upload-btn{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper);padding:11px 16px;font-size:13.5px;color:var(--ink-soft);width:fit-content}.upload-btn:hover{border-color:var(--accent);color:var(--accent)}.upload-btn.is-done{border-style:solid;border-color:var(--sage);color:var(--sage);background:var(--sage-soft)}.signature-wrap{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;padding:10px}.signature-wrap canvas{width:100%;height:180px;touch-action:none;cursor:crosshair;display:block;border-radius:4px;background:repeating-linear-gradient(45deg,#fdfbf7,#fdfbf7 8px,#faf7f0 8px,#faf7f0 16px)}.signature-actions{display:flex;gap:10px;margin-top:10px}.form-error{color:var(--accent-dark);background:var(--accent-soft);border-radius:var(--radius);padding:12px 16px;font-size:13.5px}.form-success{color:var(--sage);background:var(--sage-soft);border-radius:var(--radius);padding:12px 16px;font-size:13.5px}.steps{display:flex;align-items:center;gap:0;margin:30px 0 40px}.step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);flex:1}.step:after{content:"";height:1px;flex:1;background:var(--line);margin:0 14px}.step:last-child:after{display:none}.step i{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-style:normal;font-size:12px;flex-shrink:0}.step.is-active{color:var(--ink)}.step.is-active i{background:var(--accent);border-color:var(--accent);color:#fff}.step.is-done i{background:var(--sage);border-color:var(--sage);color:#fff}.signup-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-sm)}.signup-card>h1{font-size:28px;margin-bottom:8px}.signup-card>.sub{color:var(--muted);font-size:13.5px;margin-bottom:34px}.pay-panel{text-align:center;padding:20px 0 10px}.pay-amount{font-family:var(--font-serif);font-size:52px;color:var(--accent);line-height:1.2;margin:18px 0 8px}.pay-amount small{font-size:18px}.pay-note{color:var(--muted);font-size:13px;margin-bottom:26px}.result-icon{width:74px;height:74px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;font-size:32px;background:var(--sage-soft);color:var(--sage)}.order-list{display:grid;gap:18px}.order-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.order-item h3{font-size:17px;margin-bottom:6px}.order-item .meta{color:var(--muted);font-size:12.5px;display:flex;flex-wrap:wrap;gap:8px 18px}.order-item .side{text-align:right}.status-pill{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:12px;background:var(--paper-deep);color:var(--ink-soft)}.status-pill.is-paid{background:var(--sage-soft);color:var(--sage)}.status-pill.is-wait{background:var(--accent-soft);color:var(--accent-dark)}.comments{border-top:1px solid var(--line);padding-top:34px;margin-top:12px}.comment-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px dashed var(--line)}.comment-item:last-child{border-bottom:none}.comment-item .avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--paper-deep);flex-shrink:0}.comment-item .avatar img{width:100%;height:100%;object-fit:cover}.comment-item .name{font-size:13.5px;color:var(--ink)}.comment-item .time{font-size:12px;color:var(--muted);margin-left:10px}.comment-item p{margin-top:6px;font-size:14px;color:var(--ink-soft);line-height:1.9}.comment-form{margin-top:24px;display:grid;gap:12px}.empty{text-align:center;padding:70px 20px;color:var(--muted)}.empty strong{display:block;font-family:var(--font-serif);font-size:20px;color:var(--ink);margin-bottom:8px}.spinner{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:grid;place-items:center;gap:14px;padding:80px 20px;color:var(--muted);font-size:13px}.skeleton{background:linear-gradient(90deg,var(--paper-deep) 25%,#f7f2e8 37%,var(--paper-deep) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.toast-host{position:fixed;left:50%;bottom:40px;transform:translate(-50%);z-index:200;display:grid;gap:10px;width:min(92vw,420px)}.toast{background:#26231ff0;color:#fff;border-radius:var(--radius);padding:12px 18px;font-size:13.5px;box-shadow:var(--shadow-md);text-align:center;animation:toastIn .25s ease}.toast--error{background:#8d3826f5}.toast--success{background:#4a5c44f5}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e19138c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:120;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--white);border-radius:var(--radius);width:min(560px,100%);max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-md)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:19px}.modal-close{background:none;border:none;font-size:22px;line-height:1;color:var(--muted)}.modal-body{padding:26px}.qr-modal{background:var(--white);border-radius:var(--radius);width:min(380px,100%);box-shadow:var(--shadow-md)}.qr-modal__body{padding:28px 26px 30px;text-align:center}.qr-frame{width:240px;height:240px;margin:0 auto;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.qr-frame img{width:100%;height:100%;object-fit:contain}.qr-error{padding:0 20px;color:var(--muted);font-size:13px;line-height:1.9}.qr-error .btn{margin-top:12px}.qr-tip{margin-top:20px;color:var(--muted);font-size:13px;line-height:1.9}.modal-foot{padding:0 26px 26px;display:flex;gap:12px}.site-footer{background:#241f19;color:#f4ede2a8;padding:64px 0 32px;font-size:13px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(244,237,226,.12)}.site-footer .brand{color:#f4ede2;margin-bottom:16px}.site-footer h4{font-family:var(--font-sans);font-size:12px;letter-spacing:.2em;color:#f4ede2;margin-bottom:18px;font-weight:500}.footer-links{display:grid;gap:10px}.footer-links a:hover{color:#f4ede2}.footer-note{margin-top:14px;line-height:1.9}.footer-bottom{padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#f4ede270}@media (max-width: 1024px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}@media (max-width: 900px){.site-nav{display:none}.menu-toggle{display:block}.header-actions .btn{display:none}.intro-grid{grid-template-columns:1fr;gap:44px}.intro-media:after{display:none}.class-tiles{grid-template-columns:1fr}.class-tile{min-height:260px}.article-feature,.article-feature:nth-child(2n){grid-template-columns:1fr;gap:24px}.article-feature:nth-child(2n) .article-feature__media{order:0}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}.side-card{position:static}.about-grid{grid-template-columns:1fr}}@media (max-width: 680px){:root{--header-h: 64px}body{font-size:14.5px}.section{padding:56px 0}.container{padding:0 18px}.hero{min-height:calc(92vh - var(--header-h))}.hero .container{padding-top:30px;padding-bottom:60px}.hero-actions{gap:10px}.hero-actions .btn{padding:10px 20px}.hero-scroll{display:none}.brand-logo{height:32px}.brand-text strong{font-size:17px}.brand-text span{font-size:8px}.grid--3,.grid--4,.grid--2{grid-template-columns:1fr}.page-hero .container{padding-top:calc(var(--header-h) + 26px);padding-bottom:26px}.filter-bar{gap:10px;margin-bottom:30px}.filter-spacer{margin-left:0}.search-box{width:100%;min-width:0}.intro-stats{gap:26px}.intro-stats strong{font-size:24px}.signup-card{padding:26px 20px}.order-item{grid-template-columns:1fr;text-align:left}.order-item .side{text-align:left}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.about-card{flex-direction:column}.pagination button{min-width:34px;height:34px}}@media (max-width: 420px){.footer-grid{grid-template-columns:1fr}}
