:root{--bg:#f6f6f4;--surface:#fff;--surface-2:#f0efec;--section-bg:#dde4f4;--section-edge:#c2cde6;--section-ink:#1c3a86;--section-hover:#d0daf0;--line:#dedcd6;--line-strong:#c6c3ba;--ink:#1c1b19;--ink-2:#55524c;--ink-3:#8b877e;--accent:#1b4fd8;--accent-soft:#e6ecfd;--on-accent:#fff;--included:#157f4a;--addon:#a4620b;--partial:#7a3fb8;--absent:#c23b32;--note-bg:#ffe9b8;--note-ink:#7a4a05;--tip-bg:#26251f;--tip-ink:#f7f6f2;--diff:#fffbef;--diff-edge:#d9a441;--col-hover:#1b4fd812;--radius:8px;--shadow:0 1px 2px #1c1b190f, 0 8px 24px -16px #1c1b193d}@media (prefers-color-scheme:dark){:root{--bg:#16171a;--surface:#1e2024;--surface-2:#24272c;--section-bg:#263048;--section-edge:#37456a;--section-ink:#a9c2ff;--section-hover:#2e3a56;--line:#33373d;--line-strong:#464b53;--ink:#eceef1;--ink-2:#b0b5bd;--ink-3:#7d838c;--accent:#7ba2ff;--accent-soft:#22304f;--on-accent:#10131a;--included:#4ec98a;--addon:#e0a54b;--partial:#b78ce8;--absent:#f2867c;--note-bg:#4a3a17;--note-ink:#ffcf7a;--tip-bg:#3c4149;--tip-ink:#f2f4f7;--diff:#221f18;--diff-edge:#a07c2c;--col-hover:#7ba2ff1c;--shadow:0 1px 2px #0006, 0 10px 28px -18px #000c}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:14px;line-height:1.5}button{font:inherit;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:4px 10px}button:hover{border-color:var(--line-strong);color:var(--ink)}a{color:var(--accent)}.app{max-width:1600px;margin:0 auto;padding:14px 20px 16px}.masthead{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding-bottom:10px;display:flex}.masthead__brand{align-items:center;gap:9px;display:flex}.masthead h1{letter-spacing:-.01em;margin:0;font-size:18px}.banner{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius);margin:12px 0;padding:10px 14px;font-size:12.5px}.footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;padding-top:14px;display:flex}.footer__logo{flex:none;line-height:0}.footer__logo img{width:auto;height:36px;display:block}.footer__text{flex:1;min-width:260px}.footer__text p{color:var(--ink-3);margin:0 0 4px;font-size:11.5px;line-height:1.6}.tabs{background:var(--surface-2);border-radius:8px;gap:2px;padding:2px;display:flex}.tabs button{background:0 0;border-color:#0000;padding:5px 13px}.tabs button.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:0 1px 3px #1b4fd84d}.picker{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:-8px 0 16px;padding:14px 16px}.picker__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.picker__hint{color:var(--ink-3);font-size:12px}.picker__actions{align-items:center;gap:8px;display:flex}.counter{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.presets{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.preset{background:var(--accent-soft);color:var(--accent);border-color:#0000;font-size:12.5px;font-weight:600}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border-radius:999px;align-items:center;gap:7px;padding:5px 13px;font-size:13px;display:inline-flex}.chip__order{background:var(--on-accent);width:17px;height:17px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;margin-left:-4px;font-size:11px;font-weight:700;display:inline-flex}.chip--on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.chip--full{opacity:.45}.chip--full:hover{opacity:1}.counter--cap{color:var(--addon);font-weight:600}.toolbar{z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex;position:sticky;top:0}.toolbar__spacer{flex:1}.toolbar__modes,.toolbar__filters,.toolbar__tools,.toolbar__actions{display:contents}.toolbar__pop{position:relative}.icon-btn{align-items:center;gap:6px;padding:6px 8px;line-height:0;display:inline-flex}.icon-btn__text{font-size:12.5px;line-height:1}.icon-btn__badge{background:var(--surface-2);min-width:16px;color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 4px;font-size:11px;line-height:1.3}.icon-btn.is-on .icon-btn__badge{background:var(--accent);color:var(--on-accent)}.icon-btn:disabled{opacity:.5;cursor:progress}.icon-btn.is-on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.search{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;flex:0 280px;padding:6px 10px}.search:focus{outline:2px solid var(--accent);outline-offset:-1px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.toggle input{accent-color:var(--accent)}.count{color:var(--ink-3);font-variant-numeric:tabular-nums}.layout{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:20px;display:grid}.layout--wide{grid-template-columns:minmax(0,1fr)}.sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 88px);padding:12px;position:sticky;top:64px;overflow:auto}.sidebar__head{cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;list-style:none;display:flex}.sidebar__head::-webkit-details-marker{display:none}.sidebar__head h2{margin:0;font-size:13px}.sidebar__badge{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:1;font-size:12px}.sidebar__buttons{gap:4px;display:flex}.sidebar__head button{padding:2px 6px;font-size:12px}.sidebar details>.sidebar__head:before{content:"▸";color:var(--ink-3);font-size:10px}.sidebar details[open]>.sidebar__head:before{content:"▾"}.sections{margin:0;padding:0;list-style:none}.sections label{cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:4px 6px;font-size:13px;display:flex}.sections label:hover{background:var(--surface-2)}.sections input{accent-color:var(--accent)}.sections__zh{flex:1;min-width:0}.sections__n{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.legend{z-index:45;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:max-content;max-width:min(340px,90vw);box-shadow:var(--shadow);padding:12px 14px;position:absolute;top:calc(100% + 6px);right:0}.legend h2{margin:0 0 8px;font-size:13px}.legend ul{gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.legend li{align-items:center;gap:9px;display:flex}.legend__note{color:var(--ink-3);max-width:34ch;margin:10px 0 0;font-size:11.5px}.legend__section{background:var(--section-bg);border:1px solid var(--section-edge);border-radius:3px;width:20px;height:14px}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 120px);box-shadow:var(--shadow);overflow:auto}.matrix{border-collapse:separate;border-spacing:0;width:100%}.matrix th,.matrix td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:7px 8px}.matrix thead th{z-index:20;background:var(--surface-2);border-bottom:1px solid var(--line-strong);color:var(--ink-2);white-space:nowrap;font-size:12px;font-weight:600;position:sticky;top:0}.matrix .matrix__feature-head,.matrix .matrix__feature{text-align:left;background:var(--surface);position:sticky;left:0}.matrix__feature-head{background:var(--surface-2);z-index:25!important}.matrix__feature{z-index:10;border-right:1px solid var(--line);min-width:260px;max-width:420px;padding-left:14px;font-weight:400}.matrix .matrix__feature-head{padding-left:14px}.matrix__plan{writing-mode:horizontal-tb}.feature{align-items:center;gap:11px;display:flex}.feature__icon{flex:none;width:18px;height:18px}.feature__icon img{object-fit:contain;width:18px;height:18px;display:block}.feature__text{min-width:0}.feature__en{color:var(--ink);display:block}.feature__zh{color:var(--ink-3);font-size:12px;display:block}.matrix__section th{text-align:left;background:var(--section-bg);border-top:1px solid var(--section-edge);border-bottom:1px solid var(--section-edge);z-index:15;padding:0;position:sticky;left:0}.matrix__section-btn{text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:0;width:100%;padding:9px 14px;display:flex}.matrix__section-btn:hover{background:var(--section-hover)}.matrix__section-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.matrix__chevron{color:var(--section-ink);flex:none;margin-right:8px;display:inline-flex}.matrix tbody:first-of-type .matrix__section th{border-top:none}.matrix__section-zh{letter-spacing:.02em;color:var(--section-ink);font-size:13.5px;font-weight:700}.matrix__section-en{color:var(--ink-3);margin-left:9px;font-size:11.5px;font-weight:400}.matrix__section-count{background:var(--surface);border:1px solid var(--line);color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px}.matrix tbody tr:hover td,.matrix tbody tr:hover .matrix__feature{background:var(--accent-soft)}.matrix[data-hover-col="0"] [data-col="0"],.matrix[data-hover-col="1"] [data-col="1"],.matrix[data-hover-col="2"] [data-col="2"],.matrix[data-hover-col="3"] [data-col="3"],.matrix[data-hover-col="4"] [data-col="4"],.matrix[data-hover-col="5"] [data-col="5"],.matrix[data-hover-col="6"] [data-col="6"],.matrix[data-hover-col="7"] [data-col="7"],.matrix[data-hover-col="8"] [data-col="8"],.matrix[data-hover-col="9"] [data-col="9"],.matrix[data-hover-col="10"] [data-col="10"],.matrix[data-hover-col="11"] [data-col="11"],.matrix[data-hover-col="12"] [data-col="12"],.matrix[data-hover-col="13"] [data-col="13"],.matrix[data-hover-col="14"] [data-col="14"],.matrix[data-hover-col="15"] [data-col="15"],.matrix[data-hover-col="16"] [data-col="16"],.matrix[data-hover-col="17"] [data-col="17"],.matrix[data-hover-col="18"] [data-col="18"],.matrix[data-hover-col="19"] [data-col="19"],.matrix[data-hover-col="20"] [data-col="20"]{background-image:linear-gradient(var(--col-hover), var(--col-hover))}.matrix thead th[data-col]{transition:color .1s}.matrix[data-hover-col]:not([data-hover-col=""]) thead th[data-col]{color:var(--ink-3)}.matrix[data-hover-col="0"] thead th[data-col="0"],.matrix[data-hover-col="1"] thead th[data-col="1"],.matrix[data-hover-col="2"] thead th[data-col="2"],.matrix[data-hover-col="3"] thead th[data-col="3"],.matrix[data-hover-col="4"] thead th[data-col="4"],.matrix[data-hover-col="5"] thead th[data-col="5"],.matrix[data-hover-col="6"] thead th[data-col="6"],.matrix[data-hover-col="7"] thead th[data-col="7"],.matrix[data-hover-col="8"] thead th[data-col="8"],.matrix[data-hover-col="9"] thead th[data-col="9"],.matrix[data-hover-col="10"] thead th[data-col="10"],.matrix[data-hover-col="11"] thead th[data-col="11"],.matrix[data-hover-col="12"] thead th[data-col="12"],.matrix[data-hover-col="13"] thead th[data-col="13"],.matrix[data-hover-col="14"] thead th[data-col="14"],.matrix[data-hover-col="15"] thead th[data-col="15"],.matrix[data-hover-col="16"] thead th[data-col="16"],.matrix[data-hover-col="17"] thead th[data-col="17"],.matrix[data-hover-col="18"] thead th[data-col="18"],.matrix[data-hover-col="19"] thead th[data-col="19"],.matrix[data-hover-col="20"] thead th[data-col="20"]{color:var(--accent)}.matrix tr.is-diff td,.matrix tr.is-diff .matrix__feature{background:var(--diff)}.matrix tr.is-diff .matrix__feature{box-shadow:inset 3px 0 0 var(--diff-edge)}.matrix tr.is-diff .feature__en{font-weight:600}.cell{justify-content:center;align-items:center;min-width:22px;font-size:15px;line-height:1;display:inline-flex}.cell--included{color:var(--included)}.cell--addon{color:var(--addon);font-weight:700}.cell--partial{color:var(--partial)}.cell--na{color:var(--ink-3)}.cell--none{color:var(--absent);font-size:13px}.cell--diff{background:var(--diff);width:20px;height:14px;box-shadow:inset 3px 0 0 var(--diff-edge);border-radius:3px}.cell--text{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11.5px}.cell[data-tip]{cursor:help;position:relative}[data-tip]:after{content:attr(data-tip);z-index:40;background:var(--tip-bg);color:var(--tip-ink);white-space:nowrap;text-align:left;opacity:0;pointer-events:none;border-radius:5px;padding:4px 9px;font-size:11.5px;line-height:1.4;transition:opacity .1s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tip]:hover:after,[data-tip]:focus:after{opacity:1}.note[data-tip]:after{white-space:normal;width:max-content;max-width:420px;left:0;transform:none}.matrix tbody:first-of-type tr:nth-child(-n+3) [data-tip]:after{top:calc(100% + 6px);bottom:auto}.note{background:var(--note-bg);color:var(--note-ink);vertical-align:baseline;cursor:help;border-radius:3px;margin-left:3px;padding:1px 4px;font-size:9.5px;font-weight:700;line-height:1.4;position:relative;top:-.35em}.note:hover,.note:focus{background:var(--accent);color:var(--on-accent);outline:none}.empty{text-align:center;color:var(--ink-3);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:40px 20px}.cards__section{background:var(--section-bg);border:1px solid var(--section-edge);width:100%;color:var(--section-ink);text-align:left;border-radius:5px;align-items:center;margin:22px 0 10px;padding:8px 12px;font-size:13.5px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:12px 14px}.card h4{margin:0 0 8px;font-size:13.5px}.card h4 .feature__zh{font-weight:400}.card__note{border-left:2px solid var(--line-strong);background:var(--surface-2);color:var(--ink-2);border-radius:0 4px 4px 0;margin:0 0 8px;padding:6px 8px;font-size:11.5px}.card dl{gap:4px;margin:0;display:grid}.card dl>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.card dt{color:var(--ink-2);font-size:12.5px}.card dd{margin:0}.cell-labelled{align-items:center;gap:6px;display:inline-flex}.cell-labelled__text{color:var(--ink-2);font-size:12.5px}@media (width<=980px){.layout{grid-template-columns:1fr}.sidebar{max-height:none;position:static}.sidebar .sections{max-height:40vh;overflow:auto}}@media (width<=820px){.app{padding:12px 10px;overflow-x:clip}[data-tip]:after{display:none}.masthead{padding-bottom:8px}.masthead h1{font-size:16px}.tabs{width:100%}.tabs button{flex:1;padding:7px 8px;font-size:13px}.toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search search""modes tools""filters filters""actions actions";gap:8px;margin-bottom:10px;padding:8px 10px;display:grid;position:sticky;top:0}.toolbar .search{grid-area:search;width:100%}.toolbar__modes{grid-area:modes}.toolbar__tools{grid-area:tools;justify-content:flex-end}.toolbar__filters{flex-wrap:wrap;grid-area:filters}.toolbar__actions{grid-area:actions;justify-content:flex-end}.toolbar__spacer{display:none}.toolbar__modes,.toolbar__tools,.toolbar__filters,.toolbar__actions{align-items:center;gap:8px;min-width:0;display:flex}.toolbar .count{margin-left:auto;font-size:12px}.icon-btn{padding:7px 9px}.toggle{padding:3px 0}.picker{margin:-4px 0 12px;padding:12px}.picker__head{flex-direction:column;align-items:stretch;gap:8px}.picker__hint{font-size:11.5px;line-height:1.5}.picker__actions{justify-content:space-between}.presets{gap:6px;margin-bottom:12px}.preset,.chip{padding:6px 12px;font-size:12.5px}.sidebar{padding:10px}.sidebar .sections{max-height:46vh}.cards__section{margin:14px 0 8px}.cards>section:first-child .cards__section{margin-top:4px}.card{padding:11px 12px}.card h4{margin:0 0 6px}.card h4 .feature__en{font-size:13.5px}.card__note{padding:5px 7px;font-size:11px}.card dl{gap:0}.card dl>div{border-top:1px solid var(--line);padding:6px 0}.card dt{color:var(--ink-2);font-size:12.5px}.card--diff{background:var(--diff);border-color:var(--diff-edge);box-shadow:inset 3px 0 0 var(--diff-edge)}.card--diff h4 .feature__en{font-weight:700}.card .note{display:none}}@media (width<=379px){.toolbar__tools .icon-btn__text{display:none}.toolbar .toggle{font-size:13px}}
