:root{--bg: #f4f2ee;--paper: #ffffff;--ink: #1b1a17;--muted: #6b6862;--line: #e2ded6;--line-strong: #cfc9bd;--ok: #215c45;--ok-bg: #e8f2ec;--warn: #8a5a10;--warn-bg: #f7eedc;--bad: #9b1c1c;--bad-bg: #f8e8e6;--fill: #1b1a17;--fill-hot: #8a5a10;--radius: 8px;--max: 1080px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,Noto Sans TC,sans-serif;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}a{color:inherit}.topbar{display:flex;align-items:center;gap:24px;height:52px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-weight:600;letter-spacing:.02em}nav{display:flex;gap:4px}nav a{text-decoration:none;padding:4px 10px;border-radius:4px;color:var(--muted)}nav a.active{color:var(--ink);background:var(--bg)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.page{max-width:var(--max);margin:0 auto;padding:28px 24px 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0 0 4px;font-size:22px;font-weight:600}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:8px;align-items:center}.actions input{border:1px solid var(--line-strong);border-radius:6px;padding:7px 10px;background:var(--paper);min-width:0}.btn{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);padding:7px 12px;border-radius:6px;cursor:pointer}.btn:hover{background:var(--bg)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{opacity:.92}.btn.danger{color:var(--bad);border-color:#e4c8c4}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);margin-bottom:20px}.stat{padding:14px 16px;border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat .k{color:var(--muted);font-size:12px}.stat .v{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:22px;font-weight:500;margin-top:2px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.card-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.card-top h2{margin:0;font-size:14px;font-weight:600;flex:1}.meta{color:var(--muted);font-size:12px}.badge{font-size:11px;padding:2px 7px;border-radius:99px;background:var(--bg);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.used{display:flex;align-items:baseline;gap:8px}.used .pct{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:32px;font-weight:500;letter-spacing:-.03em}.used .sub{color:var(--muted);font-size:12px}.bar{height:3px;background:var(--line);border-radius:99px;margin:10px 0 12px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--fill)}.bar.hot>span{background:var(--fill-hot)}.trend{width:100%;height:auto;display:block}.swatch{display:inline-block;width:8px;height:8px;border-radius:99px;margin-right:6px;vertical-align:middle}.row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.products{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.chip{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 7px}.chip b{color:var(--ink);font-weight:500;font-family:IBM Plex Mono,ui-monospace,monospace}.card-actions{display:flex;gap:8px;margin-top:14px}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:36px 20px;text-align:center;color:var(--muted);background:var(--paper)}.table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);font-weight:400}.table th{color:var(--muted);font-size:12px;font-weight:500}.table tr:last-child td{border-bottom:none}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#faf9f6}.editor{display:grid;gap:12px}.editor input,.editor textarea,.editor select,.field input,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:6px;padding:8px 10px;background:var(--paper)}.editor textarea{min-height:280px;resize:vertical;line-height:1.55}.modal-backdrop{position:fixed;inset:0;background:#1b1a1747;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(440px,100%);background:var(--paper);border-radius:10px;padding:20px;border:1px solid var(--line)}.modal h2{margin:0 0 6px;font-size:16px}.field{margin:12px 0}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.hint{color:var(--muted);font-size:12px;margin:0 0 12px}.login{max-width:380px;margin:80px auto;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.error{color:var(--bad);font-size:13px;margin:8px 0 0}.split{display:grid;grid-template-columns:minmax(240px,1fr) 1.4fr;gap:12px}.guideline-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin-bottom:20px}.guideline-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.guideline-header h3{margin:0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.guideline-content{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);display:grid;grid-template-columns:1fr 1fr;gap:16px}.codex-panel{margin-bottom:20px;border:1px solid #d8e5ef;background:linear-gradient(135deg,#f7fbff,#fff 68%)}.codex-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.codex-panel-title{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:17px}.codex-mark{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:#fff;background:#1f2937;font-size:15px}.codex-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.codex-panel-stat{padding:10px 12px;border:1px solid #e1ebf2;border-radius:7px;background:#ffffffc7}.codex-panel-stat .k{color:var(--muted);font-size:11px}.codex-panel-stat .v{margin-top:2px;font-size:13px;font-weight:600}.codex-info-box{margin:12px 0 16px;padding:11px 12px;border:1px solid #d9e8f3;border-radius:7px;color:#36566d;background:#f2f8fc;font-size:12px}.codex-command-box{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}.codex-command-box code{min-width:0;flex:1;overflow-wrap:anywhere;color:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.guide-page{max-width:1160px}.guide-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:stretch;margin-bottom:42px;padding:30px 32px;color:#f8f7f2;background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.14),transparent 32%),linear-gradient(126deg,#1b1a17,#34312b);border-radius:14px;box-shadow:0 18px 36px #1b1a171f}.guide-hero-copy{max-width:610px}.guide-eyebrow,.guide-section-kicker,.guide-step-label{display:block;font-size:10px;letter-spacing:.12em;font-weight:600}.guide-eyebrow{color:#c4bfb3;margin-bottom:12px}.guide-hero h1{margin:0 0 8px;font-size:clamp(32px,5vw,48px);line-height:1.1;letter-spacing:-.04em}.guide-hero p{max-width:520px;margin:0;color:#d8d3c8;font-size:15px}.guide-hero-stats{display:flex;align-items:center;gap:22px;align-self:end}.guide-hero-stats div{min-width:64px;padding-left:16px;border-left:1px solid rgba(255,255,255,.18)}.guide-hero-stats strong,.guide-hero-stats span{display:block}.guide-hero-stats strong{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:22px;font-weight:500}.guide-hero-stats span{color:#bdb7ab;font-size:11px;white-space:nowrap}.guide-section{margin-bottom:42px}.guide-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.guide-section-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.02em}.guide-section-kicker{color:var(--muted)}.guide-section-head>p{margin:0 0 3px;color:var(--muted);font-size:13px}.guide-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guide-topic{position:relative;min-height:260px;padding:22px;overflow:hidden}.guide-topic:after{position:absolute;right:-26px;bottom:-44px;width:120px;height:120px;border-radius:50%;background:var(--bg);content:"";opacity:.72}.guide-topic-number{margin-bottom:22px;color:var(--fill-hot);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:600}.guide-topic h3,.guide-step h3{margin:0 0 8px;font-size:16px;letter-spacing:-.01em}.guide-topic-summary{min-height:66px;margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.65}.guide-topic ul,.guide-step ol{position:relative;z-index:1;margin:0;padding-left:19px;color:#4e4b45;font-size:12px;line-height:1.65}.guide-topic li+li,.guide-step li+li{margin-top:5px}.guide-section-head-operation{align-items:center}.platform-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.platform-tab{border:0;border-radius:5px;padding:7px 12px;color:var(--muted);background:transparent;cursor:pointer;font-size:12px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.platform-tab:hover{color:var(--ink);background:var(--bg)}.platform-tab.active{color:var(--ink);background:var(--bg);box-shadow:0 1px 3px #1b1a171f;font-weight:600}.guide-steps{display:grid;gap:12px}.guide-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;padding:22px}.guide-step-index{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--paper);background:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.guide-step-label{margin-bottom:5px;color:var(--fill-hot)}.guide-step-body>p{max-width:760px;margin:0 0 12px;color:var(--muted);font-size:13px}.guide-step ol{max-width:760px;margin-bottom:10px}.guide-code{display:block;width:fit-content;max-width:100%;overflow-x:auto;margin:9px 0 10px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;color:#37342f;background:var(--bg);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.guide-step-note{font-size:12px!important}.guide-step-note code{padding:1px 4px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--bg);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.guide-callout{max-width:760px;margin-top:12px;padding:9px 12px;border-radius:6px;font-size:12px}.guide-callout.info{color:var(--warn);background:var(--warn-bg)}.guide-callout.success{color:var(--ok);background:var(--ok-bg)}.guide-footer-note{display:flex;align-items:flex-start;gap:12px;margin-top:6px;padding:16px 18px;border:1px solid #d7e5dc;border-radius:var(--radius);color:var(--ok);background:var(--ok-bg)}.guide-footer-icon{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--paper);background:var(--ok);font-size:12px}.guide-footer-note strong{display:block;margin-bottom:2px;font-size:13px}.guide-footer-note p{margin:0;color:#356650;font-size:12px}.guide-hero-editorial{position:relative;overflow:hidden}.guide-hero-editorial:after{position:absolute;right:-90px;bottom:-120px;width:280px;height:280px;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:""}.guide-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guide-article-grid-small{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.guide-article-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 8px 18px #1b1a170a;transition:transform .18s ease,box-shadow .18s ease}.guide-article-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #1b1a171a}.guide-article-image-button{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:var(--bg);cursor:pointer}.guide-article-image{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;transition:transform .35s ease}.guide-article-card:hover .guide-article-image{transform:scale(1.035)}.guide-article-image-label{position:absolute;top:12px;left:12px;display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;background:#1b1a17ad;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.guide-article-card-body{display:flex;flex:1;flex-direction:column;padding:17px 18px 18px}.guide-article-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--fill-hot);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.guide-article-card h3{margin:11px 0 7px;font-size:17px;letter-spacing:-.02em}.guide-article-card-body>p{flex:1;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.guide-platform-note{display:block;margin-top:12px;color:var(--muted);font-size:11px}.guide-read-link{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;margin-top:16px;padding:0;border:0;color:var(--ink);background:transparent;cursor:pointer;font-size:12px;font-weight:600}.guide-read-link span{color:var(--fill-hot);font-size:15px;transition:transform .15s ease}.guide-read-link:hover span{transform:translate(2px,-2px)}.guide-reader-page{padding-top:22px}.guide-back-button{margin-bottom:18px;padding:0;border:0;color:var(--muted);background:transparent;cursor:pointer;font-size:13px}.guide-back-button:hover{color:var(--ink)}.guide-reader{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 18px 38px #1b1a1712}.guide-reader-cover{position:relative;min-height:620px;background:var(--bg)}.guide-reader-cover img{display:block;width:100%;height:100%;min-height:620px;object-fit:cover}.guide-reader-cover span{position:absolute;right:18px;bottom:18px;padding:6px 9px;border:1px solid rgba(255,255,255,.35);border-radius:99px;color:#fff;background:#1b1a17b3;font-size:11px}.guide-reader-content{max-width:680px;padding:44px 48px 48px}.guide-reader-content h1{margin:14px 0 10px;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;line-height:1.16}.guide-reader-lead{max-width:520px;margin:0;color:var(--muted);font-size:16px;line-height:1.75}.guide-reader-rule{width:52px;height:3px;margin:25px 0 24px;border-radius:99px;background:var(--fill-hot)}.guide-reader-paragraph{margin:0 0 16px;color:#4e4b45;font-size:14px;line-height:1.85}.guide-reader-steps,.guide-reader-takeaways{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.guide-reader-steps h2,.guide-reader-takeaways h2{margin:0 0 15px;font-size:16px}.guide-reader-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px dashed var(--line)}.guide-reader-step:last-child{border-bottom:0}.guide-reader-step>span{color:var(--fill-hot);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:600}.guide-reader-step h3{margin:0 0 3px;font-size:13px}.guide-reader-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.guide-reader-examples{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.guide-reader-examples h2{margin:0 0 15px;font-size:16px}.guide-reader-example+.guide-reader-example{margin-top:21px}.guide-reader-example h3{margin:0 0 9px;font-size:13px}.guide-example-block{margin-top:9px;overflow:hidden;border:1px solid var(--line);border-radius:8px}.guide-example-block>span{display:block;padding:7px 10px;font-size:10px;font-weight:600;letter-spacing:.08em}.guide-example-block>p{margin:0;padding:12px 13px 13px;color:#393732;font-size:13px;line-height:1.75}.guide-example-block.danger{border-color:#e4c8c4;background:#fff8f6}.guide-example-block.danger>span{color:var(--bad);background:var(--bad-bg)}.guide-example-block.safe{border-color:#d7e5dc;background:#f7fbf8}.guide-example-block.safe>span{color:var(--ok);background:var(--ok-bg)}.guide-reader-example>p{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.guide-section-security{padding-top:32px}.guide-section-start{padding-top:30px}.guide-term{position:relative;display:inline-block}.guide-term>button{padding:0 1px;border:0;border-bottom:1px dashed var(--fill-hot);color:inherit;background:transparent;cursor:help;font:inherit}.guide-term>button:focus-visible{outline:2px solid var(--fill-hot);outline-offset:2px}.guide-term-popover{position:absolute;z-index:5;bottom:calc(100% + 9px);left:50%;display:grid;width:min(255px,72vw);gap:5px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);background:var(--paper);box-shadow:0 12px 24px #1b1a1724;font-size:12px;line-height:1.55;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease}.guide-term-popover:after{position:absolute;bottom:-5px;left:50%;width:9px;height:9px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--paper);content:"";transform:translate(-50%) rotate(45deg)}.guide-term-popover strong{font-size:12px}.guide-term-popover em{color:var(--fill-hot);font-size:10px;font-style:normal;font-weight:600}.guide-term:hover .guide-term-popover,.guide-term:focus-within .guide-term-popover{opacity:1;pointer-events:auto;transform:translate(-50%)}.guide-reader-takeaways ul{margin:0;padding-left:18px;color:#4e4b45;font-size:13px;line-height:1.7}.guide-reader-takeaways li+li{margin-top:7px}.guide-reader-platform{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:27px;color:var(--muted);font-size:11px}.guide-reader-platform span{margin-right:5px}.guide-reader-platform button{padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--paper);cursor:pointer;font-size:11px}.guide-reader-platform button.active{border-color:var(--ink);color:var(--ink);background:var(--bg);font-weight:600}.step-card{background:var(--bg);border-radius:6px;padding:12px 14px}.step-card h4{margin:0 0 6px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.step-card ol{margin:0;padding-left:18px;font-size:12px;line-height:1.6;color:var(--ink)}.step-card code{background:var(--paper);padding:2px 5px;border-radius:4px;border:1px solid var(--line);font-family:IBM Plex Mono,monospace;font-size:11px}.token-notice{font-size:11px;padding:6px 10px;border-radius:4px;margin:6px 0;display:flex;align-items:center;gap:6px}.token-notice.ok{background:var(--ok-bg);color:var(--ok)}.token-notice.info{background:var(--warn-bg);color:var(--warn)}.tab-group{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}.tab-btn{background:none;border:none;padding:8px 14px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.dropzone{border:2px dashed var(--line-strong);border-radius:8px;padding:24px 16px;text-align:center;background:var(--bg);cursor:pointer;transition:all .2s ease;margin:12px 0}.dropzone:hover,.dropzone.active{border-color:#1b1a17;background:#f3f2eb}@media(max-width:800px){.codex-panel-head{flex-direction:column}.codex-panel-grid{grid-template-columns:1fr}.guide-hero{grid-template-columns:1fr;gap:24px;padding:24px}.guide-hero-stats{align-self:start}.guide-topic-grid{grid-template-columns:1fr}.guide-topic,.guide-topic-summary{min-height:0}.guide-section-head,.guide-section-head-operation{align-items:flex-start;flex-direction:column}.split{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:none}.topbar{padding:0 16px;gap:12px}.page{padding:20px 16px 48px}.page-head{flex-direction:column;align-items:flex-start}}@media(max-width:800px){.guide-article-grid,.guide-article-grid-small{grid-template-columns:1fr;max-width:none}.guide-reader{grid-template-columns:1fr}.guide-reader-cover,.guide-reader-cover img{min-height:260px;height:260px}.guide-reader-content{padding:30px 22px 34px}}
