/* H3LL Chamber: shared surfaces, fixed ornament corners, live editable content. */
[hidden] { display:none!important; }
.kaeris-chamber { --ch-edge:#78604d85; --ch-bright:#bd82df; position:relative; margin:0 10px 8px; padding:9px 9px 14px; border:1px solid var(--ch-edge); border-radius:18px; background:linear-gradient(#09080beb,#08070bef),url('../assets/textures/velvet.webp') center/500px; isolation:isolate; }
.ch-corners { position:absolute; inset:0; z-index:3; border-radius:inherit; pointer-events:none; }
.ch-corners i { position:absolute; width:34px; height:34px; background:url('../assets/chamber/ornaments.png') -6px -12px/355px 355px; left:-2px; top:-2px; opacity:.7; }
.ch-corners i:nth-child(2) { left:auto;right:-2px;transform:scaleX(-1); }
.ch-corners i:nth-child(3) { top:auto;bottom:-2px;transform:scaleY(-1); }
.ch-corners i:nth-child(4) { inset:auto -2px -2px auto;transform:scale(-1); }
.ch-main-tabs,.ch-subtabs { display:flex; gap:5px; padding:3px; border-bottom:1px solid #73534359; }
.ch-main-tabs button,.ch-subtabs button { flex:1; min-width:0; min-height:48px; border:1px solid transparent; border-radius:10px; background:transparent; color:#b7a18f; font-size:1.1rem; font-weight:500; letter-spacing:.025em; text-transform:uppercase; padding:8px 5px; display:flex; justify-content:center; align-items:center; gap:8px; }
.ch-main-tabs button[aria-selected=true],.ch-subtabs button[aria-selected=true] { color:#ebd5f1; border-color:#a65cc7a6; background:radial-gradient(ellipse at bottom,#7f29902c,transparent 70%),#150d1c; box-shadow:inset 0 0 0 3px #07070b,inset 0 0 0 4px #a15cc62b,0 0 12px #ab4dce20; }
.ch-main-tabs button:hover,.ch-subtabs button:hover { color:#f0d8f8;background-color:#24182c; }
.ch-main-panel { padding-top:14px; }
#pane-wardrobe,#pane-rituals { padding-top:0; }
.ch-main-panel .stories { padding:0 8px; }
.ch-main-panel .essence { padding-top:7px; }
.ch-icon { width:22px; height:22px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.heat-price { display:inline-flex; align-items:center; justify-content:center; gap:5px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.heat-price .ch-icon { width:15px;height:19px;color:#b369dc; }
.ch-card { position:relative; isolation:isolate; min-width:0; border:1px solid var(--ch-edge); border-radius:10px; background:radial-gradient(ellipse at top,#29203040,transparent 70%),#09080c; color:var(--paper); overflow:hidden; text-align:center; transition:border-color .18s,box-shadow .18s; }
.ch-card::after { content:''; position:absolute; inset:4px; border:1px solid #7c665525; border-radius:6px; pointer-events:none; }
.ch-card:hover { border-color:#aa839e; }
.ch-card.selected { border-color:#b682d3; box-shadow:0 0 13px #a961ce31,inset 0 0 14px #9e4fc522; }
.ch-card.selected .ch-corners { filter:sepia(.5) hue-rotate(219deg) saturate(2) brightness(1.6); }
.ch-card-title { display:block; font-size:1.15rem; text-transform:uppercase; line-height:1.12; letter-spacing:.025em; }
.outfit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px 2px 0; }
.outfit-card { display:flex; flex-direction:column; justify-content:flex-end; width:100%; padding:0; aspect-ratio:.76; min-height:245px; }
.outfit-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%; z-index:-2; filter:brightness(.8); }
.outfit-card:first-child .outfit-art { object-fit:cover; object-position:48% top; }
.outfit-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(transparent 43%,#09070be6 84%,#09070b); }
.outfit-caption { display:grid; gap:8px; padding:20px 9px 18px; }
.card-state { color:#bc89d9; font-size:1.05rem; }
.selection-mark,.lock-mark { display:grid; place-items:center; position:absolute; width:30px; height:30px; border:1px solid #a670c8; border-radius:50%; background:#15091de8; right:10px;top:10px; color:#f6e9ff; }
.selection-mark .ch-icon { width:18px;height:18px; }
.lock-mark { width:38px; height:38px; left:calc(50% - 19px); top:45%; right:auto; border-color:#aa88698f; border-radius:9px; color:#c9ab8f; }
.collection-progress { display:grid; grid-template-columns:1fr auto; gap:7px 12px; padding:18px 12px; font-size:.85rem; letter-spacing:.09em; color:#b6a49d; }
.collection-progress>span:first-child { grid-column:1/-1;text-align:center; }
.collection-progress progress { width:100%; height:5px; appearance:none; align-self:center; border:0; background:#241329; border-radius:5px; }
progress::-webkit-progress-bar { background:#241329; border-radius:5px; }
progress::-webkit-progress-value { background:linear-gradient(90deg,#381447,#ab48df); box-shadow:0 0 10px #ab48df70;border-radius:5px; }
progress::-moz-progress-bar { background:#ab48df; }
.ch-detail { border:1px solid var(--ch-edge); border-radius:12px; padding:17px 14px; background:linear-gradient(115deg,#1b11214d,transparent),#09080c; margin-top:12px; }
.ch-detail h3,.drink-detail h3,.manifest h3 { margin:0 0 5px; text-transform:uppercase; font-size:1.5rem; font-weight:400; letter-spacing:.05em; }
.ch-detail p,.drink-detail p { margin:0; font-size:1.08rem; line-height:1.35; color:#bbaba8; }
.ch-detail em { color:#97848d; }
.outfit-detail { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center; }
.ch-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; min-width:100px; border:1px solid #aa71c5a6; border-radius:10px; padding:10px 15px; background:radial-gradient(ellipse at bottom,#6a297441,transparent 75%),linear-gradient(#2b1737,#100b16 60%); box-shadow:inset 0 0 0 3px #0d0811,inset 0 0 0 4px #a267b530; color:#ead9ef; font-size:1.03rem; text-transform:uppercase; letter-spacing:.04em; }
.ch-action:hover:not(:disabled) { border-color:#e3a4ff; box-shadow:0 0 18px #a85ccd33,inset 0 0 12px #a85ccd22; }
.ch-action:active:not(:disabled) { transform:translateY(1px); }
.ch-action:disabled { opacity:.48; }
.ch-actions { display:flex;gap:12px;margin-top:18px; }
.ch-actions>* { flex:1; }
.ch-note,.ch-footnote { text-align:center;color:#a898a4;font-size:.95rem;line-height:1.35;margin:12px 4px 0; }
.ch-status { color:#d7b7e5; text-align:center; font-size:1rem; padding:0 10px; line-height:1.4; }
.ch-status:empty { display:none; }
.item-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(89px,1fr); gap:7px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; padding:15px 3px 10px; scrollbar-width:thin; scrollbar-color:#674271 #151016; }
.item-category { display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:10px 5px 13px; min-height:150px; font-family:var(--h3ll-font); font-size:.98rem; line-height:1.1;scroll-snap-align:start; }
.item-category img { width:100%; height:99px; object-fit:contain; padding:3px; margin-bottom:9px; }
.item-category .ch-corners i { opacity:.4; }
.item-detail header { display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:17px; }
.option-layout { display:grid; grid-template-columns:89px minmax(0,1fr); gap:10px; }
.option-filters { display:flex;flex-direction:column;gap:3px; }
.option-filters button { min-height:44px;padding:8px 6px; border:1px solid transparent;border-radius:5px;background:none;color:#b8a493;font-size:.93rem;text-align:left; }
.option-filters button[aria-pressed=true] { color:#dfb7ef;background:linear-gradient(90deg,#51236369,#51236316);border-color:#b682d3; }
.option-rail { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(107px,1fr);overflow-x:auto;gap:9px;padding:3px 3px 9px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#674271 #151016; }
.option-card { display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-height:200px;padding:0;scroll-snap-align:start; }
.hair-art { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% 8%;z-index:-1;mask-image:linear-gradient(#000 68%,transparent 95%); }
.hair-bob,.hair-crown { object-position:center top; }
.option-caption { display:grid;gap:6px;width:100%;padding:16px 5px 12px;font-size:.95rem;background:linear-gradient(transparent,#08070a);text-transform:uppercase; }
.option-caption small { text-transform:none;color:#b68bc8;font-size:.85rem; }
.option-object { width:100%;height:125px;object-fit:contain;padding:12px; }
.option-smoke,.option-collar { filter:grayscale(.7); }.option-ember,.option-teardrop { filter:hue-rotate(23deg); }
.iris-swatch { width:75px;height:75px;margin:30px 0;border-radius:50%;border:2px solid #352f3a;background:radial-gradient(circle,#08070b 18%,#261232 20%,#bf8fe3 23%,#533274 36%,#aa7fc2 55%,#2c1838 67%,#151117 70%);box-shadow:inset 8px 4px 13px #ffffff30,0 0 15px #753b9840; }
.iris-gilded { filter:hue-rotate(85deg); }.iris-moon { filter:grayscale(1); }
.color-swatch { width:70px;height:90px;border-radius:35px 35px 10px 10px;margin:20px 0;background:linear-gradient(105deg,transparent,#ffffff25 35%,transparent 48%),#14101a;box-shadow:inset 0 0 0 1px #ffffff30,0 7px 12px #000; }
.swatch-plum,.swatch-violet { background-color:#48234c; }.swatch-bronze { background-color:#79573b; }.swatch-wine { background-color:#54192c; }.swatch-noir { background-color:#1b1420; }
.drink-layout { display:grid;grid-template-columns:145px minmax(0,1fr);gap:17px;padding:16px 3px 0; }
.drink-list { display:flex; flex-direction:column;gap:7px; }
.drink-choice { display:flex;align-items:center;gap:5px;min-height:80px;padding:7px 5px;font-size:.96rem;text-align:left; }
.drink-choice img { width:37px;height:61px;object-fit:contain;filter:hue-rotate(var(--object-hue)); }
.drink-choice span { min-width:0; }
.drink-choice small { display:block;color:#b886d0;margin-top:7px;font-size:.84rem; }
.drink-detail { min-width:0;position:relative; }
.drink-detail>h3 { font-size:1.55rem; }
.drink-visual { height:290px;display:grid;place-items:center;position:relative;background:radial-gradient(ellipse at center,#69259316,transparent 65%); }
.drink-visual::after { content:'';position:absolute;bottom:2px;width:70%;height:35px;border:1px solid #8547ae5c;border-radius:50%;box-shadow:0 0 0 8px #8b3daa0b,0 0 20px #9920cd20; }
.drink-visual img { width:100%;height:100%;object-fit:contain;padding:15px;filter:hue-rotate(var(--object-hue)); }
.drink-facts { display:grid;gap:9px;margin:10px 0 20px;font-size:1rem; }
.drink-facts>div { display:grid;grid-template-columns:70px 1fr;gap:12px; }
.drink-facts dt { color:#ad9490; }.drink-facts dd { margin:0;color:#d5c5d7; }
.drink-effects { display:flex;justify-content:space-between;align-items:center;gap:12px; }
.drink-effects h4 { color:#b378c9;font-size:1.05rem;letter-spacing:.08em;font-weight:400;margin:0 0 10px; }
.drink-effects ul { list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.96rem;color:#c5b4b8; }
.drink-effects li { display:flex;align-items:center;gap:8px; }.drink-effects .ch-icon { width:16px;height:16px;color:#a98087; }
.resonance { flex-shrink:0;width:106px;height:106px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 210deg,#b062db var(--resonance),#32213e 0);padding:6px;box-shadow:0 0 20px #a340c520; }
.resonance>span { display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#0d0913;font-size:.65rem;letter-spacing:.08em; }
.resonance strong { font-size:1.8rem;font-weight:400;color:#bc77df;letter-spacing:0; }
.effect-preview { display:flex;align-items:center;gap:15px;padding:15px;margin-top:12px;border:1px solid #6b3e7766;border-radius:10px;background:#1c1020; }
.preview-orb { width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d9b1ef,#8842ac 25%,#240c35 66%);box-shadow:0 0 25px #b645dd4c; }
.ch-section-title { text-align:center;font-size:1.1rem;letter-spacing:.1em;font-weight:400;color:#bf88d2;margin:18px 0 13px; }
.relic-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }
.relic-card { display:flex;flex-direction:column;align-items:center;padding:10px 9px 13px; }
.relic-card>img { width:100%;height:150px;object-fit:contain;margin-bottom:13px; }
.relic-card .ch-card-title { font-size:1.05rem; }
.relic-copy { display:block;font-size:.98rem;line-height:1.25;color:#b3a0a9;margin:7px 0 10px; }
.relic-card small { margin-top:auto;color:#b57fcc;font-size:.95rem; }
.unlock-relic { text-align:center;margin:20px 0; }
.control-layout { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;margin-top:17px;align-items:start; }
.patterns { min-width:0;border:1px solid var(--ch-edge);border-radius:12px;padding:14px 8px; }
.patterns h3,.ritual-gauge>h3 { font-size:1.08rem;text-align:center;font-weight:400;letter-spacing:.1em;color:#bc86cd;margin:0 0 12px; }
.pattern { display:flex;align-items:center;gap:7px;width:100%;min-height:61px;padding:8px 5px;border:1px solid #674e6359;border-radius:8px;background:#0e0a12;color:#d8c8d9;text-align:left;margin-top:7px; }
.pattern.selected { border-color:#ad66d0;background:linear-gradient(90deg,#352039,#120b19);box-shadow:inset 0 0 14px #8140a12c; }
.pattern>svg:first-child { width:30px;flex-shrink:0;stroke:#b273ce;fill:none;stroke-width:1.4; }
.pattern>span { flex:1;font-size:.95rem; }.pattern small { display:block;color:#9c899f;font-size:.8rem;margin-top:3px; }.pattern>.ch-icon { width:15px;height:15px;color:#b883cb; }
.ritual-gauge { position:relative;isolation:isolate;min-width:0;padding:15px 9px 12px;border:1px solid #7657817a;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#35203a66,transparent 70%),#0b080f; }
.ritual-gauge #atmosphere { position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.6; }
.instrument { position:relative;width:100%;aspect-ratio:400/345;margin:0 0 10px; }
#gauge { width:100%;height:100%;display:block;touch-action:none; }
.reading { position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);text-align:center;pointer-events:none; }
.reading>div { font-size:2.6rem;color:#f0ddfa;letter-spacing:-.06em;line-height:1; }
.reading small { font-size:.5em;letter-spacing:0; }.reading-label { display:block;margin-top:8px;color:#c8a6d4;font:8px Arial,sans-serif;letter-spacing:1.3px; }
.gauge-sigil { position:absolute;width:24px;height:24px;object-fit:contain;bottom:8%;left:calc(50% - 12px);opacity:.65;pointer-events:none; }
.adjust { position:absolute;top:72%;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ad85bd99;border-radius:50%;background:radial-gradient(circle at 35% 20%,#5c396955,#0c0712 60%);color:#d3a1ef;box-shadow:inset 0 1px 2px #efcaff55,0 0 12px #813ab129; }
.adjust.minus { left:0; }.adjust.plus { right:0; }.adjust .ch-icon { width:23px; }
#intensity { position:absolute;width:1px;height:1px;opacity:0;left:50%;top:55%; }
.instrument:has(input:focus-visible) { outline:2px solid var(--character-focus);outline-offset:3px;border-radius:30px; }
.ritual-gauge .activate { width:100%;font-size:.9rem;min-width:0;padding:10px 6px; }
.ritual-gauge #hint { color:#b7a1ba;min-height:2.6em;text-align:center;font-size:.9rem;font-style:italic;line-height:1.3;margin:13px 3px 0; }
.ritual-gauge.active { box-shadow:inset 0 0 30px #77258e22,0 0 14px #8e37bf22; }
.ritual-gauge.charging { border-color:#cb8deb; }
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.manifest { padding:22px 8px 4px; }
.manifest>h3 { text-align:center;color:#ba80cd;font-size:1.65rem;letter-spacing:.12em; }
.manifest-intro { text-align:center;color:#c1a9a7;font-size:1.15rem;margin:7px 0 15px; }
.form-row { display:grid;grid-template-columns:minmax(140px,1fr) minmax(80px,1fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid #72583e38; }
.form-row label { display:flex;align-items:center;gap:10px;font-size:1.15rem;text-transform:uppercase; }
.form-row label>.ch-icon { color:#ad8a7a;width:30px;height:30px; }.form-row label small { display:block;font-size:.9rem;line-height:1.2;text-transform:none;color:#ab949f;margin-top:4px; }
.form-row input { accent-color:#b474d2;min-height:44px;width:100%;min-width:0; }
.form-stepper { display:flex;align-items:center;gap:6px; }
.form-stepper button { display:grid;place-items:center;width:44px;height:44px;border:1px solid #93715d80;border-radius:50%;background:#110c13;color:#c4a591; }
.form-stepper button:disabled { opacity:.3; }.form-stepper output { min-width:29px;text-align:center;font-size:1.3rem; }
@keyframes ch-pulse { 50% {transform:scale(1.05);filter:drop-shadow(0 0 22px #d996ff);} }
@media(max-width:540px) {
 .kaeris-chamber { margin-left:5px;margin-right:5px;padding-left:8px;padding-right:8px; }
 .ch-main-tabs button { font-size:1rem; }
 .ch-subtabs button { font-size:1rem;gap:5px; }.ch-subtabs .ch-icon { width:18px;height:18px; }
 .outfit-grid { gap:9px; }.outfit-card { min-height:230px;aspect-ratio:.65; }.outfit-caption { padding:12px 6px 14px; }.ch-card-title { font-size:1.02rem; }
 .outfit-detail { grid-template-columns:1fr; }.outfit-detail .ch-action { width:100%; }
 .item-detail { padding:14px 10px; }.item-detail header { flex-wrap:wrap; }.item-detail header>div:last-child { margin-left:auto; }.item-detail header h3 { font-size:1.35rem; }
 .option-layout { grid-template-columns:73px minmax(0,1fr);gap:7px; }.option-filters button { font-size:.87rem; }
 .drink-layout { grid-template-columns:85px minmax(0,1fr);gap:12px; }.drink-choice { flex-direction:column;padding:8px 5px;gap:4px;text-align:center;min-height:115px; }.drink-choice img { height:48px;width:40px; }.drink-choice small { font-size:.82rem;margin-top:3px; }
 .drink-visual { height:230px; }.drink-visual img { padding:8px; }.drink-detail>h3 { font-size:1.25rem; }.drink-detail>p { font-size:1rem; }
 .drink-facts>div { grid-template-columns:1fr;gap:3px; }.drink-effects { flex-wrap:wrap; }.resonance { width:100px;height:100px;margin:7px auto; }.drink-detail .ch-actions { flex-direction:column; }
 .relic-grid { gap:6px; }.relic-card { padding:9px 5px; }.relic-card>img { height:100px; }.relic-card .ch-card-title { font-size:.96rem; }.relic-copy { font-size:.88rem; }
 .control-layout { grid-template-columns:1fr; }.patterns { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }.patterns h3 { grid-column:1/-1;margin-bottom:2px; }.pattern { margin:0; }.pattern>svg:first-child { width:23px; }.pattern>.ch-icon { display:none; }
 .ritual-gauge { padding:18px 18px 15px; }.reading>div { font-size:3.2rem; }.reading-label { font-size:10px; }.gauge-sigil { width:32px;height:32px;left:calc(50% - 16px); }
 .ritual-gauge .activate { font-size:1.1rem; }
 .form-row { grid-template-columns:minmax(0,1fr) auto;gap:8px; }.form-row input { grid-column:1/-1;grid-row:2; }.form-row label small { max-width:135px; }.form-row label>.ch-icon { width:23px; }
 .manifest>.ch-actions { flex-direction:column; }
}
@media(max-width:350px) { .ch-main-tabs button { font-size:.9rem;letter-spacing:0; }.outfit-card { min-height:210px; }.option-layout { grid-template-columns:1fr; }.option-filters { flex-direction:row;overflow-x:auto; }.option-filters button { flex-shrink:0; }.relic-copy { display:none; }.item-detail header>div:last-child { width:100%; }.item-detail .ch-action { width:100%; }.patterns { grid-template-columns:1fr; } }

/* Text must remain within its panel when the system text size increases. */
.kaeris-chamber { overflow-wrap:anywhere; }
.ch-main-tabs button,.ch-subtabs button { flex-wrap:wrap; }
.form-row label,.form-row label>span,.item-detail header>div { min-width:0; }
.pattern>span { min-width:0; }
/* Rem-based minimums let enlarged text reflow entire controls, instead of splitting labels. */
.ch-main-tabs,.ch-subtabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr)); }
.ch-main-tabs button,.ch-subtabs button { overflow-wrap:normal; }
.outfit-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(7.4rem,calc((100% - 12px)/2))),1fr)); }
.relic-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(5rem,calc((100% - 18px)/3))),1fr)); }
@media(max-width:350px) { .manifest>h3 { font-size:1.25rem;letter-spacing:.06em; } }
.option-filters button { min-width:44px; }
.drink-visual { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
.drink-visual img { min-width:0; min-height:0; max-height:100%; }
/* Fine ritual rails keep native keyboard and touch range behavior. */
.form-row input[type=range] { appearance:none; background:transparent; cursor:pointer; }
.form-row input[type=range]::-webkit-slider-runnable-track { height:2px; background:linear-gradient(90deg,#aa68c9 var(--level),#665346 var(--level)); box-shadow:0 0 7px #a258c52b; }
.form-row input[type=range]::-webkit-slider-thumb { appearance:none; width:22px; height:22px; margin-top:-10px; border:1px solid #c591dc; border-radius:50%; background:#1e1028 url('../assets/oracle/kaeris-motif.png') center/15px 15px no-repeat; box-shadow:0 0 8px #a85bcc60; }
.form-row input[type=range]::-moz-range-track { height:2px; background:#665346; }
.form-row input[type=range]::-moz-range-progress { height:2px; background:#aa68c9; }
.form-row input[type=range]::-moz-range-thumb { width:20px; height:20px; border:1px solid #c591dc; border-radius:50%; background:#1e1028 url('../assets/oracle/kaeris-motif.png') center/15px 15px no-repeat; box-shadow:0 0 8px #a85bcc60; }

/* Reference-specific ritual imagery and form medallions. */
.ch-subtabs .control-hand { width:25px;height:29px;object-fit:contain; }
.ch-subtabs .manifest-mark { width:31px;height:31px;object-fit:contain;filter:brightness(1.55); }
.pattern-wave { width:32px;height:26px;object-fit:contain;flex-shrink:0; }
.relic-card>img { height:180px;object-fit:contain; }
.form-row { grid-template-columns:minmax(165px,1fr) minmax(100px,1.4fr) auto;gap:12px;padding:17px 0; }
.form-row label { gap:9px;font-size:1.08rem; }
.form-medallion { width:72px;height:84px;object-fit:contain;flex-shrink:0; }
.form-row label small { color:var(--character-accent,#b47ada);font-size:.84rem;letter-spacing:.03em;margin-top:7px; }
.form-scale { min-width:0; }
.form-scale input { display:block;margin:0; }
.scale-labels { display:flex;justify-content:space-between;margin:-3px 10px 0;color:#b39986;font-size:.8rem; }
.scale-labels span { position:relative;text-align:center;min-width:1ch; }
.scale-labels span::before { content:"";position:absolute;width:1px;height:7px;background:#997a627a;bottom:calc(100% + 13px);left:50%;pointer-events:none; }
.form-stepper output { border:1px solid #735c464a;border-radius:5px;min-width:32px;padding:5px 3px;text-align:center;color:#d0b8a2; }
.form-preview-note { font-size:.85rem;line-height:1.5;color:#ac9da8;text-align:center;margin:14px 0 0; }
@media(max-width:600px) {
 .relic-card>img { height:130px; }
 .form-row { grid-template-columns:minmax(0,1fr) auto;gap:8px; }
 .form-scale { grid-column:1/-1;grid-row:2; }
 .form-medallion { width:58px;height:68px; }
 .form-row label { font-size:1.03rem;gap:7px; }
 .form-row label small { font-size:.85rem; }
 .pattern-wave { width:27px; }
}
@media(max-width:350px) {
 .form-row label { font-size:.92rem; }
 .form-medallion { width:46px;height:60px; }
 .form-stepper { gap:2px; }
}
@media(max-width:600px) {
 .form-row { display:flex;flex-wrap:wrap; }
 .form-row label { flex:1 1 7rem;flex-wrap:wrap; }
 .form-scale { order:3;width:100%; }
 .form-stepper { margin-left:auto; }
 .form-row label>span { overflow-wrap:normal; }
}
@media(max-width:350px) {
 .form-medallion { width:38px;height:56px; }
 .form-row label { gap:4px; }
}

/* Pixel crops from the user-supplied Control screenshot. */
.control-hand,.pattern-wave { mix-blend-mode:screen; }
.relic-card>img { object-fit:contain;object-position:center; }
.pattern .pattern-duration { flex:0 0 auto;font-size:.69rem;font-variant-numeric:tabular-nums;color:#b39b87; }
@media(max-width:600px) { .pattern .pattern-duration { display:none; } }

/* Full-width categories and filters keep the collection readable at phone sizes. */
.item-rail { grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:8px; }
.item-category { min-height:112px;padding:9px 5px;font-size:1rem; }
.item-category img { height:62px;margin-bottom:5px; }
.option-layout { grid-template-columns:minmax(0,1fr);gap:12px; }
.option-filters { flex-direction:row;flex-wrap:wrap;gap:5px; }
.option-filters button { flex:0 1 auto;min-width:44px;padding:9px 12px;text-align:center; }
.option-rail { grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:3px; }
.option-card { min-height:190px; }
.option-object { height:auto;aspect-ratio:1;padding:4px; }
.option-caption { min-height:66px;align-content:center;line-height:1.2; }
.option-object[data-original-art],body:not([data-persona=kaeris]) .option-object { filter:none; }
[data-ritual-countdown] { min-height:1.5em;color:var(--paper);text-align:center;font-variant-numeric:tabular-nums;font-size:1rem; }
@media(min-width:600px) { .item-rail { grid-template-columns:repeat(6,minmax(0,1fr)); }.option-rail { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Keep pattern descriptions intact at narrow phone widths. */
@media (max-width:430px) {
 .patterns { grid-template-columns:1fr; }
 .pattern small { overflow-wrap:normal;word-break:normal; }
}
/* Content-sized flex bases wrap navigation when text is enlarged. */
.ch-main-tabs,.ch-subtabs { display:flex;flex-wrap:wrap; }
.ch-main-tabs button,.ch-subtabs button { flex:1 1 max-content; }
