@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{color-scheme:dark;--bg: #0A0A0F;--bg-panel: #13131A;--bg-elev: #1A1A23;--bg-elev-2: #232330;--fg: #ECECEC;--fg-muted: #8B8B95;--fg-dim: #5C5C66;--border: rgba(255, 255, 255, .07);--border-soft: rgba(255, 255, 255, .04);--border-strong: rgba(255, 255, 255, .12);--accent: #8B5CF6;--accent-2: #A78BFA;--accent-cyan: #38BDF8;--accent-mint: #34D399;--accent-amber: #F59E0B;--accent-rose: #F43F5E;--glow-violet: rgba(139, 92, 246, .35);--glow-cyan: rgba(56, 189, 248, .3);--glow-mint: rgba(52, 211, 153, .3);--font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--gradient-brand: linear-gradient(135deg, #C4B5FD 0%, #8B5CF6 50%, #38BDF8 100%)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--fg);line-height:1.6;background-color:var(--bg);background-image:radial-gradient(ellipse 60% 50% at 20% 0%,rgba(139,92,246,.12),transparent 70%),radial-gradient(ellipse 50% 60% at 90% 20%,rgba(56,189,248,.08),transparent 70%),radial-gradient(ellipse 80% 40% at 50% 100%,rgba(168,85,247,.06),transparent 70%);background-attachment:fixed;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.65rem .9rem;border-radius:var(--radius-sm);background:var(--fg);color:var(--bg);transform:translateY(-180%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem}.section-heading>div{min-width:0}.section-heading h1,.section-heading h2{margin:.2rem 0;font-size:clamp(1.55rem,4vw,2.15rem);letter-spacing:-.035em;overflow-wrap:anywhere}.section-heading p{margin:0;color:var(--fg-muted);max-width:60ch}.eyebrow{color:var(--accent-2);font:500 .72rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;overflow-wrap:anywhere;word-break:keep-all}.eyebrow :lang(zh){letter-spacing:.04em}.eyebrow__zh{text-transform:none;letter-spacing:.04em}.catalog-search{display:flex;gap:.55rem;min-width:min(100%,330px)}input,textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--fg);padding:.72rem .85rem;font:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61f}textarea{resize:vertical}.course-grid,.loading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.course-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);transition:transform .18s ease,border-color .18s ease}.course-card:hover{transform:translateY(-3px);border-color:#8b5cf659}.course-card__art{height:116px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.13),transparent 30%),linear-gradient(135deg,#27223a,#151b2d)}.course-card__art--1{background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.12),transparent 30%),linear-gradient(135deg,#152d2d,#19172d)}.course-card__art--2{background:radial-gradient(circle at 45% 35%,rgba(255,255,255,.12),transparent 30%),linear-gradient(135deg,#2d2119,#17182d)}.course-card__art span{color:#ffffff6b;font:700 2.4rem/1 var(--font-mono);letter-spacing:-.12em}.course-card__body{padding:1.1rem}.course-card__meta,.course-card__footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem;color:var(--fg-muted);font-size:.72rem}.course-card h3{margin:.85rem 0 .35rem;font-size:1.05rem;line-height:1.35}.course-card p{min-height:3.8em;margin:0 0 1rem;color:var(--fg-muted);font-size:.84rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card__footer{padding-top:.8rem;border-top:1px solid var(--border)}.course-card__footer strong{color:var(--fg);font-size:.9rem}.course-card--clickable{cursor:pointer}.course-card--clickable:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.status-pill{display:inline-flex;align-items:center;padding:.28rem .55rem;border:1px solid rgba(52,211,153,.25);border-radius:999px;background:#34d39912;color:var(--accent-mint);font:500 .7rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;max-width:100%}.status-pill :lang(zh){text-transform:none;letter-spacing:.02em}.status-pill--draft{border-color:var(--border-strong);background:var(--bg-elev);color:var(--fg-muted)}.status-pill--pending_review{border-color:#f59e0b4d;background:#f59e0b14;color:var(--accent-amber)}.load-more{display:grid;place-items:center;margin-top:1.2rem}.empty-state{padding:3rem 1rem;border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;color:var(--fg-muted)}.empty-state span{color:var(--accent);font-size:2rem}.empty-state h3{color:var(--fg);margin:.6rem 0 .2rem}.empty-state p{margin:0}.course-skeleton{height:290px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(100deg,var(--bg-panel) 20%,var(--bg-elev) 40%,var(--bg-panel) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position-x:-200%}}.notice{margin-bottom:1rem;padding:.8rem 1rem;border-radius:var(--radius-sm)}.notice--error{border:1px solid rgba(244,63,94,.3);background:#f43f5e12;color:#fda4af}.course-detail{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding:4rem 1rem 2rem;background:#050510b3;backdrop-filter:blur(6px);overflow-y:auto}.course-detail__panel{position:relative;width:min(100%,760px);max-height:calc(100vh - 6rem);overflow-y:auto;padding:1.6rem 1.4rem;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 24px 60px #0000008c}.course-detail__close{position:absolute;top:.7rem;right:.7rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--fg-muted);font-size:1.1rem;line-height:1;cursor:pointer}.course-detail__close:hover{color:var(--fg);border-color:var(--accent-rose)}.course-detail__header{display:grid;gap:.35rem;margin-bottom:1rem}.course-detail__header h2{margin:0;font-size:1.4rem}.course-detail__header p{display:flex;align-items:center;gap:.6rem;margin:0}.course-detail__about,.course-detail__chapters,.comments{margin-top:1.4rem}.course-detail__chapter-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.course-detail__chapter{padding:.8rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev)}.course-detail__chapter ul{margin:.45rem 0 0;padding-left:1.1rem;color:var(--fg-muted);font-size:.85rem}.course-detail__chapter li{margin:.15rem 0}@media (max-width: 760px){.course-detail{padding:1rem .5rem}.course-detail__panel{max-height:calc(100vh - 2rem);padding:1.1rem .9rem}}.comments{display:grid;gap:1rem}.comments__header h3{margin:.25rem 0;font-size:1.1rem}.comments__hint{color:var(--fg-muted);font-size:.82rem;margin:0}.comments__compose{padding:.9rem 1rem}.comments__compose textarea{width:100%;background:var(--bg-elev);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .7rem;font:inherit;resize:vertical;min-height:76px}.comments__compose textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.comments__compose textarea:disabled{opacity:.55;cursor:not-allowed}.comments__compose-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.55rem}.comments__count{color:var(--fg-muted);font:500 .7rem/1 var(--font-mono)}.comments__empty{color:var(--fg-muted)}.comments__list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.comment-item{padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);display:grid;gap:.45rem}.comment-item__head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.comment-item__author{color:var(--fg);font-weight:600;font-size:.9rem;margin-right:.55rem}.comment-item__time{color:var(--fg-muted);font:500 .7rem/1 var(--font-mono)}.comment-item__body{margin:0;color:var(--fg);font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-item__foot{display:flex;justify-content:flex-end}.comment-item__delete{font-size:.75rem;padding:.3rem .55rem}.comment-status{display:inline-flex;padding:.18rem .42rem;border-radius:999px;font:500 .65rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.comment-status--approved{background:#34d3991f;color:var(--accent-mint);border-color:#34d3994d}.comment-status--pending{background:#f59e0b1f;color:var(--accent-amber);border-color:#f59e0b4d}.comment-status--rejected{background:#f43f5e1f;color:var(--accent-rose);border-color:#f43f5e4d}.my-comments__list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.my-comments__item{padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);display:grid;gap:.55rem}.my-comments__item header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-comments__item header>div{display:inline-flex;align-items:center;gap:.55rem}.my-comments__time{color:var(--fg-muted);font:500 .72rem/1 var(--font-mono)}.my-comments__course{color:var(--accent-cyan);font:500 .75rem/1 var(--font-mono);text-decoration:none}.my-comments__course:hover{text-decoration:underline}.my-comments__body{margin:0;color:var(--fg);font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.my-comments__foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.my-enrollments.panel{display:grid;gap:1.2rem}.my-enrollments__stats{display:flex;gap:1.25rem;margin:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.my-enrollments__stat{display:grid;gap:.2rem;margin:0;min-width:70px}.my-enrollments__stat dt{color:var(--fg-dim);font:500 .65rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.my-enrollments__stat dd{margin:0;color:var(--fg);font:700 1.4rem/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.my-enrollments__stat--progress dd{color:var(--accent)}.my-enrollments__stat--done dd{color:var(--accent-mint)}.filter-chips{display:inline-flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev);align-self:start}.filter-chips__chip{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.35rem .85rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);font:500 .78rem/1 var(--font-display);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.filter-chips__chip:hover{color:var(--fg);background:var(--bg-elev-2)}.filter-chips__chip.is-active{color:var(--fg);background:var(--bg-panel);border-color:var(--border-strong);box-shadow:inset 0 0 0 1px #8b5cf62e}.filter-chips__count{display:inline-grid;place-items:center;min-width:22px;padding:0 .4rem;border-radius:999px;background:var(--bg);color:var(--fg-dim);font:500 .65rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.filter-chips__chip.is-active .filter-chips__count{background:#8b5cf629;color:var(--accent-2)}.my-enrollments__list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}.my-enrollments__item{display:grid;gap:.95rem;padding:1.15rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev);transition:border-color .18s ease,transform .18s ease,background .18s ease}.my-enrollments__item:hover{border-color:#8b5cf659;background:var(--bg-elev-2)}.my-enrollments__item--completed{border-color:#34d3992e}.my-enrollments__item--completed:hover{border-color:#34d39966}.my-enrollments__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-enrollments__headline{display:grid;gap:.5rem;min-width:0}.my-enrollments__title{margin:0;font:600 1.05rem/1.35 var(--font-display);letter-spacing:-.01em}.my-enrollments__title a{color:var(--fg);text-decoration:none;background-image:linear-gradient(transparent 90%,#8b5cf666 90%);background-size:0% 100%;background-repeat:no-repeat;transition:background-size .22s ease,color .16s ease}.my-enrollments__title a:hover{color:var(--accent-2);background-size:100% 100%}.my-enrollments__title a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px;border-radius:2px}.my-enrollments__time{color:var(--fg-muted);font:500 .72rem/1 var(--font-mono);white-space:nowrap}.my-enrollments__progress{display:grid;gap:.55rem}.my-enrollments__progress-track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--border)}.my-enrollments__progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--glow-violet);transition:width .36s cubic-bezier(.16,1,.3,1)}.my-enrollments__item--completed .my-enrollments__progress-bar{background:linear-gradient(90deg,var(--accent-mint),#6EE7B7);box-shadow:0 0 12px var(--glow-mint)}.my-enrollments__progress-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;color:var(--fg-muted);font:500 .78rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.my-enrollments__progress-count{color:var(--fg);font-weight:600}.my-enrollments__progress-count .muted{color:var(--fg-dim);font-weight:500}.my-enrollments__progress-pct{color:var(--fg-muted)}.my-enrollments__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-enrollments__completed,.my-enrollments__hint{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent-mint);font:500 .78rem/1.2 var(--font-mono)}.my-enrollments__hint{color:var(--fg-muted)}.my-enrollments__completed svg{width:14px;height:14px}.my-enrollments__cta{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--fg);font:500 .85rem/1 var(--font-display);text-decoration:none;transition:background .16s ease,border-color .16s ease,transform 80ms ease,box-shadow .2s ease}.my-enrollments__cta:hover{background:#8b5cf61f;border-color:#8b5cf673;color:var(--accent-2)}.my-enrollments__cta:active{transform:translateY(1px)}.my-enrollments__cta:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}.my-enrollments__cta svg{width:16px;height:16px;transition:transform .2s ease}.my-enrollments__cta:hover svg{transform:translate(2px)}.my-enrollments__item--completed .my-enrollments__cta{color:var(--accent-mint)}.my-enrollments__item--completed .my-enrollments__cta:hover{background:#34d3991a;border-color:#34d39973;color:var(--accent-mint)}.my-enrollments__skeleton{display:grid;gap:.75rem;padding:1.15rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.my-enrollments__skeleton-row,.my-enrollments__skeleton-bar{border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--bg-panel) 20%,var(--bg-elev-2) 40%,var(--bg-panel) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}.my-enrollments__skeleton-row{height:1.05rem;width:60%}.my-enrollments__skeleton-bar{height:.5rem;width:100%}.empty-state__icon{width:36px;height:36px;color:var(--accent);margin-bottom:.6rem}.empty-state .btn--primary,.empty-state .btn--ghost{display:inline-flex;align-items:center;min-height:40px;margin-top:1rem;text-decoration:none}.status-pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor;flex-shrink:0}.status-pill--in-progress{border-color:#8b5cf64d;background:#8b5cf61a;color:var(--accent-2)}.status-pill--completed{border-color:#34d3994d;background:#34d3991a;color:var(--accent-mint)}@media (prefers-reduced-motion: reduce){.my-enrollments__progress-bar,.my-enrollments__cta svg,.my-enrollments__title a{transition:none}}@media (max-width: 760px){.my-enrollments__stats{width:100%;justify-content:space-between;gap:.75rem}.my-enrollments__stat{min-width:0;flex:1}.my-enrollments__head{flex-direction:column;gap:.6rem}.my-enrollments__time{align-self:flex-start}.filter-chips{width:100%;overflow-x:auto;flex-wrap:nowrap}.filter-chips__chip{flex-shrink:0}.my-enrollments__cta{width:100%;justify-content:center}.my-enrollments__foot{flex-direction:column;align-items:stretch}}.my-orders.panel{display:grid;gap:1.2rem}.my-orders__stats{display:flex;gap:1.25rem;margin:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.my-orders__stat{display:grid;gap:.2rem;margin:0;min-width:70px}.my-orders__stat dt{color:var(--fg-dim);font:500 .65rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.my-orders__stat dd{margin:0;color:var(--fg);font:700 1.4rem/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.my-orders__stat--all dd{color:var(--fg)}.my-orders__stat--confirmed dd{color:var(--accent-mint)}.my-orders__stat--pending dd{color:var(--accent-amber)}.my-orders__stat--failed dd{color:var(--accent-rose)}.my-orders__list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}.my-orders__item{display:grid;gap:1rem;padding:1.15rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev);transition:border-color .18s ease,background .18s ease}.my-orders__item:hover{border-color:#8b5cf659;background:var(--bg-elev-2)}.my-orders__item--confirmed{border-color:#34d3992e}.my-orders__item--pending{border-color:#f59e0b38}.my-orders__item--failed,.my-orders__item--dead{border-color:#f43f5e38}.my-orders__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-orders__headline{display:grid;gap:.5rem;min-width:0}.my-orders__title{margin:0;font:600 1.05rem/1.35 var(--font-display);letter-spacing:-.01em}.my-orders__title a,.my-orders__title>span{color:var(--fg);text-decoration:none}.my-orders__title a:hover{color:var(--accent-2)}.my-orders__time{color:var(--fg-muted);font:500 .72rem/1.2 var(--font-mono);white-space:nowrap}.my-orders__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem 1.25rem;margin:0;padding-top:.85rem;border-top:1px solid var(--border-soft)}.my-orders__meta div{display:grid;gap:.25rem;min-width:0}.my-orders__meta dt{color:var(--fg-dim);font:500 .62rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.my-orders__meta dd{margin:0;color:var(--fg);font:500 .85rem/1.3 var(--font-body);overflow-wrap:anywhere}.my-orders__price{display:inline-flex;align-items:baseline;gap:.3rem;color:var(--fg);font:600 .95rem/1 var(--font-display);font-variant-numeric:tabular-nums}.my-orders__price-unit{color:var(--fg-dim);font:500 .7rem/1 var(--font-mono);letter-spacing:.05em}.my-orders__chain{display:inline-flex;padding:.15rem .55rem;border-radius:999px;background:var(--bg);color:var(--accent-cyan);font:500 .78rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.my-orders__link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-cyan);text-decoration:none;font:500 .85rem/1 var(--font-body);transition:color .16s ease}.my-orders__link:hover{color:#7dd3fc;text-decoration:underline}.my-orders__link:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px;border-radius:2px}.my-orders__link svg{width:14px;height:14px}.my-orders__pager{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0 .5rem}.my-orders__pager .btn--ghost{display:inline-flex;align-items:center;gap:.4rem;min-height:40px}.my-orders__pager .btn--ghost svg{width:16px;height:16px}.my-orders__pager-page{color:var(--fg-muted);font:500 .78rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.my-orders__skeleton{display:grid;gap:.7rem;padding:1.15rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.my-orders__skeleton-row,.my-orders__skeleton-grid{border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--bg-panel) 20%,var(--bg-elev-2) 40%,var(--bg-panel) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}.my-orders__skeleton-row{height:1.05rem;width:55%}.my-orders__skeleton-row--short{width:30%}.my-orders__skeleton-grid{height:3.5rem;width:100%}.status-pill--pending{border-color:#f59e0b4d;background:#f59e0b14;color:var(--accent-amber)}.status-pill--minting{border-color:#38bdf84d;background:#38bdf814;color:var(--accent-cyan)}.status-pill--failed,.status-pill--dead{border-color:#f43f5e4d;background:#f43f5e14;color:var(--accent-rose)}.status-pill--ready{border-color:#38bdf84d;background:#38bdf814;color:var(--accent-cyan)}.status-pill--published{border-color:#34d3994d;background:#34d39914;color:var(--accent-mint)}.my-certificates.panel{display:grid;gap:1.2rem}.my-certificates__stats{display:flex;gap:1.25rem;margin:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.my-certificates__stat{display:grid;gap:.2rem;margin:0;min-width:80px}.my-certificates__stat dt{color:var(--fg-dim);font:500 .65rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.my-certificates__stat dd{margin:0;color:var(--fg);font:700 1.4rem/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.my-certificates__stat--hint dd{color:var(--accent-cyan);font-size:1rem;font-weight:500}.my-certificates__stat-link{color:inherit;text-decoration:none}.my-certificates__stat-link:hover{color:#7dd3fc;text-decoration:underline}.my-certificates__detail{display:grid;gap:1rem;padding:1.15rem 1.25rem;border:1px solid rgba(52,211,153,.25);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(52,211,153,.06),transparent 60%),var(--bg-elev);box-shadow:0 8px 32px #00000040}.my-certificates__detail-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-certificates__detail-title{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap}.my-certificates__detail-id{color:var(--fg-muted);font:500 .78rem/1 var(--font-mono)}.my-certificates__detail-id code{color:var(--fg);background:var(--bg);padding:.15rem .45rem;border-radius:var(--radius-sm)}.btn--icon{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border-radius:999px}.btn--icon svg{width:16px;height:16px}.my-certificates__detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem 1.25rem;margin:0}.my-certificates__detail-meta div{display:grid;gap:.25rem}.my-certificates__detail-meta dt{color:var(--fg-dim);font:500 .62rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.my-certificates__detail-meta dd{margin:0;color:var(--fg);font:500 .9rem/1.3 var(--font-body);font-variant-numeric:tabular-nums}.my-certificates__detail-meta code{color:var(--accent-cyan);background:var(--bg);padding:.15rem .45rem;border-radius:var(--radius-sm)}.my-certificates__list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}.my-certificates__item{display:grid;gap:1rem;padding:1.15rem 1.25rem;border:1px solid rgba(52,211,153,.18);border-radius:var(--radius-md);background:var(--bg-elev);transition:border-color .18s ease,background .18s ease}.my-certificates__item:hover{border-color:#34d39966;background:var(--bg-elev-2)}.my-certificates__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-certificates__headline{display:flex;align-items:center;gap:.75rem;min-width:0}.my-certificates__seal{width:32px;height:32px;flex-shrink:0;padding:6px;border-radius:50%;border:1px solid rgba(52,211,153,.3);background:#34d39914;color:var(--accent-mint);box-sizing:border-box}.my-certificates__title{margin:0;font:600 1.05rem/1.35 var(--font-display);letter-spacing:-.01em}.my-certificates__title a{color:var(--fg);text-decoration:none;background-image:linear-gradient(transparent 90%,#34d39973 90%);background-size:0% 100%;background-repeat:no-repeat;transition:background-size .22s ease,color .16s ease}.my-certificates__title a:hover{color:var(--accent-mint);background-size:100% 100%}.my-certificates__title a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px;border-radius:2px}.my-certificates__time{color:var(--fg-muted);font:500 .72rem/1.2 var(--font-mono);white-space:nowrap}.my-certificates__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-certificates__hint{color:var(--fg-muted);font:500 .78rem/1.2 var(--font-mono);font-variant-numeric:tabular-nums}.my-certificates__cta{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1rem;border:1px solid rgba(52,211,153,.35);border-radius:var(--radius-sm);background:#34d39914;color:var(--accent-mint);font:500 .85rem/1 var(--font-display);cursor:pointer;transition:background .16s ease,border-color .16s ease,transform 80ms ease}.my-certificates__cta:hover:not(:disabled){background:#34d39929;border-color:#34d3998c}.my-certificates__cta:active:not(:disabled){transform:translateY(1px)}.my-certificates__cta:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}.my-certificates__cta svg{width:16px;height:16px;transition:transform .2s ease}.my-certificates__cta:hover:not(:disabled) svg{transform:translate(2px)}.my-certificates__skeleton{display:grid;gap:.7rem;padding:1.15rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.my-certificates__skeleton-row{border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--bg-panel) 20%,var(--bg-elev-2) 40%,var(--bg-panel) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite;height:1.05rem;width:60%}.my-certificates__skeleton-row--short{width:30%}@media (prefers-reduced-motion: reduce){.my-orders__title a,.my-certificates__title a,.my-certificates__cta svg,.my-certificates__cta{transition:none}}@media (max-width: 760px){.my-orders__stats{width:100%;justify-content:space-between;gap:.75rem}.my-orders__stat{min-width:0;flex:1}.my-orders__head{flex-direction:column;gap:.6rem}.my-orders__time{align-self:flex-start}.my-orders__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.my-certificates__stats{width:100%;justify-content:space-between;gap:.75rem}.my-certificates__stat{min-width:0;flex:1}.my-certificates__head{flex-direction:column;gap:.6rem}.my-certificates__time{align-self:flex-start}.my-certificates__cta{width:100%;justify-content:center}.my-certificates__foot{flex-direction:column;align-items:stretch}.my-certificates__detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-studio{padding-top:1rem}.editor-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.editor-grid>*{min-width:0}.editor-grid label{display:grid;gap:.4rem;color:var(--fg-muted);font-size:.78rem}.editor-grid__wide{grid-column:1 / -1}.editor-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.editor-actions span{color:var(--fg-muted);font-size:.8rem}@media (max-width: 760px){.section-heading{align-items:stretch;flex-direction:column;gap:1rem}.catalog-search{min-width:0}.course-grid,.loading-grid,.editor-grid{grid-template-columns:1fr}}.statusbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.75rem;padding:.65rem clamp(1rem,4vw,1.5rem);border-bottom:1px solid var(--border);background:#0a0a0fa6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--fg-muted);flex-wrap:wrap}.statusbar__dot{width:6px;height:6px;border-radius:50%;background:var(--accent-mint);box-shadow:0 0 8px var(--glow-mint);animation:pulse 2.6s ease-in-out infinite}.statusbar__dot--idle{background:var(--fg-dim);box-shadow:none;animation:none}.statusbar__sep{color:var(--fg-dim)}.statusbar__right{margin-left:auto;display:flex;gap:1rem;align-items:center}.statusbar__right code{color:var(--accent-cyan)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.container{max-width:1180px;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1rem,4vw,1.75rem) clamp(3rem,6vw,5rem)}.panel{margin-top:clamp(1.25rem,3vw,2rem)}.admin-anchor{margin-top:2rem}.card{border:1px solid var(--border);background:var(--bg-panel);border-radius:var(--radius-md);padding:1.75rem;box-shadow:0 4px 24px #00000040}.card h2{margin:0 0 .6rem;font-size:.78rem;font-family:var(--font-display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}.count{font-family:var(--font-display);font-size:3.5rem;font-weight:700;font-variant-numeric:tabular-nums;margin:.5rem 0 1.5rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;letter-spacing:-.04em;line-height:1}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn,button{--_bg: transparent;--_fg: var(--fg);--_border: var(--border-strong);--_hover: rgba(255, 255, 255, .04);font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.01em;padding:.6rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--_border);background:var(--_bg);color:var(--_fg);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform 80ms ease,box-shadow .2s ease}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--_hover);border-color:var(--border-strong)}button:active:not(:disabled),.btn:active:not(:disabled){transform:translateY(1px)}button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary,button.btn--primary{--_bg: var(--accent);--_fg: #FFFFFF;--_border: var(--accent);--_hover: var(--accent-2);box-shadow:0 0 0 0 transparent}.btn--primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 20px var(--glow-violet)}.btn--ghost{--_border: var(--border-strong);--_fg: var(--fg-muted)}.btn--ghost:hover:not(:disabled){color:var(--fg);border-color:var(--border-strong);background:#ffffff0a}.btn--danger-ghost{--_border: rgba(244, 63, 94, .35);--_fg: var(--accent-rose)}.btn--danger-ghost:hover:not(:disabled){background:#f43f5e14;border-color:var(--accent-rose)}button.danger{--_border: rgba(244, 63, 94, .35);--_fg: var(--accent-rose)}button.danger:hover:not(:disabled){background:#f43f5e14;border-color:var(--accent-rose)}.connect{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.connect--online{padding:.4rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#34d3990d;font-family:var(--font-mono);font-size:.78rem;color:var(--fg-muted)}.address{font-family:var(--font-mono);font-size:.82rem;padding:.35rem .6rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent-cyan);cursor:pointer;transition:border-color .2s ease,color .2s ease}.address:hover{border-color:var(--accent-cyan);color:#7dd3fc}.badge{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;padding:.25rem .55rem;border:1px solid var(--border);border-radius:999px;color:var(--fg-muted);background:var(--bg-elev)}.badge--net{border-color:#34d39959;color:var(--accent-mint);background:#34d3990f}.badge--warn{border-color:#f59e0b59;color:var(--accent-amber);background:#f59e0b0f}.muted{color:var(--fg-muted);margin:.75rem 0 0;font-size:.9rem}.muted code{font-family:var(--font-mono);background:var(--bg-elev);color:var(--accent-cyan);padding:.1rem .4rem;border-radius:4px;font-size:.85em;border:1px solid var(--border)}.warn{background:#f59e0b14;color:var(--accent-amber);padding:.85rem 1rem;border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-md);font-size:.9rem}.error{color:var(--accent-rose);margin:.75rem 0 0;font-size:.9rem}.footer{display:none}.nav{position:sticky;top:0;z-index:50;background:#0a0a0f8c;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--border-soft);transition:background .2s ease,border-color .2s ease}.nav--scrolled{background:#0a0a0fd1;border-bottom-color:var(--border)}.nav__inner{max-width:1180px;margin:0 auto;padding:.85rem 1.75rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem}.nav__brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit}.nav__mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--gradient-brand);color:#0a0a0f;font-family:var(--font-mono);font-size:.95rem;font-weight:700;box-shadow:0 0 18px var(--glow-violet)}.nav__brand-text{display:flex;flex-direction:column;line-height:1.1}.nav__brand-name{font-family:var(--font-display);font-weight:700;font-size:.92rem;letter-spacing:.12em;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.nav__brand-sub{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim)}.nav__links{display:flex;gap:.25rem;justify-self:center;align-items:center}.nav__link{display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:var(--radius-sm);color:var(--fg-muted);font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.01em;text-decoration:none;transition:color .16s ease,background .16s ease}.nav__link:hover{color:var(--fg);background:#ffffff0a}.nav__link--accent{color:var(--accent-2)}.nav__link--accent:hover{color:#fff;background:#8b5cf61f}.nav__cluster{display:inline-flex;align-items:center;gap:.75rem}.nav__cta{padding:.55rem 1.05rem;font-size:.82rem}.wallet-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .85rem;border:1px solid rgba(52,211,153,.25);border-radius:var(--radius-sm);background:#34d3990f;font-family:var(--font-mono);font-size:.78rem;color:var(--fg);cursor:pointer;transition:border-color .16s ease,background .16s ease}.wallet-chip:hover{border-color:#34d3998c;background:#34d3991a}.wallet-chip--warn{border-color:#f59e0b59;background:#f59e0b14}.wallet-chip--warn:hover{border-color:#f59e0b99;background:#f59e0b24}.wallet-chip__dot{width:6px;height:6px;border-radius:50%;background:var(--accent-mint);box-shadow:0 0 8px var(--glow-mint)}.wallet-chip--warn .wallet-chip__dot{background:var(--accent-amber);box-shadow:0 0 8px #f59e0b73}.wallet-chip__net{color:var(--accent-mint);letter-spacing:.05em}.wallet-chip--warn .wallet-chip__net{color:var(--accent-amber)}.wallet-chip__addr{color:var(--fg);font-weight:500}.user-menu{position:relative}.user-menu__trigger{display:inline-flex;align-items:center;gap:.65rem;padding:.38rem .7rem .38rem .38rem;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg-elev);color:var(--fg);font-family:var(--font-display);font-size:.85rem;cursor:pointer;transition:border-color .16s ease,background .16s ease}.user-menu__trigger:hover{border-color:#8b5cf673;background:var(--bg-elev-2)}.user-menu__trigger--warn{border-color:#f59e0b66;background:#f59e0b0f}.user-menu__trigger--warn .wallet-chip__dot{background:var(--accent-amber);box-shadow:0 0 8px #f59e0b73}.user-menu__trigger--warn .wallet-chip__net{color:var(--accent-amber)}.user-menu__trigger--offline .wallet-chip__dot{background:var(--fg-dim);box-shadow:none}.user-menu__avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gradient-brand);color:#0a0a0f;font-weight:700;font-family:var(--font-display)}.user-menu__name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__summary{display:inline-flex;align-items:center;min-width:0}.user-menu__wallet-summary{display:inline-flex;align-items:center;gap:.45rem;margin-left:.7rem;padding-left:.7rem;border-left:1px solid var(--border);font-family:var(--font-mono);font-size:.72rem;white-space:nowrap}.user-menu__wallet-summary .wallet-chip__addr{color:var(--fg-muted)}.user-menu__caret{color:var(--fg-dim);font-size:.7rem}.user-menu__panel{position:absolute;right:0;top:calc(100% + .6rem);width:min(360px,calc(100vw - 2rem));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:0 18px 48px #00000073;overflow:hidden;z-index:60}.user-menu__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border);background:var(--bg-elev)}.user-menu__title{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--fg);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__section{padding:1rem 1.1rem;border-bottom:1px solid var(--border-soft)}.user-menu__section h3{margin:0 0 .6rem;font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}.user-menu__wallet-action{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem .75rem;text-align:left;border-color:var(--border-soft);background:var(--bg-elev)}.user-menu__wallet-action>span:nth-child(2){display:grid;gap:.2rem;min-width:0}.user-menu__wallet-action strong{font-family:var(--font-mono);font-size:.76rem;color:var(--accent-mint)}.user-menu__wallet-action small{overflow:hidden;color:var(--fg-muted);font-family:var(--font-mono);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.user-menu__wallets{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.user-menu__wallets li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-elev)}.user-menu__wallets code{font-family:var(--font-mono);font-size:.75rem;color:var(--accent-cyan);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__chain{font-family:var(--font-mono);font-size:.65rem;color:var(--fg-dim)}.user-menu__wallets button{padding:.3rem .6rem;font-size:.7rem}.user-menu__footer{padding:.8rem 1.1rem;background:var(--bg-elev)}.hero{position:relative;margin-top:1.5rem;padding:clamp(2.25rem,5vw,3.5rem) clamp(1.5rem,4vw,2.5rem) clamp(2rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(ellipse 80% 60% at 80% 0%,rgba(139,92,246,.18),transparent 60%),radial-gradient(ellipse 60% 50% at 10% 100%,rgba(56,189,248,.12),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.025),transparent 60%),var(--bg-panel);overflow:hidden}.hero:before{content:"";position:absolute;inset:0 25% auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent) 50%,transparent);opacity:.6}.hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .7rem;border:1px solid var(--border-strong);border-radius:999px;background:#ffffff08;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:1.6rem;max-width:100%}.hero__eyebrow :lang(zh),.hero__eyebrow-zh{text-transform:none;letter-spacing:.04em}.hero__eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-mint);box-shadow:0 0 8px var(--glow-mint)}.hero__title{margin:0 0 1.4rem;font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.06;letter-spacing:-.035em;color:var(--fg);word-break:keep-all;overflow-wrap:anywhere}.hero__title-line{display:block}.hero__title-line--accent{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero__title :lang(zh){letter-spacing:.02em}.hero__lede{margin:0 0 2rem;max-width:60ch;font-size:1.05rem;line-height:1.7;color:var(--fg-muted);word-break:keep-all;overflow-wrap:anywhere}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.8rem}.hero__cta{padding:.85rem 1.4rem;font-size:.92rem}.hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:0;padding-top:1.8rem;border-top:1px solid var(--border)}.hero__stat{display:flex;flex-direction:column;gap:.2rem}.hero__stat-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);order:2}.hero__stat-value{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.65rem;letter-spacing:-.02em;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;order:1}.hero__stat-hint{margin:0;font-size:.78rem;color:var(--fg-muted);order:3}.site-footer{margin-top:5rem;padding:3rem 1.75rem 1.5rem;border-top:1px solid var(--border);background:linear-gradient(180deg,transparent,rgba(255,255,255,.015))}.site-footer__grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem}.site-footer__brand p{margin:.85rem 0 0;color:var(--fg-muted);font-size:.88rem;line-height:1.6;max-width:32ch}.site-footer__logo{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.12em;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.site-footer__col h3{margin:0 0 .9rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim)}.site-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.site-footer__col a{color:var(--fg-muted);font-size:.88rem;text-decoration:none;transition:color .16s ease}.site-footer__col a:hover{color:var(--fg)}.site-footer__bar{max-width:1180px;margin:2.5rem auto 0;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim)}a{color:var(--accent-cyan);text-decoration:none;transition:color .2s ease}a:hover{color:#7dd3fc}code{font-family:var(--font-mono)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 760px){.container{padding:1.25rem 1rem 3.5rem}.nav__inner{grid-template-columns:auto 1fr auto;gap:1rem;padding:.75rem 1rem}.nav__brand-sub,.nav__links{display:none}.nav__cluster{gap:.5rem}.user-menu__name{display:none}.hero{padding:2.5rem 1.5rem 2rem}.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.site-footer__grid{grid-template-columns:1fr 1fr;gap:1.75rem}}@media (max-width: 480px){.nav__brand-name,.wallet-chip__net{display:none}.site-footer__grid{grid-template-columns:1fr}}.learning-player__stage{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 18px 48px #00000073}.learning-player__video{width:100%;height:100%;display:block;background:#000;object-fit:contain}.learning-player__iframe{width:100%;height:100%;display:block;border:0;background:#000}.learning-player__meta-aside{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;min-width:0}.learning-player__source-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;color:var(--fg-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-player__source-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);flex-shrink:0}.learning-player__placeholder{position:absolute;inset:0;display:grid;place-items:center;gap:.75rem;background:radial-gradient(ellipse at center,rgba(139,92,246,.08),transparent 60%),#0a0a0f;color:var(--fg-muted);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em}.learning-player__spinner{width:28px;height:28px;border-radius:50%;border:2px solid rgba(139,92,246,.25);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.learning-player__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem}.learning-player__meta .muted{margin:0;font-family:var(--font-mono);font-size:.78rem;color:var(--fg-muted)}@media (max-width: 760px){.learning-player__stage{aspect-ratio:16 / 10}}.chapter-reorder{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.45rem}.chapter-reorder__row{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);transition:background .12s ease,border-color .12s ease}.chapter-reorder__row.is-dragging{opacity:.5;border-color:var(--accent)}.chapter-reorder__row.is-over{border-color:var(--accent);background:#8b5cf612}.chapter-reorder__row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chapter-reorder__handle{color:var(--fg-dim);cursor:grab;user-select:none;font-family:var(--font-mono)}.chapter-reorder__title{flex:1;color:var(--fg);font-size:.9rem}.chapter-reorder__asset{color:var(--fg-muted);font-size:.78rem;font-family:var(--font-mono)}.editor-curriculum__chapters{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.85rem}.editor-chapter{border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem;background:var(--bg-elev);display:grid;gap:.7rem}.editor-chapter__head{display:flex;align-items:center;gap:.55rem}.editor-chapter__index{font-family:var(--font-mono);color:var(--fg-muted);font-size:.78rem;min-width:1.4rem}.editor-chapter__title{flex:1;padding:.4rem .55rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font-size:.95rem}.editor-chapter__lessons{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.editor-lesson{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem;align-items:center;padding:.4rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.editor-lesson__title{background:transparent;border:0;color:var(--fg);font-size:.88rem;width:100%}.editor-lesson__title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.editor-lesson__required,.editor-lesson__duration{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--fg-muted)}.editor-lesson__duration input{width:5rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);padding:.2rem .4rem}.editor-lesson__add{display:flex}.editor-lesson__media{border-top:1px dashed var(--border);padding-top:.65rem;display:grid;gap:.5rem}.editor-lesson__media h4{margin:0;font-size:.78rem;color:var(--fg-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.editor-lesson__media-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center}.editor-lesson__media-label{color:var(--fg-muted);font-size:.82rem}.media-uploader{display:grid;gap:.55rem;padding:.6rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg)}.media-uploader__file{margin:0;color:var(--fg-muted);font-size:.78rem;font-family:var(--font-mono)}.media-uploader__progress{height:6px;background:var(--bg-elev);border-radius:999px;overflow:hidden}.media-uploader__bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-mint));transition:width .12s ease}.media-url-attacher{display:grid;gap:.4rem;min-width:0;width:100%}.media-url-attacher__label{display:grid;gap:.35rem;min-width:0}.media-url-attacher__label-text{color:var(--fg-muted);font:500 .7rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.media-url-attacher__field{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:0;min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elev);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.media-url-attacher__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61f}.media-url-attacher__field[aria-invalid=true]{border-color:var(--accent-rose);box-shadow:0 0 0 3px #f43f5e1f}.media-url-attacher__scheme{display:grid;place-items:center;width:38px;color:var(--fg-dim);border-right:1px solid var(--border);background:#ffffff05}.media-url-attacher__scheme svg{width:16px;height:16px}.media-url-attacher__input{min-width:0;width:100%;min-height:38px;padding:.45rem .7rem;border:0;border-radius:0;background:transparent;color:var(--fg);font:400 .9rem/1.3 var(--font-mono);outline:none;box-shadow:none}.media-url-attacher__input::placeholder{color:var(--fg-dim)}.media-url-attacher__submit{min-height:38px;padding:0 1rem;border:0;border-left:1px solid var(--border);border-radius:0;background:#8b5cf62e;color:var(--accent-2);font:500 .82rem/1 var(--font-display);letter-spacing:.02em;cursor:pointer;transition:background .16s ease,color .16s ease}.media-url-attacher__submit:hover:not(:disabled){background:#8b5cf652;color:var(--fg)}.media-url-attacher__submit:active:not(:disabled){transform:none}.media-url-attacher__submit:disabled{opacity:.4;cursor:not-allowed;color:var(--fg-muted);background:var(--bg-elev-2)}.media-url-attacher__submit:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.media-url-attacher__hint{margin:0;color:var(--fg-muted);font:500 .78rem/1.4 var(--font-body)}.media-url-attacher__hint code{color:var(--accent-cyan);background:var(--bg);padding:.05rem .35rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.78rem;word-break:break-all}.media-url-attacher__error{margin:0;color:#fda4af;font:500 .78rem/1.4 var(--font-body)}.media-url-attacher--ready{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.media-url-attacher__chip{display:inline-flex;align-items:center;gap:.55rem;min-width:0;max-width:100%;padding:.45rem .75rem;border:1px solid rgba(56,189,248,.3);border-radius:var(--radius-sm);background:#38bdf814;color:var(--accent-cyan);transition:border-color .16s ease,background .16s ease}.media-url-attacher__chip:hover{border-color:#38bdf880;background:#38bdf81f}.media-url-attacher__chip svg{width:16px;height:16px;flex-shrink:0}.media-url-attacher__chip-text{display:grid;gap:.15rem;min-width:0}.media-url-attacher__chip-host{color:var(--fg);font:500 .78rem/1.2 var(--font-display);letter-spacing:-.005em}.media-url-attacher__chip-path{color:var(--fg-muted);font:500 .72rem/1.2 var(--font-mono);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.media-url-attacher__field{grid-template-columns:36px minmax(0,1fr)}.media-url-attacher__submit{grid-column:1 / -1;border-left:0;border-top:1px solid var(--border)}.media-url-attacher__chip-path{max-width:220px}}@media (prefers-reduced-motion: reduce){.media-url-attacher__field,.media-url-attacher__submit,.media-url-attacher__chip{transition:none}}.editor-lesson__media-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr);align-items:start;gap:.85rem;padding:.6rem .7rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-elev)}.editor-lesson__media-label{color:var(--fg-muted);font:500 .78rem/1.4 var(--font-body);align-self:center;overflow-wrap:anywhere}@media (max-width: 760px){.editor-lesson__media-row{grid-template-columns:1fr}}.btn--danger{color:#fca5a5}.btn--danger:hover:not(:disabled){background:#fca5a51f;color:#fff}.notice--warn{background:#facc1514;border:1px solid rgba(250,204,21,.45);border-radius:var(--radius-sm);padding:.7rem .9rem;color:var(--fg);display:grid;gap:.55rem}.muted{color:var(--fg-muted);font-size:.82rem}@media (max-width: 760px){.editor-lesson{grid-template-columns:1fr}}.account-section,.swap,.admin-section,.studio-section{scroll-margin-top:5rem}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-stack{display:grid;gap:1rem}@media (max-width: 980px){.account-grid{grid-template-columns:1fr}}.app-main{min-height:calc(100vh - 240px)}.page-stack{display:grid;gap:1.25rem;padding-top:1.5rem}.page-stack--narrow{width:min(100%,760px);margin-inline:auto}.page-stack>.panel,.page-stack>section>.panel{margin-top:0}.page-hero{padding:clamp(2rem,6vw,4rem) clamp(1.25rem,4vw,2.5rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 85% 0%,rgba(139,92,246,.18),transparent 42%),var(--bg-panel)}.page-hero--compact{padding-block:clamp(1.75rem,4vw,2.75rem)}.page-hero h1,.auth-gate h1,.permission-gate h1,.not-found h1{max-width:18ch;margin:.45rem 0 .8rem;font-size:clamp(2rem,5vw,3.6rem);line-height:1.04;letter-spacing:-.045em}.page-hero p,.auth-gate p,.permission-gate p,.not-found p{max-width:66ch;margin:0;color:var(--fg-muted);font-size:1rem}.page-panel{padding:clamp(1rem,3vw,1.5rem)}.back-link{display:inline-flex;width:fit-content;min-height:44px;align-items:center;color:var(--fg-muted)}.journey{margin-top:clamp(2.5rem,5vw,4rem)}.journey__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.journey-card{position:relative;min-height:260px;padding:1.5rem 1.4rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--fg);transition:transform .18s ease,border-color .18s ease,background .18s ease;display:flex;flex-direction:column}.journey-card:hover{transform:translateY(-3px);border-color:#8b5cf673;background:var(--bg-elev);color:var(--fg)}.journey-card__index{color:var(--accent-2);font:500 .72rem/1 var(--font-mono);letter-spacing:.08em}.journey-card h3{margin:2.4rem 0 .55rem;font-size:1.2rem;line-height:1.3;letter-spacing:-.01em;word-break:keep-all}.journey-card p{margin:0;color:var(--fg-muted);line-height:1.55}.journey-card__link{margin-top:auto;padding-top:1.4rem;color:var(--accent-cyan);font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem}.swap-card.panel{width:min(100%,680px);margin:0 auto;padding:clamp(1.15rem,3vw,2rem);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(155deg,#232330d1,#13131af5);box-shadow:0 24px 64px #0000003d}.swap-card__leg{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:#0a0a0f94}.swap-card__field{min-width:0;display:grid;gap:.45rem;color:var(--fg-muted);font-size:.78rem}.swap-card__field input{min-height:52px;padding:.35rem 0;border:0;background:transparent;box-shadow:none;font-size:clamp(1.4rem,5vw,2rem);font-weight:600}.swap-card__output{min-height:52px;display:flex;align-items:center;color:var(--fg);font-size:clamp(1.4rem,5vw,2rem);font-weight:600;font-variant-numeric:tabular-nums}.swap-card__token{min-width:88px;min-height:44px;padding:0 .75rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg-elev-2);color:var(--fg);font:600 .85rem/1 var(--font-mono)}.swap-card__token--static{display:inline-flex;align-items:center;justify-content:center}.swap-card__flip{width:max-content;min-height:44px;margin:.45rem 0}.swap-card__meta{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;margin:.85rem 0 1rem;color:var(--fg-muted);font-size:.78rem}.swap-card__meta>:first-child{color:var(--fg)}.swap-card__route,.swap-card__gas{grid-column:1 / -1}.price-impact-badge strong{color:var(--accent-mint);font-variant-numeric:tabular-nums}.price-impact-badge--warn strong{color:var(--accent-amber)}.price-impact-badge--danger strong,.price-impact-badge--blocked strong{color:var(--accent-rose)}.slippage-control{margin:0 0 1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md)}.slippage-control__legend{padding:0 .35rem;color:var(--fg);font-weight:600}.slippage-control__row{display:grid;grid-template-columns:repeat(3,auto) minmax(140px,1fr);gap:.45rem}.slippage-control__preset{min-height:44px}.slippage-control__preset.is-active{border-color:#8b5cf68c;background:#8b5cf626;color:var(--accent-2)}.slippage-control__custom{position:relative;display:flex;align-items:center}.slippage-control__custom input{min-height:44px;padding-right:2rem}.slippage-control__custom>span:last-child{position:absolute;right:.8rem;color:var(--fg-muted)}.slippage-control__hint{margin:.7rem 0 0;color:var(--fg-muted);font-size:.78rem}.slippage-control__hint--warn{color:var(--accent-amber)}.slippage-control__hint--blocked{color:#fda4af}.swap-card__deadline{display:grid;gap:.4rem;margin-bottom:1rem;color:var(--fg-muted);font-size:.78rem}.swap-card__deadline input{min-height:44px}.swap-card__submit{width:100%;min-height:48px}.swap-card__settlement{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0 0 1rem}.swap-card__settlement div{padding:.8rem;border:1px solid rgba(52,211,153,.2);border-radius:var(--radius-sm);background:#34d3990f;min-width:0}.swap-card__settlement dt{color:var(--fg-muted);font-size:.72rem}.swap-card__settlement dd{margin:.2rem 0 0;color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums;word-break:keep-all}.protocol-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2rem;margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.5rem,4vw,2.25rem);border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(110deg,#38bdf814,#8b5cf614)}.protocol-banner>div{min-width:0;max-width:60ch}.protocol-banner h2{margin:.35rem 0 0;font-size:clamp(1.2rem,3vw,1.85rem);letter-spacing:-.02em;line-height:1.25;word-break:keep-all;overflow-wrap:anywhere}.subnav{position:sticky;top:74px;z-index:30;display:flex;gap:.35rem;padding:.4rem;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#13131ae0;backdrop-filter:blur(16px)}.subnav__link{display:inline-flex;min-height:44px;align-items:center;padding:.55rem .9rem;border-radius:var(--radius-sm);color:var(--fg-muted);white-space:nowrap;flex-shrink:0;max-width:100%}.subnav__link:hover,.subnav__link.is-active{color:var(--fg);background:var(--bg-elev-2)}.subnav__link.is-active{box-shadow:inset 0 0 0 1px var(--border-strong)}.auth-gate,.permission-gate,.not-found{display:grid;justify-items:start;gap:1rem;margin-top:2rem;padding:clamp(2rem,8vw,5rem)}.route-loader{display:grid;min-height:220px;place-items:center;color:var(--fg-muted)}.course-card{color:var(--fg);text-decoration:none}.course-card:hover{color:var(--fg)}.catalog.panel{margin-top:0}.course-detail-page{width:min(100%,920px);margin-inline:auto}.course-detail-page .course-detail__panel{position:static;width:100%;max-height:none;overflow:visible;margin-top:0;padding:clamp(1.25rem,4vw,2rem)}.course-detail-page .course-detail__header h2{max-width:22ch;font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.04em}.learning-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.25rem;padding-top:1.5rem;align-items:start}.lesson-nav{position:sticky;top:88px;margin-top:0;padding:1rem}.lesson-nav h1{margin:.5rem 0 1rem;font-size:1.2rem;word-break:keep-all;overflow-wrap:anywhere}.lesson-nav ol{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.lesson-nav li{min-width:0}.lesson-nav li button{width:100%;min-height:52px;display:grid;gap:.15rem;justify-items:start;padding:.65rem .75rem;border-color:transparent;background:transparent;text-align:left}.lesson-nav li button>*{min-width:0;overflow-wrap:anywhere}.lesson-nav li button:hover,.lesson-nav li button.is-active{background:var(--bg-elev);border-color:var(--border-strong)}.lesson-nav li button.is-active{box-shadow:inset 3px 0 var(--accent)}.lesson-nav small{color:var(--fg-muted);word-break:keep-all;overflow-wrap:anywhere}.admin-panel{margin-top:0}.dlq-list{display:grid;gap:.8rem;padding:0;list-style:none}.dlq-card{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elev)}.dlq-card header,.dlq-card footer,.dlq-card header>div{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.dlq-card header{justify-content:space-between}.dlq-card header time{color:var(--fg-muted);font:.72rem/1 var(--font-mono)}.dlq-card p{color:var(--fg-muted)}.dlq-card dl{display:flex;gap:1.5rem;flex-wrap:wrap}.dlq-card dl div{display:grid;gap:.2rem}.dlq-card dt{color:var(--fg-dim);font:.68rem/1 var(--font-mono);text-transform:uppercase}.dlq-card dd{margin:0}.dlq-card details{margin:.8rem 0}.dlq-card summary{min-height:44px;display:flex;align-items:center;color:var(--accent-cyan);cursor:pointer}.dlq-card pre{max-height:220px;overflow:auto;padding:.8rem;border-radius:var(--radius-sm);background:var(--bg);white-space:pre-wrap}.severity{padding:.25rem .45rem;border-radius:999px;background:#f59e0b1a;color:var(--accent-amber);font:.65rem/1 var(--font-mono);text-transform:uppercase}.severity--critical,.severity--error{background:#f43f5e1a;color:var(--accent-rose)}.nav__link.is-active{color:var(--fg);background:var(--bg-elev)}.nav__menu{display:none;width:44px;height:44px;padding:0;place-items:center;border-color:var(--border-strong);background:var(--bg-elev)}.nav__menu span{display:block;width:18px;height:1px;background:var(--fg)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}@media (max-width: 900px){.journey__grid{grid-template-columns:1fr}.journey-card{min-height:210px}.learning-layout{grid-template-columns:1fr}.lesson-nav{position:static}.admin-layout{grid-template-columns:1fr!important}.admin-layout aside{position:static!important;overflow-x:auto}.admin-layout aside ul{flex-direction:row!important}.admin-layout aside li{min-width:220px}}@media (max-width: 760px){.nav__menu{display:grid;gap:5px}.nav__inner{position:relative}.nav__links.is-open{position:absolute;display:grid;inset:calc(100% + .55rem) 1rem auto;gap:.25rem;padding:.6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:#13131afa;box-shadow:0 18px 48px #00000073}.nav__links.is-open .nav__link{min-height:44px;display:flex;align-items:center}.page-stack{padding-top:1rem}.protocol-banner{align-items:flex-start;flex-direction:column}.section-heading{align-items:stretch;flex-direction:column;gap:1rem}.catalog-search{min-width:0;width:100%}.course-grid,.loading-grid{grid-template-columns:1fr}.course-detail-page .course-detail__panel{max-height:none}.journey-card{min-height:0;display:grid;gap:.75rem}.journey-card h3{margin:1.4rem 0 0}.journey-card__link{position:static;margin-top:.35rem}.slippage-control__row{grid-template-columns:repeat(3,1fr)}.slippage-control__custom{grid-column:1 / -1}}@media (max-width: 480px){.nav__cta{display:none}.hero__stats{grid-template-columns:1fr 1fr}.dlq-card footer>button{width:100%}}
