*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:"PingFang SC","Microsoft YaHei",Consolas,monospace,sans-serif;background:#f5f5f5;color:#333;line-height:1.7;font-size:15px}
a{color:#2563eb;text-decoration:none}
a:hover{color:#1d4ed8;text-decoration:underline}

/* Header */
.gj-header{background:#fff;border-bottom:1px solid #ddd;padding:14px 0}
.gj-header-inner{max-width:960px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.gj-brand{display:flex;align-items:center;gap:10px;color:#333}
.gj-brand:hover{text-decoration:none;opacity:.9}
.gj-tool-icon{display:inline-block;width:32px;height:32px;position:relative;flex-shrink:0}
.gj-tool-icon::before{content:"";position:absolute;top:6px;left:4px;width:24px;height:6px;background:#f59e0b;border-radius:2px;transform:rotate(-35deg);transform-origin:left center}
.gj-tool-icon::after{content:"";position:absolute;bottom:4px;right:2px;width:14px;height:14px;border:3px solid #6b7280;border-radius:50%;border-top-color:transparent;border-left-color:transparent;transform:rotate(45deg)}
.gj-brand-text{font-size:1.15rem;font-weight:700;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-subtitle{font-size:13px;color:#6b7280;margin-left:auto;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* Page layout */
.gj-page{max-width:960px;margin:0 auto;padding:0 20px 40px}
.gj-main{padding-top:20px}
.gj-main-index .gj-hero{text-align:center;padding:28px 0 20px}
.gj-hero-title{font-size:1.6rem;color:#111;font-family:"PingFang SC","Microsoft YaHei",sans-serif;margin-bottom:8px}
.gj-hero-desc{color:#6b7280;font-size:14px;margin-bottom:20px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-layout{display:grid;grid-template-columns:1fr 240px;gap:16px;align-items:start;margin-top:16px}
.gj-content{min-width:0}

/* Tool card panel */
.gj-tool-card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.gj-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eee}
.gj-card-label{display:inline-block;background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600;padding:2px 8px;border-radius:3px;border:1px solid #e5e7eb;font-family:Consolas,monospace}
.gj-card-head h2{font-size:16px;font-weight:700;color:#111;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-tool-hint{font-size:12px;color:#9ca3af;margin-bottom:12px;font-family:Consolas,"Courier New",monospace}
.gj-tool-hint code{background:#f9fafb;padding:2px 6px;border-radius:3px;border:1px solid #eee;color:#6b7280;font-size:12px}

/* CSS-only tabs */
.gj-tabs{display:flex;gap:0;border-bottom:1px solid #ddd;margin:-4px -4px 16px;padding:0 4px}
.gj-tab-input{position:absolute;opacity:0;pointer-events:none}
.gj-tab-btn{display:inline-block;padding:10px 20px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;margin-bottom:-1px;font-family:"PingFang SC","Microsoft YaHei",sans-serif;transition:.15s}
.gj-tab-btn:hover{color:#2563eb;background:#f9fafb}
#gj-tab-word:checked~.gj-tabs .gj-tab-btn[for="gj-tab-word"],
#gj-tab-char:checked~.gj-tabs .gj-tab-btn[for="gj-tab-char"]{color:#2563eb;background:#fff;border-color:#ddd;border-bottom-color:#fff}
.gj-tab-panel{display:none}
#gj-tab-word:checked~.gj-tab-panel-word{display:block}
#gj-tab-char:checked~.gj-tab-panel-char{display:block}

/* Search */
.gj-search-card{padding-top:16px}
.gj-search-inline{padding:14px 16px}
.gj-search-row{display:flex;gap:0;border:1px solid #ccc;border-radius:4px;overflow:hidden;background:#fff}
.gj-input{flex:1;border:none;padding:12px 14px;font-size:16px;outline:none;min-width:0;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-submit{border:none;border-left:1px solid #ccc;background:#2563eb;color:#fff;font-size:14px;font-weight:600;padding:12px 22px;cursor:pointer;white-space:nowrap;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-submit:hover{background:#1d4ed8}

/* Hot chips */
.gj-chips{display:flex;flex-wrap:wrap;gap:8px}
.gj-chip{display:inline-block;padding:6px 14px;background:#f9fafb;border:1px solid #ddd;border-radius:4px;font-size:14px;color:#374151;font-family:"PingFang SC","Microsoft YaHei",sans-serif;transition:.15s}
.gj-chip:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb;text-decoration:none}
.gj-hot-card .gj-chips{max-height:280px;overflow-y:auto}

/* Output header */
.gj-output-header{border-left:4px solid #2563eb}
.gj-output-header-char{border-left-color:#f59e0b}
.gj-output-title{font-size:2rem;font-weight:800;color:#111;line-height:1.2;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-output-meta{font-size:14px;color:#6b7280;margin-top:6px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-output-time{font-size:12px;color:#9ca3af;margin-top:4px;font-family:Consolas,monospace}

/* Output box */
.gj-output-box{border:1px solid #ccc}
.gj-label-char{background:#fef3c7;color:#b45309;border-color:#fde68a}
.gj-attr-table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:14px}
.gj-attr-table th,.gj-attr-table td{padding:10px 12px;border:1px solid #e5e7eb;text-align:left}
.gj-attr-table th{width:110px;background:#f9fafb;color:#6b7280;font-weight:600;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-attr-table td{color:#333;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-field-block{margin-bottom:16px;padding:12px 14px;background:#fafafa;border:1px solid #eee;border-radius:4px}
.gj-field-block h3{font-size:14px;color:#2563eb;margin-bottom:8px;font-weight:700;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-field-block p{text-indent:2em;color:#333;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-rich{color:#333;line-height:1.85;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-rich p{text-indent:2em;margin-bottom:.5em}
.gj-intro-text{color:#555;font-size:14px;line-height:1.8;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* Zuci list */
.gj-zuci-list{list-style:none;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}
.gj-zuci-list li{border-bottom:1px solid #eee}
.gj-zuci-list li:last-child{border-bottom:none}
.gj-zuci-list a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 14px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-zuci-list a:hover{background:#f9fafb;text-decoration:none}
.gj-zuci-word{font-size:15px;font-weight:600;color:#111}
.gj-zuci-py{font-size:13px;color:#9ca3af;font-family:Consolas,monospace}
.gj-zuci-action{font-size:12px;color:#2563eb;font-weight:600}

/* Related list */
.gj-rel-list{list-style:none}
.gj-rel-list li{padding:8px 0;border-bottom:1px dashed #eee;font-size:14px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* Sidebar */
.gj-aside{display:flex;flex-direction:column;gap:12px}
.gj-side-panel{background:#fff;border:1px solid #ddd;border-radius:4px;padding:14px 16px}
.gj-side-highlight{border-left:3px solid #2563eb}
.gj-side-title{font-size:13px;font-weight:700;color:#374151;margin-bottom:10px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-side-panel p{font-size:13px;color:#6b7280;line-height:1.7;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-side-word{font-size:1.4rem;font-weight:800;color:#111}
.gj-side-char{font-size:2.2rem;font-weight:800;color:#2563eb;text-align:center;line-height:1.2}
.gj-side-py{font-size:13px;color:#2563eb;margin-top:4px;font-family:Consolas,monospace}
.gj-side-list{list-style:none}
.gj-side-list li{padding:5px 0;border-bottom:1px dashed #eee;font-size:13px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* Links & footer */
.gj-links{margin-top:8px;padding:12px 0;font-size:13px;color:#9ca3af;display:flex;flex-wrap:wrap;gap:8px 16px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-footer{background:#fff;border-top:1px solid #ddd;margin-top:24px}
.gj-footer-inner{max-width:960px;margin:0 auto;padding:16px 20px;text-align:center;font-size:12px;color:#9ca3af;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.gj-footer a{color:#6b7280}

@media(max-width:720px){
.gj-layout{grid-template-columns:1fr}
.gj-subtitle{margin-left:0;width:100%}
.gj-zuci-list a{grid-template-columns:1fr;gap:4px}
.gj-zuci-action{justify-self:start}
.gj-hot-card .gj-chips{max-height:none}
}
