:root{--bg: #f4f2f0;--bg-2: #fffdf9;--ink: #171717;--muted: #6b6763;--line: #e2dcd4;--title-bg: #111;--title-fg: #fff;--accent: #b31e16;--tag-bg: #6d1612;--tag-fg: #fff8f5;--core-tag: #3a3a3a;--chip: #fff;--chip-on: #111;--chip-on-fg: #fff;--radius: 10px;--header-h: 56px;font-family:Noto Sans CJK SC,Noto Sans SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg)}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;overflow-x:hidden}img{max-width:100%;height:auto;display:block}button,input{font:inherit;color:inherit}a{color:inherit}#app{min-height:100dvh;display:flex;flex-direction:column}.status{padding:80px 20px;text-align:center;color:var(--muted)}.site-header{position:sticky;top:0;z-index:20;background:#111111f5;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-inner{width:min(1180px,100%);margin:0 auto;padding:8px 14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px}.brand{display:flex;flex-direction:column;gap:0;text-decoration:none;flex:0 0 auto}.brand-kicker{font-size:10px;letter-spacing:.28em;color:#f3b8b4;font-weight:700}.brand-title{font-size:16px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.nav{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;flex:1 1 auto}@media(max-width:639px){.header-inner{flex-direction:column;align-items:flex-start}}.nav a{text-decoration:none;font-size:13px;font-weight:700;padding:6px 10px;border-radius:999px;color:#f0ebe6}.nav a.active,.nav a:hover{background:var(--accent);color:#fff}main.page{width:min(1180px,100%);margin:0 auto;padding:18px 14px 48px;flex:1;min-width:0}h1.page-title{margin:0 0 8px;font-size:clamp(22px,4vw,32px);letter-spacing:.08em}.lead{color:#333;margin:0 0 18px;font-size:14px;line-height:1.7;overflow-wrap:break-word}.home-cards{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0 28px}@media(min-width:720px){.home-cards{grid-template-columns:repeat(3,1fr)}}.home-card{display:block;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 18px;text-decoration:none;min-width:0}.home-card strong{display:block;font-size:18px;margin-bottom:6px}.home-card span{color:var(--muted);font-size:13px}.pact-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:600px){.pact-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1000px){.pact-home-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.pact-tile{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:8px;text-decoration:none;min-width:0}.pact-tile img{width:36px;height:36px;object-fit:contain;flex-shrink:0;background:#111;border-radius:4px}.pact-tile .nm{font-weight:700;font-size:13px;overflow-wrap:anywhere}.pact-tile .sub{font-size:11px;color:var(--muted)}.badge-off{display:inline-block;font-size:10px;font-weight:700;background:#eee;color:#555;padding:1px 5px;border-radius:4px;margin-left:4px}.toolbar{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}.search{width:100%;border:1px solid #ccc;background:#fff;border-radius:8px;padding:10px 12px;font-size:16px}.filter-block{min-width:0}.filter-label{font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #ccc;background:var(--chip);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700;cursor:pointer}.chip[aria-pressed=true]{background:var(--chip-on);color:var(--chip-on-fg);border-color:#111}.chip-clear{border-style:dashed;color:var(--muted)}.meta-row{font-size:13px;color:var(--muted);margin:0 0 12px}.op-grid,.stack-grid{display:grid;grid-template-columns:1fr;gap:14px 18px;min-width:0}@media(min-width:720px){.op-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.op-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}.op-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 10px;min-width:0;text-decoration:none;background:transparent}.avatar-box{position:relative;width:72px;height:72px;background:#ddd8d0;overflow:hidden;flex-shrink:0}.avatar-box img{width:100%;height:100%;object-fit:cover;object-position:top center}.avatar-fallback,.pact-icon-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;font-size:12px;font-weight:700;background:#e8e2d8;color:#333;line-height:1.25}.level-badge{position:absolute;left:0;bottom:0;min-width:20px;height:18px;padding:0 4px;font-size:12px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center}.op-body{min-width:0}.op-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:2px}.op-name{font-size:16px;font-weight:700}.cost-tag{font-size:12px;font-weight:700;color:#5a5652}.bond-tag{display:inline-block;background:var(--tag-bg);color:var(--tag-fg);font-size:12px;font-weight:700;padding:1px 6px 2px;line-height:1.4;border-radius:1px}.bond-tag.core-only{background:var(--core-tag)}.op-effect{font-size:13.5px;line-height:1.65;color:#222;overflow-wrap:break-word;word-break:normal;white-space:pre-wrap}.op-effect .elite{font-weight:700;color:var(--accent)}.detail-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.detail-top{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px}@media(min-width:720px){.detail-top{grid-template-columns:120px minmax(0,1fr)}}.detail-top .avatar-box{width:96px;height:96px}@media(min-width:720px){.detail-top .avatar-box{width:120px;height:120px}}.kv{font-size:14px;margin:4px 0}.kv b{font-weight:700}.back{display:inline-block;font-size:13px;margin-bottom:10px;color:var(--accent);font-weight:700}.masthead{text-align:center;margin-bottom:16px}.kicker{font-size:12px;letter-spacing:.28em;color:var(--accent);font-weight:700;margin-bottom:10px}.main-title{display:inline-block;margin:0;padding:7px 18px 8px;background:var(--title-bg);color:var(--title-fg);font-size:clamp(20px,4vw,28px);font-weight:700;letter-spacing:.12em;line-height:1.25}.pact-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:center;background:#111;color:#f4f1ec;padding:12px;margin:8px 0 10px}@media(min-width:720px){.pact-card{grid-template-columns:118px minmax(0,1fr);padding:14px 18px 16px 14px}}.pact-icon-wrap{width:84px;height:84px;display:flex;align-items:center;justify-content:center;background:#161616}@media(min-width:720px){.pact-icon-wrap{width:118px;height:118px}}.pact-icon-wrap img{max-width:92%;max-height:92%;object-fit:contain}.pact-name{font-size:20px;font-weight:700;margin:0 0 2px;letter-spacing:.06em}.pact-meta{font-size:13px;color:#d0cbc4;margin:0 0 6px}.pact-effect{font-size:13.5px;line-height:1.7;white-space:pre-wrap;overflow-wrap:break-word;color:#f2eee8}.pact-effect .phase{color:#f3d27a}.notice{background:#fff;border:1px solid var(--line);padding:12px 14px;font-size:14px;line-height:1.7;margin:8px 0 16px}.section{margin-top:22px;min-width:0}.section-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px}.section-title{display:inline-block;background:var(--title-bg);color:var(--title-fg);font-size:18px;font-weight:700;letter-spacing:.16em;padding:4px 14px 5px}.section-note{font-size:13px;color:var(--muted)}.subzone{margin-top:14px}.subzone-title{font-size:15px;font-weight:700;letter-spacing:.14em;margin:0 0 12px;padding:0 0 0 8px;border-left:3px solid var(--accent)}.empty-zone{color:var(--muted);font-size:13px}.group-lead,.general-lead{font-size:14px;line-height:1.7;color:#333;margin:0 0 14px;overflow-wrap:break-word}.affects{margin:4px 0 0;font-size:13px;line-height:1.6;color:#3c3c3c;overflow-wrap:break-word}@media(min-width:720px){.affects{margin-left:82px}}.affects strong{color:var(--accent)}.general-item{min-width:0}.pact-index{display:flex;flex-direction:column;gap:22px}.pact-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none}.pact-row img{width:44px;height:44px;object-fit:contain;background:#111}.site-footer{border-top:1px solid var(--line);padding:16px 14px 28px;font-size:12px;color:var(--muted);line-height:1.7}.site-footer .inner{width:min(1180px,100%);margin:0 auto;overflow-wrap:break-word}.site-footer a{color:#444}h2.group-title{font-size:16px;letter-spacing:.12em;margin:0 0 10px}
