@charset "utf-8";

/* ================================
   CSS Variables / Design Tokens
   ================================ */
:root{
    --sage:#6b9b6e;
    --sage-dark:#4f7e53;
    --sage-light:#e8f0e7;
    --sage-mist:#f4f8f3;
    --warm-white:#fdfcfa;
    --cream:#faf7f1;
    --ink:#24292e;
    --text-primary:#2c2c2c;
    --text-secondary:#5a5a5a;
    --text-muted:#8a8a8a;
    --border:#e8e4dd;
    --card-bg:#ffffff;
    --shadow-sm:0 2px 8px rgba(0,0,0,0.04);
    --shadow-md:0 4px 20px rgba(0,0,0,0.06);
    --shadow-lg:0 16px 44px rgba(50,68,48,0.12);
    --radius-sm:8px;
    --radius-md:14px;
    --radius-lg:20px;
    --transition:0.25s ease;
}

/* ================================
   Reset & Base
   ================================ */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{display:flex;flex-direction:column;min-height:100vh;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;background:var(--sage-light);}
a{color:inherit;text-decoration:none;}
svg{vertical-align:middle;}
input{color:#525d76;resize:none;outline:none;height:28px;line-height:28px;padding:0 10px;box-sizing:border-box;border:1px solid #cccedb;vertical-align:middle;border-radius:2px;}
input[readonly]{cursor:not-allowed;}
textarea{color:#525d76;width:100%;resize:none;outline:none;padding:10px;box-sizing:border-box;overflow-y:auto;border:1px solid #888;line-height:20px;font-size:15px;}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#b3bbce;}

/* ================================
   Scrollbar
   ================================ */
::-webkit-scrollbar{width:8px;height:10px;}
::-webkit-scrollbar-track{background:none;}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.4);}
::-moz-scrollbar{width:10px;height:10px;}
::-moz-scrollbar-track{background:none;}
::-moz-scrollbar-thumb{background:rgba(0,0,0,0.2);}
::-moz-scrollbar-thumb:hover{background:rgba(0,0,0,0.4);}

/* ================================
   Navigation Bar
   ================================ */
