/* Portal Master: three role portals and an unobstructed field. */
#app #game.master-mode #field{bottom:306px!important;top:58px!important}
#app #game.master-mode #deployment-panel{height:228px!important;padding:9px!important;border-radius:20px!important;background:linear-gradient(145deg,#40583f,#1e352c)!important;gap:6px!important;box-shadow:inset 0 1px #f3dea566,0 4px 10px #14271a88!important}
#app #game.master-mode #deployment{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
#app #game.master-mode .master-slot{height:85px!important;background:radial-gradient(ellipse at 50% 20%,#8a9d68,#38523b 75%)!important;overflow:visible!important}
#app #game.master-mode .master-slot .deploy-orb{width:54px!important;height:49px!important;margin-top:5px!important}
#app #game.master-mode .master-slot .role-label{position:absolute;top:3px;left:5px;font-size:8px;color:#e3e4bd;letter-spacing:.1em}
#app #game.master-mode .master-slot .portal-tier{position:absolute;right:4px;top:4px;min-width:28px!important;font-size:9px!important;line-height:13px!important;height:14px!important;padding:0 3px!important}
#app #game.master-mode .portal-charge-readout{font-size:11px!important;line-height:14px!important}
#app #game.master-mode #dice-hud.colored-dice{height:42px!important;min-height:42px!important;margin:0!important;width:195px!important}
#app #game.master-mode .active-die-cost b{font-size:10px;display:block;line-height:12px}.active-die-cost small{display:block;white-space:nowrap;font-size:9px}
#app #game.master-mode #portal-orders{height:73px!important;min-height:73px!important;padding:0!important;margin:0!important}
#app #game.master-mode #topbar{padding:8px 14px!important;gap:8px!important}
#master-profile{padding:0;background:none;border:0;color:#e8d293;text-align:left;cursor:pointer}#master-profile>span{font-size:10px;letter-spacing:1.5px;display:block}#master-profile>b{font-size:13px;display:block;margin-top:3px;color:#fff0cb}
.master-wallet{display:flex;gap:14px;font-size:12px;font-weight:800}.master-wallet span:first-child{color:#a7d8dd}.master-wallet span:last-child{color:#f5ce75}
.master-drop{display:flex;align-items:center;gap:6px;width:100%;height:73px;border:1px solid var(--drop-color);border-radius:12px;padding:5px;background:linear-gradient(110deg,#1d362e,#39513a);box-shadow:inset 0 1px #f0d89933;animation:master-loot-in .25s ease-out}
#app #game.master-mode .master-drop .drop-portrait{background:radial-gradient(#dfd49470,transparent)!important;border:0!important;box-shadow:none!important;padding:0!important;flex:0 0 49px!important;width:49px!important;height:53px!important}
#app #game.master-mode .drop-portrait .hero-art{width:49px!important;height:53px!important;filter:drop-shadow(0 3px 2px #16261c)}
.drop-copy{flex:1;min-width:0;text-align:left}.drop-copy small{display:block;color:#d1c89e!important;font-size:8px!important;margin:0 0 3px!important}.drop-copy b{display:block;color:#fff0c4;font-size:11px;white-space:nowrap}.drop-copy em{font-size:10px;font-style:normal;color:#f9d878}.drop-copy>span{font-size:9px;color:#c3d5b5;display:block;margin-top:5px;white-space:nowrap}.drop-copy i{font-style:normal;color:#a1e1b0}
.drop-actions{display:flex;flex-direction:column;gap:4px;flex:0 0 48px}
#app #game.master-mode #portal-orders .drop-actions button{padding:4px 2px!important;font-size:10px!important;line-height:12px!important;min-height:25px!important;border-radius:7px!important}.drop-actions button:last-child{background:#344b37!important;color:#dfd5ad!important;border:1px solid #8a9364!important}.drop-actions small{font-size:8px!important;display:inline!important;margin:0!important;color:inherit!important}
.master-hint{text-align:center;line-height:1.6;color:#e0dcba;font-size:11px}.master-hint span{display:block;font-size:10px;color:#aebd9d}
#app #game.master-mode #tabs{background:linear-gradient(#344b37,#22372c)!important}#app #game.master-mode #tabs button.active{background:linear-gradient(#dbc67b30,transparent)!important;color:#ffe5a6!important}
#app #game.master-mode #sheet{max-height:76%!important;background:#f3ead0!important}#app #game.master-mode #panel{display:block!important;max-height:calc(76dvh - 65px)!important;padding:14px!important;color:#344a35!important}
.master-forge{text-align:center;padding:16px;border:1px solid #bdab78;border-radius:17px;background:radial-gradient(ellipse at 50% 10%,#fff5d8,#e9ddb9)}.forge-emblem{width:62px;height:62px;line-height:60px;font-size:40px;margin:0 auto 8px;border:2px solid #c6ac68;border-radius:18px;background:linear-gradient(#76926b,#314e3b);color:#fce3a5;box-shadow:inset 0 2px #eff4b877,0 4px #b2a06e}.master-forge>small{font-size:9px;letter-spacing:2px;color:#897b54}.master-forge h2{margin:6px 0;font-size:24px}.master-forge p{font-size:11px;line-height:1.7;margin:8px 0}.master-forge progress{width:100%!important;height:6px!important;margin:4px 0 10px!important}
#app #game.master-mode #panel .master-primary{width:100%!important;min-height:41px!important;font-size:13px!important;padding:10px!important;border-radius:11px!important;background:linear-gradient(#ebd28d,#c4a563)!important;color:#34442a!important;box-shadow:0 3px #977746!important}
.master-section-title{font-size:14px;margin:18px 0 9px}.master-section-title small{float:right;font-size:10px;font-weight:normal}.era-odds{border:1px solid #c2b48e;border-radius:12px;overflow:hidden}.era-odds>div{display:grid;grid-template-columns:20px 1fr 55px 55px;padding:8px 10px;gap:5px;border-bottom:1px solid #d8cfaf;background:#fff6df;font-size:12px}.era-odds>div:last-child{border-bottom:0}.era-odds strong{color:#52704b}.master-note{font-size:11px;line-height:1.7;text-align:center;color:#7c7358;margin:14px 0}.upgrade-clock{background:#314e3c;color:#ffe6a7;padding:12px;border-radius:9px;font-size:12px;margin:10px 0}
.era-selector{display:flex;overflow-x:auto;gap:6px;padding-bottom:8px}.era-selector button{flex:none;font-size:11px!important;padding:7px 10px!important}.era-selector button.active{background:#36573e!important;color:#ffe6aa!important}.role-section{font-size:12px;margin:13px 0 7px;color:#6e7755}.master-codex-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#app #game.master-mode #panel .codex-unit{display:flex!important;flex-direction:column!important;align-items:center!important;border:1px solid var(--drop-color)!important;background:linear-gradient(#fff7e0,#e4d7b2)!important;padding:8px 4px!important;position:relative!important}.codex-unit .hero-art{width:69px!important;height:69px!important}.codex-unit b{font-size:12px;margin:4px 0}.codex-unit small{font-size:9px;font-weight:normal;color:#657250}.codex-unit em{font-size:9px;font-style:normal;position:absolute;top:5px;right:5px;color:#7c775e}
.master-unit-detail{padding:12px;background:#fff5df;border:1px solid var(--drop-color);border-radius:14px}.master-unit-hero{display:flex;align-items:center;gap:14px}.master-unit-hero>.hero-art{width:90px!important;height:90px!important}.master-unit-hero small{font-size:11px;color:#8a7752}.master-unit-hero h2{font-size:20px;margin:7px 0}.master-unit-detail p{font-size:11px;line-height:1.8}.master-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d7caa6;border:1px solid #d7caa6;border-radius:9px;overflow:hidden}.master-stat-grid>div{padding:9px;background:#f6ecd3;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:11px}.master-stat-grid small{width:100%;color:#7d8666;font-size:9px}.master-options{color:#587e56}
@keyframes master-loot-in{from{filter:brightness(1.45);transform:translateY(4px)}to{filter:brightness(1);transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.master-drop{animation:none}}
/* Forge layout: profile/resources, battlefield, equipped row, summon core, navigation. */
#app #game.master-mode #topbar #master-profile{width:auto!important;min-width:140px!important;height:42px!important;padding:0!important;flex:1;text-align:left}
#app #game.master-mode #master-profile span{white-space:nowrap;font-size:9px}
#app #game.master-mode #master-profile b{white-space:nowrap;font-size:12px}
#app #game.master-mode #deployment-panel{height:266px!important;display:flex!important;flex-direction:column!important;gap:7px!important}
#app #game.master-mode #field{bottom:344px!important}
#app #game.master-mode #deployment{order:0;width:100%;flex:none}
#app #game.master-mode #dice-hud.master-controls{order:1;display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;height:76px!important;min-height:76px!important;margin:0!important;padding:0 9px!important;background:none!important;border:0!important;box-shadow:none!important}
#app #game.master-mode #portal-orders{order:2}
.production-watch{display:flex;align-items:center;gap:7px;color:#e7dbb1;font-size:10px;width:105px}.production-watch small{display:block;font-size:8px;margin-top:5px;color:#b9c8ad}.production-die{display:block;width:30px;height:30px;position:relative}.production-die .dice-cube{width:52px!important;height:52px!important}
#app #game.master-mode .summon-portal{position:relative;width:102px!important;height:76px!important;padding:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none!important;border:0!important;box-shadow:none!important;color:#fff0c3!important;overflow:visible}
.portal-vortex{position:absolute;inset:0 20px 10px;border:4px solid #d4bb75;border-radius:50%;background:radial-gradient(ellipse,#d9ffff 0%,#55c2dc 18%,#174d84 45%,#212c47 70%);box-shadow:0 0 14px #56c8d977,inset 0 0 12px #83f2ff;transform:rotate(-12deg)}
.summon-portal b{z-index:1;margin-top:34px;font-size:12px;text-shadow:0 2px 3px #152e24}.summon-portal small{z-index:1;font-size:10px;background:#20392d;padding:2px 10px;border:1px solid #99895a;border-radius:9px}.summon-portal:disabled{opacity:.65}.summon-portal.opening .portal-vortex{animation:master-portal-open .7s ease-in-out}
#app #game.master-mode .core-upgrade{width:76px!important;height:59px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px!important;border:1px solid #ac9b68!important;border-radius:12px!important;background:linear-gradient(#637853,#344b37)!important;color:#f5df9b!important}.core-upgrade span{font-size:18px}.core-upgrade b{font-size:11px}.core-upgrade small{font-size:9px}
@keyframes master-portal-open{50%{transform:rotate(168deg) scale(1.15);filter:brightness(2)}}
@media(prefers-reduced-motion:reduce){.summon-portal.opening .portal-vortex{animation:none}}
#app #game.master-mode #dice-hud.master-controls{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;flex:none!important}
/* Reference tray surfaces and hierarchy, adapted to three unit roles. */
#app #game.master-mode #deployment-panel{left:0!important;right:0!important;bottom:62px!important;border-radius:7px 7px 0 0!important;height:300px!important;padding:8px 18px!important;background:#e4d4b8!important;border:0!important;border-top:3px solid #69556c!important;box-shadow:none!important;gap:5px!important}
#app #game.master-mode #field{bottom:362px!important}
.master-growth-row{order:-2;display:flex;align-items:center;gap:10px;height:23px;flex:none;color:#594458;font-size:11px}.master-growth-row progress{flex:1;width:auto;height:9px;accent-color:#88ad5c}.master-growth-row span{font-size:9px;background:#f5ead5;border:1px solid #a89481;padding:4px 7px;border-radius:5px}
.army-heading{order:-1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bca890;height:20px;flex:none;color:#594458;font-size:11px}.army-heading small{font-size:8px;color:#8c786a}
#app #game.master-mode .master-slot{height:77px!important;border-radius:10px!important;background:linear-gradient(#f8eed4,#c7b895)!important;box-shadow:0 3px #76627a,inset 0 1px #fff6dc!important;border:2px solid var(--portal-rarity)!important}
#app #game.master-mode .master-slot .role-label{color:#67546b}.master-mode .portal-charge-readout{color:#51464f!important}
#app #game.master-mode #dice-hud.master-controls{height:81px!important;min-height:81px!important;padding:0!important}
.production-watch{color:#5e4c60}.production-watch small{color:#867061}
#app #game.master-mode .core-upgrade{background:linear-gradient(#b5c985,#819957)!important;color:#fff6d8!important;border:2px solid #69556c!important;box-shadow:0 3px #69556c!important;border-radius:8px!important}
#app #game.master-mode .summon-portal{width:112px!important;height:81px!important;opacity:1}
.portal-vortex{inset:0 27px 12px;border-color:#9b829e;box-shadow:0 0 9px #6eb6d880,inset 0 0 10px #9ceeff}
.summon-portal small{background:#ce6761;border:2px solid #69556c;border-bottom-width:4px;border-radius:7px;min-width:64px;text-align:center;color:#fff4df}.summon-portal b{color:#fff8e0;text-shadow:0 1px 3px #3e294a}.summon-portal:disabled .portal-vortex{filter:saturate(.45)}
#app #game.master-mode #portal-orders{height:62px!important;min-height:62px!important}
.master-drop{height:62px;background:#f7ecd6;border:2px solid #8b738e;border-bottom-width:4px;border-radius:8px;box-shadow:none}.drop-copy b{color:#594458}.drop-copy small{color:#89715e!important}.drop-copy>span{color:#6e6056}.drop-copy i{color:#59804f}.master-hint{color:#69556c;font-size:10px;padding-top:8px}.master-hint span{color:#96816c;font-size:9px}
#app #game.master-mode #tabs{height:62px!important;background:#554b68!important;border-top:3px solid #352d44!important}#app #game.master-mode #tabs button{color:#d5c7dc!important}#app #game.master-mode #tabs button.active{background:#796681!important;color:#fff0bd!important}
#app #game.master-mode #topbar{background:#554b68!important;border-bottom:3px solid #352d44!important}.master-wallet span{background:#3f354e;border:1px solid #89748f;border-radius:7px;padding:5px 7px}.master-wallet{gap:5px}
.auto-die-face{display:block;color:#66516b;font-family:serif;font-size:34px;line-height:30px;text-shadow:0 1px #fff8e5}.auto-die-face.tumbling{animation:auto-die-tumble .35s linear infinite}@keyframes auto-die-tumble{to{transform:rotate(360deg)}}
#app #game.master-mode .drop-copy small{color:#89715e!important}#app #game.master-mode .drop-copy b{color:#594458!important}#app #game.master-mode .drop-copy em{color:#846227!important}#app #game.master-mode .drop-copy>span{color:#6e6056!important}
@media(prefers-reduced-motion:reduce){.auto-die-face.tumbling{animation:none}}
/* Four equal slots: three units and their automatic production die. */
#app #game.master-mode #deployment-panel{height:194px!important;padding:10px 18px!important;gap:8px!important}
#app #game.master-mode #field{bottom:256px!important}
#app #game.master-mode #deployment{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
#app #game.master-mode .master-slot{height:76px!important}
#app #game.master-mode .master-slot .deploy-orb{width:44px!important;height:44px!important;margin-top:7px!important}
.production-slot{height:76px;border:2px solid #796780;border-bottom-width:4px;border-radius:10px;background:linear-gradient(#f8eed4,#c7b895);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#67546b}.production-slot small{font-size:8px}.production-slot .auto-die-face{font-size:38px;line-height:36px}
#app #game.master-mode #dice-hud.master-controls{height:90px!important;min-height:90px!important;justify-content:center!important;gap:22px!important}
#app #game.master-mode .summon-portal{width:125px!important;height:90px!important;margin-left:70px!important}.portal-vortex{inset:-2px 24px 10px;border-width:6px}.summon-portal b{margin-top:44px}.summon-portal small{min-width:75px}
#app #game.master-mode #portal-orders{display:none!important}
#app #game.master-mode #portal-orders.has-comparison{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;z-index:15;background:#f5edd9;padding:12px 18px!important}
.replacement-panel{height:100%;position:relative;color:#57475b}.compare-close{position:absolute;right:-7px;top:-7px;width:25px;height:25px;padding:0!important;z-index:2}.compare-pair{display:flex;flex-direction:column;gap:5px}.compare-row{display:flex;align-items:center;gap:12px;height:58px;padding:3px 8px;border:1px solid #c9bca8;border-radius:5px;background:#fff9eb}.compare-row:nth-child(2){background:#e1dbca}.compare-row .hero-art{width:46px!important;height:46px!important;flex:none}.compare-row small{font-size:9px;color:#8b7c66}.compare-row b{display:block;font-size:12px;margin:3px 0}.compare-row span{font-size:10px}.compare-actions{display:flex;gap:12px;margin-top:9px}.compare-actions button{flex:1;height:34px!important;min-height:0!important;background:#36a5bc!important;color:white!important;border:2px solid #66516b!important;border-bottom-width:4px!important;border-radius:5px!important;padding:3px!important}.compare-actions button:first-child{background:#e15d66!important}
#app #game.master-mode #portal-orders .compare-row small{color:#786750!important}#app #game.master-mode #portal-orders .compare-actions button{background:#36a5bc!important;color:#fff!important;border:2px solid #66516b!important;border-bottom-width:4px!important;border-radius:5px!important}#app #game.master-mode #portal-orders .compare-actions button:first-child{background:#e15d66!important}
/* Keep the original sculpted 3D die intact; scale its whole scene into the slot. */
.production-slot .slot-die{position:relative;display:block;width:40px;height:40px;flex:none}
.production-slot .dice-perspective{position:absolute;width:52px;height:52px;left:50%;top:50%;transform:translate(-50%,-50%) scale(.57);perspective:450px;overflow:visible}
.production-slot .dice-tilt{width:52px;height:52px;transform-style:preserve-3d;transform:rotateX(-16deg) rotateY(-22deg)}
.production-slot .dice-cube{width:52px;height:52px;transform-style:preserve-3d;transform:var(--result-rotation)}
.production-slot .cube-side{position:absolute;inset:0;display:block;width:52px;height:52px;box-sizing:border-box;border:2px solid #ad8b48;border-radius:9px;background:linear-gradient(140deg,#fffbea,#ecd494);box-shadow:inset 0 0 0 2px #fff4ca,inset 0 -5px 8px #b5914933;backface-visibility:hidden;animation:none;margin:0}
.production-slot .side-1{transform:translateZ(26px)}.production-slot .side-6{transform:rotateY(180deg) translateZ(26px)}.production-slot .side-2{transform:rotateY(90deg) translateZ(26px)}.production-slot .side-5{transform:rotateY(-90deg) translateZ(26px)}.production-slot .side-3{transform:rotateX(90deg) translateZ(26px)}.production-slot .side-4{transform:rotateX(-90deg) translateZ(26px)}
.production-slot .dice-cube.is-rolling{animation:crown-dice-tumble .7s linear infinite}.production-slot .dice-cube.is-settled{animation:crown-dice-settle .28s ease-out}
@media(prefers-reduced-motion:reduce){.production-slot .dice-cube{animation:none!important}}
/* Reference comparison: independent 84%-width card, current/new stacked. */
#app #game.master-mode #portal-orders.has-comparison{position:fixed!important;inset:auto!important;left:50%!important;bottom:12%!important;transform:translateX(-50%)!important;width:84%!important;max-width:420px!important;height:40%!important;min-height:260px!important;max-height:370px!important;padding:17px 15px!important;border:2px solid #665b60!important;border-radius:4px!important;background:#fffcef!important;box-shadow:0 4px 12px #21172555!important;z-index:30!important}
#app #game.master-mode .replacement-panel{display:flex;flex-direction:column;padding-top:16px}
.replacement-panel:before{content:'부대 교체';position:absolute;top:-11px;left:0;font-size:13px;font-weight:800;color:#544851}
#app #game.master-mode .compare-pair{flex:1;min-height:0;gap:7px}
#app #game.master-mode .compare-row{flex:1;min-height:0;height:auto;padding:7px;gap:13px;border:0;background:transparent}
#app #game.master-mode .compare-row:nth-child(2){background:#e3dfd0}
#app #game.master-mode .compare-row .hero-art{width:60px!important;height:65px!important;border:2px solid #70666d;border-radius:3px;background:#fbf8e8}
#app #game.master-mode .compare-row b{font-size:13px;margin:7px 0}#app #game.master-mode .compare-row span{font-size:11px}
#app #game.master-mode #portal-orders .compare-actions{margin-top:12px;gap:14px}
#app #game.master-mode #portal-orders .compare-actions button{height:48px!important;font-size:16px!important}
#app #game.master-mode #portal-orders .compare-close{top:-12px;right:-8px;height:23px!important;min-height:0!important;width:23px!important;background:#e5e0cf!important;border:2px solid #665b60!important;border-radius:3px!important;padding:0!important;line-height:18px!important;font-size:18px!important}
