/* Expanded workshop, learning scaffolds and animated expedition equipment. */
.roster-bulk{padding:20px;border:1px solid #d1dfd7;border-radius:16px;background:#eff6f1;margin:22px 0;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.roster-bulk p{margin:5px 0 0}.roster-bulk .action-row{margin:0}.roster-bulk button{min-height:44px}.modal-body #delete-form,.modal-body #bulk-confirm{display:grid;gap:16px;margin-top:22px}.modal-body #delete-form label,.modal-body #bulk-confirm label{margin:0}.modal-body #delete-form button{margin-top:8px}.modal-body #bulk-confirm .action-row{margin-top:8px}.modal-body #delete-error:empty{display:none}
.task-brief{padding:20px 22px;background:#eef4f3;border:1px solid #d7e3dd;border-radius:16px;line-height:1.9;margin:18px 0}.learn-material{background:#fff0c5;color:#604515;padding:2px 5px;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.learn-form{color:#22547c;background:#e5f1fc;padding:1px 4px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.learn-rule{color:#6b347c;background:#f1e7f8;padding:1px 4px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.learn-clue{color:#725116;background:#fff0cd;display:inline;padding:4px 7px;border:1px solid #e5c88f;border-radius:7px;line-height:2.2;box-decoration-break:clone;-webkit-box-decoration-break:clone}.learn-gap{color:#155d55;border-bottom:3px solid #388576;background:#e5f6ef;letter-spacing:2px;padding:0 6px}.task-roadmap{list-style:none;padding:0;margin:18px 0 26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.task-roadmap li{background:#fffaf0;border:1px solid #e4d6b8;padding:12px;border-radius:12px;font-size:12px;line-height:1.6}.task-roadmap li>span{display:block;border-radius:50%;background:#285b4b;color:#fff;width:23px;height:23px;text-align:center;margin-bottom:7px;font-weight:800}.lesson-step{padding:13px 14px;border-left:3px solid #368679;background:#edf6f2;border-radius:6px;line-height:1.9;margin-bottom:12px;white-space:pre-line}.lesson-step.step-1{border-color:#cd9a36;background:#fffaeb}.lesson-step.step-2{border-color:#85639a;background:#f7f0fb}.hint>p{margin:10px 0 0;line-height:1.9}.hint-0{border-left:4px solid #448971;background:#edf7f0}.hint-1{border-left:4px solid #c99b40;background:#fff8e5}.hint-2{border-left:4px solid #8471b1;background:#f4eefb}.answer-row>label,.answer-row>legend{line-height:2;overflow-wrap:anywhere}.guided-card>p{line-height:1.9}
.rail-status{margin:18px 0 0;color:#def3cb;font-size:13px;line-height:1.6;text-align:center}.vault-play .rail-puzzle{gap:0;border:3px solid #9a8156;background:#152a24}.vault-play .rail-tile{border-radius:0;box-shadow:inset 0 0 13px #0009;aspect-ratio:1;touch-action:manipulation;min-height:64px;position:relative}.vault-play .rail-tile:hover{transform:none}.vault-play .rail-tile svg{pointer-events:none;transition:transform .2s ease}.vault-play .rail-tile.rail-connected{color:#f9e7a1;background:radial-gradient(#577053,#203b2e);border-color:#93b67e}.vault-play .rail-start,.vault-play .rail-end{writing-mode:horizontal-tb;font-size:12px;color:#f3d68f;text-align:center}.conveyor-belt{padding:24px 12px 12px;border:3px solid #9e804b;border-radius:28px;background:repeating-linear-gradient(90deg,#2c443b 0 18px,#1d342c 19px 22px);box-shadow:inset 0 0 24px #0008;text-align:center}.conveyor-belt>[data-conveyor-order]{background:#152b24db;padding:14px;border-radius:14px;color:#ffe5a0;font-weight:800;font-size:17px;min-height:58px}.belt-rollers{display:block;margin-top:10px;color:#bba274;letter-spacing:10px;font-size:23px}.ore-pieces small{display:block;font-size:11px;color:#e7d6ae;margin-top:4px}.rune-lock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rune-dial{text-align:center}.rune-dial p{color:#fce6a6;font-size:14px;line-height:1.8}.rune-dial p>b{display:block;font-size:26px}.rune-dial>span{font-size:11px;color:#c9d9c3}.rune-dial button{width:100%;aspect-ratio:1;border:0;background:radial-gradient(circle,#ddca8970,transparent 67%);position:relative;padding:0;min-width:0}.rune-dial button:hover{transform:none}.rune-gear{display:block;width:100%;height:100%;transition:transform .25s}.rune-gear .workshop-prop{width:100%;height:100%;aspect-ratio:1;background-size:400% 200%}.rune-dial button>b{position:absolute;inset:0;display:grid;place-items:center;color:#fff0b2;text-shadow:0 2px 5px #000;font-size:32px;pointer-events:none}
.dock-inbox{display:flex;align-items:center;gap:5px;position:relative}.dock-inbox img{width:30px;height:30px}.dock-inbox b{position:absolute;right:0;top:-6px;background:#a74236;color:#fff;border:2px solid white;border-radius:20px;padding:0 5px;font-size:10px}.dock-inbox span{font-size:11px}.dock-actions{align-items:center}.dock-actions .dock-inbox{padding:4px 8px}.shop-preview.preview-mine{height:220px;background:#18362f}.preview-mine>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.shop-item:hover .preview-mine>img{transform:scale(1.05)}.mine-art-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,#ffe6ae18,transparent 50%);animation:mine-shimmer 6s ease-in-out infinite alternate;pointer-events:none}.shop-art-caption{position:absolute;bottom:7px;padding:3px 8px;border-radius:20px;background:#ffffffd9;font-size:10px;color:#274e40}.shop-preview.preview-cart{height:205px;isolation:isolate}.preview-cart>img{width:195px;height:195px;position:relative;z-index:1}.cart-bonus{position:absolute;inset:-15% -8%;pointer-events:none;z-index:2;--effect:#ffd98a}.cart-bonus i{position:absolute;left:calc(12% + var(--particle)*10%);bottom:35%;width:4%;aspect-ratio:1;border-radius:50%;background:var(--effect);box-shadow:0 0 10px var(--effect);opacity:0;animation:bonus-rise 3.6s calc(var(--particle)*-.43s) ease-out infinite}.effect-cart-steam{--effect:#ebf3ef}.effect-cart-steam i{width:12%;filter:blur(3px);left:76%;animation-name:bonus-steam}.effect-cart-dragon{--effect:#ffb360}.effect-cart-jade,.effect-cart-moss{--effect:#b0ef9a}.effect-cart-frost{--effect:#d7f4ff}.effect-cart-royal,.effect-cart-lunar{--effect:#e0c5ff}.effect-cart-royal i,.effect-cart-lunar i,.effect-cart-solar i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.effect-cart-pearl{--effect:#b0efeb}.effect-cart-pearl i{background:transparent;border:1px solid var(--effect);width:7%}.effect-cart-solar{--effect:#ffe196}.cart-bounce{isolation:isolate}.cart-front{z-index:3}.new-treasure .cart-bonus i{animation-duration:1.3s}.mine-compact .cart-bonus{opacity:.65}
@keyframes bonus-rise{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:.8}100%{opacity:0;transform:translate(-18px,-60px) scale(.5)}}@keyframes bonus-steam{0%{opacity:0;transform:translate(0,0) scale(.2)}30%{opacity:.42}100%{opacity:0;transform:translate(-18px,-65px) scale(2)}}@keyframes mine-shimmer{to{opacity:.3;transform:translateX(6%)}}
.monster-sprite{display:block;width:100%;aspect-ratio:9/8;background-repeat:no-repeat;background-size:400% 300%;background-position:0 0;animation:monster-frames .85s steps(1,end) infinite;filter:drop-shadow(0 9px 6px #0006)}.sprite-crystal{background-image:url('./mine/monster-crystal.webp')}.sprite-moss{background-image:url('./mine/monster-moss.webp')}.sprite-ember{background-image:url('./mine/monster-ember.webp')}.sprite-frost{background-image:url('./mine/monster-frost.webp')}.sprite-tide{background-image:url('./mine/monster-tide.webp')}.monster-teacher-art .monster-sprite{width:100%;background-position-y:50%;animation-duration:3s}.monster-actor{height:auto;bottom:15%;width:32%}.is-guarding .monster-sprite{background-position-y:50%;animation-duration:3s}.is-hit .monster-sprite,.monster-steals .monster-sprite{background-position-y:100%;animation-duration:.8s}.is-repelled .monster-sprite{background-position-y:0;animation-duration:.5s;transform:scaleX(-1)}.monster-flees .monster-sprite{background-position-y:0;animation-duration:.48s;transform:scaleX(-1)}.monster-variant-field{grid-column:1/-1}.monster-stage.is-guarding .monster-actor{animation:guardian-breathe 3s ease-in-out infinite}.monster-stage.is-hit .monster-actor{animation:monster-lunge .9s ease both}.monster-stage.is-repelled .monster-actor{animation:monster-recoil .8s ease both}.monster-stage.monster-flees .monster-actor{animation:monster-retreat 2.5s ease-in both}.monster-stage.monster-steals .monster-actor{animation:monster-haul 3s ease-in-out both}.monster-actor .monster-sprite{transform-origin:50% 90%}@keyframes monster-frames{0%,100%{background-position-x:0}25%{background-position-x:33.333333%}50%{background-position-x:66.666667%}75%{background-position-x:100%}}@keyframes monster-lunge{30%{transform:translateX(28%) rotate(4deg)}70%{transform:translateX(14%)}100%{transform:translateX(0)}}@keyframes monster-recoil{35%{transform:translateX(-20%) rotate(-5deg)}100%{transform:translateX(-8%)}}@keyframes monster-retreat{to{transform:translateX(-210%);opacity:0}}@keyframes monster-haul{30%{transform:translateX(15%)}60%{transform:translateX(0)}100%{transform:translateX(-200%);opacity:0}}
@media(max-width:700px){.task-roadmap{grid-template-columns:1fr;gap:7px}.task-roadmap li{display:flex;align-items:center;gap:10px;padding:10px 12px}.task-roadmap li>span{margin:0;flex-shrink:0}.task-brief{padding:15px}.rune-lock{gap:7px}.rune-dial p{font-size:11px}.rune-dial button>b{font-size:23px}.rune-dial>span{font-size:9px}.monster-actor{width:42%;height:auto}.monster-teacher-art .monster-sprite{width:155px}.dock-inbox span{display:none}.dock-actions .dock-inbox{flex:0 0 46px}.footer .dock-actions{gap:6px}.roster-bulk{padding:15px}.roster-bulk .action-row{width:100%}.roster-bulk button{flex:1 1 140px}.shop-preview.preview-mine{height:195px}.conveyor-belt>[data-conveyor-order]{font-size:13px}}
@media(prefers-reduced-motion:reduce){.cart-bonus i,.mine-art-glow,.monster-sprite,.monster-actor{animation:none!important}.cart-bonus i{opacity:.25}.shop-item:hover .preview-mine>img{transform:none}.rune-gear,.rail-tile svg{transition:none!important}}
body[data-mine-skin="mine-amethyst"] .stollen-art{background: url("./mine/mine-amethyst.webp") center/cover!important;filter:none}body[data-mine-skin="mine-amethyst"] .stollen-art>span,body[data-mine-skin="mine-amethyst"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-amethyst"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}
body[data-mine-skin="mine-tidal"] .stollen-art{background: url("./mine/mine-tidal.webp") center/cover!important;filter:none}body[data-mine-skin="mine-tidal"] .stollen-art>span,body[data-mine-skin="mine-tidal"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-tidal"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}
body[data-mine-skin="mine-ember"] .stollen-art{background: url("./mine/mine-ember.webp") center/cover!important;filter:none}body[data-mine-skin="mine-ember"] .stollen-art>span,body[data-mine-skin="mine-ember"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-ember"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}
body[data-mine-skin="mine-fungal"] .stollen-art{background: url("./mine/mine-fungal.webp") center/cover!important;filter:none}body[data-mine-skin="mine-fungal"] .stollen-art>span,body[data-mine-skin="mine-fungal"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-fungal"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}
body[data-mine-skin="mine-aurora"] .stollen-art{background: url("./mine/mine-aurora.webp") center/cover!important;filter:none}body[data-mine-skin="mine-aurora"] .stollen-art>span,body[data-mine-skin="mine-aurora"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-aurora"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}
body[data-mine-skin="mine-solar"] .stollen-art{background: url("./mine/mine-solar.webp") center/cover!important;filter:none}body[data-mine-skin="mine-solar"] .stollen-art>span,body[data-mine-skin="mine-solar"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-solar"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}
body[data-mine-skin="mine-lunar"] .stollen-art{background: url("./mine/mine-lunar.webp") center/cover!important;filter:none}body[data-mine-skin="mine-lunar"] .stollen-art>span,body[data-mine-skin="mine-lunar"] .stollen-art>i{opacity:0}body[data-mine-skin="mine-lunar"] .stollen-art:after{background:radial-gradient(ellipse at 30% 0,#ffe0ab30,transparent 60%);clip-path:none;inset:0}

.rail-start small,.rail-end small,.rail-start b,.rail-end b{display:block}.rail-start b,.rail-end b{font-size:21px}.rail-start small,.rail-end small{font-size:9px}

.effect-cart-copper i{border-radius:1px;width:2%;height:8%;transform-origin:center;animation-name:bonus-spark}.effect-cart-jade i{animation-name:bonus-firefly}.effect-cart-frost i{clip-path:polygon(45% 0,55% 0,55% 40%,87% 22%,92% 31%,63% 50%,92% 69%,87% 78%,55% 60%,55% 100%,45% 100%,45% 60%,13% 78%,8% 69%,37% 50%,8% 31%,13% 22%,45% 40%);width:6%}@keyframes bonus-spark{0%{opacity:0;transform:translateY(0) rotate(-30deg) scale(.3)}20%{opacity:.7}100%{opacity:0;transform:translate(-28px,-55px) rotate(15deg) scale(.2)}}@keyframes bonus-firefly{0%{opacity:0;transform:translate(0,0) scale(.3)}25%{opacity:.75}55%{transform:translate(9px,-26px) scale(.7)}100%{opacity:0;transform:translate(-15px,-60px) scale(.3)}}