.navbar{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(232,228,221,0.8);background:rgba(253,252,250,0.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:0 24px;}
.navbar-inner{max-width:1280px;height:65px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.nav-logo{height:60px;}
.nav-title{color:var(--sage);font-size:2rem;font-weight:700;text-decoration:none;}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin-left:auto;}
.nav-links a{color:var(--text-secondary);font-size:0.94rem;text-decoration:none;transition:color var(--transition);white-space:nowrap;}
.nav-links a:hover{color:var(--sage);}

/* ================================
   Buttons
   ================================ */
.btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:11px 22px;border-radius:999px;font-size:0.95rem;font-weight:700;text-decoration:none;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);}
.btn-primary{background:var(--sage);color:#fff;box-shadow:0 8px 22px rgba(107,155,110,0.28);}
.btn-primary:hover{background:var(--sage-dark);box-shadow:0 12px 26px rgba(107,155,110,0.34);transform:translateY(-1px);}
.btn-outline{border:1.5px solid rgba(107,155,110,0.45);background:#ffffff;color:var(--sage-dark);}
.btn-outline:hover{background:var(--sage-light);transform:translateY(-1px);}
.btn-blue{background:#768fe7;color:#fff;box-shadow:0 8px 22px rgba(118,143,231,0.28);}
.btn-blue:hover{background:#5a6fd6;box-shadow:0 12px 26px rgba(118,143,231,0.34);transform:translateY(-1px);}

/* ================================
   Cat Mascot
   ================================ */
.cat{width:60px;position:absolute;top:-50px;left:93px;z-index:2;}
.btn-cat{position:relative;}
.btn-cat .btn{z-index:2;position:relative;}

/* ================================
   Hero Section — 首页头部
   ================================ */
.hero{padding:150px 0;background:linear-gradient(180deg,var(--sage-mist) 0,var(--warm-white) 420px),var(--warm-white);}
.hero-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(200px,0.8fr);align-items:center;gap:100px;}
.hero-badge a{display:inline-flex;align-items:center;min-height:32px;margin-bottom:22px;padding:5px 16px;border:1px solid rgba(107,155,110,0.18);border-radius:999px;background:rgba(232,240,231,0.78);color:var(--sage-dark);font-size:0.84rem;font-weight:700;}
.hero h1{color:var(--text-primary);font-size:clamp(1.25rem,5vw,2rem);font-weight:800;line-height:1.16;}
.hero h1 span{color:var(--sage);}
.hero-tagline{margin-top:22px;color:var(--text-secondary);font-size:1.08rem;line-height:1.9;}
.hero-actions{display:flex;flex-wrap:wrap;gap:30px;margin-top:40px;}
.hero-note{margin-top:18px;color:var(--text-muted);font-size:0.9rem;}

/* ================================
   Code Panel — 首页代码示例
   ================================ */
.code-panel{overflow:hidden;border:1px solid rgba(232,228,221,0.78);border-radius:var(--radius-sm);background:var(--ink);box-shadow:var(--shadow-lg);}
.code-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:0 18px;border-bottom:1px solid rgba(74,74,74,0.08);background:rgba(255,255,255,0.04);color:#d5dde5;font-family:"JetBrains Mono","Fira Code","Cascadia Code","Consolas",monospace;font-size:0.8rem;}
.window-dots{display:flex;gap:7px;}
.window-dots span{width:10px;height:10px;border-radius:50%;background:#a8b3bd;opacity:0.82;}
.window-dots span:first-child{background:#f08b86;}
.window-dots span:nth-child(2){background:#e8c36f;}
.window-dots span:nth-child(3){background:#85c88f;}
.code-block{overflow-x:auto;padding:26px 24px 30px;}
.code-block pre{margin:0;color:#e6edf3;font-family:"JetBrains Mono","Fira Code","Cascadia Code","Microsoft YaHei",monospace;font-size:14px;line-height:1.85;white-space:pre;}

/* --- 语法高亮配色 --- */
.code-keyword{color:#ff7b72;font-weight:500;}
.code-string{color:#86b984;}
.code-number{color:#84afd5;}
.code-comment{color:#8b949e;}
.code-func{color:#d2a8ff;}
.code-method{color:#f2cc60;}
.code-type{color:#7ee787;}
.code-property{color:#f2cc60;}
.code-operator{color:#ff7b72;}
.code-variable{color:#979ca1;}
.code-constant{color:#79c0ff;}

/* ================================
   Section Layout — 通用区块
   ================================ */
.section{max-width:1280px;margin:0 auto;padding:78px 0;}
.section-header{margin-bottom:34px;}
.section-eyebrow{margin-bottom:8px;color:var(--sage);font-size:1.5rem;font-weight:800;}
.section-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1.3;}
.section-header p{margin-top:12px;color:var(--text-secondary);font-size:1rem;}

/* ================================
   Features Grid — 能力特性
   ================================ */
.ability{background:var(--sage-light);}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.feature-card{min-height:200px;padding:26px 24px;border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);}
.feature-card:hover{border-color:rgba(107,155,110,0.5);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.feature-kicker{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:18px;border-radius:50%;background:var(--sage-light);color:var(--sage-dark);font-size:1rem;font-weight:800;}
.feature-card h3{margin-bottom:9px;color:var(--text-primary);font-size:1.08rem;font-weight:800;}
.feature-card p{color:var(--text-secondary);font-size:0.94rem;line-height:1.75;}

/* ================================
   Examples Band — 开发场景
   ================================ */
.examples-band{border-bottom:1px solid var(--border);background:var(--cream);}
.examples-layout{display:grid;grid-template-columns:0.86fr 1.14fr;gap:36px;align-items:start;}
.example-list{display:grid;gap:14px;}
.example-item{padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,0.66);}
.example-item h3{margin-bottom:8px;font-size:1rem;}
.example-item p{color:var(--text-secondary);font-size:0.92rem;}

/* ================================
   Intro Header — 内页通用头部
   ================================ */
.intro{text-align:center;padding:20px 0;flex:0 0 100%;}
.intro-title{font-size:34px;padding-top:38px;padding-bottom:10px;font-weight:bold;color:#252a35;}
.intro-info{margin-top:5px;color:rgba(0,0,0,0.4);}
.intro-info span{margin:0 7px;}
.intro-info a{color:#888;text-decoration:underline;}
.intro-info a:hover{color:#7485e3;}
.intro-btn{position:relative;padding-top:55px;margin-bottom:20px;display:flex;justify-content:center;flex-wrap:wrap;}
.intro-btn a{display:inline-block;margin:0 10px;}

/* ================================
   Article & Feature Page — 文章/关于/更新页
   ================================ */
.article{color:#494c58;margin:100px 0;position:relative;max-width:1210px;margin:0 auto;padding:50px 20px;width: 100%;min-height: calc(100vh - 65px - 250px);}
.back{background:#fff;position:absolute;left: -27px;top: 97px;padding:10px;border-radius:5px;height:30px;display:flex;align-items:center;font-size:20px;font-weight:lighter;}
.ext-page .back{
    left: -46px;
    top: 0;
}
.feature{color:#494c58;margin:0 auto;position:relative;max-width:1210px;padding:50px 20px;}
.feature a{color:#768fe7;}
.feature p{margin-bottom:14px;line-height:1.9;}
.feature > ul li{list-style:disc;margin-left:20px;margin-bottom:8px;line-height:1.9;}

/* ================================
   Box & List — 列表页
   ================================ */
.box{margin-bottom:15px;box-shadow:1px 1px 5px rgba(0,0,0,0.05);background:#fff;border-radius:4px;overflow:hidden;flex:1;}
.box-name{width:100%;display:flex;align-items:center;padding:15px;border-bottom:1px solid #f1f1f1;font-weight:bold;}
.box-name::before{content:"";width:2px;height:12px;background:#616978;display:inline-block;margin-right:10px;}
.list{padding:10px 0;}
.list li{padding:8px 20px;list-style:none;margin:5px 0 0;width:100%;display:flex;}
.list li:hover{background:#f5f5f5;}
.list a{text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.list span{color:#a7a8ac;font-size:14px;display:inline-block;white-space:nowrap;min-width:100px;text-align:center;flex:0 0 100px;}
.list span:first-child{flex:1;text-align:left;}
.list-title span{color:#373e4e;white-space:nowrap;min-width:100px;text-align:center;}
.list-title span:first-child{flex:1;text-align:left;}
.top a{color:#fb7a89;}
.private a{color:#4caf50;}

/* ================================
   Extension Registry — 官方扩展库
   ================================ */
.ext-page{max-width:1210px;width:100%;margin:0 auto;padding:38px 20px 70px;color:#494c58;min-height:calc(100vh - 65px - 250px);}

main.ext-page {}
.ext-intro{background:linear-gradient(180deg,var(--sage-mist),rgba(255,255,255,0));}
.ext-hero-search{width:100%;max-width:780px;margin:18px auto 12px;padding:0 20px;}
.ext-hero-search label{display:flex;align-items:center;height:58px;border:1px solid rgba(107,155,110,0.28);border-radius:8px;background:#fff;box-shadow:0 18px 38px rgba(31,41,51,0.10);}
.ext-hero-search span{flex:0 0 auto;padding:0 20px;color:#2f654a;font-size:0.95rem;font-weight:800;white-space:nowrap;}
.ext-hero-search input{flex:1;min-width:0;height:100%;border:none;background:transparent;color:#252a35;font-size:1.08rem;}
.ext-hero-search input:focus{box-shadow:none;}
.ext-hero-search input::placeholder{color:#98a2a0;}
.ext-list-panel{border:1px solid rgba(232,228,221,0.9);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm);overflow:hidden;}
.ext-list-table-wrap{width:100%;overflow-x:auto;}
.ext-list-table{width:100%;border-collapse:collapse;font-size:0.94rem;}
.ext-list-table th{padding:10px 16px;border-bottom:1px solid #edf0ed;background:#f6f8f6;color:#687381;font-size:0.82rem;font-weight:700;text-align:left;white-space:nowrap;}
.ext-list-table td{padding:14px 16px;border-bottom:1px solid #edf0ed;color:#394150;vertical-align:middle;}
.ext-list-table tr:last-child td{border-bottom:none;}
.ext-list-table tbody tr:hover{background:#f8fbf8;}
.ext-list-table tbody tr[data-ext-href]{cursor:pointer;}
.ext-list-table tbody tr[data-ext-href]:focus{outline:2px solid rgba(107,155,110,0.48);outline-offset:-2px;background:#f8fbf8;}
.ext-list-table th:first-child,.ext-list-table td:first-child{width:28%;}
.ext-list-table th:nth-child(2),.ext-list-table td:nth-child(2){width:44%;}
.ext-list-table th:nth-child(3),.ext-list-table td:nth-child(3){width:12%;white-space:nowrap;}
.ext-list-table th:nth-child(4),.ext-list-table td:nth-child(4){width:16%;white-space:nowrap;}
.ext-list-file a{color:#2f654a;font-family:"JetBrains Mono","Fira Code","Cascadia Code","Microsoft YaHei",monospace;font-weight:700;}
.ext-list-file a:hover{text-decoration:underline;}
.ext-list-summary{color:var(--text-secondary);}
.ext-list-none{color:var(--text-muted);text-align:center;}
.ext-list-empty{padding:30px 16px;color:var(--text-muted);text-align:center;}
.ext-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.ext-card{display:flex;min-height:230px;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid rgba(232,228,221,0.9);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition);}
.ext-card:hover{border-color:rgba(107,155,110,0.45);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.ext-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.ext-card h2{margin-bottom:8px;color:#252a35;font-size:1.22rem;line-height:1.25;}
.ext-card h2 a:hover{color:var(--sage-dark);}
.ext-card p{color:var(--text-secondary);font-size:0.95rem;line-height:1.8;}
.ext-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.ext-card-meta span,.ext-tag{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:999px;background:#eef3f7;color:#426178;font-size:0.82rem;font-weight:700;white-space:nowrap;}
.ext-tag-official{background:var(--sage-light);color:var(--sage-dark);}
.ext-tag-yanked{background:#f7e9e9;color:#9d4242;}
.ext-card-permission{margin-top:14px;color:var(--text-muted);font-size:0.9rem;}
.ext-install-line{margin-top:18px;padding:12px 14px;border-radius:var(--radius-sm);background:#f6f8fa;overflow-x:auto;}
.ext-install-line code,.ext-install-box code{font-family:"JetBrains Mono","Fira Code","Cascadia Code","Microsoft YaHei",monospace;color:#364052;white-space:nowrap;}
.ext-empty,.ext-missing{padding:42px 24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;text-align:center;}
.ext-missing p{margin-bottom:18px;color:var(--text-secondary);}
.ext-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;color:var(--text-muted);font-size:0.92rem;}
.ext-breadcrumb a{color:#4f6fb0;}
.ext-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;}
.ext-detail-main,.ext-detail-side,.ext-detail-main > *,.ext-detail-side > *{min-width:0;max-width:100%;}
.ext-detail-main{display:grid;position:relative;gap:18px;}
.ext-detail-side{display:grid;gap:18px;}
.ext-detail-title,.ext-install-box,.ext-section,.ext-side-block{border:1px solid rgba(232,228,221,0.9);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm);}
.ext-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px;}
.ext-detail-title h1{margin-bottom:8px;color:#252a35;font-size:1.7rem;line-height:1.25;}
.ext-detail-title p{color:var(--text-secondary);line-height:1.85;}
.ext-install-box,.ext-section,.ext-side-block{padding:22px;}
.ext-box-title{margin-bottom:12px;color:#252a35;font-size:1rem;font-weight:800;}
.ext-install-box{display:grid;gap:10px;}
.ext-install-box code{display:block;padding:12px 14px;border-radius:var(--radius-sm);background:#f6f8fa;overflow-x:auto;}
.ext-section h2{margin-bottom:14px;color:#252a35;font-size:1.12rem;}
.ext-api-list,.ext-permission-list,.ext-version-list{display:grid;gap:10px;list-style:none;}
.ext-api-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 0;border-bottom:1px solid #f1f1f1;}
.ext-api-list li:last-child{border-bottom:none;}
.ext-api-list code{min-width:0;font-family:"JetBrains Mono","Fira Code","Cascadia Code","Microsoft YaHei",monospace;color:#3e5f91;overflow-wrap:anywhere;}
.ext-api-list span{min-width:0;color:var(--text-secondary);font-size:0.9rem;text-align:right;overflow-wrap:anywhere;}
.ext-readme{min-width:0;max-width:100%;line-height:1.9;overflow-wrap:anywhere;}
.ext-readme h3,.ext-readme h4,.ext-readme h5{margin:20px 0 10px;color:#252a35;}
.ext-readme ul{margin:10px 0 10px 20px;}
.ext-readme pre,.ext-readme template,.ext-readme .iceCode,.ext-readme .iceCode-main,.ext-readme .iceCode-content{min-width:0;max-width:100%;overflow-x:auto;}
.ext-readme p code,.ext-readme li code,.ext-readme td code{max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.ext-readme table{display:block;max-width:100%;overflow-x:auto;}
.ext-meta-list{display:grid;grid-template-columns:94px minmax(0,1fr);gap:9px 12px;font-size:0.92rem;}
.ext-meta-list dt{color:var(--text-muted);}
.ext-meta-list dd{min-width:0;color:#394150;overflow-wrap:anywhere;}
.ext-source-link{display:block;color:#4f6fb0;line-height:1.7;overflow-wrap:anywhere;}
.ext-permission-list li,.ext-version-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f2f2f2;font-size:0.9rem;}
.ext-permission-list li:last-child,.ext-version-list li:last-child{border-bottom:none;}
.ext-permission-list strong{font-size:0.86rem;}
.ext-permission-enabled strong{color:var(--sage-dark);}
.ext-permission-disabled{color:var(--text-muted);}
.ext-version-list li{flex-wrap:wrap;justify-content:flex-start;}
.ext-version-list span{color:#394150;}

/* ================================
   Login — 登录页
   ================================ */
.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 65px - 70px);padding:40px 24px;}
.login-card{width:100%;max-width:420px;padding:44px 40px 40px;border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-lg);animation:upIn 0.6s ease;}
.login-brand{text-align:center;margin-bottom:36px;}
.login-logo{height:64px;margin-bottom:12px;}
.login-title{margin-bottom:4px;color:var(--sage);font-size:1.8rem;font-weight:800;}
.login-subtitle{color:var(--text-muted);font-size:0.92rem;}
.login-form{display:flex;flex-direction:column;gap:18px;}
.login-field{position:relative;display:flex;align-items:center;}
.login-field-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none;z-index:1;}
.login-field input{width:100%;height:46px;padding:0 14px 0 42px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--warm-white);color:var(--text-primary);font-size:0.95rem;transition:border-color var(--transition),box-shadow var(--transition);}
.login-field input::placeholder{color:#b3bbce;}
.login-field input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(107,155,110,0.12);outline:none;}
.login-btn{width:100%;height:46px;margin-top:8px;font-size:1rem;letter-spacing:2px;border-radius:var(--radius-sm);}

/* ================================
   Title — 通用内容标题
   ================================ */
.title{font-size:16px;width:100%;background:inherit;overflow:hidden;position:relative;margin:30px 0 15px;clear:both;display:flex;align-items:center;color:#21252d;}
.title::before{content:"";width:3px;height:12px;background:#3b4071;display:inline-block;margin-right:5px;}
.title span{font-weight:bold;}
.title a{margin-left:5px;text-decoration:underline;color:#626262;margin-top:3px;}

/* ================================
   Comment — 留言评论
   ================================ */
#comment{margin-bottom:80px;}
.comment{background:#fff;padding:30px;border-radius:7px;}
.comment-form{}
.comment-form textarea{height:88px;border:none;}
.comment-info{display:flex;border-bottom:1px solid #9094ab;}
.comment-info-item{flex:1;display:flex;align-items:center;}
.comment-info-item label{width:100px;display:inline-block;text-align:center;border-right:1px solid #c3c7db;}
.comment-info-item input{border:none;width:100%;}
.comment-submit{display:flex;align-items:center;}
.comment-submit .btn{border-radius:0;background:#9094ab;color:#fff;margin:0;border-right:1px solid #9094ab;}
.comment-list+.paging{padding-left:0;}
.comment-list .comment-list{margin-left:25px;}
.comment-user{color:#4caf50;display:inline-block;}
.comment-admin>.comment-title .comment-user{color:#f44336;}
.comment-time{color:#999;margin-left:10px;}
.comment-title a{color:#f44336;margin-left:10px;}
.comment li{color:#525d76;padding:15px 0;border-bottom:1px solid #f6f6f6;margin:0;}
.comment li:last-child{border-bottom:none;}
.comment p{margin-bottom:0;}
.comment-reply{margin:0 5px;cursor:pointer;}
.comment-replys{margin-left:15px;}
.comment-replys span{margin-left:8px;color:#3f51b5;text-align:center;border:1px solid #3f51b5;border-radius:2px;padding:1px 4px;font-size:12px;cursor:pointer;}

/* ================================
   Pagination — 分页
   ================================ */
.paging{padding:20px;font-size:16px;display:table;margin-bottom:20px;}
.paging a{padding:10px;margin-left:-1px;border-top:none;border-right:none;border-left:none;border-image:initial;border-bottom:2px solid #eaeaea;text-decoration:none;}
.paging a:hover{border-top:none;border-right:none;border-left:none;border-image:initial;background:none;border-bottom:2px solid #7485e3;color:#7485e3;}
.paging a.paging-active{color:#7485e3;background:none;border-top:none;border-right:none;border-left:none;border-image:initial;border-bottom:2px solid #7485e3;}
.paging-prev:hover,.paging-next:hover{color:#696a6b;background:#fff;border-top:none;border-right:none;border-left:none;border-image:initial;border-bottom:2px solid #696a6b;}
.paging-disabled{cursor:not-allowed;color:#a4a7b7!important;border-bottom:2px solid #eaeaea!important;}
.paging-ell{padding:10px;display:inline-block;border-bottom:2px solid #eaeaea;}

/* ================================
   Code Tool Page — 代码高亮工具页
   ================================ */
.code-main{display:flex;background:#fff;padding:10px;min-height:300px;}
.code-input{flex:0 0 40%;width:100%;height:100%;border:none;border-right:1px solid #eee;white-space:pre-wrap;font-family:Consolas,sans-serif,"Microsoft YaHei";-webkit-user-modify:read-write-plaintext-only;color:#525d76;outline:none;background-attachment:local;line-height:25px;padding:0 10px;box-sizing:border-box;overflow:auto;}
.code-generate{padding:10px;border-left:1px solid #eee;margin-left:-1px;flex:1;}

/* ================================
   Popup & Alert — 弹窗提示（JS 动态生成）
   ================================ */
.pop{color:#dfdfdf;position:fixed;width:250px;height:fit-content;margin:auto;display:inline-block;inset:0;z-index:999999;padding:10px 0;background:rgba(66,66,66,0.85);text-align:center;}
.pop-title{padding:10px 20px;display:inline-block;font-size:15px;}
.alert{position:fixed;top:0;left:0;z-index:99990;width:100%;height:100%;display:flex;align-items:center;}
.alert-bg{width:100%;height:100%;margin:0 auto;background:#000;opacity:0.15;top:0;left:0;position:fixed;}
.alert-box{width:300px;background:#fff;position:relative;margin:auto;inset:0;box-shadow:rgba(0,0,0,0.13) 4px 4px 10px;border-radius:2px;}
.alert-content{font-size:16px;position:relative;padding:20px;}
.alert-footer{width:100%;border-top:1px solid #f3f3f3;padding:10px;text-align:right;}
.alert-footer>div{padding:0 10px;height:25px;line-height:25px;cursor:pointer;display:inline-block;}
.alert-cancel{color:#888;}
.alert-cancel:hover{color:#768fe7;}
.alert-confirm{background:#948cd1;color:#fff;border-radius:2px;}
.alert-confirm:hover{background:#677ecf;color:#fff;}

/* ================================
   Footer
   ================================ */
.footer{color:var(--text-muted);text-align:center;font-size:0.88rem;background:var(--warm-white);}
.footer-main{margin:auto;max-width:1300px;height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;}
.footer a{text-decoration:none;color:#8194d7;margin-left:10px;}
.doc + .footer{position:absolute;z-index:1;margin-left:260px;margin-top:-70px;width:calc(100% - 260px);}

/* ================================
   Animations — 通用动画
   ================================ */
.ani-in{animation:0.6s in;}
.ani-out{animation:0.6s out;}
.ani-up-in{animation:0.6s upIn;}
.ani-down-in{animation:0.6s downIn;}
@keyframes in{0%{opacity:0;}100%{opacity:1;}}
@keyframes out{0%{opacity:1;}100%{opacity:0;}}
@keyframes upIn{0%{opacity:0;transform:translate3d(0,-10%,0);}100%{opacity:1;transform:translate3d(0,0,0);}}
@keyframes downIn{0%{opacity:0;transform:translate3d(0,10%,0);}100%{opacity:1;transform:translate3d(0,0,0);}}

/* ================================
   Responsive — Tablet (≤900px)
   ================================ */
@media (max-width:900px){
    .hero{padding-top:72px;}
    .hero-grid,.examples-layout{grid-template-columns:1fr;}
    .features{grid-template-columns:repeat(2,minmax(0,1fr));}
    .ext-grid,.ext-detail-layout{grid-template-columns:1fr;}
}

/* ================================
   Responsive — Mobile (≤640px)
   ================================ */
@media (max-width:640px){
    .navbar{padding:0 18px;}
    .navbar-inner{height:auto;min-height:60px;flex-wrap:wrap;gap:8px;padding:12px 0;justify-content:flex-start;}
    .nav-links{width:100%;gap:16px;overflow-x:auto;padding-bottom:2px;}
    .hero,.section{padding-left:18px;padding-right:18px;}
    .hero{padding-top:54px;padding-bottom:34px;}
    .hero-actions{display:grid;grid-template-columns:1fr;}
    .btn{width:100%;}
    .code-block{padding:22px 18px 24px;}
    .features{grid-template-columns:1fr;}
    .section{padding-top:58px;padding-bottom:58px;}
    .intro{padding:10px;}
    .intro-title{font-size:25px;padding-top:20px;padding-bottom:5px;}
    .intro-btn{padding-top:20px;text-align:center;display:block;}
    .intro-btn a{margin:10px;display:inline-block;width:180px!important;}
    .intro-btn .btn-cat{margin-top:50px;display:inline-block;}
    .intro-btn .btn-cat a{margin:0;}
    .article{padding:20px;width:100%;}
    .back{position:relative;border:1px solid #888;display:inline-flex;margin:10px;left:0;}
    .ext-detail-main .back{margin:0;width:max-content;}
    .feature{padding:20px;width:100%;}
    .list a{padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;width:100%;}
    .list span{display:none;}
    .list-title span{display:none;}
    .list-title span:first-child{display:block;}
    .ext-page{padding:24px 14px 48px;}
    .ext-grid{gap:14px;}
    .ext-hero-search{margin-top:14px;padding:0 14px;}
    .ext-hero-search label{height:auto;min-height:56px;align-items:stretch;}
    .ext-hero-search span{display:flex;align-items:center;padding:0 14px;font-size:0.88rem;}
    .ext-hero-search input{padding-right:14px;font-size:1rem;}
    .ext-list-table th,.ext-list-table td{padding:12px 14px;}
    .ext-list-table th:first-child,.ext-list-table td:first-child{min-width:190px;}
    .ext-list-table th:nth-child(2),.ext-list-table td:nth-child(2){min-width:220px;}
    .ext-card,.ext-detail-title,.ext-install-box,.ext-section,.ext-side-block{padding:18px;}
    .ext-detail-main > *,.ext-detail-side > *,.ext-detail-title > *,.ext-install-box > *,.ext-section > *,.ext-side-block > *{min-width:0;}
    .ext-card-top,.ext-detail-title,.ext-api-list li{display:grid;gap:10px;justify-content:stretch;}
    .ext-detail-title .ext-tag{width:max-content;}
    .ext-card-meta{gap:6px;}
    .ext-api-list span{text-align:left;}
    .ext-meta-list{grid-template-columns:1fr;}
        .login-wrapper{padding:20px;}
    .login-card{padding:32px 24px 28px;}
    .login-logo{height:52px;}
    .login-title{font-size:1.5rem;}
    .comment{padding:20px;}
    .footer{display:block;width:100%;padding:10px;margin:0;}
    .footer-main{height:auto;min-height:60px;flex-wrap:wrap;gap:8px;padding:12px 0;justify-content:flex-start;}
    .code-main{flex-direction:column;}
    .code-input{flex:0 0 auto;min-height:120px;border-right:none;border-bottom:1px solid #eee;}
    .code-generate{border-left:none;margin-left:0;}
}

/* ================================
   Carlos Castaneda — 首页视觉系统
   新站独立样式，避免影响 btlang.org 官网。
   ================================ */
body[data-site="carloscastaneda.org"]{
    --cc-ink:#111214;
    --cc-night:#0b0d10;
    --cc-night-soft:#17191b;
    --cc-paper:#ece3d2;
    --cc-paper-light:#f5efe4;
    --cc-earth:#9a4e28;
    --cc-copper:#c6773d;
    --cc-gold:#d7aa65;
    --cc-line:rgba(104,79,53,.22);
    background:#e8dfcf;
    color:#211e1a;
}
body[data-site="carloscastaneda.org"] ::selection{background:#b96535;color:#fff8ed;}

/* Navigation */
body[data-site="carloscastaneda.org"] .cc-navbar{
    position:fixed;
    width:100%;
    border-bottom:1px solid rgba(222,178,115,.16);
    background:rgba(9,11,13,.84);
    box-shadow:0 12px 40px rgba(0,0,0,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
body[data-site="carloscastaneda.org"] .navbar-inner{max-width:1320px;height:76px;}
.cc-brand{display:flex;align-items:center;gap:13px;color:#f4ead9;text-decoration:none;min-width:0;}
.cc-brand-mark{position:relative;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(215,170,101,.72);border-radius:50%;transform:rotate(-12deg);}
.cc-brand-mark::before,.cc-brand-mark::after{content:"";position:absolute;border-radius:50%;}
.cc-brand-mark::before{width:5px;height:5px;left:8px;top:8px;background:var(--cc-gold);box-shadow:11px 9px 0 rgba(215,170,101,.55);}
.cc-brand-mark::after{inset:6px;border:1px solid rgba(215,170,101,.28);border-left-color:transparent;}
.cc-brand-mark i{position:absolute;width:1px;height:42px;left:16px;top:-5px;background:linear-gradient(transparent,var(--cc-gold),transparent);transform:rotate(42deg);}
.cc-brand-copy{display:flex;flex-direction:column;line-height:1.15;letter-spacing:.05em;}
.cc-brand-copy b{font-family:Georgia,"Times New Roman",serif;font-size:.92rem;letter-spacing:.16em;font-weight:500;}
.cc-brand-copy small{margin-top:5px;color:rgba(244,234,217,.56);font-size:.68rem;letter-spacing:.1em;}
body[data-site="carloscastaneda.org"] .nav-links{gap:30px;}
body[data-site="carloscastaneda.org"] .nav-links a{position:relative;color:rgba(244,234,217,.72);font-size:.86rem;letter-spacing:.08em;}
body[data-site="carloscastaneda.org"] .nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--cc-gold);transition:right .25s ease;}
body[data-site="carloscastaneda.org"] .nav-links a:hover{color:#fff6e7;}
body[data-site="carloscastaneda.org"] .nav-links a:hover::after{right:0;}

/* Hero */
.cc-hero{position:relative;min-height:820px;height:100vh;max-height:980px;display:flex;align-items:center;overflow:hidden;color:#f5ecdf;background:#0a0c0f url('/static/carlos-desert-hero.jpg') center center/cover no-repeat;isolation:isolate;}
.cc-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,7,10,.94) 0%,rgba(5,7,10,.79) 38%,rgba(5,7,10,.26) 69%,rgba(5,7,10,.18) 100%);}
.cc-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:soft-light;pointer-events:none;}
.cc-hero-shade{position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(9,10,11,.78));pointer-events:none;}
.cc-hero-inner{position:relative;width:min(1320px,calc(100% - 96px));margin:76px auto 0;display:flex;align-items:flex-end;justify-content:space-between;gap:80px;}
.cc-hero-copy{max-width:710px;animation:ccRise .9s both cubic-bezier(.2,.75,.2,1);}
.cc-kicker,.cc-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:var(--cc-gold);font-size:.72rem;font-weight:600;letter-spacing:.22em;}
.cc-kicker span{display:block;width:46px;height:1px;background:var(--cc-gold);}
.cc-hero h1{margin:0;font-family:Georgia,"Times New Roman","Noto Serif SC",serif;font-weight:400;line-height:.96;}
.cc-title-cn{display:block;font-size:clamp(3.4rem,6.6vw,6.6rem);letter-spacing:-.055em;text-shadow:0 4px 30px rgba(0,0,0,.3);}
.cc-title-en{display:block;margin-top:20px;color:rgba(244,234,217,.57);font-size:clamp(1.25rem,2.2vw,2rem);font-style:italic;letter-spacing:.08em;}
.cc-hero-lead{margin:42px 0 14px;padding-left:20px;border-left:2px solid var(--cc-copper);font-family:Georgia,"Noto Serif SC",serif;font-size:1.35rem;letter-spacing:.04em;}
.cc-hero-text{max-width:660px;margin:0;color:rgba(245,236,223,.7);font-size:.98rem;line-height:1.9;}
.cc-hero-actions{display:flex;gap:14px;margin-top:34px;}
.cc-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 25px;border:1px solid rgba(206,169,114,.55);color:#f8efe1;text-decoration:none;font-size:.84rem;letter-spacing:.08em;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.cc-button:hover{transform:translateY(-2px);}
.cc-button-primary{border-color:var(--cc-copper);background:var(--cc-earth);color:#fff7eb;box-shadow:0 14px 34px rgba(109,47,22,.22);}
.cc-button-primary:hover{background:#b45f31;color:#fff;}
.cc-button-ghost{background:rgba(12,13,14,.24);}
.cc-button-ghost:hover{border-color:var(--cc-gold);background:rgba(10,11,12,.54);color:#fff;}
.cc-hero-index{display:grid;gap:22px;min-width:155px;padding:0 0 60px;border-left:1px solid rgba(227,190,134,.22);animation:ccRise 1s .15s both cubic-bezier(.2,.75,.2,1);}
.cc-hero-index div{padding-left:28px;}
.cc-hero-index strong{display:block;color:#f0d5ad;font-family:Georgia,"Times New Roman",serif;font-size:2.1rem;font-weight:400;line-height:1;}
.cc-hero-index span{display:block;margin-top:7px;color:rgba(245,236,223,.48);font-size:.68rem;letter-spacing:.12em;}
.cc-scroll{position:absolute;left:48px;bottom:34px;display:flex;align-items:center;gap:12px;color:rgba(245,236,223,.5);text-decoration:none;font-size:.6rem;letter-spacing:.2em;writing-mode:vertical-rl;}
.cc-scroll span{display:block;width:1px;height:48px;background:linear-gradient(var(--cc-gold),transparent);}

/* Shared section styles */
.cc-home{overflow:hidden;background:var(--cc-paper);}
.cc-wrap{width:min(1240px,calc(100% - 80px));margin:0 auto;}
.cc-section-heading h2{margin:0;color:#1e1c19;font-family:Georgia,"Times New Roman","Noto Serif SC",serif;font-size:clamp(2.5rem,4.7vw,4.6rem);font-weight:400;line-height:1.14;letter-spacing:-.04em;}
.cc-eyebrow{margin-bottom:20px;color:#9b5732;}

/* Author */
.cc-author{position:relative;padding:130px 0 110px;background:var(--cc-paper-light);}
.cc-author::before{content:"C";position:absolute;right:-24px;top:-92px;color:rgba(113,79,46,.045);font-family:Georgia,serif;font-size:430px;line-height:1;pointer-events:none;}
.cc-author-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(450px,1.18fr);gap:100px;align-items:start;}
.cc-author-copy{padding-top:54px;color:#4d4439;}
.cc-author-copy p{margin:0 0 20px;font-size:1rem;line-height:2;}
.cc-author-copy .cc-dropcap::first-letter{float:left;margin:7px 10px 0 0;color:#8f4826;font-family:Georgia,serif;font-size:4.4rem;line-height:.75;}
.cc-author-meta{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);}
.cc-author-meta span{padding:22px 16px 22px 0;border-right:1px solid var(--cc-line);color:#786a59;font-size:.72rem;letter-spacing:.08em;}
.cc-author-meta span:last-child{border-right:0;padding-left:16px;}
.cc-author-meta b{display:block;margin-bottom:6px;color:#2d2923;font-family:Georgia,serif;font-size:1.2rem;font-weight:400;letter-spacing:.02em;}

/* Four ideas */
.cc-principles{background:#141516;color:#e9dfd0;}
.cc-principle-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.cc-principle-grid article{position:relative;min-height:250px;padding:52px 35px 46px;border-left:1px solid rgba(224,188,134,.14);}
.cc-principle-grid article:last-child{border-right:1px solid rgba(224,188,134,.14);}
.cc-principle-grid span{color:#b36b3c;font-family:Georgia,serif;font-size:.75rem;letter-spacing:.12em;}
.cc-principle-grid h3{margin:52px 0 12px;font-family:Georgia,"Noto Serif SC",serif;font-size:1.7rem;font-weight:400;}
.cc-principle-grid p{margin:0;color:rgba(233,223,208,.52);font-size:.86rem;line-height:1.8;}

/* Library */
.cc-library{padding:130px 0 120px;background:var(--cc-paper);}
.cc-library-head{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:72px;}
.cc-library-head>p{margin:0 0 6px;color:#665a4b;font-size:.9rem;line-height:1.9;}
.cc-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.cc-book-card{display:flex;flex-direction:column;min-width:0;background:rgba(249,245,237,.68);border:1px solid rgba(105,79,51,.18);box-shadow:0 18px 45px rgba(66,45,24,.055);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.cc-book-card:hover{transform:translateY(-7px);border-color:rgba(154,78,40,.38);box-shadow:0 28px 60px rgba(66,45,24,.13);}
.cc-book-cover{height:352px;display:flex;align-items:center;justify-content:center;padding:35px;background:radial-gradient(circle at 50% 36%,rgba(202,137,79,.2),transparent 48%),linear-gradient(145deg,#292724,#151617);overflow:hidden;}
.cc-book-cover img{height:100%;max-width:100%;object-fit:contain;box-shadow:10px 15px 30px rgba(0,0,0,.44);transition:transform .45s ease,filter .45s ease;}
.cc-book-card:hover .cc-book-cover img{transform:scale(1.025) rotate(-.35deg);filter:saturate(1.08);}
.cc-book-body{display:flex;flex:1;flex-direction:column;padding:28px 28px 30px;}
.cc-book-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:#a15a33;font-size:.66rem;letter-spacing:.16em;}
.cc-book-meta time{color:#7d6c59;font-family:Georgia,serif;font-size:1rem;letter-spacing:.04em;}
.cc-book-body h3{margin:0;color:#26231f;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:400;line-height:1.2;}
.cc-book-cn{min-height:26px;margin:7px 0 18px!important;color:#8c5031!important;font-family:"Noto Serif SC",serif;font-size:.82rem!important;}
.cc-book-body>p:last-child{margin:auto 0 0;color:#685d50;font-size:.84rem;line-height:1.82;}
.cc-library-note{max-width:900px;margin:48px auto 0;color:#837565;text-align:center;font-size:.75rem;line-height:1.8;}

/* Reading path */
.cc-path{padding:130px 0;background:#171819;color:#e9dfd1;}
.cc-path-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:120px;align-items:start;}
.cc-path .cc-section-heading h2{color:#f0e6d6;}
.cc-path .cc-section-heading>p:last-child{max-width:440px;margin:28px 0 0;color:rgba(233,223,209,.55);font-size:.9rem;line-height:1.9;}
.cc-path-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(221,184,129,.18);}
.cc-path-list li{display:grid;grid-template-columns:74px 1fr;gap:20px;padding:33px 0;border-bottom:1px solid rgba(221,184,129,.18);}
.cc-path-list>li>span{color:#b16a3e;font-family:Georgia,serif;font-size:1.25rem;}
.cc-path-list small{color:#9f8c73;font-size:.65rem;letter-spacing:.15em;}
.cc-path-list h3{margin:7px 0 8px;font-family:Georgia,"Noto Serif SC",serif;font-size:1.45rem;font-weight:400;}
.cc-path-list p{margin:0;color:rgba(233,223,209,.52);font-size:.84rem;line-height:1.8;}

/* Journal CTA */
.cc-journal{padding:110px 0;background:#a7532c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");color:#fff4e5;}
.cc-journal-card{display:grid;grid-template-columns:1.18fr .82fr;gap:100px;align-items:end;}
.cc-journal .cc-eyebrow{color:#f0c493;}
.cc-journal h2{max-width:720px;margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(2.4rem,4.5vw,4.4rem);font-weight:400;line-height:1.16;letter-spacing:-.04em;}
.cc-journal-card>div:last-child p{margin:0 0 26px;color:rgba(255,244,229,.72);font-size:.9rem;line-height:1.9;}
.cc-journal .cc-button-primary{background:#181818;border-color:#181818;box-shadow:none;}
.cc-journal .cc-button-primary:hover{background:#292929;}
.cc-journal .cc-button span{margin-left:14px;font-size:1.15rem;}

/* Footer */
body[data-site="carloscastaneda.org"] .footer{color:rgba(239,226,207,.48);background:#0c0d0e;border-top:1px solid rgba(215,170,101,.13);text-align:left;}
body[data-site="carloscastaneda.org"] .footer-main{max-width:1240px;height:96px;gap:40px;padding:0;}
body[data-site="carloscastaneda.org"] .footer a{color:#d09b62;margin:0;}
.cc-footer-brand{display:flex;flex-direction:column;line-height:1.2;}
.cc-footer-brand b{color:#eee1cf;font-family:Georgia,serif;font-size:.82rem;font-weight:400;letter-spacing:.13em;}
.cc-footer-brand small{margin-top:7px;font-size:.67rem;}
.cc-footer-runtime{margin-left:auto;}

@keyframes ccRise{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

@media (max-width:1020px){
    .cc-hero{min-height:760px;}
    .cc-hero-inner{width:min(100% - 64px,1240px);gap:38px;}
    .cc-author-grid{grid-template-columns:1fr;gap:30px;}
    .cc-author-copy{max-width:780px;padding-top:0;}
    .cc-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .cc-library-head{grid-template-columns:1fr;gap:28px;}
    .cc-path-grid{gap:70px;}
    .cc-journal-card{gap:60px;}
}

@media (max-width:760px){
    body[data-site="carloscastaneda.org"] .cc-navbar{padding:0 18px;}
    body[data-site="carloscastaneda.org"] .navbar-inner{height:auto;min-height:68px;padding:10px 0;}
    .cc-brand-copy small{display:none;}
    body[data-site="carloscastaneda.org"] .nav-links{gap:24px;padding:3px 0 4px;}
    .cc-hero{height:auto;min-height:780px;max-height:none;align-items:flex-end;background-position:61% center;}
    .cc-hero::before{background:linear-gradient(90deg,rgba(5,7,10,.9),rgba(5,7,10,.45)),linear-gradient(0deg,rgba(5,7,10,.88),transparent 55%);}
    .cc-hero-inner{width:calc(100% - 40px);margin:135px auto 78px;display:block;}
    .cc-kicker{font-size:.62rem;letter-spacing:.14em;}
    .cc-title-cn{font-size:clamp(2.8rem,14vw,4.3rem);line-height:1.05;}
    .cc-title-en{margin-top:12px;font-size:1.1rem;}
    .cc-hero-lead{margin-top:32px;font-size:1.06rem;}
    .cc-hero-text{font-size:.88rem;line-height:1.8;}
    .cc-hero-actions{display:grid;grid-template-columns:1fr;margin-top:28px;}
    .cc-hero-index{grid-template-columns:repeat(3,1fr);min-width:0;margin-top:44px;padding:22px 0 0;border-left:0;border-top:1px solid rgba(227,190,134,.22);}
    .cc-hero-index div{padding-left:0;}
    .cc-hero-index strong{font-size:1.55rem;}
    .cc-hero-index span{font-size:.57rem;letter-spacing:.05em;}
    .cc-scroll{display:none;}
    .cc-wrap{width:calc(100% - 36px);}
    .cc-author,.cc-library,.cc-path{padding:82px 0;}
    .cc-section-heading h2{font-size:2.55rem;}
    .cc-author-grid{display:block;}
    .cc-author-copy{margin-top:34px;}
    .cc-author-copy p{font-size:.92rem;line-height:1.9;}
    .cc-author-meta{grid-template-columns:repeat(2,1fr);}
    .cc-author-meta span:nth-child(2){border-right:0;padding-left:16px;}
    .cc-author-meta span:nth-child(-n+2){border-bottom:1px solid var(--cc-line);}
    .cc-principle-grid{grid-template-columns:repeat(2,1fr);}
    .cc-principle-grid article{min-height:210px;padding:35px 24px;}
    .cc-principle-grid article:nth-child(2){border-right:1px solid rgba(224,188,134,.14);}
    .cc-principle-grid h3{margin-top:32px;}
    .cc-book-grid{grid-template-columns:1fr;gap:18px;}
    .cc-book-card{display:grid;grid-template-columns:112px minmax(0,1fr);}
    .cc-book-cover{height:auto;min-height:210px;padding:16px 12px;}
    .cc-book-cover img{width:100%;height:auto;max-height:178px;}
    .cc-book-body{padding:20px 18px 21px;}
    .cc-book-meta{margin-bottom:11px;}
    .cc-book-body h3{font-size:1.08rem;}
    .cc-book-cn{min-height:0;margin:5px 0 11px!important;font-size:.72rem!important;}
    .cc-book-body>p:last-child{font-size:.76rem;line-height:1.65;}
    .cc-library-note{margin-top:30px;text-align:left;}
    .cc-path-grid,.cc-journal-card{grid-template-columns:1fr;gap:52px;}
    .cc-path-list li{grid-template-columns:48px 1fr;}
    .cc-journal{padding:78px 0;}
    .cc-journal h2{font-size:2.45rem;}
    .cc-journal-card>div:last-child{max-width:540px;}
    body[data-site="carloscastaneda.org"] .footer-main{height:auto;min-height:150px;display:grid;gap:14px;padding:28px 18px;}
    .cc-footer-runtime{margin-left:0;}
}

@media (prefers-reduced-motion:reduce){
    .cc-hero-copy,.cc-hero-index{animation:none;}
    .cc-book-card,.cc-book-cover img,.cc-button{transition:none;}
}

/* ================================
   Carlos Castaneda — 内页视觉系统
   ================================ */
.cc-page-hero{position:relative;min-height:470px;display:flex;align-items:flex-end;overflow:hidden;padding:178px 0 86px;color:#f4eadb;background:#111316 url('/static/carlos-desert-hero.jpg') center 45%/cover no-repeat;isolation:isolate;}
.cc-page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,11,.94),rgba(7,9,11,.72) 52%,rgba(7,9,11,.4)),linear-gradient(0deg,rgba(8,9,10,.86),transparent 60%);}
.cc-page-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:soft-light;}
.cc-page-hero-inner{position:relative;width:min(1240px,calc(100% - 80px));margin:0 auto;}
.cc-page-hero .cc-eyebrow{margin-bottom:18px;color:#d6a564;}
.cc-page-hero h1{max-width:940px;margin:0;color:#f6eddf;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(3.4rem,6.5vw,6.5rem);font-weight:400;line-height:1.06;letter-spacing:-.05em;text-shadow:0 6px 30px rgba(0,0,0,.25);}
.cc-page-hero-inner>p:last-of-type{max-width:700px;margin:24px 0 0;color:rgba(244,234,219,.64);font-size:.95rem;line-height:1.9;}
.cc-page-number{position:absolute;right:4.5vw;bottom:-.15em;color:rgba(233,194,137,.08);font-family:Georgia,serif;font-size:clamp(5rem,12vw,11rem);line-height:1;letter-spacing:.03em;pointer-events:none;}
.cc-page{width:min(1240px,calc(100% - 80px));margin:0 auto;}
.cc-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:34px;color:rgba(244,234,219,.44);font-size:.72rem;letter-spacing:.1em;}
.cc-breadcrumb a{color:rgba(244,234,219,.62);text-decoration:none;}
.cc-breadcrumb a:hover{color:#fff;}

/* 动态列表 */
.cc-list-page{padding:90px 0 120px;}
.cc-list-heading{display:grid;grid-template-columns:.45fr 1fr;gap:80px;align-items:end;padding-bottom:42px;border-bottom:1px solid var(--cc-line);}
.cc-list-heading>div{display:flex;align-items:baseline;gap:13px;}
.cc-list-count{color:#98502c;font-family:Georgia,serif;font-size:3.8rem;line-height:1;}
.cc-list-heading small{color:#837363;font-size:.73rem;letter-spacing:.12em;}
.cc-list-heading>p{max-width:580px;margin:0 0 5px;color:#6e6255;font-size:.88rem;line-height:1.8;}
.cc-entry-list{margin:0;padding:0;list-style:none;}
.cc-entry{border-bottom:1px solid var(--cc-line);}
.cc-entry-link{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr) 130px;grid-template-areas:"meta title more" "meta intro more";gap:10px 36px;padding:42px 24px;color:#28241f;text-decoration:none;transition:background .28s ease,padding .28s ease;}
.cc-entry-link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#a7572f;transform:scaleY(0);transition:transform .28s ease;}
.cc-entry-link:hover{padding-left:34px;background:rgba(249,245,237,.66);color:#28241f;}
.cc-entry-link:hover::before{transform:scaleY(1);}
.cc-entry-meta{grid-area:meta;display:flex;flex-wrap:wrap;align-content:start;gap:8px 12px;padding-top:4px;color:#9b5532;font-size:.67rem;letter-spacing:.1em;}
.cc-entry-meta time{color:#897866;}
.cc-entry-pin{padding:1px 7px;border:1px solid rgba(154,78,40,.36);color:#9b4e29;}
.cc-entry h2{grid-area:title;margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:1.75rem;font-weight:400;line-height:1.35;}
.cc-entry p{grid-area:intro;max-width:720px;margin:0;color:#706457;font-size:.85rem;line-height:1.8;}
.cc-entry-more{grid-area:more;align-self:center;justify-self:end;color:#875137;font-size:.72rem;letter-spacing:.08em;white-space:nowrap;}
.cc-entry-more b{margin-left:8px;font-size:1rem;font-weight:400;transition:margin .2s ease;}
.cc-entry-link:hover .cc-entry-more b{margin-left:14px;}
.cc-empty-note{padding:100px 0;text-align:center;}
.cc-empty-note span{font-family:Georgia,"Noto Serif SC",serif;font-size:2rem;}
.cc-empty-note p{margin:12px 0 0;color:#847565;}

/* 文章详情 */
.cc-article-hero{min-height:560px;}
.cc-article-hero h1{max-width:1020px;font-size:clamp(2.8rem,5.4vw,5.4rem);}
.cc-article-meta{display:flex;gap:22px;margin-top:24px;color:rgba(238,219,192,.48);font-size:.68rem;letter-spacing:.1em;}
.cc-article-page{display:grid;grid-template-columns:minmax(0,820px) 260px;gap:90px;align-items:start;padding:90px 0 120px;}
.cc-prose{min-width:0;padding:0;border-radius:0;background:transparent;color:#4d4439;font-size:1rem;line-height:2;}
.cc-prose>*:first-child{margin-top:0;}
.cc-prose h1{display:none;}
.cc-prose h2{margin:2.4em 0 .7em;padding-top:.3em;color:#27231e;font-family:Georgia,"Noto Serif SC",serif;font-size:1.75rem;font-weight:400;line-height:1.4;}
.cc-prose h3{margin:2em 0 .6em;color:#3b342b;font-family:Georgia,"Noto Serif SC",serif;font-size:1.3rem;font-weight:400;}
.cc-prose h4{margin:2.4em 0 .7em;padding-top:.3em;color:#27231e;font-family:Georgia,"Noto Serif SC",serif;font-size:1.75rem;font-weight:400;line-height:1.4;}
.cc-prose p{margin:0 0 1.25em;}
.cc-prose strong{color:#874928;font-weight:600;}
.cc-prose a{color:#9b512b;text-decoration-color:rgba(155,81,43,.35);text-underline-offset:4px;}
.cc-prose blockquote{position:relative;margin:2.3em 0;padding:28px 34px 28px 42px;border:0;border-left:2px solid #a65a32;background:rgba(249,245,237,.72);color:#4b3e32;font-family:Georgia,"Noto Serif SC",serif;font-size:1.17rem;line-height:1.85;}
.cc-prose blockquote::before{content:"“";position:absolute;left:12px;top:3px;color:rgba(161,82,42,.26);font-family:Georgia,serif;font-size:3rem;}
.cc-prose ul,.cc-prose ol{margin:1.4em 0 1.8em;padding-left:1.6em;}
.cc-prose li{margin:.65em 0;padding-left:.35em;}
.cc-prose hr{height:1px;margin:3em 0;border:0;background:var(--cc-line);}
.cc-article-aside{position:sticky;top:110px;padding:28px 0;border-top:1px solid #a75a32;border-bottom:1px solid var(--cc-line);}
.cc-aside-index{color:#a15831;font-size:.6rem;letter-spacing:.18em;}
.cc-article-aside h2{margin:16px 0 12px;font-family:Georgia,"Noto Serif SC",serif;font-size:1.35rem;font-weight:400;}
.cc-article-aside p{margin:0 0 22px;color:#766859;font-size:.78rem;line-height:1.8;}
.cc-article-aside a{color:#95502d;font-size:.76rem;text-decoration:none;}

/* 关于 */
.cc-about-page{padding:90px 0 120px;}
.cc-about-manifesto{display:grid;grid-template-columns:120px minmax(0,780px);gap:36px;align-items:start;margin-bottom:88px;padding-bottom:70px;border-bottom:1px solid var(--cc-line);}
.cc-manifesto-mark{margin:-28px 0 0;color:#9d512b;font-family:Georgia,serif;font-size:7rem;line-height:1;}
.cc-about-manifesto p:last-child{margin:0;color:#332d26;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(1.65rem,3vw,2.7rem);line-height:1.65;}
.cc-about-prose{max-width:820px;margin:0 auto;}
.cc-about-principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);}
.cc-about-principles article{min-height:220px;padding:34px;border-right:1px solid var(--cc-line);}
.cc-about-principles article:last-child{border-right:0;}
.cc-about-principles span{color:#a55831;font-family:Georgia,serif;font-size:.7rem;letter-spacing:.12em;}
.cc-about-principles h2{margin:45px 0 10px;font-family:Georgia,"Noto Serif SC",serif;font-size:1.55rem;font-weight:400;}
.cc-about-principles p{margin:0;color:#76695a;font-size:.82rem;line-height:1.75;}

/* 留言 */
.cc-message-page{padding:90px 0 120px;}
.cc-message-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:38px;}
.cc-message-intro>div{display:flex;align-items:center;gap:18px;}
.cc-message-intro span{color:#a35731;font-family:Georgia,serif;font-size:.7rem;}
.cc-message-intro h2{margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:2rem;font-weight:400;}
.cc-message-intro>p{max-width:480px;margin:0;color:#776a5b;font-size:.8rem;line-height:1.8;}
.cc-message-card{padding:0;background:transparent;border-radius:0;}
.cc-message-card #comment{padding:42px;background:#171819;color:#eee3d3;box-shadow:0 24px 60px rgba(61,38,17,.12);}
.cc-message-card .comment-info{display:grid;grid-template-columns:1fr 1fr;gap:26px;border:0;}
.cc-message-card .comment-info-item,.cc-message-content{display:flex;flex-direction:column;align-items:stretch;gap:9px;}
.cc-message-card label span{width:auto;color:#c89559;text-align:left;border:0;font-size:.67rem;letter-spacing:.12em;}
.cc-message-card input,.cc-message-card textarea{width:100%;border:0;border-bottom:1px solid rgba(222,185,130,.25);border-radius:0;background:transparent;color:#f4eadc;outline:none;}
.cc-message-card input{height:46px;padding:0;}
.cc-message-card textarea{height:145px;padding:14px 0;resize:vertical;}
.cc-message-card input:focus,.cc-message-card textarea:focus{border-color:#c5753d;box-shadow:none;}
.cc-message-card input::placeholder,.cc-message-card textarea::placeholder{color:rgba(244,234,220,.28);}
.cc-message-content{margin-top:30px;}
.cc-message-card .comment-submit{margin-top:28px;}
.cc-message-card .cc-message-submit{height:48px;margin:0;padding:0 24px;border:1px solid #a95930;border-radius:0;background:#9b4f2a;color:#fff5e8;}
.cc-message-submit b{margin-left:14px;font-size:1rem;font-weight:400;}
.cc-message-list-title{display:flex;align-items:center;justify-content:space-between;margin-top:70px;padding-bottom:20px;border-bottom:1px solid var(--cc-line);font-family:Georgia,"Noto Serif SC",serif;font-size:1.45rem;}
.cc-message-list-title b{color:#a65730;font-size:1rem;font-weight:400;}
.cc-message-card .comment-list{margin:0;padding:0;}
.cc-message-card .comment li{padding:26px 0;border-bottom:1px solid var(--cc-line);color:#615548;}
.cc-message-card .comment-user{color:#9b512d;}
.cc-message-card .comment-time{color:#9b8b79;font-size:.72rem;}

/* 登录 */
.cc-login-wrapper{position:relative;min-height:100vh;padding:150px 24px 90px;background:#0b0d0f url('/static/carlos-desert-hero.jpg') center/cover no-repeat;isolation:isolate;}
.cc-login-wrapper::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,8,10,.91),rgba(6,8,10,.64)),linear-gradient(0deg,rgba(6,7,9,.88),transparent);}
.cc-login-card{max-width:470px;padding:50px 48px 42px;border:1px solid rgba(218,177,117,.22);border-radius:0;background:rgba(15,16,17,.88);box-shadow:0 30px 80px rgba(0,0,0,.36);backdrop-filter:blur(12px);}
.cc-login-mark{position:relative;display:block;width:58px;height:58px;margin:0 auto 26px;border:1px solid rgba(215,170,101,.72);border-radius:50%;transform:rotate(-12deg);}
.cc-login-mark::before,.cc-login-mark::after{content:"";position:absolute;border-radius:50%;}
.cc-login-mark::before{width:7px;height:7px;left:14px;top:13px;background:#d7aa65;box-shadow:18px 15px 0 rgba(215,170,101,.55);}
.cc-login-mark::after{inset:9px;border:1px solid rgba(215,170,101,.28);border-left-color:transparent;}
.cc-login-mark i{position:absolute;width:1px;height:70px;left:28px;top:-7px;background:linear-gradient(transparent,#d7aa65,transparent);transform:rotate(42deg);}
.cc-login-card .cc-eyebrow{display:block;margin-bottom:13px;text-align:center;color:#bd8651;font-size:.6rem;}
.cc-login-card .login-title{color:#f3e8d7;font-family:Georgia,"Noto Serif SC",serif;font-size:2rem;font-weight:400;}
.cc-login-card .login-subtitle{color:rgba(243,232,215,.42);}
.cc-login-card .login-form{gap:22px;}
.cc-login-card .login-field{display:flex;flex-direction:column;align-items:stretch;gap:8px;}
.cc-login-card .login-field span{color:#c9965d;font-size:.66rem;letter-spacing:.12em;}
.cc-login-card .login-field input{height:48px;padding:0;border:0;border-bottom:1px solid rgba(217,176,117,.25);border-radius:0;background:transparent;color:#f5eadb;}
.cc-login-card .login-field input:focus{border-color:#c36d39;box-shadow:none;}
.cc-login-card .login-btn{height:50px;margin-top:6px;border:1px solid #a9582f;border-radius:0;background:#9d502b;color:#fff5e7;}
.cc-login-back{display:block;margin-top:30px;color:rgba(244,232,214,.42);text-align:center;text-decoration:none;font-size:.72rem;}
.cc-login-back:hover{color:#d7aa65;}

@media (max-width:900px){
    .cc-entry-link{grid-template-columns:160px minmax(0,1fr);grid-template-areas:"meta title" "meta intro" "meta more";}
    .cc-entry-more{justify-self:start;margin-top:6px;}
    .cc-article-page{grid-template-columns:1fr;gap:60px;}
    .cc-article-aside{position:static;max-width:560px;}
}

@media (max-width:640px){
    .cc-page-hero{min-height:430px;padding:160px 0 58px;background-position:62% center;}
    .cc-page-hero-inner,.cc-page{width:calc(100% - 36px);}
    .cc-page-hero h1{font-size:3.15rem;}
    .cc-page-hero-inner>p:last-of-type{font-size:.84rem;line-height:1.8;}
    .cc-page-number{display:none;}
    .cc-list-page,.cc-article-page,.cc-about-page,.cc-message-page{padding:65px 0 82px;}
    .cc-list-heading{grid-template-columns:1fr;gap:20px;padding-bottom:30px;}
    .cc-list-count{font-size:3rem;}
    .cc-entry-link{display:block;padding:28px 4px;}
    .cc-entry-link:hover{padding-left:12px;}
    .cc-entry-meta{margin-bottom:14px;}
    .cc-entry h2{font-size:1.4rem;}
    .cc-entry p{margin-top:10px;font-size:.8rem;}
    .cc-entry-more{display:inline-block;margin-top:18px;}
    .cc-article-hero{min-height:520px;}
    .cc-article-hero h1{font-size:2.55rem;line-height:1.18;}
    .cc-prose{font-size:.92rem;line-height:1.95;}
    .cc-prose h2{font-size:1.45rem;}
    .cc-prose blockquote{padding:22px 20px 22px 32px;font-size:1rem;}
    .cc-about-manifesto{grid-template-columns:45px 1fr;gap:12px;margin-bottom:60px;padding-bottom:48px;}
    .cc-manifesto-mark{font-size:4rem;}
    .cc-about-manifesto p:last-child{font-size:1.5rem;}
    .cc-about-principles{grid-template-columns:1fr;}
    .cc-about-principles article{min-height:0;border-right:0;border-bottom:1px solid var(--cc-line);}
    .cc-about-principles article:last-child{border-bottom:0;}
    .cc-about-principles h2{margin-top:25px;}
    .cc-message-intro{grid-template-columns:1fr;gap:16px;}
    .cc-message-card #comment{padding:28px 22px;}
    .cc-message-card .comment-info{grid-template-columns:1fr;}
    .cc-login-wrapper{padding:140px 18px 70px;}
    .cc-login-card{padding:40px 25px 34px;}
}
