.enchanting-page{--enchant:#9b6cff;--enchant-soft:#9b6cff24;--enchant-border:#9b6cff66}:root[data-theme=light] .enchanting-page{--enchant:#6a3fd1;--enchant-soft:#6a3fd11a;--enchant-border:#6a3fd159}.enc-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:12px;display:grid}.enc-results{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:12px;margin-top:12px;display:grid}.enc-room{width:min(100%,360px);margin:0 auto;position:relative;container-type:inline-size}.enc-room__grid{--cell:calc(100cqi / 5);grid-template-columns:repeat(5, var(--cell));grid-auto-rows:var(--cell);background:url(/assets/game/oak_planks.png) 0 0 / var(--cell) var(--cell);image-rendering:pixelated;display:grid;box-shadow:0 0 0 3px #000,0 0 0 5px #3b2a17}.enc-room__air{background:#00000038}.enc-room__place{cursor:pointer;background:#00000014;border:0;place-items:center;padding:0;display:grid;position:relative;box-shadow:inset 0 0 0 2px #00000040}.enc-room__place:not(.is-filled):before{content:"";border:2px dashed #ffffff73;width:42%;height:42%}.enc-room__place:hover{background:#ffffff1f}.enc-room__place img{filter:drop-shadow(0 3px #00000059);width:92%;height:92%}.enc-room__table{background:#00000038;place-items:center;display:grid;position:relative}.enc-room__table>img{filter:drop-shadow(0 0 10px #9b6cff8c);width:92%;height:92%}.enc-room__table .enc-book{position:absolute;top:-24%;left:50%;translate:-50%}.enc-room__glyphs{pointer-events:none;position:absolute;inset:0;overflow:visible}.enc-glyph{--cell:calc(100cqi / 5);opacity:0;width:14px;height:14px;-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;filter:drop-shadow(0 0 3px #af82ffe6);background:#fff;position:absolute;top:calc(50% - 7px);left:calc(50% - 7px)}.enc-room__count{color:var(--text-muted);justify-content:center;align-items:baseline;gap:8px;margin:14px 0 0;font-size:12.5px;display:flex}.enc-room__count strong[data-numeric]{color:var(--enchant);font-size:2.2em;line-height:1}.enc-room__count small{color:var(--warning-text)}.enc-book{--s:4px;width:calc(var(--s) * 12);height:calc(var(--s) * 10);perspective:calc(var(--s) * 60);display:inline-block}.enc-book.is-mini{--s:2.4px}.enc-book__body{width:100%;height:100%;transform-style:preserve-3d;display:block;position:relative;transform:rotateX(28deg)}.enc-book i{background:url(/assets/game/enchanting_table_book.png) no-repeat;background-size:calc(var(--s) * 64) calc(var(--s) * 32);image-rendering:pixelated;backface-visibility:visible;display:block;position:absolute;top:0}.enc-book__cover{width:calc(var(--s) * 6);height:calc(var(--s) * 10)}.enc-book__cover.is-left{transform:rotateY(var(--open,38deg));transform-origin:100%;background-position:0 0;left:0}.enc-book__cover.is-right{left:calc(var(--s) * 6);background-position:calc(var(--s) * -16) 0;transform:rotateY(calc(var(--open,38deg) * -1));transform-origin:0}.enc-book__pages{width:calc(var(--s) * 5);height:calc(var(--s) * 8);top:calc(var(--s) * 1)!important}.enc-book__pages.is-left{left:calc(var(--s) * 1);background-position:calc(var(--s) * -1) calc(var(--s) * -11);transform:translateZ(calc(var(--s) * .6)) rotateY(var(--open,38deg));transform-origin:100%}.enc-book__pages.is-right{left:calc(var(--s) * 6);background-position:calc(var(--s) * -13) calc(var(--s) * -11);transform:translateZ(calc(var(--s) * .6)) rotateY(calc(var(--open,38deg) * -1));transform-origin:0}.enc-book__flip{left:calc(var(--s) * 6);width:calc(var(--s) * 5);height:calc(var(--s) * 8);background-position:calc(var(--s) * -24) calc(var(--s) * -10);transform:translateZ(calc(var(--s) * .8)) rotateY(calc(var(--open,38deg) * -1));transform-origin:0;top:calc(var(--s) * 1)!important}.enc-gui-wrap{gap:12px;display:grid;container-type:inline-size}.enc-gui{--u:calc(min(100cqi, 560px) / 176);width:calc(var(--u) * 176);height:calc(var(--u) * 76);background:url(/assets/game/enchanting_table_gui.png) 0 0 / calc(var(--u) * 256) calc(var(--u) * 256) no-repeat;image-rendering:pixelated;margin:0 auto;position:relative}.enc-gui:after{height:calc(var(--u) * 4);background:url(/assets/game/enchanting_table_gui.png) 0 calc(var(--u) * -162) / calc(var(--u) * 256) calc(var(--u) * 256) no-repeat;content:"";position:absolute;bottom:0;left:0;right:0}.enc-gui__title{top:calc(var(--u) * 5);left:calc(var(--u) * 8);color:#404040;font-family:var(--font-pixel);font-size:calc(var(--u) * 5);white-space:nowrap;line-height:1;position:absolute}.enc-gui .enc-book{--s:calc(var(--u) * 2);top:calc(var(--u) * 16);left:calc(var(--u) * 21);position:absolute}.enc-gui__item,.enc-gui__lapis{top:calc(var(--u) * 47);width:calc(var(--u) * 16);height:calc(var(--u) * 16);place-items:center;display:grid;position:absolute}.enc-gui__item{left:calc(var(--u) * 15)}.enc-gui__item .gt-item{width:100%!important;height:100%!important}.enc-gui__lapis{left:calc(var(--u) * 35)}.enc-gui__lapis img{width:100%;height:100%}.enc-gui__lapis b{right:calc(var(--u) * -1);bottom:calc(var(--u) * -1);color:#fff;font-family:var(--font-pixel);font-size:calc(var(--u) * 5);text-shadow:calc(var(--u) * .7) calc(var(--u) * .7) 0 #3f3f3f;font-weight:400;line-height:1;position:absolute}.enc-gui__slot{top:calc(var(--u) * (14 + var(--row) * 19));left:calc(var(--u) * 60);width:calc(var(--u) * 108);height:calc(var(--u) * 19);padding:0 calc(var(--u) * 2) 0 calc(var(--u) * 1);color:#685e4a;cursor:pointer;background:url(/assets/game/enchanting_enchantment_slot.png) 0 0/100% 100%;border:0;align-items:center;display:flex;position:absolute}.enc-gui__slot:hover,.enc-gui__slot.is-selected{color:#ffff80;background-image:url(/assets/game/enchanting_enchantment_slot_highlighted.png)}.enc-gui__slot.is-off{color:#342f25;background-image:url(/assets/game/enchanting_enchantment_slot_disabled.png)}.enc-gui__slot:focus-visible{outline:calc(var(--u) * 1) solid #fff;outline-offset:0}.enc-gui__level{width:calc(var(--u) * 16);height:calc(var(--u) * 16);background:50%/100% 100% no-repeat;flex:none}.enc-gui__level.is-1{background-image:url(/assets/game/enchanting_level_1.png)}.enc-gui__level.is-2{background-image:url(/assets/game/enchanting_level_2.png)}.enc-gui__level.is-3{background-image:url(/assets/game/enchanting_level_3.png)}.enc-gui__slot.is-off .enc-gui__level.is-1{background-image:url(/assets/game/enchanting_level_1_disabled.png)}.enc-gui__slot.is-off .enc-gui__level.is-2{background-image:url(/assets/game/enchanting_level_2_disabled.png)}.enc-gui__slot.is-off .enc-gui__level.is-3{background-image:url(/assets/game/enchanting_level_3_disabled.png)}.enc-gui__runes{gap:calc(var(--u) * .6);min-width:0;margin-left:calc(var(--u) * 3);flex:1;display:flex;overflow:hidden}.enc-rune{width:calc(var(--u) * 5);height:calc(var(--u) * 6);-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;background:currentColor;flex:none;display:block}.enc-rune.is-space{width:calc(var(--u) * 3);background:0 0}.enc-gui__cost{color:#80ff20;font-family:var(--font-pixel);font-size:calc(var(--u) * 5.5);text-shadow:calc(var(--u) * .7) calc(var(--u) * .7) 0 #407f10;flex:none;font-weight:400;line-height:1}.enc-gui__slot.is-off .enc-gui__cost{color:#407f10;text-shadow:none}.enc-gui__actions{text-align:center;justify-items:center;gap:8px;display:grid}.enc-gui__actions .gt-hint{max-width:460px}.enc-enchant{align-items:center;gap:8px;display:inline-flex}.enc-roll{border:1px solid var(--enchant-border);background:var(--enchant-soft);gap:8px;padding:12px 14px;display:grid;position:relative}.enc-roll.is-empty{color:var(--text-muted);border-style:dashed;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.enc-roll p{color:var(--text-secondary);margin:0;font-size:13px}.enc-roll__meta{color:var(--text-muted);font-family:var(--font-pixel);font-size:10px}.enc-roll__picks{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.enc-roll__picks li{border:1px solid var(--enchant-border);color:#d9c8ff;text-shadow:0 0 8px #9b6cff99;background:#1c1230;padding:5px 10px;font-size:13.5px;font-weight:600}:root[data-theme=light] .enc-roll__picks li{color:#3f2391;text-shadow:none;background:#efe8ff}.enc-roll__spent{color:#80ff20;font-family:var(--font-pixel);text-shadow:1px 1px #407f10;opacity:0;font-size:10px;position:absolute;top:8px;right:12px}.enc-history ol{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.enc-history li{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:flex}.enc-picker{border-top:1px solid var(--border-subtle);gap:8px;padding-top:14px;display:grid}.enc-picker__meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin:0;font-size:13px;display:flex}.enc-picker__meta span{color:var(--text-muted)}.enc-picker__meta strong[data-numeric]{color:var(--enchant);margin-left:4px;font-size:1.5em}.enc-details__shelves{border:1px solid var(--enchant-border);color:var(--enchant);background:var(--enchant-soft);font-family:var(--font-pixel);padding:3px 8px;font-size:10px}.enc-costs{gap:8px;display:grid}.enc-costs__bars{align-items:flex-end;gap:2px;height:64px;display:flex}.enc-costs__bar{flex:0 30px;grid-template-rows:1fr auto;min-width:0;height:100%;display:grid}.enc-costs__bar i{height:var(--h);background:var(--enchant);align-self:end;min-height:2px;box-shadow:inset 0 -3px #00000040}.enc-costs__bar b{color:var(--text-muted);font-family:var(--font-pixel);text-align:center;font-size:8px;font-weight:400}.enc-counts ul{flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.enc-counts li{border:1px solid var(--border-subtle);background:var(--surface-raised);align-items:baseline;gap:6px;padding:4px 10px;font-size:12.5px;display:flex}.enc-counts li b[data-numeric]{color:var(--enchant);font-size:1.4em}.enc-odds{gap:2px;margin:0;padding:0;list-style:none;display:grid}.enc-odds li{border-bottom:1px dashed var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;display:grid}.enc-odds__name{font-size:14px;font-weight:600}.enc-odds li>strong{color:var(--enchant);font-family:var(--font-num);font-size:20px;font-weight:700;line-height:1}.enc-odds .gt-bar{--bar-color:var(--enchant);grid-column:1/-1}.enc-odds__levels{color:var(--text-secondary);font-family:var(--font-pixel);flex-wrap:wrap;grid-column:1/-1;gap:4px 10px;font-size:9px;display:flex}.enc-odds__levels small{color:var(--text-muted);font-family:var(--font-sans);font-size:12px}.enc-top ol{gap:4px;margin:6px 0 0;padding-left:22px;display:grid}.enc-top li{font-size:13px}.enc-top li span{color:var(--text-secondary)}.enc-top li b{float:right;color:var(--enchant);margin-left:10px}.enc-wish h2{align-items:center;gap:8px;display:flex}.enc-wish__options{flex-wrap:wrap;gap:6px;display:flex}.enc-wish__option{border:1px solid var(--border-subtle);background:var(--surface);box-shadow:var(--rd-bevel);display:inline-flex}.enc-wish__option.is-on{border-color:var(--enchant);background:var(--enchant-soft)}.enc-wish__option>button,.enc-wish__levels button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 9px;font-size:12.5px}.enc-wish__option.is-on>button{color:var(--text);font-weight:600}.enc-wish__levels{border-left:1px solid var(--enchant-border);display:flex}.enc-wish__levels button{min-width:28px;font-family:var(--font-pixel);padding:6px;font-size:9px}.enc-wish__levels button[aria-pressed=true]{color:#fff;background:var(--enchant)}.enc-wish__warn{border-left:3px solid var(--danger);color:var(--danger);margin:0;padding-left:10px;font-size:13px}.enc-wish__result{gap:14px;display:grid}.enc-wish__slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.enc-wish__slot{border:1px solid var(--border-subtle);background:var(--surface-raised);gap:2px;padding:10px;display:grid}.enc-wish__slot.is-current{border-color:var(--enchant)}.enc-wish__slot>span{color:var(--text-muted);font-family:var(--font-pixel);font-size:9px}.enc-wish__slot strong[data-numeric]{color:var(--enchant);font-size:2em;line-height:1.05}.enc-wish__slot small{color:var(--text-muted);font-size:11.5px}.enc-shelves-chart{gap:8px;margin:0;display:grid}.enc-shelves-chart figcaption{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:13px;display:flex}.enc-shelves-chart figcaption span{color:var(--text-muted)}.enc-shelves-chart__bars{grid-template-columns:repeat(16,minmax(0,1fr));align-items:end;gap:2px;height:110px;display:grid}.enc-shelves-chart__bars button{cursor:pointer;background:0 0;border:0;grid-template-rows:1fr auto;min-width:0;height:100%;padding:0;display:grid}.enc-shelves-chart__bars i{height:var(--h);background:var(--border-strong);align-self:end;min-height:2px;box-shadow:inset 0 -3px #0003}.enc-shelves-chart__bars button:hover i{background:var(--enchant-border)}.enc-shelves-chart__bars button.is-current i{background:var(--enchant)}.enc-shelves-chart__bars b{color:var(--text-muted);font-family:var(--font-pixel);text-align:center;font-size:7px;font-weight:400}.enc-loading{text-align:center;justify-items:center;margin-top:12px}.enc-loading p{color:var(--text-secondary);margin:0;font-size:13px}.enc-loading b[data-numeric]{color:var(--enchant)}.enc-loading .gt-bar{width:min(100%,360px)}@media (prefers-reduced-motion:no-preference){.enc-glyph{animation:enc-glyph var(--dur,2s) cubic-bezier(.3, 0, .6, 1) var(--delay,0s) infinite}.enc-room__place.is-filled img{animation:enc-place .36s var(--ease-spring,ease-out) both}.enc-room__table>img{animation:3s ease-in-out infinite enc-table-glow}.enc-room__table .enc-book{animation:2.6s ease-in-out infinite enc-book-bob}.enc-book__body{animation:3.4s ease-in-out infinite enc-book-breathe}.enc-book__flip{animation:2.4s cubic-bezier(.45,0,.3,1) infinite enc-page-flip}.enc-book__flip.is-late{animation-delay:1.2s}.enc-book.is-busy .enc-book__body{--open:70deg;animation-duration:.9s}.enc-book.is-busy .enc-book__flip{animation-duration:.45s}.enc-gui.is-rolling .enc-gui__item{animation:enc-item-flash .9s var(--ease-out,ease-out)}.enc-gui__slot.is-selected .enc-rune{animation:1.8s ease-in-out infinite enc-rune-shimmer;animation-delay:calc(var(--i,0) * 60ms)}.enc-gui__cost{animation:gt-pop .36s var(--ease-spring,ease-out) both}.enc-roll{animation:gt-pop .42s var(--ease-spring,ease-out) both}.enc-roll__picks li{animation:enc-pick .52s var(--ease-spring,ease-out) both;animation-delay:calc(.18s + var(--i,0) * .14s)}.enc-roll__spent{animation:enc-spent 1.2s var(--ease-out,ease-out)}.enc-costs__bar i,.enc-shelves-chart__bars i{animation:enc-grow .48s var(--ease-out,ease-out) both;animation-delay:calc(var(--i,0) * 18ms);transform-origin:bottom}.enc-loading .enc-book__body{animation-duration:.9s}}@keyframes enc-glyph{0%{opacity:0;translate:calc(var(--dx) * var(--cell)) calc(var(--dy) * var(--cell));scale:1}15%{opacity:.95}70%{opacity:.9}to{opacity:0;translate:0 calc(var(--cell) * -.35);scale:.6}}@keyframes enc-place{0%{opacity:0;translate:0 -12px;scale:.4}70%{opacity:1;scale:1.08}}@keyframes enc-table-glow{0%,to{filter:drop-shadow(0 0 6px #9b6cff59)}50%{filter:drop-shadow(0 0 14px #9b6cffcc)}}@keyframes enc-book-bob{0%,to{translate:-50%}50%{translate:-50% -4px}}@keyframes enc-book-breathe{0%,to{--open:30deg;transform:rotateX(28deg)rotate(-2deg)}50%{--open:55deg;transform:rotateX(24deg)rotate(2deg)}}@keyframes enc-page-flip{0%,10%{transform:translateZ(calc(var(--s) * .8)) rotateY(-35deg)}60%,to{transform:translateZ(calc(var(--s) * .8)) rotateY(-150deg)}}@keyframes enc-item-flash{0%{filter:brightness();scale:1}25%{filter:brightness(1.8)drop-shadow(0 0 6px #b88cff);scale:1.25}to{filter:brightness();scale:1}}@keyframes enc-rune-shimmer{0%,to{opacity:1}50%{opacity:.55}}@keyframes enc-pick{0%{opacity:0;filter:brightness(2.2);translate:0 10px;scale:.5}60%{opacity:1;scale:1.08}to{filter:brightness()}}@keyframes enc-spent{0%{opacity:0;translate:0 6px}20%{opacity:1}to{opacity:0;translate:0 -20px}}@keyframes enc-grow{0%{scale:1 0}}@property --open{syntax:"<angle>";inherits:true;initial-value:38deg}@media (width<=1080px){.enc-layout,.enc-results{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.enc-wish__slots{grid-template-columns:minmax(0,1fr)}.enc-shelves-chart__bars b{font-size:6px}}
