.entity-view{padding:var(--spacing-l);color:var(--colors-text)}.entity-view-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-2xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:0 0 var(--spacing-m)}.entity-view-hero-images{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-l)}.entity-view-hero-name-image{height:4rem;width:auto;max-width:100%;object-fit:contain}.entity-view-hero-card-image{width:auto;max-width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--colors-border)}.ability-view-header{display:flex;align-items:center;gap:var(--spacing-m);flex-wrap:wrap}.ability-view-icon{width:48px;height:48px;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0}.ability-view-icon-invert{filter:invert(1)}.ability-view-header-text{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-s);flex-wrap:wrap}.ability-view-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:0}.ability-view-type{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);text-transform:capitalize;padding:.15em .5em;background:var(--colors-surface-elevated);border-radius:var(--radius-sm)}.ability-view-desc{margin-top:var(--spacing-s);font-size:var(--typography-font-size-base);color:var(--colors-text);line-height:1.5}.ability-view-desc svg,.ability-view-desc img{display:inline-block;width:1.25em;height:1.25em;max-width:1.25em;max-height:1.25em;vertical-align:middle;margin:0 .1em;object-fit:contain}.ability-view-desc .highlight{color:var(--colors-primary)}.ability-view-desc .diminish{color:var(--colors-text-muted);font-size:.95em}.ability-view-description{margin-top:var(--spacing-m);font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);line-height:1.5}.ability-view-description .ability-desc-tier{margin:var(--spacing-s) 0 0}.ability-view-description .highlight{color:var(--colors-primary)}.ability-view-description .diminish{color:var(--colors-text-muted);font-size:.95em}.entity-view-item{--item-header-bg: var(--colors-surface-elevated);--item-body-bg: var(--colors-surface)}.entity-view-item[data-slot=weapon]{--item-header-bg: #c47c18;--item-body-bg: #4a2e10;--item-stat-color: #e89428}.entity-view-item[data-slot=spirit]{--item-header-bg: #b040a0;--item-body-bg: #552750;--item-stat-color: #ce90ff}.entity-view-item[data-slot=vitality]{--item-header-bg: #6a9618;--item-body-bg: #354e0e;--item-stat-color: #53e07b}.entity-view-item{padding:0;background:var(--item-body-bg);border-radius:var(--radius-lg);overflow:hidden;max-width:500px}.item-view-header{display:flex;align-items:center;gap:var(--spacing-m);background:var(--item-header-bg);padding:var(--spacing-m) var(--spacing-m)}.item-view-header-text{display:flex;flex-direction:column;gap:.3em}.item-view-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-2xl);font-weight:var(--typography-font-weight-bold);color:#ffefd7;margin:0}.item-view-meta{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-s);font-size:var(--typography-font-size-lg)}.item-view-cost{display:inline-flex;align-items:center;color:var(--colors-primary);font-weight:var(--typography-font-weight-bold)}.item-view-cost-icon{display:inline-block;width:.9em;height:.9em;flex-shrink:0;margin-right:.25em;background-color:var(--colors-primary);mask-image:url(/assets/icons/icon_soul.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/icons/icon_soul.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.item-view-desc{font-size:var(--typography-font-size-base);font-weight:300;color:var(--colors-text-muted);line-height:1.55}.item-view-desc .highlight{color:#fff;font-weight:var(--typography-font-weight-bold)}.item-view-desc .inline-attribute-label{color:#fff!important;font-weight:var(--typography-font-weight-bold)!important}.item-view-desc .inline-attribute-label.SpiritDamage,.item-view-desc .inline-attribute-label.BonusSpiritDamage{color:#ce90ff!important}.item-view-desc .highlight>svg:not(:has(+.inline-attribute-label)) path:nth-child(1),.item-view-desc .highlight>svg:not(:has(+.inline-attribute-label)) path:nth-child(2){fill:#ff410d}.item-view-desc .highlight>svg:not(:has(+.inline-attribute-label)) path:nth-child(3),.item-view-desc .highlight>svg:not(:has(+.inline-attribute-label)) path:nth-child(4){fill:#ce90ff}.item-view-desc svg:has(+.inline-attribute-label.Stun) path{fill:#f0d020}.item-view-desc .inline-attribute-label.Spirit{color:#ce90ff!important}.item-view-desc .inline-attribute-label.WeaponDamage,.item-view-desc .inline-attribute-label.BonusWeaponDamage{color:#e89428!important}.item-view-desc .inline-attribute-label.Heal,.item-view-desc .inline-attribute-label.Regen{color:#53e06d!important}.item-view-desc .inline-attribute-label.BonusFireRate,.item-view-desc .inline-attribute-label.BonusMoveSpeed{color:#ffefd7!important}.item-view-desc .inline-attribute-label.BulletResist{color:#e89428!important}.item-view-desc .inline-attribute-label.SpiritResist{color:#ce90ff!important}.item-view-desc .inline-attribute-label.MeleeDamage{color:#e89428!important}.item-view-desc .inline-attribute-label.Slow{color:#ffefd7!important}.item-view-desc svg:has(+.inline-attribute-label.WeaponDamage) path:nth-child(1),.item-view-desc svg:has(+.inline-attribute-label.WeaponDamage) path:nth-child(2),.item-view-desc svg:has(+.inline-attribute-label.BonusWeaponDamage) path:nth-child(1),.item-view-desc svg:has(+.inline-attribute-label.BonusWeaponDamage) path:nth-child(2){fill:#ff410d}.item-view-desc svg:has(+.inline-attribute-label.WeaponDamage) path:nth-child(3),.item-view-desc svg:has(+.inline-attribute-label.WeaponDamage) path:nth-child(4),.item-view-desc svg:has(+.inline-attribute-label.BonusWeaponDamage) path:nth-child(3),.item-view-desc svg:has(+.inline-attribute-label.BonusWeaponDamage) path:nth-child(4){fill:#f90}.item-view-desc svg:has(+.inline-attribute-label.SpiritDPS) path:nth-child(1),.item-view-desc svg:has(+.inline-attribute-label.SpiritDPS) path:nth-child(2){fill:#ff410d}.item-view-desc svg:has(+.inline-attribute-label.SpiritDPS) path:nth-child(3),.item-view-desc svg:has(+.inline-attribute-label.SpiritDPS) path:nth-child(4){fill:#ce90ff}.item-view-desc img.inline-attribute.BulletResist{filter:brightness(0) saturate(100%) invert(65%) sepia(50%) saturate(600%) hue-rotate(5deg) brightness(1.05)}.item-view-desc .highlight:has(.inline-attribute-label.BonusFireRate) svg path{fill:#e89428}.item-view-desc svg:has(+.inline-attribute-label.Spirit) path{fill:#ce90ff}.item-view-desc svg:has(+.inline-attribute-label.Heal) path,.item-view-desc svg:has(+.inline-attribute-label.Regen) path{fill:#53e06d}.item-view-desc svg:has(+.inline-attribute-label.MoveSpeed) path{fill:#53e06d}.item-view-desc svg:has(+.inline-attribute-label.BulletResist) path{fill:#e89428}.item-view-desc svg:has(+.inline-attribute-label.BonusFireRate) path{fill:#e89428}.item-view-desc svg:has(+.inline-attribute-label.BonusMoveSpeed) path{fill:#53e06d}.item-view-desc svg:has(+.inline-attribute-label.SpiritResist) path{fill:#ce90ff}.item-view-desc img.inline-attribute.SpiritResist{filter:brightness(0) saturate(100%) invert(73%) sepia(30%) saturate(800%) hue-rotate(225deg)}.item-view-desc svg:has(+.inline-attribute-label.MeleeDamage) path{fill:#e89428}.item-view-desc svg:has(+.inline-attribute-label.Slow) path{fill:#ffefd7}.item-view-desc svg:has(+.inline-attribute-label.SpiritDamage) path:nth-child(1),.item-view-desc svg:has(+.inline-attribute-label.BonusSpiritDamage) path:nth-child(1),.item-view-desc svg:has(+.inline-attribute-label.SpiritDamage) path:nth-child(2),.item-view-desc svg:has(+.inline-attribute-label.BonusSpiritDamage) path:nth-child(2){fill:#ff410d}.item-view-desc svg:has(+.inline-attribute-label.SpiritDamage) path:nth-child(3),.item-view-desc svg:has(+.inline-attribute-label.BonusSpiritDamage) path:nth-child(3),.item-view-desc svg:has(+.inline-attribute-label.SpiritDamage) path:nth-child(4),.item-view-desc svg:has(+.inline-attribute-label.BonusSpiritDamage) path:nth-child(4){fill:#ce90ff}.item-view-desc .diminish{font-style:italic;font-size:var(--typography-font-size-sm)}.item-view-desc svg,.item-view-desc img{display:inline-block;width:.9em!important;height:.9em!important;max-width:.9em!important;max-height:.9em!important;vertical-align:middle;margin:0 .1em;object-fit:contain}.item-view-stats{margin-top:var(--spacing-m);padding:0 var(--spacing-m)}.item-view-stats-list{margin:0;padding-left:var(--spacing-m);font-size:var(--typography-font-size-sm);color:var(--colors-text);line-height:1.5}.item-view-stats-list li{margin-bottom:.25em}.item-view-rich-sections{display:flex;flex-direction:column}.item-innate-stats{display:flex;flex-direction:column;background:transparent;padding:var(--spacing-s) var(--spacing-m);gap:.1em}.item-innate-stat-row{display:flex;align-items:center;gap:0;padding:.35em 0}.item-innate-stat-sign{font-weight:var(--typography-font-weight-bold);color:var(--colors-text-muted);line-height:1}.item-innate-stat-value-group{display:inline;margin-right:.4em}.item-innate-stat-number{font-weight:var(--typography-font-weight-bold);color:#ffefd7;line-height:1}.item-innate-stat-label{color:var(--colors-text-muted);font-weight:var(--typography-font-weight-normal)}.item-innate-stat-label--elevated{color:#fff;font-weight:var(--typography-font-weight-bold)}.item-section-header{display:flex;justify-content:space-between;align-items:center;background:#00000052;padding:.45em var(--spacing-m)}.item-section-header-type{font-weight:var(--typography-font-weight-bold);font-size:var(--typography-font-size-base);text-transform:capitalize;color:#ffefd7}.item-section-header-type-passive{font-style:italic;font-weight:var(--typography-font-weight-normal)}.item-section-cooldown{display:flex;align-items:center;gap:.3em;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);color:#ffefd7;background:#000000a6;padding:.25em .6em;border-radius:var(--radius-sm)}.item-section-cooldown-icon{width:1em;height:1em;object-fit:contain;flex-shrink:0}.item-section-desc{padding:var(--spacing-s) var(--spacing-m)}.item-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-s);background:transparent;margin:0 var(--spacing-m) var(--spacing-s)}.item-stat-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15em;padding:var(--spacing-s) var(--spacing-m);background:#00000029;border-radius:var(--radius-sm)}.item-stat-cell-value-row{display:flex;align-items:center;justify-content:center;gap:0}.item-stat-cell-icon{display:inline-block;width:1.25em;height:1.25em;flex-shrink:0;margin-right:.2em;background-color:var(--colors-text-muted);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.item-stat-cell-icon.item-stat-cell-icon--native{object-fit:contain;background:none;mask-image:none;-webkit-mask-image:none}.item-stat-spirit-badge{position:absolute;top:3px;right:3px;width:24px;height:24px;object-fit:contain;pointer-events:none}.item-stat-cell--negative .item-stat-cell-sign,.item-stat-cell--negative .item-stat-cell-number,.item-regular-stat-row--negative .item-regular-stat-sign,.item-regular-stat-row--negative .item-regular-stat-number,.item-regular-stat-row--negative .item-regular-stat-suffix,.item-innate-stat-row--negative .item-innate-stat-sign,.item-innate-stat-row--negative .item-innate-stat-number{color:#e05050}.item-stat-cell-sign{font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text-muted);line-height:1}.item-stat-cell-number,.item-stat-cell-value{font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-bold);color:#ffefd7;line-height:1;margin-right:.15em}.item-stat-cell-label{font-size:var(--typography-font-size-sm);color:#ffefd7;font-weight:var(--typography-font-weight-normal);text-align:center}.item-stat-label--healing,.item-stat-label--health{color:#53e06d}.item-stat-cell-icon.item-stat-label--healing,.item-stat-cell-icon.item-stat-label--health,.item-stat-cell-icon.item-stat-label--move_speed{background-color:#53e06d}.item-stat-label--bullet_damage{color:#e89428}.item-stat-cell-icon.item-stat-label--bullet_damage,.item-stat-cell-icon.item-stat-label--damage{background-color:#e05050}.item-stat-cell-icon.item-stat-label--clipsize,.item-stat-cell-icon.item-stat-label--fire_rate{background-color:#e89428}.item-stat-label--tech_damage,.item-stat-label--spirit{color:#ce90ff}.item-stat-cell-icon.item-stat-label--spirit,.item-stat-cell-icon.item-stat-label--tech_power,.item-stat-cell-icon.item-stat-label--cooldown,.item-stat-cell-icon.item-stat-label--slow,.item-stat-cell-icon.item-stat-label--duration{background-color:#ce90ff}.item-stat-cell-icon.item-stat-label--melee_damage,.item-stat-cell-icon.item-stat-label--bullet_armor_up{background-color:#e89428}.item-stat-cell-icon.item-stat-label--distance{background-color:#ce90ff}.item-stat-cell-icon.item-stat-label--souls{background-color:var(--colors-primary)}.item-stat-cell-icon.item-stat-label--status-effect{background-color:var(--item-stat-color, var(--colors-text-muted))}.item-stat-cell-icon.item-stat-effect--StatusEffectDisarmed{background-color:#e05050}.item-stat-cell-icon.item-stat-effect--StatusEffectStun{background-color:#f0d020}.item-stat-cell-label--status-effect{font-style:italic;font-size:.75rem;color:#a69b88}.item-stat-cell-icon.item-stat-label--combat_barrier{background-color:var(--item-stat-color, var(--colors-text-muted))}.item-stat-cell-conditional{font-size:.75rem;margin-top:-.25em;color:#a69b88;font-style:italic;text-align:center}.item-regular-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#00000014;margin:0 var(--spacing-m) var(--spacing-s);border-radius:var(--radius-sm);overflow:hidden}.item-regular-stat-row{display:flex;align-items:center;gap:0;padding:.45em var(--spacing-s);font-size:var(--typography-font-size-sm);background:#00000014}.item-regular-stat-sign{font-weight:var(--typography-font-weight-bold);color:var(--colors-text-muted)}.item-regular-stat-number{font-weight:var(--typography-font-weight-bold);color:#ffefd7}.item-regular-stat-value-group,.item-regular-stat-value{margin-right:.4em}.item-regular-stat-suffix{font-weight:var(--typography-font-weight-bold);color:var(--colors-text-muted)}.item-regular-stat-label{color:var(--colors-text-muted)}.item-upgrades{padding:var(--spacing-s) var(--spacing-m) var(--spacing-m);display:flex;flex-direction:column;gap:var(--spacing-s);background:#00000029;border-top:1px solid rgba(255,255,255,.08)}.item-upgrades-group{display:flex;flex-direction:column;gap:.4em}.item-upgrades-label{font-size:.7rem;font-weight:var(--typography-font-weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--colors-text-muted)}.item-upgrades-list{display:flex;flex-wrap:wrap;gap:var(--spacing-s)}.item-upgrade-entry{display:flex;align-items:center;gap:.5em}.item-upgrade-icon{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0}.item-upgrade-name{font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-bold);color:#ffefd7}.entity-view-hero-abilities{margin-top:var(--spacing-2xl)}.entity-view-hero-abilities-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:0 0 var(--spacing-m)}.ability-card{padding:var(--spacing-m);margin-bottom:var(--spacing-l);background:var(--colors-surface-elevated);border:1px solid var(--colors-border);border-radius:var(--radius-md)}.ability-card-missing{color:var(--colors-text-muted);font-style:italic}@media(max-width:480px){.item-view-title{font-size:var( --typography-font-size-xl )}.item-stat-cell-sign,.item-stat-cell-number,.item-stat-cell-value{font-size:var(--typography-font-size-lg)}.item-regular-stats{grid-template-columns:1fr}.entity-view{padding:var(--spacing-m)}}.browser{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-l);box-sizing:border-box;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.browser-loading,.browser-error{color:var(--colors-text-muted);font-size:var(--typography-font-size-lg);padding:var(--spacing-2xl);text-align:center}.browser-error code{font-size:.9em;padding:.1em .35em;background:var(--colors-surface-elevated);border-radius:var(--radius-sm);color:var(--colors-text)}.browser-back{color:var(--colors-primary);text-decoration:none;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);display:flex;align-items:center;gap:.3em;white-space:nowrap}.browser-back:hover{color:var(--colors-primary-hover)}.browser-header{flex-shrink:0;margin-bottom:var(--spacing-l)}.browser-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-2xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:var(--spacing-s) 0 var(--spacing-m)}.browser-tabs{flex-shrink:0;display:flex;gap:var(--spacing-s);margin-bottom:var(--spacing-l);flex-wrap:wrap}.browser-tab{padding:var(--spacing-s) var(--spacing-m);background:var(--colors-surface);color:var(--colors-text-muted);border:1px solid var(--colors-border);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.browser-tab:hover{background:var(--colors-surface-elevated);color:var(--colors-text)}.browser-tab-active{background:var(--colors-primary-muted);border-color:var(--colors-primary);color:var(--colors-primary)}.browser-body{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-l)}@media(max-width:700px){.browser{height:auto;overflow-y:auto;padding:var(--spacing-m)}.browser-body{grid-template-columns:1fr;height:auto;gap:var(--spacing-m)}.browser-sidebar{height:auto}.browser-list{max-height:45dvh}.browser-detail{height:auto;min-height:60dvh}.browser-detail-view-pane{overflow:visible;height:auto}.browser-header{margin-bottom:var(--spacing-m)}.browser-detail-tab{padding:var(--spacing-s) var(--spacing-m)}}.browser-sidebar{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-md);overflow:hidden}.browser-search{flex-shrink:0;width:100%;box-sizing:border-box;padding:var(--spacing-m);border:none;border-bottom:1px solid var(--colors-border);background:var(--colors-surface-elevated);color:var(--colors-text);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);outline:none}.browser-search::placeholder{color:var(--colors-text-muted)}.browser-search:focus{box-shadow:0 0 0 2px var(--colors-primary-muted)}.browser-list{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-s)}.browser-list-empty{padding:var(--spacing-l);color:var(--colors-text-muted);font-size:var(--typography-font-size-sm)}.browser-list-item{display:block;width:100%;text-align:left;padding:var(--spacing-s) var(--spacing-m);margin-bottom:var(--spacing-s);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--colors-text);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease}.browser-list-item:hover{background:var(--colors-surface-elevated)}.browser-list-item-selected{background:var(--colors-primary-muted);border-color:var(--colors-primary)}.browser-list-item-name{display:block;font-weight:var(--typography-font-weight-medium)}.browser-list-item-class{display:block;font-size:.85em;color:var(--colors-text-muted);margin-top:2px}.browser-list-cap{flex-shrink:0;padding:var(--spacing-s) var(--spacing-m);font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);border-top:1px solid var(--colors-border-muted)}.browser-detail{min-height:0;height:100%;display:flex;flex-direction:column;background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-md);overflow:hidden}.browser-detail-empty{padding:var(--spacing-2xl);color:var(--colors-text-muted);font-size:var(--typography-font-size-base);margin:0}.browser-detail-tabs{flex-shrink:0;display:flex;gap:0;padding:0 var(--spacing-m);border-bottom:1px solid var(--colors-border)}.browser-detail-tab{padding:var(--spacing-m) var(--spacing-l);background:transparent;color:var(--colors-text-muted);border:none;border-bottom:2px solid transparent;font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.browser-detail-tab:hover{color:var(--colors-text)}.browser-detail-tab-active{color:var(--colors-primary);border-bottom-color:var(--colors-primary)}.browser-detail-view-pane{flex:1;min-height:0;overflow:auto;padding:var(--spacing-m)}.browser-detail-toolbar{flex-shrink:0;padding:var(--spacing-m);border-bottom:1px solid var(--colors-border);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-m)}.browser-detail-toolbar-label{font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);color:var(--colors-text-muted);margin-right:var(--spacing-s)}.browser-detail-toolbar-actions{display:flex;gap:var(--spacing-s)}.browser-detail-toolbar-btn{padding:var(--spacing-s) var(--spacing-m);background:var(--colors-surface-elevated);color:var(--colors-text-muted);border:1px solid var(--colors-border);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.browser-detail-toolbar-btn:hover{background:var(--colors-surface);color:var(--colors-text);border-color:var(--colors-border)}.browser-detail-toolbar-checkboxes{display:flex;flex-wrap:wrap;gap:var(--spacing-s) var(--spacing-m);align-items:center}.browser-detail-field-label{display:inline-flex;align-items:center;gap:var(--spacing-s);font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);cursor:pointer}.browser-detail-field-label:has(input:focus-visible){color:var(--colors-text)}.browser-detail-field-label input[type=checkbox]{accent-color:var(--colors-primary);cursor:pointer}.browser-detail-toolbar-copy{display:flex;align-items:center;gap:var(--spacing-s);margin-left:auto}.browser-detail-copy-btn{padding:var(--spacing-s) var(--spacing-m);background:var(--colors-primary-muted);color:var(--colors-primary);border:1px solid var(--colors-primary);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.browser-detail-copy-btn:hover{background:var(--colors-primary);color:var(--colors-bg)}.browser-detail-copy-feedback{font-size:var(--typography-font-size-sm);color:var(--colors-success)}.browser-json-wrapper{flex:1;min-height:0;display:flex;flex-direction:row;overflow:auto}.browser-json-gutter{flex-shrink:0;width:2.5rem;padding:var(--spacing-l) var(--spacing-s) var(--spacing-l) var(--spacing-l);font-size:var(--typography-font-size-sm);line-height:1.5;border-right:1px solid var(--colors-border-muted)}.browser-json-gutter-line{height:1.5em;display:flex;align-items:center}.browser-json-gutter-label{display:flex;align-items:center;cursor:pointer}.browser-json-gutter-label input[type=checkbox]{accent-color:var(--colors-primary);cursor:pointer}.browser-json{flex:1;min-width:0;margin:0;padding:var(--spacing-l);overflow:visible;font-family:ui-monospace,monospace;font-size:var(--typography-font-size-sm);line-height:1.5;color:var(--colors-text);white-space:pre}.browser-json-code{font-family:inherit;font-size:inherit;line-height:inherit}.browser-json-key{color:var(--colors-primary)}.browser-json-string{color:var(--colors-success)}.browser-json-number,.browser-json-boolean{color:var(--colors-accent)}.browser-json-null,.browser-json-punctuation{color:var(--colors-text-muted)}.fc-scene{width:100%;max-width:500px;height:auto;min-height:200px;perspective:1200px;cursor:pointer;flex-shrink:0}.fc-card{width:100%;position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1)}.fc-card--flipped{transform:rotateY(180deg)}.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);overflow:hidden}.fc-face--front{display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--colors-surface);border:1px solid var(--colors-border);padding:var(--spacing-xl) var(--spacing-l) var(--spacing-m);box-shadow:var(--shadow-md)}.fc-front-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-l);flex:1;width:100%}.fc-tier-text{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-medium);color:var(--colors-text-muted);letter-spacing:.05em}.fc-name{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-2xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);text-align:center;line-height:var(--typography-line-height-tight)}.fc-empty-hint{font-size:4rem;color:var(--colors-border);line-height:1;-webkit-user-select:none;user-select:none}.fc-reveal-hint{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);opacity:.6;letter-spacing:.04em}.fc-face--back{position:relative;inset:auto;width:100%;transform:rotateY(180deg);background:var(--colors-background);box-shadow:var(--shadow-md)}.fc-back-scroll{max-height:calc(100dvh - 140px);overflow-y:auto;overflow-x:hidden}.fc-back-scroll .entity-view{padding:0;width:100%}.fc-preview-wrapper .fc-card{height:100%}.fc-preview-wrapper .fc-face--back{position:absolute;inset:0;width:auto}.ips-root{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}.ips-shortcut-bar{display:flex;align-items:center;gap:var(--spacing-s);flex-wrap:wrap;padding:var(--spacing-s) var(--spacing-m);border-bottom:1px solid var(--colors-border);flex-shrink:0}.ips-actives-btn{padding:.25em .75em;border-radius:var(--radius-sm);border:1px solid var(--colors-border);background:var(--colors-surface-elevated);color:var(--colors-text-muted);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.ips-actives-btn:hover{border-color:var(--colors-primary);color:var(--colors-text)}.ips-actives-btn[data-state=all]{background:var(--colors-primary-muted);border-color:var(--colors-primary);color:var(--colors-primary)}.ips-actives-btn[data-state=partial]{border-color:var(--colors-border);color:var(--colors-text-muted)}.ips-cost-shortcuts{display:flex;align-items:center;gap:var(--spacing-s);flex-wrap:wrap}.ips-cost-btn{padding:.25em .75em;border-radius:var(--radius-sm);border:1px solid var(--colors-border);background:var(--colors-surface-elevated);color:var(--colors-text-muted);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.ips-cost-btn:hover{border-color:var(--colors-primary);color:var(--colors-text)}.ips-cost-btn[data-state=all]{background:var(--colors-primary-muted);border-color:var(--colors-primary);color:var(--colors-primary)}.ips-cost-btn[data-state=partial]{border-color:var(--colors-border);color:var(--colors-text-muted)}.ips-count{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);margin-left:auto;white-space:nowrap}.ips-expand-bar{display:flex;align-items:center;justify-content:flex-end;gap:.3em;padding:.2em var(--spacing-m);border-bottom:1px solid var(--colors-border-muted);flex-shrink:0}.ips-expand-btn{background:none;border:none;padding:0;font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);cursor:pointer;line-height:1.6}.ips-expand-btn:hover{color:var(--colors-primary)}.ips-expand-sep{font-size:var(--typography-font-size-sm);color:var(--colors-border);-webkit-user-select:none;user-select:none}.ips-list{flex:1;overflow-y:auto;padding:var(--spacing-s) var(--spacing-m)}.ips-slot-group{margin-bottom:var(--spacing-m)}.ips-slot-header{display:flex;align-items:center;gap:var(--spacing-s);padding:.4em var(--spacing-s);background:var(--colors-surface-elevated);border-radius:var(--radius-sm);margin-bottom:.25em;cursor:pointer;-webkit-user-select:none;user-select:none}.ips-slot-name{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);text-transform:capitalize;flex:1}.ips-slot-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ips-slot-color[data-slot=weapon]{background:#c47c18}.ips-slot-color[data-slot=spirit]{background:#b040a0}.ips-slot-color[data-slot=vitality]{background:#6a9618}.ips-cost-group{margin-left:var(--spacing-m);margin-bottom:.25em}.ips-cost-header{display:flex;align-items:center;gap:var(--spacing-s);padding:.25em var(--spacing-s);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm)}.ips-cost-header:hover{background:var(--colors-surface-elevated)}.ips-collapse-btn{background:none;border:none;padding:0 var(--spacing-s);color:var(--colors-text-muted);font-size:.65rem;line-height:1;cursor:pointer;flex-shrink:0;margin-left:auto}.ips-collapse-btn:hover{color:var(--colors-text)}.ips-cost-name{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);color:var(--colors-text);flex:1;display:flex;align-items:center;gap:.4em}.ips-item-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.1em 0;padding-left:var(--spacing-s)}.ips-item-row{display:flex;align-items:center;gap:.35em;padding:.25em var(--spacing-s);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0}.ips-item-row:hover{background:var(--colors-surface-elevated)}.ips-item-row--correct{background:#34d3991f}.ips-item-row--wrong{background:#f871711f}.ips-item-row--missed{outline:1px dashed var(--colors-success);outline-offset:-2px}.ips-item-icon{width:28px;height:28px;border-radius:4px;object-fit:contain;flex-shrink:0}.ips-item-name{font-size:var(--typography-font-size-sm);color:var(--colors-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ips-checkbox{appearance:none;-webkit-appearance:none;width:1rem;height:1rem;flex-shrink:0;cursor:pointer;position:relative;border:1.5px solid var(--colors-border);border-radius:3px;background:var(--colors-surface-raised);transition:background .12s,border-color .12s}.ips-checkbox:checked{background:var(--colors-primary);border-color:var(--colors-primary)}.ips-checkbox:checked:after{content:"";position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(45deg);width:3px;height:6px;border:1.5px solid #000;border-top:none;border-left:none}.ips-checkbox:indeterminate{background:var(--colors-primary-muted);border-color:var(--colors-primary)}.ips-checkbox:indeterminate:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:1.5px;background:var(--colors-primary);border-radius:1px}@media(max-width:700px){.ips-item-grid{grid-template-columns:repeat(2,1fr)}.ips-item-name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}}.flashcards-page{width:100%;min-height:100vh;box-sizing:border-box}.fc-page-header{display:flex;align-items:center;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--colors-border);flex-shrink:0}.fc-back-link{color:var(--colors-primary);text-decoration:none;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);display:flex;align-items:center;gap:.3em;white-space:nowrap}.fc-back-link:hover{color:var(--colors-primary-hover)}.fc-page-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:0}.fc-setup{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.fc-setup-body{display:grid;grid-template-columns:340px 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.fc-setup-left{display:flex;flex-direction:column;gap:var(--spacing-l);padding:var(--spacing-l);border-right:1px solid var(--colors-border);overflow-y:auto}.fc-section-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);color:var(--colors-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--spacing-s)}.fc-front-options{display:flex;flex-direction:column;gap:var(--spacing-s)}.fc-check-label{display:flex;align-items:center;gap:var(--spacing-s);font-size:var(--typography-font-size-base);color:var(--colors-text);cursor:pointer;-webkit-user-select:none;user-select:none}.fc-check-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--colors-primary);cursor:pointer;flex-shrink:0}.fc-check-label.fc-check-disabled{color:var(--colors-text-muted);cursor:default}.fc-check-note{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);margin-left:1.5rem}.fc-preview-area{display:flex;flex-direction:column;gap:var(--spacing-s)}.fc-preview-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit}.fc-preview-toggle:hover .fc-section-title{color:var(--colors-text)}.fc-preview-toggle-icon{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);line-height:1}.fc-preview-label{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);align-self:flex-start}.fc-preview-wrapper{width:100%;max-width:280px;height:260px;pointer-events:none}.fc-preview-wrapper .fc-scene{max-width:100%;height:100%}.fc-setup-right{display:flex;flex-direction:column;min-height:0;overflow:hidden}.fc-pool-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--colors-border);flex-shrink:0;gap:var(--spacing-m)}.fc-pool-count{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);white-space:nowrap}.fc-cost-shortcuts{display:flex;align-items:center;gap:var(--spacing-s);flex-wrap:wrap}.fc-cost-btn{padding:.25em .75em;border-radius:var(--radius-sm);border:1px solid var(--colors-border);background:var(--colors-surface-elevated);color:var(--colors-text-muted);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.fc-cost-btn:hover{border-color:var(--colors-primary);color:var(--colors-text)}.fc-cost-btn[data-state=all]{background:var(--colors-primary-muted);border-color:var(--colors-primary);color:var(--colors-primary)}.fc-cost-btn[data-state=partial]{border-color:var(--colors-border);color:var(--colors-text-muted)}.fc-pool-list{flex:1;overflow-y:auto;padding:var(--spacing-s) var(--spacing-m)}.fc-slot-group{margin-bottom:var(--spacing-m)}.fc-slot-header{display:flex;align-items:center;gap:var(--spacing-s);padding:.4em var(--spacing-s);background:var(--colors-surface-elevated);border-radius:var(--radius-sm);margin-bottom:.25em;cursor:pointer;-webkit-user-select:none;user-select:none}.fc-slot-header-name{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);text-transform:capitalize;flex:1}.fc-slot-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fc-slot-color[data-slot=weapon]{background:#c47c18}.fc-slot-color[data-slot=spirit]{background:#b040a0}.fc-slot-color[data-slot=vitality]{background:#6a9618}.fc-cost-group{margin-left:var(--spacing-m);margin-bottom:.25em}.fc-cost-header{display:flex;align-items:center;gap:var(--spacing-s);padding:.25em var(--spacing-s);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm)}.fc-cost-header:hover{background:var(--colors-surface-elevated)}.fc-cost-header-name{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);color:var(--colors-text);flex:1;display:flex;align-items:center;gap:.4em}.fc-item-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.1em 0;padding-left:var(--spacing-s)}.fc-item-row{display:flex;align-items:center;gap:.35em;padding:.25em var(--spacing-s);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0}.fc-item-row:hover{background:var(--colors-surface-elevated)}.fc-item-icon{width:28px;height:28px;border-radius:4px;object-fit:contain;flex-shrink:0}.fc-item-name{font-size:var(--typography-font-size-sm);color:var(--colors-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-tri-checkbox,.fc-check-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:1rem;height:1rem;flex-shrink:0;cursor:pointer;position:relative;border:1.5px solid var(--colors-border);border-radius:3px;background:var(--colors-surface-raised);transition:background .12s,border-color .12s}.fc-tri-checkbox:checked,.fc-check-label input[type=checkbox]:checked{background:var(--colors-primary);border-color:var(--colors-primary)}.fc-tri-checkbox:checked:after,.fc-check-label input[type=checkbox]:checked:after{content:"";position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(45deg);width:3px;height:6px;border:1.5px solid #000;border-top:none;border-left:none}.fc-tri-checkbox:indeterminate,.fc-check-label input[type=checkbox]:indeterminate{background:var(--colors-primary-muted);border-color:var(--colors-primary)}.fc-tri-checkbox:indeterminate:after,.fc-check-label input[type=checkbox]:indeterminate:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:1.5px;background:var(--colors-primary);border-radius:1px}.fc-setup-footer{padding:var(--spacing-m) var(--spacing-l);border-top:1px solid var(--colors-border);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-m);flex-shrink:0}.fc-start-btn{padding:var(--spacing-s) var(--spacing-xl);background:var(--colors-primary);color:var(--colors-text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);cursor:pointer;transition:background .15s}.fc-start-btn:hover:not(:disabled){background:var(--colors-primary-hover)}.fc-start-btn:disabled{background:var(--colors-surface-elevated);color:var(--colors-text-muted);cursor:default}@keyframes fc-card-enter{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fc-card-skip{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(60px) scale(.97)}}@keyframes fc-card-learned{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}.fc-card-animate{animation:fc-card-enter .28s ease-out both;flex:1;min-height:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.fc-card-animate--skip{animation:fc-card-skip .2s ease-in both;pointer-events:none}.fc-card-animate--learned{animation:fc-card-learned .28s ease-in both;pointer-events:none}.fc-session{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.fc-session-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--colors-border);flex-shrink:0;gap:var(--spacing-m)}.fc-session-stats{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);white-space:nowrap}.fc-session-stats strong{color:var(--colors-primary);font-weight:var(--typography-font-weight-bold)}.fc-progress-bar-track{height:3px;background:var(--colors-border);flex-shrink:0}.fc-progress-bar-fill{height:100%;background:var(--colors-primary);transition:width .3s ease}.fc-session-main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-l) var(--spacing-l);overflow:hidden}.fc-session-controls{display:flex;gap:var(--spacing-m);flex-shrink:0}.fc-skip-btn,.fc-learned-btn{padding:var(--spacing-s) var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .15s,border-color .15s}.fc-skip-btn{background:var(--colors-surface-elevated);color:var(--colors-text-muted);border:1px solid var(--colors-border)}.fc-skip-btn:hover{background:var(--colors-surface);color:var(--colors-text)}.fc-learned-btn{background:var(--colors-primary-muted);color:var(--colors-primary);border:1px solid var(--colors-primary)}.fc-learned-btn:hover{background:var(--colors-primary);color:var(--colors-text-inverse)}.fc-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;gap:var(--spacing-l);padding:var(--spacing-2xl);text-align:center}.fc-complete-icon{font-size:3rem;line-height:1}.fc-complete-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-2xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:0}.fc-complete-subtitle{font-size:var(--typography-font-size-base);color:var(--colors-text-muted);margin:0}.fc-complete-actions{display:flex;gap:var(--spacing-m);flex-wrap:wrap;justify-content:center;margin-top:var(--spacing-s)}.fc-complete-primary{padding:var(--spacing-s) var(--spacing-xl);background:var(--colors-primary);color:var(--colors-text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);cursor:pointer;transition:background .15s}.fc-complete-primary:hover{background:var(--colors-primary-hover)}.fc-complete-secondary{padding:var(--spacing-s) var(--spacing-xl);background:transparent;color:var(--colors-text-muted);border:1px solid var(--colors-border);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:border-color .15s,color .15s}.fc-complete-secondary:hover{border-color:var(--colors-text-muted);color:var(--colors-text)}.fc-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;color:var(--colors-text-muted);font-size:var(--typography-font-size-lg)}@media(max-width:700px){.fc-setup{height:auto;min-height:100dvh;overflow:visible}.fc-setup-body{grid-template-columns:1fr;height:auto;overflow:visible}.fc-setup-left{border-right:none;border-bottom:1px solid var(--colors-border);height:auto;overflow:visible}.fc-setup-right{height:min(70dvh,600px);min-height:320px;overflow:hidden}.fc-setup-right .ips-list{padding-bottom:72px}.fc-session-controls{gap:var(--spacing-s)}.fc-skip-btn,.fc-learned-btn{padding:var(--spacing-s) var(--spacing-m);font-size:var(--typography-font-size-sm)}}@media(max-width:700px){.fc-setup-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--colors-background);border-top:1px solid var(--colors-border);box-shadow:0 -4px 16px #00000059;padding:var(--spacing-m) var(--spacing-l);padding-bottom:calc(var(--spacing-m) + env(safe-area-inset-bottom,0px));justify-content:stretch}.fc-start-btn{width:100%}.fc-setup{padding-bottom:90px}}@media(max-width:480px){.fc-complete{padding:var(--spacing-l);gap:var(--spacing-m)}.fc-session-main{padding:var(--spacing-m) var(--spacing-s);gap:var(--spacing-m)}}.quiz-page{width:100%;min-height:100vh;box-sizing:border-box}.quiz-page-header{display:flex;align-items:center;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--colors-border);flex-shrink:0}.quiz-back-link{color:var(--colors-primary);text-decoration:none;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);background:none;border:none;padding:0;font-family:var(--typography-font-family-body);cursor:pointer;white-space:nowrap}.quiz-back-link:hover{color:var(--colors-primary-hover)}.quiz-page-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-text);margin:0}.quiz-setup{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.quiz-setup-body{display:grid;grid-template-columns:320px 1fr;flex:1;min-height:0;overflow:hidden}.quiz-setup-left{display:flex;flex-direction:column;gap:var(--spacing-l);padding:var(--spacing-l);border-right:1px solid var(--colors-border);overflow-y:auto}.quiz-section-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-bold);color:var(--colors-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--spacing-s)}.quiz-difficulty-group{display:flex;gap:var(--spacing-s)}.quiz-diff-btn{flex:1;padding:var(--spacing-s) 0;border-radius:var(--radius-sm);border:1px solid var(--colors-border);background:var(--colors-surface-elevated);color:var(--colors-text-muted);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.quiz-diff-btn:hover{border-color:var(--colors-primary);color:var(--colors-text)}.quiz-diff-btn[data-active=true]{background:var(--colors-primary-muted);border-color:var(--colors-primary);color:var(--colors-primary)}.quiz-setup-right{display:flex;flex-direction:column;min-height:0;overflow:hidden}.quiz-pool-header{padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--colors-border);flex-shrink:0}.quiz-setup-footer{padding:var(--spacing-m) var(--spacing-l);border-top:1px solid var(--colors-border);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-m);flex-shrink:0}.quiz-options-checks{display:flex;flex-direction:column;gap:var(--spacing-s)}.quiz-option-check{display:flex;align-items:center;gap:var(--spacing-s);font-size:var(--typography-font-size-sm);color:var(--colors-text);cursor:pointer;-webkit-user-select:none;user-select:none}.quiz-start-btn{padding:var(--spacing-s) var(--spacing-xl);background:var(--colors-primary);color:var(--colors-text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);cursor:pointer;transition:background .15s}.quiz-start-btn:hover:not(:disabled){background:var(--colors-primary-hover)}.quiz-start-btn:disabled{background:var(--colors-surface-elevated);color:var(--colors-text-muted);cursor:default}.quiz-session{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.quiz-session-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--colors-border);flex-shrink:0}.quiz-progress-text{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted)}.quiz-progress-bar-track{height:3px;background:var(--colors-border);flex-shrink:0}.quiz-progress-bar-fill{height:100%;background:var(--colors-primary);transition:width .3s ease}.quiz-session-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-l);padding:var(--spacing-m) var(--spacing-l) 80px;overflow-y:auto}.quiz-card{width:100%;max-width:600px;background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-l);flex-grow:1;flex-shrink:0}.quiz-item-context{display:flex;align-items:center;gap:var(--spacing-s);padding-bottom:var(--spacing-s);border-bottom:1px solid var(--colors-border)}.quiz-item-ctx-icon{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0}.quiz-item-ctx-name{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);color:var(--colors-text)}.quiz-card-prompt{font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-medium);color:var(--colors-text);line-height:var(--typography-line-height-tight);margin:0}.quiz-feedback-card{width:100%;max-width:500px;margin:0 auto}.quiz-feedback-cards{display:flex;flex-direction:column;gap:var(--spacing-m);width:100%;max-width:500px}.quiz-options{display:flex;flex-direction:column;gap:var(--spacing-s)}.quiz-option{display:flex;align-items:center;gap:var(--spacing-m);padding:var(--spacing-s) var(--spacing-m);border:1px solid var(--colors-border);border-radius:var(--radius-sm);background:var(--colors-surface-raised);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s,background .12s;text-align:left;font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);color:var(--colors-text);width:100%}.quiz-option:hover:not([data-state]){border-color:var(--colors-primary)}.quiz-option-item-icon{width:28px;height:28px;border-radius:4px;object-fit:contain;flex-shrink:0}.quiz-option[data-state=selected]{border-color:var(--colors-primary);background:var(--colors-primary-muted)}.quiz-option[data-state=correct]{border-color:var(--colors-success);background:#34d3991f;color:var(--colors-success)}.quiz-option[data-state=wrong]{border-color:var(--colors-error);background:#f871711f;color:var(--colors-error)}.quiz-option[data-state=missed]{border-color:var(--colors-success);background:#34d3990f;color:var(--colors-text-muted)}.quiz-items-from-stat{max-height:420px;overflow-y:auto;border:1px solid var(--colors-border);border-radius:var(--radius-sm);background:var(--colors-surface-elevated)}.quiz-items-from-stat .ips-item-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.quiz-items-from-stat .ips-item-name{white-space:normal;overflow:visible;text-overflow:clip}.quiz-fill-blank{display:flex;flex-direction:column;gap:var(--spacing-s)}.quiz-fill-input{width:100%;box-sizing:border-box;padding:var(--spacing-s) var(--spacing-m);background:var(--colors-surface-elevated);border:1px solid var(--colors-border);border-radius:var(--radius-sm);color:var(--colors-text);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-medium);text-align:center;outline:none;transition:border-color .12s}.quiz-fill-input:focus{border-color:var(--colors-primary)}.quiz-fill-input--correct{border-color:var(--colors-success);background:#34d39914}.quiz-fill-input--wrong{border-color:var(--colors-error);background:#f8717114}.quiz-fill-answer{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);text-align:center}.quiz-review-fillin{display:flex;flex-direction:column;gap:.3em;font-size:var(--typography-font-size-sm);padding:.2em .4em}.quiz-review-fillin [data-state=correct-selected]{color:var(--colors-success)}.quiz-review-fillin [data-state=wrong-selected]{color:var(--colors-error)}.quiz-review-fillin [data-state=correct-missed]{color:var(--colors-text-muted)}.quiz-tf-group{display:flex;gap:var(--spacing-m)}.quiz-tf-btn{flex:1;padding:var(--spacing-m) 0;border-radius:var(--radius-md);border:1px solid var(--colors-border);background:var(--colors-surface-elevated);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-medium);color:var(--colors-text-muted);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.quiz-tf-btn:hover:not([data-state]){border-color:var(--colors-primary);color:var(--colors-text)}.quiz-tf-btn[data-state=selected]{border-color:var(--colors-primary);background:var(--colors-primary-muted);color:var(--colors-primary)}.quiz-tf-btn[data-state=correct]{border-color:var(--colors-success);background:#34d3991f;color:var(--colors-success)}.quiz-tf-btn[data-state=wrong]{border-color:var(--colors-error);background:#f871711f;color:var(--colors-error)}.quiz-feedback{padding:var(--spacing-s) var(--spacing-m);border-radius:var(--radius-sm);font-size:var(--typography-font-size-sm);line-height:1.5}.quiz-feedback[data-result=correct]{background:#34d3991a;color:var(--colors-success)}.quiz-feedback[data-result=wrong]{background:#f871711a;color:var(--colors-error)}.quiz-feedback[data-result=partial]{background:#00d4aa1a;color:var(--colors-primary)}.quiz-session-controls{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:flex-end;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-l);padding-bottom:calc(var(--spacing-m) + env(safe-area-inset-bottom,0px));background:var(--colors-background);border-top:1px solid var(--colors-border);box-shadow:0 -4px 16px #00000059}.quiz-submit-btn,.quiz-next-btn{padding:var(--spacing-s) var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:background .15s}.quiz-submit-btn{background:var(--colors-primary);color:var(--colors-text-inverse);border:none}.quiz-submit-btn:disabled{background:var(--colors-surface-elevated);color:var(--colors-text-muted);cursor:default}.quiz-submit-btn:hover:not(:disabled){background:var(--colors-primary-hover)}.quiz-next-btn{background:var(--colors-surface-elevated);color:var(--colors-text);border:1px solid var(--colors-border)}.quiz-next-btn:hover{background:var(--colors-surface)}.quiz-review{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.quiz-review-body{flex:1;overflow-y:auto;padding:var(--spacing-l);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-l)}.quiz-score-banner{width:100%;max-width:600px;background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-lg);padding:var(--spacing-l);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-s);text-align:center}.quiz-score-main{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-3xl);font-weight:var(--typography-font-weight-bold);color:var(--colors-primary);line-height:1}.quiz-score-sub{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted)}.quiz-review-actions{display:flex;gap:var(--spacing-m);flex-wrap:wrap;justify-content:center}.quiz-review-primary{padding:var(--spacing-s) var(--spacing-xl);background:var(--colors-primary);color:var(--colors-text-inverse);border:none;border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);cursor:pointer;transition:background .15s}.quiz-review-primary:hover{background:var(--colors-primary-hover)}.quiz-review-secondary{padding:var(--spacing-s) var(--spacing-xl);background:transparent;color:var(--colors-text-muted);border:1px solid var(--colors-border);border-radius:var(--radius-md);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:border-color .15s,color .15s}.quiz-review-secondary:hover{border-color:var(--colors-text-muted);color:var(--colors-text)}.quiz-review-list{width:100%;max-width:600px;display:flex;flex-direction:column;gap:var(--spacing-m)}.quiz-review-item{background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-md);padding:var(--spacing-m)}.quiz-review-item-header{display:flex;align-items:flex-start;gap:var(--spacing-s);margin-bottom:var(--spacing-s)}.quiz-review-icon{font-size:1rem;flex-shrink:0;margin-top:.1em}.quiz-review-prompt{font-size:var(--typography-font-size-sm);color:var(--colors-text);flex:1}.quiz-review-options{display:flex;flex-direction:column;gap:.25em;margin-top:var(--spacing-s)}.quiz-review-option{display:flex;align-items:center;gap:.4em;font-size:var(--typography-font-size-sm);padding:.2em .4em;border-radius:var(--radius-sm)}.quiz-review-option[data-state=correct-selected]{color:var(--colors-success)}.quiz-review-option[data-state=wrong-selected]{color:var(--colors-error)}.quiz-review-option[data-state=correct-missed]{color:var(--colors-text-muted);font-style:italic}.quiz-review-option[data-state=neutral]{color:var(--colors-text-muted)}.quiz-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;color:var(--colors-text-muted);font-size:var(--typography-font-size-lg)}@media(max-width:700px){.quiz-setup{height:auto;min-height:100dvh;overflow:visible}.quiz-setup-body{grid-template-columns:1fr;height:auto;overflow:visible}.quiz-setup-left{border-right:none;border-bottom:1px solid var(--colors-border);height:auto;overflow:visible}.quiz-setup-right{height:min(60dvh,480px);min-height:300px}}@media(max-width:480px){.quiz-card{padding:var(--spacing-m);gap:var(--spacing-m)}.quiz-session-main{padding:var(--spacing-m) var(--spacing-s) 80px}.quiz-fill-input{font-size:var(--typography-font-size-base)}.quiz-items-from-stat .ips-item-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.quiz-submit-btn,.quiz-next-btn{flex:1;padding:var(--spacing-s) var(--spacing-m)}}#root{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);box-sizing:border-box}#root:has(.browser){height:100vh;min-height:100vh;align-items:stretch;justify-content:flex-start;padding:0}#root:has(.flashcards-page){align-items:stretch;justify-content:flex-start;padding:0}#root:has(.quiz-page){align-items:stretch;justify-content:flex-start;padding:0}.home{width:100%;max-width:36rem;display:flex;flex-direction:column;gap:var(--spacing-m)}.home-footer{text-align:center;font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);opacity:.45}.home-card{background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),0 0 80px #98ffde12;padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl);text-align:center}.home-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-3xl);font-weight:var(--typography-font-weight-bold);line-height:var(--typography-line-height-tight);color:var(--colors-primary);margin:0 0 var(--spacing-s);letter-spacing:-.02em}.home-subtitle{font-size:var(--typography-font-size-lg);color:var(--colors-text-muted);margin:0 0 var(--spacing-m)}.home-stats{display:inline-flex;align-items:center;gap:var(--spacing-s);font-size:var(--typography-font-size-sm);color:var(--colors-primary);background:var(--colors-primary-muted);padding:var(--spacing-s) var(--spacing-m);border-radius:var(--radius-md)}.home-error{font-size:var(--typography-font-size-sm);color:var(--colors-error);margin-bottom:var(--spacing-m)}.home-error code{font-size:.9em;padding:.1em .35em;background:var(--colors-surface-elevated);border-radius:var(--radius-sm);color:var(--colors-text-muted)}.home-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-m);margin-top:var(--spacing-xl);text-align:left}.home-nav-card{display:flex;flex-direction:column;gap:.4em;padding:var(--spacing-m) var(--spacing-l);background:var(--colors-surface-elevated);border:1px solid var(--colors-border);border-radius:var(--radius-md);text-decoration:none;transition:background .15s ease,border-color .15s ease}.home-nav-card:hover{background:var(--colors-primary-muted);border-color:var(--colors-primary)}.home-nav-title{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-bold);color:var(--colors-primary)}.home-nav-desc{font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);line-height:1.4}.home-browser-link{display:block;margin-top:var(--spacing-m);font-size:var(--typography-font-size-sm);color:var(--colors-text-muted);text-decoration:none;text-align:right;transition:color .12s}.home-browser-link:hover{color:var(--colors-primary)}.placeholder{max-width:36rem;width:100%;text-align:center}.placeholder h2{font-family:var(--typography-font-family-heading);font-size:var(--typography-font-size-2xl);color:var(--colors-text);margin:0 0 var(--spacing-m)}.placeholder p{color:var(--colors-text-muted);margin:0 0 var(--spacing-l)}.placeholder a{color:var(--colors-primary);text-decoration:none;font-weight:var(--typography-font-weight-medium)}.placeholder a:hover{color:var(--colors-primary-hover)}@media(max-width:700px){#root:has(.browser){height:auto;min-height:100dvh;overflow-y:auto}}@media(max-width:480px){#root{padding:var(--spacing-m)}.home-card{padding:var(--spacing-l) var(--spacing-m) var(--spacing-m)}.home-nav{grid-template-columns:1fr}}:root{--colors-background: #0a0a0c;--colors-background-secondary: #0f0f12;--colors-surface: #16161a;--colors-surface-elevated: #1c1c21;--colors-surface-raised: #2a2a33;--colors-text: #e8e8ec;--colors-text-muted: #c8c8d8;--colors-text-inverse: #0a0a0c;--colors-primary: #98ffde;--colors-primary-hover: #adfee5;--colors-primary-muted: rgba(152, 255, 222, .15);--colors-accent: #7c3aed;--colors-accent-muted: rgba(124, 58, 237, .2);--colors-border: #2a2a30;--colors-border-muted: #222228;--colors-error: #f87171;--colors-success: #34d399;--typography-font-family-heading: "Outfit", system-ui, sans-serif;--typography-font-family-body: "Outfit", system-ui, sans-serif;--typography-font-size-base: 1rem;--typography-font-size-sm: .875rem;--typography-font-size-lg: 1.125rem;--typography-font-size-xl: 1.5rem;--typography-font-size-2xl: 2rem;--typography-font-size-3xl: 2.5rem;--typography-font-weight-normal: 400;--typography-font-weight-medium: 500;--typography-font-weight-bold: 600;--typography-line-height: 1.6;--typography-line-height-tight: 1.35;--spacing-s: .5rem;--spacing-m: 1rem;--spacing-l: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5)}body{margin:0;background:radial-gradient(ellipse at 50% -5%,rgba(152,255,222,.07) 0%,transparent 55%),var(--colors-background);color:var(--colors-text);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-base);line-height:var(--typography-line-height);min-height:100vh}@media(max-width:480px){:root{--typography-font-size-3xl: 1.75rem;--typography-font-size-2xl: 1.5rem;--typography-font-size-xl: 1.25rem;--spacing-2xl: 1.5rem;--spacing-xl: 1.25rem}}
