:root{--bg-primary: rgb(25, 25, 25);--bg-secondary: rgb(50, 50, 50);--bg-tertiary: rgb(35, 35, 35);--text-primary: rgb(230, 230, 230);--text-secondary: rgb(180, 180, 180);--text-tertiary: rgb(100, 100, 100);--accent: rgb(187, 153, 255);--border-color: rgb(70, 70, 70);--success: #1ba303;--warning: #ce8a02;--danger: #9b0303;--bookmark: #666666;--bookmark-active: #ffc444;--font-family: sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--tag-bestiary-bg: rgba(255, 255, 255, .2);--tag-bestiary-text: rgba(255, 255, 255, 1);--tag-spell-bg: rgba(255, 255, 255, .2);--tag-spell-text: rgba(255, 255, 255, 1);--tag-item-bg: rgba(255, 255, 255, .2);--tag-item-text: rgba(255, 255, 255, 1);--button-border: rgba(114, 135, 255, .2);--button-border-hover: rgba(114, 135, 255, .5);--button-border-active: rgba(114, 135, 255, 1);--border-radius-sm: 3px;--border-radius-md: 4px;--border-radius-full: 10px;--font-size-xs: .8rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-lg: 1.4rem;--font-size-xl: 1.6rem}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden}p{margin-bottom:1rem}p:last-child{margin-bottom:0}#app{width:100%;height:100%}.container{display:flex;flex-direction:column;height:100%}.button{padding:.4rem .6rem;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-family:inherit;background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:background-color .2s;border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.button:active{border:1px solid var(--button-border-active)}.button:hover{border:1px solid var(--button-border-hover);color:var(--text-primary)}.button.button-tab{flex:1;padding:8px 12px;font-size:var(--font-size-sm);border:none!important}.button.button-tab--active{background-color:var(--accent);color:#fff}.button.button--with-icon{position:relative;padding-left:1.75rem}.button.button--with-icon:before{text-align:center;position:absolute;left:.5rem}.button.button--back{background-color:var(--bg-secondary)}.button.button--back:before{content:"←";top:.4rem}.button.button--bookmark{background-color:var(--bg-secondary)}.button.button--bookmark:before{content:"★";top:.2rem;color:var(--bookmark)}.button.button--bookmark.bookmarked:before{color:var(--bookmark-active)}.button.button--clear{border:none;background:transparent;font-weight:100;font-size:1.5rem;line-height:0;position:absolute;right:2.6rem;top:.5rem}.button.button--help{width:36px;height:36px;padding:0;flex-shrink:0;border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.button.button--close{width:28px;height:28px;padding:0;font-size:var(--font-size-lg)}.header{flex-shrink:0;padding:.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.search-row{display:flex;gap:.25rem;align-items:center;position:relative}.search-row .search-input{flex:1;width:100%;padding:.5rem .75rem;font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--bg-tertiary);color:var(--text-primary);outline:none;transition:border-color .2s}.search-row .search-input:focus{border-color:var(--accent)}.search-row .search-input::placeholder{color:var(--text-secondary)}.tabs{display:flex;gap:.25rem;flex-direction:row}.help-overlay{position:absolute;inset:0;background-color:#000c;display:flex;align-items:top;justify-content:center;z-index:100;padding:1rem}.help-content{background-color:var(--bg-secondary);border-radius:var(--border-radius-md);padding:1.5rem;max-width:100%;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.help-content p{margin-bottom:0}.help-content .help-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.help-content .help-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.help-content .help-table{width:100%;border-collapse:collapse}.help-content .help-table td{padding:.5rem 0rem}.help-content .help-table td:first-child{white-space:nowrap}.help-content .help-table code,.help-content p code{background-color:var(--bg-tertiary);padding:.4rem .8rem;border-radius:var(--border-radius-sm);font-family:monospace;font-size:var(--font-size-sm);color:var(--text-primary)}.main{flex:1;overflow:hidden;position:relative}.hidden{display:none!important}.results{height:100%;overflow-y:auto;display:flex;padding:.5rem;flex-direction:column;gap:.5rem}.results .result-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:var(--bg-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:all .15s}.results .result-item:hover{background-color:var(--border-color)}.results .result-name{font-weight:var(--font-weight-medium);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.results .bookmark-indicator{color:var(--bookmark);margin-right:.25rem}.results .bookmark-indicator.bookmark-indicator--active{color:var(--bookmark-active)}.results .no-results{text-align:center;padding:40px 20px;color:var(--text-secondary)}.detail{height:100%;overflow-y:auto;padding:16px}.detail-row{margin-bottom:1.5rem}.detail-row:last-child{border-bottom:none}.detail-row.detail-row--header{display:flex;justify-content:space-between;align-items:center}.detail-row.detail-row--title h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.detail-row.detail-row--tags{display:flex;flex-direction:row;align-items:flex-start;gap:.5rem;float:right}.detail-row.detail-row--description p{color:var(--text-secondary);white-space:pre-wrap}.detail-row.detail-row--footer{border-top:1px solid var(--border-color);color:var(--text-tertiary);padding:.5rem 0}.tag{font-size:var(--font-size-xs);padding:.4rem 1rem;border-radius:var(--border-radius-full)}.tag.tag--bestiary{background-color:var(--tag-bestiary-bg);color:var(--tag-bestiary-text)}.tag.tag--spell{background-color:var(--tag-spell-bg);color:var(--tag-spell-text)}.tag.tag--item{background-color:var(--tag-item-bg);color:var(--tag-item-text)}.stat.stat--grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.stat.stat--grid .stat-block{padding:.5rem;background-color:var(--bg-secondary);border-radius:var(--border-radius-md);text-align:center;display:flex;flex-direction:column}.stat.stat--grid .stat-block .stat-label{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--text-secondary)}.stat.stat--grid .stat-block .stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat.stat--abilities{display:flex;justify-content:space-between;gap:.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:var(--border-radius-md)}.stat.stat--abilities .ability{text-align:center;flex:1;display:flex;flex-direction:column}.stat.stat--abilities .ability .ability-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary);margin-bottom:.5rem}.stat.stat--abilities .ability .ability-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary)}.actions-section{display:flex;flex-direction:column;gap:.5rem}.actions-section .actions-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.5px}.actions-section .action{background-color:var(--bg-secondary);padding:1rem;border-radius:var(--border-radius-md);border-left:3px solid var(--accent);display:flex;flex-direction:column;gap:.5rem}.actions-section .action .action-name{font-weight:var(--font-weight-bold);color:var(--text-primary)}.actions-section .action .action-desc{font-size:var(--font-size-base);color:var(--text-secondary)}.actions-section .action.action--bonus,.actions-section .action.action--benefit{border-left:3px solid var(--success)}.actions-section .action.action--curse{border-left:3px solid var(--danger)}.actions-section .action.action--personality{border-left:3px solid var(--warning)}.results::-webkit-scrollbar,.detail::-webkit-scrollbar{width:6px}.results::-webkit-scrollbar-track,.detail::-webkit-scrollbar-track{background:var(--bg-tertiary)}.results::-webkit-scrollbar-thumb,.detail::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-full)}.results::-webkit-scrollbar-thumb:hover,.detail::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
