:root{font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.4;font-weight:400;color:#111b31;background:radial-gradient(circle at top,#fefcf4,#edf2ff 55%,#dee6fb)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}.page-shell{min-height:100%;display:grid;grid-template-rows:auto 1fr auto;padding-bottom:env(safe-area-inset-bottom)}.top-bar{padding:1rem 1rem .5rem}.top-bar h1{margin:0}.title-button{all:unset;font-size:1.4rem;font-weight:700;cursor:pointer}.title-button:focus-visible{outline:2px solid #31416f;border-radius:6px}.top-bar p{margin:.25rem 0 0;color:#3a4e7d;font-size:.9rem}.content{padding:.75rem 1rem 1.25rem}.panel{background:#fffffff2;border:1px solid #cfd9f3;border-radius:16px;padding:1rem;box-shadow:0 8px 24px #14244e14}.inventory-panel{display:grid;gap:1rem}.inventory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.inventory-header__actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.inventory-header h2{margin:0}.inventory-header p{margin:.2rem 0 0;font-weight:600;color:#2d426f}.item-form{display:grid;gap:.75rem}.item-form h3,.inventory-controls h3{margin:0}.field{display:grid;gap:.35rem;font-weight:600;color:#2f426c}.field-grid{display:grid;gap:.6rem}.checkbox-field{display:flex;align-items:center;gap:.55rem;font-weight:600}.checkbox-field input{width:1.2rem;height:1.2rem}input,select,textarea{width:100%;border:1px solid #c4d0ee;border-radius:12px;padding:.7rem .75rem;font:inherit;color:#111b31;background:#fff}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid #31416f;outline-offset:1px}.magic-fields{border:1px solid #cfd9f3;border-radius:12px;padding:.7rem;display:grid;gap:.7rem}.magic-fields legend{padding:0 .4rem;font-weight:700;color:#2d426f}.form-actions{display:flex;gap:.5rem}.inventory-controls{display:flex;align-items:center;gap:.75rem}.inventory-controls--grid{display:grid;gap:.75rem}.filter-chips{display:grid;gap:.5rem}.inventory-controls--compact{display:grid;gap:.65rem}.inventory-controls__actions{display:flex;gap:.5rem}.search-filter-row{display:flex;align-items:stretch;border:1px solid #c4d0ee;border-radius:12px;overflow:hidden;background:#fff}.search-filter-row input{flex:1;width:auto;border:0;border-radius:0}.search-filter-row__button{border-radius:0;border-left:1px solid #c4d0ee;padding-left:.9rem;padding-right:.9rem}.filters-modal{border:1px solid #cfd9f3;border-radius:14px;background:#f8faff;padding:.8rem;display:grid;gap:.65rem}.filters-modal h3{margin:0}.catalog-panel,.transfer-panel{border:1px solid #cfd9f3;border-radius:14px;background:#f8faff;padding:.8rem;display:grid;gap:.65rem}.transfer-qr-view{border:1px solid #d5dff7;border-radius:12px;background:#fff;padding:.65rem;display:grid;gap:.55rem}.transfer-qr-image-wrap{display:flex;justify-content:center;padding:.35rem 0}.transfer-qr-image{width:min(280px,100%);height:auto;border-radius:10px;border:1px solid #d5dff7;background:#fff}.transfer-camera-preview{border:1px solid #d5dff7;border-radius:12px;overflow:hidden;background:#0d1220}.transfer-camera-preview video{width:100%;min-height:200px;display:block;object-fit:cover}.catalog-editor,.reward-form{border:1px solid #cfd9f3;border-radius:14px;background:#f8faff;padding:.8rem}.catalog-sync-text{margin:0;color:#2f4370}.inventory-sections{display:grid;gap:.75rem}.inventory-section{display:grid;gap:.5rem}.inventory-section h3{margin:0;font-size:.95rem;color:#2d426f}.item-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.item-card{background:#f8faff;border:1px solid #d5dff7;border-radius:14px;padding:.8rem;display:grid;gap:.4rem}.composer-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.composer-header h3{margin:0}.empty-state{margin:0;padding:.9rem;border:1px dashed #c4d0ee;border-radius:12px;color:#3a4e7d;background:#f8faff}.item-card p{margin:0;color:#344675}.tag-pills{display:flex;gap:.35rem;flex-wrap:wrap}.tag-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;background:#e6ecfa;color:#223a69}.item-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.badge-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.badge-warning{background:#f9e6b5;color:#563800}.badge-attuned{background:#d5e5ff;color:#133e85}.badge-consumable{background:#d6f2e4;color:#0f5838}.badge-catalog-fetched{background:#d5e5ff;color:#133e85}.badge-catalog-manual{background:#d6f2e4;color:#0f5838}.badge-catalog-stale{background:#f9e6b5;color:#563800}.item-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.25rem}.item-details{border-top:1px solid #d5dff7;padding-top:.45rem}.item-details summary{cursor:pointer;font-weight:600;color:#2f4370}.item-details__content{display:grid;gap:.5rem;margin-top:.5rem}.item-details__content p{margin:0}.attunement-modal{border:1px solid #cfd9f3;border-radius:14px;background:#f8faff;padding:.8rem;display:grid;gap:.6rem}.attunement-modal h3,.attunement-modal p{margin:0}.attunement-replace-list{display:grid;gap:.4rem}.error-text{margin:0;color:#7f1024;font-weight:600}.install-banner{margin-bottom:.75rem;background:#1e2b4a;color:#f7f7f2;border-radius:12px;padding:.75rem}.install-banner p{margin:0}.install-banner__actions{margin-top:.65rem;display:flex;gap:.5rem}button{border:0;border-radius:999px;padding:.5rem .75rem;background:#31416f;color:#edf2ff;font-weight:600}.button-secondary{background:#f2e8c8;color:#1d2950}a.button-secondary{display:inline-block;border-radius:999px;padding:.5rem .75rem;font-weight:600;text-decoration:none}.button-danger{background:#87263a;color:#fff4f6}.sheet-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;background:#0c122200;transition:background .22s ease}.sheet-overlay--open{background:#0c122252}.sheet{width:min(100%,800px);max-height:calc(100dvh - 4.5rem);margin:0 auto;border:1px solid #cfd9f3;border-bottom:0;border-radius:20px 20px 0 0;background:#f8faff;box-shadow:0 -12px 30px #09122833;transition:transform .22s ease;will-change:transform;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.sheet--dragging{transition:none}.sheet-handle-hitbox{width:100%;border-radius:0;border:0;background:transparent;padding:.45rem 0 .2rem;cursor:grab;touch-action:none}.sheet-handle{display:block;width:44px;height:5px;margin:0 auto;border-radius:999px;background:#b2bfdc}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .8rem .6rem}.sheet-header h3{margin:0}.sheet-content{overflow-y:auto;overscroll-behavior:contain;padding:0 .8rem calc(.9rem + env(safe-area-inset-bottom));display:grid;gap:.65rem}.health-back-link{text-decoration:none;border-radius:999px;padding:.5rem .8rem;background:#f2e8c8;color:#1d2950;font-weight:600}.kv-list{margin:0}.kv-list div{display:flex;justify-content:space-between;gap:.75rem;border-bottom:1px solid #e3e9fa;padding:.5rem 0}.kv-list div:last-child{border-bottom:0}.kv-list dt{color:#344675;font-weight:600}.kv-list dd{margin:0;text-align:right}.health-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e3e9fa;display:grid;gap:.5rem}.health-section h3{margin:0}.health-section p{margin:0;color:#344675}.health-transfer-link{justify-self:start;text-decoration:none}@media(min-width:800px){.page-shell{max-width:800px;margin:0 auto}.content{padding-bottom:1.5rem}.field-grid{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.sheet-overlay,.sheet{transition:none}}
