:root{--bg-color: #ffffff;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--card-bg: #ffffff;--border-color: #e2e8f0;--hover-bg: #f8fafc;--accent: #0f172a;--tag-bg: #f1f5f9;--tag-text: #334155;--focus-ring: #2563eb;--warning: #b45309;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--text-xs: .8rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem}@media(prefers-color-scheme:dark){:root{--bg-color: #15181c;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--card-bg: #1c2126;--border-color: #2d333b;--hover-bg: #20262d;--accent: #7dd3fc;--tag-bg: #232a31;--tag-text: #cbd5e1;--focus-ring: #7dd3fc;--warning: #fbbf24}}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);line-height:1.6}#app{max-width:880px;margin:0 auto;padding:3.5rem 1.5rem 4rem}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}header{margin-bottom:2rem}h1{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800;letter-spacing:-.02em}.title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.site-subtitle{margin:.35rem 0 0;color:var(--text-secondary);font-size:1.05rem}.github-link,.icon-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:var(--text-secondary);border-radius:50%;transition:color .2s ease,background-color .2s ease}.github-link:before{width:1.35rem;height:1.35rem;background:currentColor;content:"";mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .7a11.5 11.5 0 0 0-3.64 22.4c.58.1.79-.25.79-.56v-2.2c-3.22.7-3.9-1.37-3.9-1.37-.52-1.34-1.29-1.7-1.29-1.7-1.05-.72.08-.71.08-.71 1.17.08 1.78 1.2 1.78 1.2 1.04 1.78 2.72 1.27 3.38.97.1-.75.4-1.27.74-1.56-2.57-.3-5.27-1.29-5.27-5.69 0-1.26.45-2.28 1.19-3.09-.12-.29-.52-1.46.11-3.05 0 0 .97-.31 3.16 1.18A11 11 0 0 1 12 6.14c.98 0 1.96.13 2.88.38 2.2-1.49 3.16-1.18 3.16-1.18.63 1.59.23 2.76.11 3.05.74.81 1.19 1.83 1.19 3.09 0 4.42-2.71 5.39-5.29 5.68.42.36.79 1.07.79 2.16v3.21c0 .31.21.67.8.56A11.5 11.5 0 0 0 12 .7Z'/%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .7a11.5 11.5 0 0 0-3.64 22.4c.58.1.79-.25.79-.56v-2.2c-3.22.7-3.9-1.37-3.9-1.37-.52-1.34-1.29-1.7-1.29-1.7-1.05-.72.08-.71.08-.71 1.17.08 1.78 1.2 1.78 1.2 1.04 1.78 2.72 1.27 3.38.97.1-.75.4-1.27.74-1.56-2.57-.3-5.27-1.29-5.27-5.69 0-1.26.45-2.28 1.19-3.09-.12-.29-.52-1.46.11-3.05 0 0 .97-.31 3.16 1.18A11 11 0 0 1 12 6.14c.98 0 1.96.13 2.88.38 2.2-1.49 3.16-1.18 3.16-1.18.63 1.59.23 2.76.11 3.05.74.81 1.19 1.83 1.19 3.09 0 4.42-2.71 5.39-5.29 5.68.42.36.79 1.07.79 2.16v3.21c0 .31.21.67.8.56A11.5 11.5 0 0 0 12 .7Z'/%3E%3C/svg%3E") center / contain no-repeat}.roars-link:before{width:1.45rem;height:1.45rem;background:currentColor;content:"";mask:url(https://cspicks.roars.dev/roars-dino.png) center / contain no-repeat;-webkit-mask:url(https://cspicks.roars.dev/roars-dino.png) center / contain no-repeat}.icon-link svg{width:1.25rem;height:1.25rem;stroke-linecap:round;stroke-linejoin:round}.github-link:hover,.github-link:focus-visible,.icon-link:hover,.icon-link:focus-visible{color:var(--text-primary);background:var(--hover-bg)}.github-link:focus-visible,.icon-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.criteria{color:var(--text-muted);font-size:var(--text-sm);margin-top:.85rem;max-width:62ch}.term{position:relative;cursor:help;text-decoration:underline dotted var(--text-muted);text-underline-offset:2px}.term:after{content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + .4rem);width:max-content;max-width:260px;background:var(--text-primary);color:var(--bg-color);font-size:var(--text-xs);line-height:1.4;padding:.5rem .65rem;border-radius:6px;opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease;z-index:10;pointer-events:none}.term:hover:after,.term:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.holiday-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding:.6rem .9rem;border-radius:8px;background:var(--tag-bg);color:var(--text-primary);font-size:var(--text-sm)}.holiday-banner[hidden]{display:none}.banner-close{background:none;border:none;color:var(--text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;padding:0 .2rem}.banner-close:hover,.banner-close:focus-visible{color:var(--text-primary)}.controls{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:2rem 0 .75rem}.search-suggestion-panel{position:absolute;z-index:10;top:3.25rem;right:auto;left:0;width:100%;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);box-shadow:0 6px 18px #0000001f}.search-suggestion-panel[hidden]{display:none}.search-suggestion{display:block;width:100%;padding:.65rem .9rem;border:0;border-bottom:1px solid var(--border-color);background:transparent;color:var(--text-primary);font:inherit;text-align:left}.search-suggestion:last-child{border-bottom:0}.search-suggestion:hover,.search-suggestion:focus-visible,.search-suggestion[aria-selected=true]{background:var(--hover-bg)}.examples{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1.25rem}.examples-label{color:var(--text-muted);font-size:var(--text-xs)}.example-chip{background:var(--tag-bg);color:var(--tag-text);border:none;padding:.2rem .65rem;border-radius:999px;font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer}.example-chip:hover{background:var(--hover-bg);color:var(--text-primary)}.example-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.search-input{grid-column:1 / -1;width:100%;min-width:0;padding:.6rem .9rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base)}.search-input:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.field-select{width:100%;min-width:0;padding:.6rem .9rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer}.field-select:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.track-select{min-width:7.5rem}.location-select{min-width:8.5rem}@media(max-width:900px){.controls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.controls{grid-template-columns:1fr}.search-input{grid-column:auto}.search-suggestion-panel{width:100%}}.result-count{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:1rem}.submission-link{color:inherit;text-decoration:underline dotted;text-underline-offset:2px}.submission-link:hover,.submission-link:focus-visible{color:var(--text-primary)}.roster{display:flex;flex-direction:column;border-top:1px solid var(--border-color)}.entry{padding:.9rem 0;border-bottom:1px solid var(--border-color)}.entry-with-portrait{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.75rem}.entry-portrait{width:64px;height:64px;border-radius:8px;object-fit:cover;object-position:center top}.entry-content{min-width:0}.entry-name-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem}.entry-name{color:var(--text-primary);font-weight:600;text-decoration:none}.entry-vietnamese-name{color:var(--text-muted);font-size:var(--text-sm)}.entry-name:hover,.entry-name:focus-visible{text-decoration:underline}.scholar-link{color:var(--text-muted);display:inline-flex;vertical-align:text-bottom}.scholar-link:hover,.scholar-link:focus-visible{color:var(--text-primary)}.scholar-link svg{height:1rem;width:1rem;fill:currentColor}.entry-meta{color:var(--text-muted);font-size:var(--text-sm)}.country-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Android Emoji",sans-serif;display:inline-block;vertical-align:-.05em;font-size:1.05em;line-height:1}.loc-badge{display:inline-flex;align-items:baseline;gap:.2rem}.entry-details{color:var(--text-muted);font-size:var(--text-sm);margin-top:.2rem}.entry-honors{color:var(--text-muted);font-size:var(--text-sm);line-height:1.45;margin-top:.25rem}.honors-label{color:var(--text);font-weight:600}.honor-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:.15em}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.tag{display:inline-block;background:var(--tag-bg);color:var(--tag-text);font-size:var(--text-xs);padding:.15rem .55rem;border-radius:999px;white-space:nowrap;border:1px solid transparent;font-family:var(--font-body)}.tag-track,.tag-field{background:transparent;border-color:var(--border-color);font-weight:600}.empty-state{padding:3rem 0;text-align:center;color:var(--text-muted)}.insights-dashboard{display:flex;flex-direction:column;gap:2.5rem;margin-top:.5rem}.insights-section-block{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a}.insights-section-header{display:flex;flex-direction:column;gap:.35rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.85rem}.insights-badge{display:inline-flex;align-items:center;align-self:flex-start;font-size:var(--text-xs);font-weight:600;padding:.2rem .6rem;border-radius:9999px;background-color:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.insights-main-heading{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.insights-main-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.insights-section{display:flex;flex-direction:column}.insights-heading{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.insights-caption{color:var(--text-muted);font-size:var(--text-xs);margin-bottom:.75rem}.state-grid-wrap{overflow-x:auto;padding-bottom:.25rem}.state-grid{display:grid;grid-template-columns:repeat(13,1.9rem);grid-auto-rows:1.9rem;gap:.2rem;width:max-content}.state-tile{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:4px;background:var(--card-bg);color:var(--text-primary);font-family:var(--font-body);font-size:.65rem;padding:0;cursor:pointer}.state-tile:hover{border-color:var(--focus-ring)}.state-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.state-tile.heat-0{color:var(--text-muted)}.state-tile.heat-1{background:color-mix(in srgb,var(--focus-ring) 15%,var(--card-bg))}.state-tile.heat-2{background:color-mix(in srgb,var(--focus-ring) 35%,var(--card-bg))}.state-tile.heat-3{background:color-mix(in srgb,var(--focus-ring) 60%,var(--card-bg));color:#fff}.state-tile.heat-4{background:var(--focus-ring);color:#fff}.chart-container{display:flex;flex-direction:column;gap:.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.chart-row{display:flex;align-items:center;gap:.75rem}.chart-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);width:3.25rem;flex-shrink:0;text-align:right}.chart-track{flex:1;height:1.1rem;background:var(--tag-bg);border-radius:4px;overflow:hidden}.chart-bar{height:100%;background:color-mix(in srgb,var(--focus-ring) 75%,var(--card-bg));border-radius:4px;min-width:3px;transition:width .3s ease}.chart-value{font-size:var(--text-xs);font-weight:600;color:var(--text-primary);width:4.5rem;flex-shrink:0}.chart-share{font-weight:400;color:var(--text-muted)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.insights-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;flex-direction:column}.ranked-list{display:flex;flex-direction:column;gap:.35rem}.ranked-item{display:flex;flex-direction:column;gap:.25rem;width:100%;background:none;border:1px solid transparent;border-radius:6px;padding:.35rem .45rem;text-align:left;cursor:pointer;font-family:var(--font-body);transition:background .15s ease,border-color .15s ease}.ranked-item:hover{background:var(--hover-bg);border-color:var(--border-color)}.ranked-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.ranked-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.ranked-name{font-size:var(--text-xs);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranked-num{color:var(--text-muted);font-size:.75rem;margin-right:.15rem}.ranked-count{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);flex-shrink:0}.ranked-track{height:4px;width:100%;background:var(--tag-bg);border-radius:999px;overflow:hidden}.ranked-bar{height:100%;background:var(--focus-ring);border-radius:999px;transition:width .3s ease}.fun-facts{list-style:none;border-top:1px solid var(--border-color)}.fun-facts li{padding:.7rem 0;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:var(--text-sm)}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.back-to-top[hidden]{display:none}.back-to-top:hover{background:var(--hover-bg);transform:translateY(-2px);border-color:var(--focus-ring);color:var(--focus-ring);box-shadow:0 6px 16px #00000026}.back-to-top:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.back-to-top svg{width:1.25rem;height:1.25rem}.home-link{color:inherit;text-decoration:none}.submit-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem}.form-section{display:flex;flex-direction:column;gap:.4rem;border:none;padding:0}.form-section>label,.form-section legend{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.form-help{color:var(--text-muted);font-size:var(--text-xs)}.form-help.warning{color:var(--warning)}.form-help.notice{color:var(--focus-ring);font-weight:500}.link-btn{background:none;border:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.correction-suggestions{overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg)}.correction-suggestion{display:flex;width:100%;flex-direction:column;gap:.1rem;padding:.55rem .75rem;border:0;border-bottom:1px solid var(--border-color);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.correction-suggestion:last-child{border-bottom:0}.correction-suggestion span{color:var(--text-muted);font-size:var(--text-xs)}.correction-suggestion:hover,.correction-suggestion:focus-visible{background:var(--hover-bg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.form-section input[type=text],.form-section input[type=url],.form-section textarea{padding:.6rem .9rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base)}.form-section textarea{resize:vertical}.form-section input:focus,.form-section textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.radio-row,.checkbox-row{display:flex;align-items:baseline;gap:.5rem;font-size:var(--text-sm);font-weight:400;color:var(--text-primary);cursor:pointer}.attestation{background:var(--tag-bg);border:1px solid var(--border-color);border-radius:8px;padding:.9rem 1rem}.submit-btn{align-self:flex-start;padding:.7rem 1.4rem;border:none;border-radius:8px;background:var(--accent);color:var(--bg-color);font-family:var(--font-body);font-weight:600;font-size:var(--text-base);cursor:pointer}.submit-actions{display:flex;flex-wrap:wrap;gap:.65rem}.submit-btn:hover{opacity:.9}.submit-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.submit-btn-secondary{border:1px solid var(--border-color);background:transparent;color:var(--text-primary)}.submit-hint{color:var(--text-muted);font-size:var(--text-xs);max-width:62ch}
