:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e0e0e0;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#7c83ff;text-decoration:inherit}a:hover{color:#9da3ff}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#3d3d3d;color:#e0e0e0;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{box-sizing:border-box;margin:0;padding:0}#root{width:100%;min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#e0e0e0;background:#1a1a1a}.app{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center}.app.centered{justify-content:center}button{cursor:pointer;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;transition:all .2s}button:disabled{opacity:.5;cursor:not-allowed}button:not(:disabled):hover{transform:translateY(-1px)}input,select{padding:.75rem;border:1px solid #444;border-radius:6px;font-size:1rem;background:#2d2d2d;color:#e0e0e0}input:focus,select:focus{outline:none;border-color:#888}.error{color:#ff6b6b;padding:.5rem;background:#3d2020;border-radius:4px;margin:.5rem 0}.success{color:#6bcf6b;padding:.5rem;background:#203d20;border-radius:4px}.home-page{width:100%;max-width:600px;padding:2rem;text-align:center}.home-page h1{font-size:2.5rem;margin-bottom:.5rem}.site-summary{color:#aaa;font-size:1rem;line-height:1.5;margin-bottom:2rem;max-width:450px;margin-left:auto;margin-right:auto}.tagline{color:#999;margin-bottom:2rem}.mode-select{display:flex;flex-direction:column;gap:1rem}.mode-select-container{display:flex;gap:2rem;align-items:stretch}.mode-column{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.mode-column h2{margin-bottom:.5rem;font-size:1.25rem}.mode-desc{color:#999;font-size:.9rem;margin-bottom:1rem;min-height:2.5rem}.mode-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}.mode-divider{display:flex;align-items:center;color:#666;font-size:.875rem}.mode-divider span{padding:0 .5rem}.solo-button{display:flex;align-items:center;justify-content:center;text-decoration:none;background:#3d5a4a;border:2px solid #4caf50}.solo-button:hover{background:#4a6a5a}@media(max-width:500px){.mode-select-container{flex-direction:column;gap:1.5rem}.mode-divider{justify-content:center}.mode-divider:before,.mode-divider:after{content:"";flex:1;height:1px;background:#444}}.big-button{padding:1.5rem;font-size:1.25rem;background:#444;color:#e0e0e0}.big-button.secondary{background:#2d2d2d;color:#e0e0e0;border:2px solid #555}.reveal-options{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0;text-align:left}.reveal-options label{display:flex;flex-direction:column;padding:1rem;border:2px solid #444;border-radius:8px;cursor:pointer}.reveal-options label.selected{border-color:#888;background:#333}.reveal-options input{display:none}.reveal-options .label{font-weight:600}.reveal-options .desc{font-size:.875rem;color:#999}.name-input-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.name-input{font-size:1.25rem;padding:.75rem 1rem;text-align:center}.code-input{font-size:2rem;text-align:center;letter-spacing:.5rem;width:100%;max-width:280px;text-transform:uppercase}.room-code{font-size:1.5rem;font-weight:600;letter-spacing:.25rem;color:#4a9eff}.actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.actions button{background:#444;color:#e0e0e0}.actions button.secondary{background:transparent;color:#999}.session-page{width:100%;max-width:800px;margin:0 auto;padding:1rem}.session-header{position:sticky;top:0;background:#1a1a1a;padding:1rem 0;margin-bottom:1rem;z-index:10}.session-info{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.session-info h1{flex:1}.partner-badge{background:#444;color:#e0e0e0;padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.session-expiry{color:#888;font-size:.8rem;margin-left:auto}.code-toggle{font-size:.875rem;padding:.5rem;background:transparent;color:#999}.copy-link-btn{font-size:.875rem;padding:.5rem .75rem;background:#4a9eff;color:#fff;margin-left:.5rem}.share-prompt{background:linear-gradient(135deg,#2a4a6a,#1a3a5a);border:2px solid #4a9eff;border-radius:12px;padding:1rem 1.5rem;margin-bottom:1rem;text-align:center}.share-prompt p{margin-bottom:.75rem;color:#ccc}.share-link-box{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.share-link-box code{background:#1a1a1a;padding:.75rem 1rem;border-radius:6px;font-size:1rem;color:#4a9eff;word-break:break-all}.share-link-box .copy-link-btn{margin-left:0;padding:.75rem 1.25rem;font-size:1rem}.progress-complete-row{display:flex;align-items:center;gap:1rem;background:#2d2d2d;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.progress-complete-row .progress-section{flex:1;background:none;padding:0;margin-bottom:0}.header-complete{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap}.header-complete .complete-icon{display:none}@media(max-width:600px){.progress-complete-row .progress-bar,.header-complete .complete-text{display:none}.header-complete .complete-icon{display:inline;font-size:1.25rem}.header-complete{padding:.5rem .75rem}}.progress-section{background:#2d2d2d;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.progress-row{display:flex;align-items:center;gap:.75rem}.progress-row.partner{opacity:.7}.progress-label{font-size:.8rem;color:#bbb;min-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-bar{flex:1;height:8px;background:#444;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#28a745;transition:width .3s}.progress-fill.partner-fill{background:#64b5f6}.progress-percent{font-size:.8rem;color:#999;min-width:35px;text-align:right}.session-guide{background:#2d2d2d;border:1px solid #444;border-radius:8px;padding:1rem;margin-bottom:1rem;position:relative}.guide-dismiss{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:#666;font-size:1.25rem;padding:.25rem .5rem;cursor:pointer;line-height:1}.guide-dismiss:hover{color:#999}.guide-content{padding-right:1.5rem}.guide-setting{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.guide-label{color:#999}.guide-value{font-weight:600;color:#4caf50}.guide-desc{font-size:.875rem;color:#bbb;margin-bottom:.5rem}.guide-tip{font-size:.8rem;color:#777;font-style:italic}.rating-guide{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem;padding:.75rem;background:#252525;border-radius:6px}.rating-guide-item{font-size:.85rem;color:#ccc}.rating-emoji{margin-right:.25rem}.rating-emoji.green{color:#4caf50}.rating-emoji.orange{color:#ffb74d}.rating-emoji.red{color:#ef5350}.restore-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #444}.restore-btn{background:#4a9eff;color:#fff;width:100%;padding:.75rem 1rem}.restore-btn:disabled{background:#666}.session-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.category-filter{display:flex;align-items:center;gap:.5rem;flex:1;min-width:150px}.category-filter select{flex:1}.auto-advance-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#999;white-space:nowrap}.auto-advance-toggle input{width:16px;height:16px;cursor:pointer}.items-list{margin-bottom:2rem}.category-group{margin-bottom:1.5rem}.category-header{position:sticky;top:160px;background:#333;padding:.75rem 1rem;border-radius:6px;margin-bottom:.5rem;font-size:1rem;display:flex;align-items:center;justify-content:space-between;z-index:5}.category-header .count{background:#555;color:#e0e0e0;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:400}.item-row{background:#2d2d2d;padding:1rem;margin-bottom:.5rem;border-radius:8px;display:flex;flex-direction:column;gap:.75rem}@media(min-width:600px){.item-row{flex-direction:row;align-items:center}}.item-text{flex:1;display:flex;flex-direction:column}.item-text .text{font-weight:500}.item-text .description{font-size:.875rem;color:#999;margin-top:.25rem}.rating-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.rating-btn{display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;min-width:70px;background:#3d3d3d;border:2px solid transparent}.rating-btn .emoji{font-size:1.25rem}.rating-btn .label{font-size:.625rem;text-transform:uppercase}.rating-btn.selected{border-color:currentColor}.rating-btn.very-yes{color:#4caf50}.rating-btn.very-yes.selected{background:#1b3d1b}.rating-btn.yes{color:#66bb6a}.rating-btn.yes.selected{background:#1b3d1b}.rating-btn.if-partner{color:#ffb74d}.rating-btn.if-partner.selected{background:#3d3020}.rating-btn.no{color:#ef5350}.rating-btn.no.selected{background:#3d1b1b}.item-row.has-role{background:linear-gradient(135deg,#2d2d2d,#252d35);border-left:3px solid #64b5f6;flex-wrap:wrap;position:relative}.note-toggle{background:transparent;padding:.25rem .5rem;font-size:1rem;opacity:.4;transition:opacity .2s}.note-toggle:hover{opacity:1;transform:none}.note-toggle.has-note{opacity:1}.note-editor{width:100%;margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.note-editor textarea{width:100%;padding:.5rem;border-radius:4px;border:1px solid #444;background:#1a1a1a;color:#e0e0e0;font-family:inherit;resize:vertical}.note-actions{display:flex;gap:.5rem}.note-actions button{padding:.25rem .75rem;font-size:.875rem}.role-rating-container{display:flex;flex-direction:column;gap:.25rem}.role-section{display:flex;align-items:center;gap:.5rem}.role-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#999;width:120px;text-align:right;flex-shrink:0}.role-label .partner-name-highlight{color:#7eb8da;font-weight:700}.rating-buttons.compact{gap:.25rem}.rating-buttons.compact .rating-btn{min-width:40px;padding:.375rem .5rem}.rating-buttons.compact .rating-btn .label{display:none}@media(min-width:600px){.role-rating-container{flex-direction:column;gap:.25rem}}.session-footer{position:fixed;bottom:0;left:0;right:0;background:#2d2d2d;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 10px #0000004d;display:flex;justify-content:center;z-index:100}.complete-btn{background:#28a745;color:#fff;font-size:1.125rem;padding:1rem 2rem}.waiting{text-align:center;padding:2rem}.waiting h1{margin-bottom:1rem}.join-session-inline{max-width:400px;margin:3rem auto;padding:2rem;background:#2d2d2d;border-radius:8px;text-align:center}.join-session-inline h1{margin-bottom:.5rem}.join-session-inline .session-code-display{font-size:1.25rem;margin-bottom:1.5rem;color:#999}.join-session-inline .session-code-display strong{color:#4a9eff;font-family:monospace;letter-spacing:.1em}.join-session-inline form{display:flex;flex-direction:column;gap:1rem}.join-session-inline .hint{margin-top:1rem;font-size:.875rem;color:#888}.no-items{text-align:center;padding:3rem;color:#999}.session-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.875rem}.expiry-info{color:#888}.destroy-btn{background:transparent;color:#888;border:1px solid #555;padding:.375rem .75rem;font-size:.8rem}.destroy-btn:hover{background:#3d1b1b;border-color:#ef5350;color:#ef5350}.modal-danger h2{color:#ef5350}button.danger{background:#ef5350;color:#fff;border:none}button.danger:hover{background:#d32f2f}button.danger:disabled{background:#666;color:#999}.results-page{max-width:1200px;margin:0 auto;padding:1rem}.results-layout{display:flex;align-items:flex-start;gap:2rem}.floating-name{position:sticky;top:2rem;font-size:1.5rem;font-weight:700;writing-mode:vertical-rl;text-orientation:mixed;padding:1rem 0;min-width:40px;text-align:center}.floating-name-left{transform:rotate(180deg)}.matches-list{flex:1;min-width:0;max-width:800px;margin:0 auto;width:100%}@media(max-width:900px){.results-layout{flex-direction:column;align-items:stretch}.floating-name{writing-mode:horizontal-tb;transform:none;position:static;font-size:1.25rem;padding:.5rem 0}.floating-name-left{transform:none}.results-layout{gap:.5rem}}.results-header{text-align:center;padding:2rem 0}.match-count{font-size:1.25rem;color:#28a745}.search-container{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.search-input{width:100%;max-width:400px;padding:.75rem 1rem;border-radius:20px;border:1px solid #444;background:#2d2d2d;color:#e0e0e0;font-size:1rem}.search-input:focus{border-color:#4a9eff;outline:none}.search-count{font-size:.875rem;color:#999}.results-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center;margin-bottom:1rem}.test-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:center}.control-checkbox{display:flex;align-items:center;gap:.5rem;color:#ccc;cursor:pointer}.control-checkbox input[type=checkbox]{width:1rem;height:1rem}.direction-select{padding:.5rem .75rem;border-radius:6px;background:#2d2d2d;color:#e0e0e0;border:1px solid #444}.regenerate-btn{padding:.5rem 1rem;background:#4a9eff;color:#fff;border-radius:6px;font-size:.9rem}.regenerate-btn:hover{background:#3a8eef}.results-page .category-header{position:static}.partner-a{color:#4a9eff;font-weight:600}.partner-b{color:#ff6b9d;font-weight:600}.no-matches{text-align:center;padding:3rem;background:#2d2d2d;border-radius:8px}.hint{color:#999;font-size:.875rem;margin-top:1rem}.match-row{background:#2d2d2d;padding:1rem;margin-bottom:.5rem;border-radius:8px;display:flex;align-items:center;gap:1rem;position:relative}.match-text{flex:1}.match-ratings{display:flex;gap:.5rem}.match-ratings .rating{background:#3d3d3d;padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.match-note{font-size:.85rem;color:#bbb;margin-top:.5rem;padding:.5rem;background:#0003;border-radius:4px;font-style:italic}.match-text .text{font-weight:500}.match-text .description{font-size:.875rem;color:#999}.role-indicator{display:block;font-size:.75rem;font-weight:500;margin-top:.25rem}.role-verb{color:#888;font-weight:400}.match-row.bidirectional{border-left-width:3px;border-right-width:3px}.bidirectional-indicator{color:#4caf50}.bidirectional-ratings{flex-direction:column;gap:.25rem}.rating-direction{display:flex;gap:.5rem}.match-ratings.mutual-ratings,.match-ratings.directional-ratings,.match-ratings.bidirectional-ratings{flex-direction:column;gap:.375rem;min-width:200px}.rating-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.rating-name{min-width:60px;font-weight:600}.rating-verb{flex:1;color:#bbb;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.rating-emoji{font-size:1rem;min-width:24px;text-align:center}.match-directions{display:flex;flex-direction:column;gap:.35rem;min-width:220px}.direction-row{display:flex;align-items:center;gap:.4rem;font-size:.95rem}.direction-row .name{font-weight:700}.direction-row .action-verb{color:#aaa;font-size:.85rem;font-style:italic;text-transform:lowercase}.direction-row .ratings{margin-left:auto;display:flex;align-items:center;gap:.25rem}.direction-row .rating-emoji{font-size:1.1rem}.direction-row .result-label{flex:1;text-align:right}.direction-row .result-label .partner-a,.direction-row .result-label .partner-b{font-weight:700}.solo-ratings{display:flex;gap:1.5rem}.solo-rating{display:flex;flex-direction:column;align-items:center;gap:.25rem}.solo-rating .role-label{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.03em;width:auto;text-align:center;max-width:100px;line-height:1.2}.solo-rating.mutual-rating{min-width:60px}.solo-rating span:last-child{font-size:1.25rem}.results-footer{padding:2rem;text-align:center;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.results-footer button{background:#444;color:#e0e0e0}.solo-stats{display:flex;justify-content:center;gap:1.5rem;margin:1rem 0;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-emoji{font-size:1.5rem}.stat-count{font-size:1.5rem;font-weight:600}.stat-label{font-size:.75rem;opacity:.8}.filter-controls{display:flex;gap:1rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}.filter-controls select{padding:.5rem 1rem}.reset-btn{background:transparent;color:#999;border:1px solid #555;padding:.5rem 1rem;font-size:.875rem}.reset-btn:hover{border-color:#ef5350;color:#ef5350}.shared-notice{background:#3d5a7d;color:#e0e0e0;padding:.5rem 1rem;border-radius:4px;display:inline-block;margin-bottom:.5rem;font-size:.875rem}.share-results-btn{background:#4a9eff!important;color:#fff!important;min-width:140px}.share-results-btn:hover{background:#3a8eef!important}.sort-toggle{background:#3d3d3d;color:#e0e0e0;border:1px solid #555;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.score-badge{background:#4a9eff;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;min-width:24px;text-align:center}.admin-page{max-width:1000px;margin:0 auto;padding:1rem}.admin-header{margin-bottom:2rem}.admin-tabs{display:flex;gap:.5rem;margin-top:1rem}.admin-tabs button{background:#3d3d3d;color:#e0e0e0}.admin-tabs button.active{background:#555;color:#fff}.admin-login{max-width:400px;margin:3rem auto;padding:2rem;background:#2d2d2d;border-radius:8px;text-align:center}.admin-login form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.admin-login button{background:#444;color:#e0e0e0}.category-form,.item-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#2d2d2d;border-radius:8px}.category-form button,.item-form button{background:#444;color:#e0e0e0}.checkbox-label{display:flex;align-items:center;gap:.25rem;font-size:.875rem;cursor:pointer;white-space:nowrap}.checkbox-label input[type=checkbox]{width:16px;height:16px}.data-table tr.has-role{background:#252d35}.filter-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.filter-row .count{margin-left:auto;color:#999}.data-table{width:100%;border-collapse:collapse;background:#2d2d2d;border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid #444}.data-table th{background:#333;font-weight:600}.data-table button{padding:.25rem .5rem;font-size:.875rem;margin-right:.25rem;background:#3d3d3d;color:#e0e0e0}.data-table button.danger{color:#ef5350}.csv-import{padding:1rem;background:#2d2d2d;border-radius:8px}.csv-import hr{margin:1.5rem 0;border:none;border-top:1px solid #444}.csv-import .export-section{margin-bottom:1rem}.csv-import .export-btn{background:#28a745}.csv-import .success-flag{margin-left:1rem;color:#28a745;font-weight:500}.csv-import .success-header{font-size:1.1rem;font-weight:600;color:#28a745;margin-bottom:.5rem}.csv-import .help-text{color:#999;margin-bottom:.5rem}.csv-import ul.help-text{margin-left:1.5rem;margin-bottom:1rem}.csv-import .example{background:#333;padding:1rem;border-radius:4px;font-size:.875rem;overflow-x:auto;margin-bottom:1rem}.csv-import form{display:flex;gap:1rem;align-items:center}.csv-import button{background:#444;color:#e0e0e0}.csv-import .result{margin-top:1rem;padding:1rem;border-radius:4px}.csv-import .result ul{margin-left:1.5rem}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.manager-header h3{margin:0}.add-btn{background:#28a745;color:#fff}.item-desc{font-size:.8rem;color:#888;margin-top:.25rem;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.labels-cell{display:flex;flex-direction:column;gap:.25rem}.label-tag{display:inline-block;padding:.15rem .4rem;border-radius:3px;font-size:.75rem;background:#3d3d3d}.label-tag.give{color:#6bcf6b}.label-tag.receive{color:#ff9f6b}.label-tag.result{color:#6bb3ff}.muted{color:#666}.item-modal{max-width:600px;width:100%}.item-modal form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.form-row label{font-size:.875rem;color:#aaa}.form-row input,.form-row select,.form-row textarea{width:100%}.form-row textarea{resize:vertical;min-height:60px;background:#2d2d2d;border:1px solid #444;border-radius:6px;color:#e0e0e0;padding:.75rem}.form-row-inline{display:flex;gap:1rem;flex-wrap:wrap}.form-field{flex:1;min-width:120px;display:flex;flex-direction:column;gap:.25rem}.form-field label{font-size:.875rem;color:#aaa}.form-field input{width:100%}.form-field .hint{font-size:.75rem;color:#666}.checkbox-field{flex:none;justify-content:flex-end}.checkbox-field label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#e0e0e0}.checkbox-field input[type=checkbox]{width:18px;height:18px}.form-section{border:1px solid #444;border-radius:6px;padding:1rem;margin:0}.form-section legend{padding:0 .5rem;font-size:.875rem;color:#888}.archetype-manager .manager-header,.item-manager .manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.archetype-manager .manager-header h3,.item-manager .manager-header h3{margin:0}.seed-btn{background:#6c5ce7;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.seed-btn:hover{background:#5a4bd1}.archetype-form{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.archetype-form input{padding:.5rem;border:1px solid #444;border-radius:4px;background:#2d2d2d;color:#e0e0e0}.archetype-form input[type=text]:first-of-type{flex:1;min-width:150px}.weights-section{margin-top:1rem}.weights-grid{display:flex;flex-direction:column;gap:.25rem}.weights-header{display:grid;grid-template-columns:1fr 60px 60px;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:#888;border-bottom:1px solid #444}.weight-row{display:grid;grid-template-columns:1fr 60px 60px;gap:.5rem;align-items:center;padding:.25rem 0}.weight-row .archetype-name{font-size:.875rem;color:#ccc}.weight-row input{width:100%;padding:.25rem;border:1px solid #444;border-radius:4px;background:#2d2d2d;color:#e0e0e0;text-align:center}kbd{display:inline-block;padding:.15rem .4rem;font-size:.75rem;font-family:inherit;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;margin-left:.5rem;vertical-align:middle}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#2d2d2d;border-radius:12px;padding:1.5rem;max-width:400px;width:100%;text-align:center}.modal h2{margin-bottom:.5rem}.modal p{color:#999;margin-bottom:1.5rem}.modal-actions{display:flex;flex-direction:column;gap:.75rem}.modal-actions button{width:100%;padding:.75rem}.modal-actions button.secondary{background:#3d3d3d;color:#e0e0e0}.modal-actions button:not(.secondary){background:#28a745;color:#fff}.archetype-profile{margin:1.5rem 0;padding:1rem;background:#2a2a2a;border-radius:8px}.archetype-profile h2{font-size:1.25rem;margin-bottom:1rem;color:#e0e0e0}.archetype-bars{display:flex;flex-direction:column;gap:.75rem}.archetype-bar-row{display:grid;grid-template-columns:120px 1fr 50px;align-items:center;gap:.75rem}.archetype-label{font-size:.875rem;color:#ccc;text-align:right}.archetype-bar{height:20px;background:#3d3d3d;border-radius:4px;overflow:hidden}.archetype-fill{height:100%;background:linear-gradient(90deg,#7c4dff,#b388ff);border-radius:4px;transition:width .3s ease}.archetype-percentage{font-size:.875rem;font-weight:600;color:#b388ff;text-align:right}.match-row.has-archetypes{cursor:pointer}.match-row.has-archetypes:after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#b388ff;border-radius:50%;opacity:.6}.archetype-tooltip{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:100;background:#1e1e1e;border:1px solid #444;border-radius:8px;padding:0;min-width:320px;box-shadow:0 4px 20px #00000080;margin-top:4px;overflow:hidden}.match-row:hover .archetype-tooltip{display:block}.tooltip-columns{display:grid;grid-template-columns:1fr 1fr}.tooltip-column{padding:.75rem}.give-column{background:#4caf501a;border-right:1px solid #333}.receive-column{background:#2196f31a}.tooltip-header{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px solid #444}.give-column .tooltip-header{color:#81c784}.receive-column .tooltip-header{color:#64b5f6}.tooltip-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem 0;gap:.5rem}.tooltip-arch{font-size:.8rem;color:#ccc}.tooltip-score{font-size:.75rem;font-weight:600;color:#b388ff}.tooltip-empty{font-size:.8rem;color:#666;font-style:italic}.mutual-tooltip{min-width:180px}.tooltip-single{padding:.75rem}.tooltip-single .tooltip-header{color:#b388ff}@media(max-width:768px){.archetype-tooltip{left:0;right:0;transform:none;min-width:unset}}
