.cmp-page{min-height:70vh}.cmp-page-header{position:relative;overflow:hidden;padding-bottom:calc(clamp(2.5rem,6vw,5rem) + 3px)}.cmp-page-header:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;opacity:.35;pointer-events:none}.cmp-page-header .container{position:relative;z-index:1}.cmp-header-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,rgba(0,122,255,0) 100%)}.cmp-body{padding-block:clamp(2rem,5vw,4rem)}.cmp-search-field{position:relative;display:flex;align-items:center}.cmp-search-icon{position:absolute;left:.875rem;width:1rem;height:1rem;color:var(--muted-light);pointer-events:none;flex-shrink:0}.cmp-search-input{width:100%;padding:.6875rem 1rem .6875rem 2.625rem;font-family:var(--font);font-size:.9375rem;font-weight:400;color:var(--ink);background:var(--bg-soft);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;appearance:none;-webkit-appearance:none}.cmp-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007aff1f;background:var(--bg)}.cmp-search-input:disabled{opacity:.5;cursor:not-allowed}.cmp-board-wrap{animation:fade-in .22s ease both;position:relative;border-radius:var(--radius);border:1.5px solid var(--line);box-shadow:var(--shadow-card)}.cmp-board-wrap[data-cols="2"]{max-width:720px;margin-inline:auto}.cmp-board-wrap[data-cols="3"]{max-width:960px;margin-inline:auto}.cmp-board-wrap.is-scrollable-right:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3rem;background:linear-gradient(to left,rgba(255,255,255,.92) 0%,transparent 100%);pointer-events:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.cmp-scroll-hint{font-size:.75rem;color:var(--muted);text-align:center;padding:var(--space-2) var(--space-4);background:var(--bg-soft);border-bottom:1px solid var(--line);margin:0;font-style:italic}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cmp-table{table-layout:fixed}.cmp-table th.cmp-th-label{width:clamp(6.5rem,14vw,9rem);min-width:5.5rem;background:var(--bg-soft);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);border-left:3px solid var(--accent);padding-left:calc(1rem - 2px);white-space:normal}.cmp-th-circuit{min-width:6.5rem;vertical-align:top;padding:0!important;border-left:1px solid var(--line)}.cmp-th-circuit-inner{padding:1rem .875rem .875rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;text-transform:none;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere}.cmp-th-silhouette{width:100%;max-width:160px;height:auto;aspect-ratio:90 / 54;color:var(--accent);opacity:1;flex-shrink:0;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem}.cmp-th-circuit-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem}.cmp-th-circuit a{display:block;max-width:100%;font-size:.9375rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none;line-height:1.2;white-space:normal;overflow-wrap:anywhere;transition:color .12s ease}.cmp-th-circuit a:hover{color:var(--accent);text-decoration:none}.cmp-th-circuit__sub{font-size:.75rem;color:var(--muted);font-weight:500;line-height:1.3}.cmp-th-remove{display:inline-flex;align-items:center;justify-content:center;margin-top:.375rem;width:1.5rem;height:1.5rem;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--muted-light);padding:0;transition:background .12s ease,color .12s ease;flex-shrink:0}.cmp-th-remove:hover{background:#dc262614;color:#dc2626}.cmp-th-remove svg{width:12px;height:12px;pointer-events:none}.cmp-td-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;white-space:normal;background:var(--bg-soft);border-left:3px solid transparent!important}tbody tr:hover .cmp-td-label{border-left-color:var(--accent)!important}.cmp-td-val{font-size:.9375rem;font-weight:500;color:var(--ink);vertical-align:middle;border-left:1px solid var(--line)}.cmp-td-val--na{color:var(--muted-light);font-style:italic;font-weight:400}.cmp-val{display:block}.cmp-td-val--best .cmp-val{color:var(--accent);font-weight:700}.cmp-win-badge{display:inline-block;margin-top:.3rem;padding:.1rem .45rem;border-radius:100px;font-size:.625rem;font-weight:700;letter-spacing:.02em;text-transform:lowercase;color:var(--accent);background:var(--accent-faint);border:1px solid rgba(0,122,255,.22);white-space:nowrap}.cmp-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:100px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:var(--bg-soft);color:var(--muted);border:1px solid var(--line);margin:.125rem .125rem .125rem 0;white-space:nowrap}.cmp-share{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.cmp-share__label{font-size:.875rem;color:var(--muted);font-weight:500}.cmp-share__btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem 1rem;font-family:var(--font);font-size:.8125rem;font-weight:600;color:var(--ink);background:var(--bg);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;letter-spacing:-.01em}.cmp-share__btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.cmp-share__btn svg{width:14px;height:14px;flex-shrink:0}.cmp-share__feedback{font-size:.8125rem;color:#15803d;font-weight:600;opacity:0;transition:opacity .2s ease}.cmp-share__feedback.is-visible{opacity:1}.cmp-group-row td.cmp-group-cell{background:var(--surface-dark);color:#ffffffd1;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1rem}.cmp-th-add{padding:.625rem!important}.cmp-add-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:100%;padding:1.5rem .875rem;border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);margin:0;background:var(--bg-soft);color:var(--muted);font-family:var(--font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.cmp-add-slot:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.cmp-add-slot__plus{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1.5px solid currentColor}.cmp-add-slot__plus svg{width:16px;height:16px}.cmp-td-val--empty{background:repeating-linear-gradient(45deg,var(--bg-soft),var(--bg-soft) 6px,transparent 6px,transparent 12px);opacity:.5}.cmp-board-hint{text-align:center;padding:clamp(2rem,6vw,3.5rem) 1rem;color:var(--muted);font-size:.9375rem;border-left:1px solid var(--line)}.cmp-board-hint__text{margin:0}.cmp-suggest{margin-top:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.cmp-suggest__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-light)}.cmp-suggest__row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.cmp-suggest-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4375rem .875rem;font-family:var(--font);font-size:.8125rem;font-weight:600;color:var(--ink);background:var(--bg);border:1.5px solid var(--line-strong);border-radius:100px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;letter-spacing:-.01em}.cmp-suggest-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.cmp-suggest-chip__plus{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--accent-faint);color:var(--accent);font-size:.875rem;font-weight:700;line-height:1}.cmp-suggest-chip:hover .cmp-suggest-chip__plus{background:var(--accent);color:#fff}.cmp-picker{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.cmp-picker[hidden]{display:none}.cmp-picker__backdrop{position:absolute;inset:0;background:#0c101c80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:cmp-fade .18s ease both}.cmp-picker__panel{position:relative;width:100%;max-width:460px;max-height:min(640px,82vh);display:flex;flex-direction:column;padding:1.25rem 1.25rem .5rem;background:var(--bg);border-radius:22px;box-shadow:0 1px #fff9 inset,0 24px 60px -12px #0a0c1966,0 8px 20px -8px #0a0c1940;animation:cmp-pop .22s cubic-bezier(.22,1,.36,1) both}@keyframes cmp-fade{0%{opacity:0}to{opacity:1}}@keyframes cmp-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cmp-picker__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.cmp-picker__title{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.cmp-picker__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:var(--bg-soft);border-radius:50%;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.cmp-picker__close:hover{background:var(--bg-hover);color:var(--ink);transform:rotate(90deg)}.cmp-picker__close svg{width:14px;height:14px}.cmp-picker .cmp-search-input{padding-block:.8125rem;border-radius:14px;background:var(--bg-soft)}.cmp-picker__list{list-style:none;margin:.75rem -.5rem 0;padding:0 .5rem .75rem;overflow-y:auto;overscroll-behavior:contain;flex:1;display:flex;flex-direction:column;gap:2px}.cmp-picker__item{display:flex;align-items:center;gap:.875rem;padding:.55rem .6rem;border-radius:14px;cursor:pointer;transition:background .13s ease}.cmp-picker__item:hover{background:var(--accent-faint)}.cmp-picker__track{width:56px;height:34px;flex-shrink:0;color:var(--accent);background:var(--bg-soft);border:1px solid var(--line);border-radius:9px;padding:4px}.cmp-picker__item:hover .cmp-picker__track{border-color:#007aff4d}.cmp-picker__text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.cmp-picker__name{font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-picker__meta{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-picker__add{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex-shrink:0;border-radius:50%;color:var(--accent);background:transparent;opacity:0;transform:scale(.8);transition:opacity .13s ease,transform .13s ease,background .13s ease}.cmp-picker__item:hover .cmp-picker__add{opacity:1;transform:scale(1);background:var(--bg)}.cmp-picker__add svg{width:14px;height:14px}.cmp-picker__empty{padding:2rem .5rem;text-align:center;font-size:.875rem;color:var(--muted)}@media (max-width: 560px){.cmp-picker{align-items:flex-end;padding:0}.cmp-picker__panel{max-width:100%;max-height:85vh;border-radius:22px 22px 0 0;padding-bottom:max(.75rem,env(safe-area-inset-bottom));animation:cmp-sheet .24s cubic-bezier(.22,1,.36,1) both}@keyframes cmp-sheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media (max-width: 640px){.cmp-table th.cmp-th-label,.cmp-td-label{width:8rem;min-width:7rem}.cmp-th-silhouette{max-width:120px}.cmp-th-circuit{min-width:9rem}}
