html[data-theme=dark][data-accent=indigo]{--hero-a:rgba(34, 211, 238, 0.28);--hero-b:rgba(99, 102, 241, 0.36);--hero-base-1:#07101f;--hero-base-2:#101a33;--hero-base-3:#08101f;--hero-eyebrow:#7dd3fc;--hero-accent:#7dd3fc}[hidden]{display:none!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tool-chip b{font-weight:700;color:var(--hero-ink);letter-spacing:.02em}.tool-chip--bd09 i{color:#c084fc}.tool-chip--gcj02 i{color:#34d399}.tool-hero__meta{margin-top:.9rem;font-size:.72rem;line-height:1.8;color:var(--hero-muted)}.tool-hero__meta i{margin-right:.3rem;color:var(--hero-muted)}.seg{position:relative;display:inline-flex;gap:.2rem;padding:.25rem;border-radius:.7rem;border:1px solid #eef2f7;background:#f1f5f9}.seg input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.seg label{display:inline-flex;align-items:center;justify-content:center;padding:.44rem .9rem;border-radius:.55rem;font-size:.8rem;font-weight:600;color:#64748b;white-space:nowrap;cursor:pointer;user-select:none;transition:.2s}.seg label:hover{color:#334155}.seg input:checked+label{background:#fff;color:#4338ca;box-shadow:0 1px 5px rgba(15,23,42,.1)}.seg input:focus-visible+label{outline:#a5b4fc solid 2px;outline-offset:2px}@media (max-width:640px){.seg{display:flex;width:100%}.seg label{flex:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.55rem 1.15rem;border:1px solid transparent;border-radius:.7rem;font-size:.86rem;font-weight:600;line-height:1.4;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:.25s cubic-bezier(.4, 0, .2, 1)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:#a5b4fc solid 2px;outline-offset:2px}.btn--grad{background:linear-gradient(135deg,#4f46e5 0,#8b5cf6 100%);color:#fff;box-shadow:0 12px 24px -14px rgba(79,70,229,.9)}.btn--grad:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 28px -14px #4f46e5}.btn--ghost{border-color:#e2e8f0;background:#fff;color:#334155}.btn--ghost:hover:not(:disabled){border-color:#c7d2fe;background:#f5f3ff;color:#4338ca}.btn--soft{border-color:#e2e8f0;background:#f1f5f9;color:#334155}.btn--soft:hover:not(:disabled){background:#e2e8f0}.btn--sm{min-height:34px;padding:.35rem .75rem;border-radius:.55rem;font-size:.76rem}.crs-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border:1px solid #e9d5ff;border-radius:999px;background:#f5f3ff;font-size:.72rem;font-weight:600;line-height:1.6;color:#6d28d9;white-space:nowrap}.crs-badge[data-crs=gcj02]{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.crs-badge i{font-size:.62rem}.picker-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem .9rem}.picker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}@media (max-width:640px){.picker-actions{width:100%}.picker-actions .btn--grad{flex:1 1 100%}}.picker-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-top:.85rem;font-size:.76rem;line-height:1.7;color:#64748b}.picker-meta b{font-weight:700;color:#1f2937}.picker-meta__sep{color:#cbd5e1}.picker-shell{position:relative;height:min(76vh,760px);min-height:460px;margin-top:.9rem;border:1px solid #e2e8f0;border-radius:.85rem;background:#f8fafc;overflow:hidden}.picker-shell iframe{display:block;width:100%;height:100%;border:0;background:#fff}.picker-shell:fullscreen{height:100vh;border:0;border-radius:0}@media (max-width:640px){.picker-shell{height:min(72vh,560px);min-height:380px}}.picker-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;background:radial-gradient(520px 260px at 50% 0,rgba(99,102,241,.12),transparent 65%),linear-gradient(180deg,#f8fafc 0,#eef2ff 100%);font-size:.8rem;line-height:1.8;color:#64748b;transition:opacity .3s,visibility .3s}.picker-loading.is-done{opacity:0;visibility:hidden}.picker-loading i{font-size:1.5rem;color:#818cf8}.picker-loading span{max-width:18rem;text-align:center}.picker-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .75rem;margin-top:.7rem;font-size:.72rem;line-height:1.8;color:#94a3b8}.picker-note i{margin-right:.3rem;color:#cbd5e1}.picker-note a{color:#4338ca;text-decoration:underline;text-underline-offset:2px}.map-card{--accent:#8b5cf6;display:flex;flex-direction:column;gap:.4rem;padding:.9rem 1rem;border:1px solid #eef2f7;border-top:3px solid var(--accent);border-radius:.75rem;background:#fff}.map-card[data-crs=gcj02]{--accent:#10b981}.map-card__title{display:flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:700;color:#1f2937}.map-card__title i{color:var(--accent)}.map-card__desc{font-size:.78rem;line-height:1.8;color:#64748b}.map-card__crs{font-size:.72rem;line-height:1.7;color:#94a3b8}.map-card__crs code{padding:.05rem .28rem;border-radius:.22rem;background:#f1f5f9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#475569}.prose-block h3{margin:1.3rem 0 .5rem;font-size:1rem;font-weight:700;color:#1f2937}.prose-block h3:first-child{margin-top:0}.prose-block li,.prose-block p{font-size:.9rem;line-height:1.9;color:#4b5563}.prose-block ol,.prose-block ul{margin:.5rem 0;padding-left:1.3rem}.prose-block ul{list-style:disc}.prose-block ol{list-style:decimal}.prose-block li{margin:.15rem 0}.prose-block .mono,.prose-block code{padding:.05rem .32rem;border-radius:.25rem;background:#f1f5f9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;color:#334155;word-break:break-all}.prose-block a{color:#4338ca;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.prose-block a:hover{color:#7c3aed}.faq-item{margin-bottom:.6rem;padding:.75rem 1rem;border:1px solid #eef2f7;border-radius:.65rem;background:#fff;transition:background .2s,border-color .2s}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.9rem;font-weight:600;color:#1f2937;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';flex:none;font-size:1.1rem;font-weight:400;line-height:1;color:#94a3b8}.faq-item[open] summary::after{content:'\2212'}.faq-item[open]{border-color:#dbeafe;background:#fbfdff}.faq-item p{margin-top:.6rem;font-size:.85rem;line-height:1.85;color:#4b5563}.faq-item .mono,.faq-item code{padding:.05rem .3rem;border-radius:.25rem;background:#f1f5f9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;color:#334155}html[data-theme=dark] .crs-badge{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}html[data-theme=dark] .crs-badge[data-crs=gcj02]{border-color:color-mix(in srgb,var(--ok-ink) 30%,var(--border));background:var(--ok-soft);color:var(--ok-ink)}html[data-theme=dark] .picker-meta,html[data-theme=dark] .picker-note{color:var(--text-2)}html[data-theme=dark] .picker-meta b{color:var(--text)}html[data-theme=dark] .picker-meta__sep,html[data-theme=dark] .picker-note i{color:var(--text-3)}html[data-theme=dark] .picker-note a{color:var(--accent-ink)}html[data-theme=dark] .picker-shell{border-color:var(--border);background:var(--surface-2)}html[data-theme=dark] .picker-loading{background:radial-gradient(520px 260px at 50% 0,var(--accent-soft),transparent 65%),var(--surface-2);color:var(--text-2)}html[data-theme=dark] .picker-loading i{color:var(--accent)}html[data-theme=dark] .map-card{border-color:var(--border);background:var(--surface)}html[data-theme=dark] .map-card__title{color:var(--text)}html[data-theme=dark] .map-card__desc{color:var(--text-2)}html[data-theme=dark] .map-card__crs{color:var(--text-3)}html[data-theme=dark] .map-card__crs code{background:var(--surface-2);color:var(--text-2)}