:root{--zc-primary:#e11d48;--zc-primary-light:#fb7185;--zc-primary-soft:#e11d481a;--zc-accent:#7c3aed;--zc-accent-light:#a78bfa;--zc-score-perfect:#059669;--zc-score-great:#10b981;--zc-score-good:#f59e0b;--zc-score-fair:#f97316;--zc-score-challenging:#ef4444;--zc-love:#e11d48;--zc-communication:#6366f1;--zc-values:#059669;--zc-intimacy:#f97316;--zc-bg:#ffffffeb;--zc-bg-soft:#ffffffb3;--zc-bg-muted:#f1f5f9d9;--zc-text:#1e293b;--zc-text-soft:#475569;--zc-text-muted:#64748b;--zc-border:#e2e8f0cc;--zc-shadow-card:0 4px 20px #0000000f, 0 1px 4px #0000000a;--zc-shadow-sm:0 2px 8px #0000000d;--zc-radius:14px;--zc-radius-sm:10px;--zc-radius-xs:6px}._zc-container{flex-direction:column;gap:1.25rem;width:100%;max-width:560px;margin:0 auto;display:flex}._zc-tabs{background:var(--zc-bg);border-radius:var(--zc-radius);box-shadow:var(--zc-shadow-sm);border-style:solid;border-width:1px;border-color:var(--zc-border);gap:.25rem;padding:.25rem;display:flex}._zc-tab{min-height:40px;color:var(--zc-text-muted);border-radius:var(--zc-radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:color .2s,background .2s,box-shadow .2s;display:flex}@media (hover:hover){._zc-tab:hover{color:var(--zc-text);background:var(--zc-bg-muted)}}._zc-tab._zc-tab-active{background:var(--zc-primary);color:#fff;box-shadow:0 2px 8px #e11d484d}._zc-tab svg{width:14px;height:14px}._zc-panel{display:none}._zc-panel._zc-panel-active{display:block}._zc-placeholder{color:var(--zc-text-muted);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}._zc-placeholder svg{opacity:.4;width:28px;height:28px}._zc-placeholder p{margin:0;font-size:.875rem}._zc-disclaimer{color:var(--zc-text-muted);opacity:.7;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.6875rem;line-height:1.4;display:flex}._zc-disclaimer svg{flex-shrink:0;width:11px;height:11px}@media (max-width:768px){._zc-container{gap:1rem;padding-left:1rem;padding-right:1rem}._zc-tab{padding:.5rem;font-size:.75rem}._zc-tab svg{width:13px;height:13px}._zc-placeholder{padding:2rem 1rem}}._zc-selectors{align-items:flex-start;gap:.75rem;display:flex}._zc-sign-picker{text-align:center;flex:1;position:relative}._zc-sign-label{text-transform:uppercase;letter-spacing:.05em;color:var(--zc-text-muted);margin-bottom:.5rem;font-size:.6875rem;font-weight:600}._zc-sign-btn{background:var(--zc-bg);border-style:solid;border-width:2px;border-color:var(--zc-border);border-radius:var(--zc-radius);cursor:pointer;width:100%;box-shadow:var(--zc-shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;align-items:center;gap:.375rem;padding:1rem .75rem;transition:border-color .2s,box-shadow .2s;display:flex}@media (hover:hover){._zc-sign-btn:hover{border-color:var(--zc-primary-light);box-shadow:0 4px 16px #e11d481f}}._zc-sign-btn._zc-sign-selected{border-color:var(--zc-primary);box-shadow:0 4px 16px #e11d4833}._zc-sign-symbol{font-variant-emoji:text;font-family:inherit;font-size:2rem;line-height:1}._zc-sign-name{color:var(--zc-text);font-size:.8125rem;font-weight:500}._zc-sign-grid{background:var(--zc-bg);border-style:solid;border-width:1px;border-color:var(--zc-border);border-radius:var(--zc-radius);z-index:10;width:220px;max-width:calc(100vw - 2rem);padding:.5rem;display:none;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000001f}._zc-sign-grid._zc-grid-open{grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid}._zc-sign-option{border-radius:var(--zc-radius-xs);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .25rem;transition:background .15s,box-shadow .15s;display:flex}@media (hover:hover){._zc-sign-option:hover{background:var(--zc-primary-soft)}}._zc-sign-option._zc-option-active{background:var(--zc-primary-soft);box-shadow:inset 0 0 0 1px var(--zc-primary-light)}._zc-sign-option-symbol{font-variant-emoji:text;font-family:inherit;font-size:1.25rem;line-height:1}._zc-sign-option-name{color:var(--zc-text-soft);white-space:nowrap;font-size:.5625rem}._zc-birthday-toggle{margin-top:.375rem}._zc-birthday-link{color:var(--zc-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;align-items:center;gap:.25rem;padding:.375rem .25rem;font-size:.6875rem;transition:color .15s;display:inline-flex}@media (hover:hover){._zc-birthday-link:hover{color:var(--zc-primary)}}._zc-birthday-link svg{width:11px;height:11px}._zc-birthday-input{margin-top:.375rem}._zc-date-row{gap:.375rem;display:flex}._zc-date-select{background:var(--zc-bg);border-style:solid;border-width:1.5px;border-color:var(--zc-border);border-radius:var(--zc-radius-xs);min-width:0;color:var(--zc-text);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2364748b'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;outline:none;flex:1;padding:.5rem 1.5rem .5rem .5rem;font-family:inherit;font-size:.8125rem;transition:border-color .2s,box-shadow .2s}._zc-date-select:focus{border-color:var(--zc-primary-light);box-shadow:0 0 0 3px #e11d481a}._zc-swap{background:var(--zc-bg);border-style:solid;border-width:1px;border-color:var(--zc-border);width:40px;height:40px;color:var(--zc-text-muted);cursor:pointer;box-shadow:var(--zc-shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2rem;transition:color .2s,border-color .2s,box-shadow .2s;display:flex}@media (hover:hover){._zc-swap:hover{color:var(--zc-primary);border-color:var(--zc-primary-light)}}._zc-swap svg{width:14px;height:14px}@media (max-width:600px){._zc-selectors{gap:.5rem}._zc-sign-grid{width:200px}._zc-sign-symbol{font-size:1.75rem}._zc-sign-btn{padding:.75rem .5rem}._zc-sign-name{font-size:.75rem}._zc-swap{width:36px;height:36px;margin-top:1.75rem}._zc-sign-option{padding:.5rem .125rem}._zc-sign-option-symbol{font-size:1.125rem}}@media (max-width:380px){._zc-sign-grid{width:180px}._zc-sign-grid._zc-grid-open{grid-template-columns:repeat(3,1fr)}#_zc-picker-1 ._zc-sign-grid{left:0;transform:none}#_zc-picker-2 ._zc-sign-grid{left:auto;right:0;transform:none}}._zc-result{flex-direction:column;gap:1rem;animation:.4s zc-fadeIn;display:flex}@keyframes zc-fadeIn{0%{opacity:0}to{opacity:1}}._zc-score-card{background:var(--zc-bg);border-style:solid;border-width:1px;border-color:var(--zc-border);border-radius:var(--zc-radius);box-shadow:var(--zc-shadow-card);flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}._zc-score-header{text-align:center}._zc-score-pair{color:var(--zc-text);font-variant-emoji:text;font-size:1.125rem;font-weight:600}._zc-score-circle{width:120px;height:120px;position:relative}._zc-score-svg{width:100%;height:100%;transform:rotate(-90deg)}._zc-score-track{fill:none;stroke:var(--zc-bg-muted);stroke-width:8px}._zc-score-fill{fill:none;stroke:var(--zc-primary);stroke-width:8px;stroke-linecap:round;stroke-dasharray:339.292;stroke-dashoffset:339.292px;transition:stroke-dashoffset 1s,stroke .3s}._zc-score-value{justify-content:center;align-items:center;gap:.125rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._zc-score-number{color:var(--zc-text);font-size:2rem;font-weight:700;font-family:var(--main-font-mono)}._zc-score-percent{color:var(--zc-text-muted);margin-top:.5rem;font-size:1rem;font-weight:500}._zc-score-label{border-radius:var(--main-radius-full);padding:.25rem 1rem;font-size:.875rem;font-weight:600}._zc-score-label[data-level=perfect]{color:var(--zc-score-perfect);background:#0596691a}._zc-score-label[data-level=great]{color:var(--zc-score-great);background:#10b9811a}._zc-score-label[data-level=good]{color:var(--zc-score-good);background:#f59e0b1a}._zc-score-label[data-level=fair]{color:var(--zc-score-fair);background:#f973161a}._zc-score-label[data-level=challenging]{color:var(--zc-score-challenging);background:#ef44441a}._zc-aspects{background:var(--zc-bg);border-style:solid;border-width:1px;border-color:var(--zc-border);border-radius:var(--zc-radius);box-shadow:var(--zc-shadow-card);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}._zc-aspect{flex-direction:column;gap:.375rem;display:flex}._zc-aspect-header{justify-content:space-between;align-items:center;display:flex}._zc-aspect-label{color:var(--zc-text);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}._zc-aspect-icon{width:14px;height:14px}._zc-aspect-value{font-size:.8125rem;font-weight:600;font-family:var(--main-font-mono);color:var(--zc-text-soft)}._zc-aspect-bar{background:var(--zc-bg-muted);border-radius:3px;height:6px;overflow:hidden}._zc-aspect-fill{border-radius:3px;width:0;height:100%;transition:width .8s}._zc-aspect[data-aspect=love] ._zc-aspect-fill{background:var(--zc-love)}._zc-aspect[data-aspect=communication] ._zc-aspect-fill{background:var(--zc-communication)}._zc-aspect[data-aspect=values] ._zc-aspect-fill{background:var(--zc-values)}._zc-aspect[data-aspect=intimacy] ._zc-aspect-fill{background:var(--zc-intimacy)}._zc-aspect-desc{color:var(--zc-text-muted);font-size:.75rem;line-height:1.4}._zc-description{background:var(--zc-bg);border-style:solid;border-width:1px;border-color:var(--zc-border);border-radius:var(--zc-radius);box-shadow:var(--zc-shadow-card);color:var(--zc-text-soft);padding:1.25rem;font-size:.875rem;line-height:1.6}._zc-tips{background:var(--zc-bg);border-style:solid;border-width:1px;border-color:var(--zc-border);border-radius:var(--zc-radius);box-shadow:var(--zc-shadow-card);word-wrap:break-word;overflow-wrap:break-word;padding:1.25rem}._zc-tips-title{color:var(--zc-text);align-items:center;gap:.375rem;margin-bottom:.75rem;font-size:.8125rem;font-weight:600;display:flex}._zc-tips-title svg{width:14px;height:14px;color:var(--zc-accent)}._zc-tips-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}._zc-tips-list li{color:var(--zc-text-soft);padding-left:1.25rem;font-size:.8125rem;line-height:1.5;position:relative}._zc-tips-list li:before{content:"→";color:var(--zc-accent-light);position:absolute;left:0}._zc-description{word-wrap:break-word;overflow-wrap:break-word}@media (max-width:600px){._zc-score-card{padding:1.25rem 1rem}._zc-score-pair{word-break:break-word;font-size:1rem}._zc-score-circle{width:110px;height:110px}._zc-score-number{font-size:1.75rem}._zc-aspects{gap:.625rem;padding:1rem}._zc-aspect-label,._zc-aspect-value{font-size:.75rem}._zc-aspect-desc{font-size:.6875rem}._zc-description,._zc-tips{padding:1rem;font-size:.8125rem}._zc-tips-list li{font-size:.75rem}}._zc-grid-wrapper{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;min-height:480px;padding-bottom:.25rem;overflow-x:auto}@media (max-width:600px){._zc-grid-wrapper{min-height:360px}}._zc-compat-grid{border-collapse:separate;border-spacing:2px;width:100%;min-width:520px}._zc-compat-grid th,._zc-compat-grid td{text-align:center;padding:0}._zc-grid-header{white-space:nowrap;font-variant-emoji:text;padding:.375rem .25rem;font-size:1rem}._zc-grid-row-header{white-space:nowrap;font-variant-emoji:text;padding:.25rem .375rem;font-size:1rem}._zc-grid-cell{border-radius:var(--zc-radius-xs);cursor:pointer;width:36px;height:36px;font-size:.6875rem;font-weight:600;font-family:var(--main-font-mono);color:#fff;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;padding:0;transition:opacity .15s,box-shadow .15s;position:relative}@media (hover:hover){._zc-grid-cell:hover{opacity:.8;box-shadow:0 2px 8px #00000026}}._zc-grid-cell:active{opacity:.85}._zc-grid-cell[data-level=perfect]{background:var(--zc-score-perfect)}._zc-grid-cell[data-level=great]{background:var(--zc-score-great)}._zc-grid-cell[data-level=good]{background:var(--zc-score-good)}._zc-grid-cell[data-level=fair]{background:var(--zc-score-fair)}._zc-grid-cell[data-level=challenging]{background:var(--zc-score-challenging)}._zc-grid-cell-self{background:var(--zc-bg-muted);border-radius:var(--zc-radius-xs);width:36px;height:36px;color:var(--zc-text-muted);font-size:.6875rem}._zc-grid-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:.75rem;display:flex}._zc-legend-item{color:var(--zc-text-muted);align-items:center;gap:.25rem;font-size:.6875rem;display:flex}._zc-legend-color{border-radius:2px;width:12px;height:12px;display:inline-block}._zc-legend-color[data-level=perfect]{background:var(--zc-score-perfect)}._zc-legend-color[data-level=great]{background:var(--zc-score-great)}._zc-legend-color[data-level=good]{background:var(--zc-score-good)}._zc-legend-color[data-level=fair]{background:var(--zc-score-fair)}._zc-legend-color[data-level=challenging]{background:var(--zc-score-challenging)}@media (max-width:768px){._zc-grid-cell,._zc-grid-cell-self{width:30px;height:30px;font-size:.5625rem}._zc-grid-header,._zc-grid-row-header{font-size:.875rem}._zc-compat-grid{min-width:440px}._zc-grid-legend{gap:.5rem .75rem;font-size:.625rem}}@media (max-width:380px){._zc-grid-cell,._zc-grid-cell-self{width:28px;height:28px}._zc-compat-grid{min-width:410px}}
