@import url('/assets/ui/guild.css');

:root{font-family:'DM Sans',sans-serif;color:#f4f7e9;background:#668453;font-size:14px;--glass:#132420ed;--line:#b4d9ad26;--gold:#f4cf72;--green:#9cce7c}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:hover{filter:brightness(1.13)}#game,#world,#labels{position:fixed;inset:0;width:100%;height:100%}#world{display:block;image-rendering:pixelated;touch-action:none;outline:0}#labels{pointer-events:none}.world-label{position:absolute;left:0;top:0;background:#18291cc2;border:1px solid #ffffff35;border-radius:4px;padding:3px 7px;white-space:nowrap;font-size:11px;text-shadow:0 1px 2px #000;pointer-events:auto;will-change:transform}.world-label.self{color:#fff1b5;border-color:#e6cd7470}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:0 4px 0 #0d1c1a4a,0 8px 24px #0a1b1826;border-radius:10px;backdrop-filter:blur(10px)}.hud-top{position:absolute;left:24px;right:24px;top:max(24px,env(safe-area-inset-top));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.hud-top>*{pointer-events:auto}.location{padding:15px 19px;display:flex;gap:12px;min-width:245px}.pin{font-size:30px;color:var(--gold);padding-top:7px}.location small{font-size:9px;letter-spacing:2px;color:#bdd2bf}.location small span{padding:0 5px}h1{font-size:22px;letter-spacing:-.5px;margin:3px 0 7px}.instance{display:flex;gap:6px;align-items:center;background:none;padding:0;font-size:10px;color:#9aafa0}.instance i{width:6px;height:6px;background:#d7a05e;border-radius:50%}.instance i.connected{background:#9cd487;box-shadow:0 0 8px #a8e29466}#roomLabel{color:#b7c8b9}.auto{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:13px 20px;font-size:12px;letter-spacing:1px;font-weight:700}.auto b{color:#9aa99e;margin-left:9px;font-size:10px}.auto-icon{color:var(--gold)}.auto[aria-pressed=true]{border-color:#9ed17f80;background:#244a34}.auto[aria-pressed=true] b{color:#b8ef95}.top-right{display:flex;gap:9px}.wallet{display:flex;align-items:center;gap:9px;height:46px;padding:0 17px;font-size:13px}.coin{color:var(--gold);font-size:21px;text-shadow:0 1px #a27d29}.wallet-divider{height:17px;width:1px;background:var(--line);margin:0 6px}.pokeball{display:inline-block;width:15px;height:15px;border:2px solid #d7ddd1;border-radius:50%;background:linear-gradient(#d67260 45%,#2c3c34 45%,#2c3c34 58%,#e0e5d9 58%)}.square{width:46px;height:46px;font-size:22px}.left-tools{position:absolute;top:153px;left:24px;display:flex;flex-direction:column;gap:10px}.map-button{padding:6px;width:120px;overflow:hidden}.map-button canvas{width:106px;height:106px;image-rendering:pixelated;border-radius:5px;display:block;background:#588448}.map-button>span{display:flex;justify-content:space-between;padding:6px 4px 1px;font-size:8px;letter-spacing:1.5px;color:#c6d2c4}.map-button b{color:var(--gold);font-size:12px}.zoom{display:flex;align-items:center;width:120px;justify-content:space-between;padding:3px}.zoom button{width:32px;height:28px;background:none;font-size:20px}.zoom span{font-size:10px;color:#b0c5b0}.right-tools{position:absolute;right:24px;top:94px;display:grid;gap:11px;width:265px}.mission{display:flex;gap:12px;text-align:left;padding:15px 13px;align-items:center}.mission-icon{background:#e0b665;color:#25352b;min-width:27px;height:32px;display:grid;place-items:center;font-size:22px;font-weight:700;border-radius:6px}.mission small{font-size:8px;color:var(--gold);letter-spacing:1.5px;display:block}.mission b{font-size:12px;display:block;margin:5px 0}.mission em{font-size:9px;font-style:normal;color:#a8bca8}.chevron{margin-left:auto;color:#a5b29a;font-size:20px}.community{display:flex;gap:12px;padding:13px;text-align:left}.community>span{font-size:25px;color:var(--green)}.community>div{flex:1}.community b{font-size:11px}.community small{display:block;font-size:9px;color:#a6baa6;margin:4px 0 8px}.thin-track{height:3px;background:#ffffff12;border-radius:3px;overflow:hidden}.thin-track i{display:block;background:var(--green);height:100%;width:0;transition:width .3s}.hud-bottom{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:stretch}.partner{width:310px;display:flex;gap:10px;text-align:left;align-items:center;padding:10px 14px 10px 5px}.partner-image{width:66px;height:62px;background:radial-gradient(#7ea56740,transparent 70%);display:grid;place-items:center}.partner-image img{width:64px;height:64px;image-rendering:pixelated}.partner-info{flex:1}.partner-info>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.partner-info b{font-size:13px}.partner-info b span{color:#8cb9da;font-size:11px}.partner-info small{font-size:10px;color:#b8c7af}.health{display:flex;align-items:center;gap:6px;font-size:8px;color:#9bbf85}.health i{display:block;flex:1;height:5px;background:linear-gradient(90deg,#8db96e,#b8dc87);border-radius:4px}.health small{font-size:8px}.experience{height:3px;background:#ffffff12;margin:6px 0}.experience i{display:block;height:3px;background:#d9bd77;transition:width .4s}.partner-caption{font-size:7px!important;letter-spacing:.8px;display:flex;justify-content:space-between;color:#7f9d8a!important}.dock{display:flex;align-items:center;padding:6px}.dock button{background:none;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:61px;padding:9px}.dock button+button{border-left:1px solid var(--line)}.dock button>span{font-size:24px;color:#cfdfbb;line-height:26px}.dock small{font-size:9px;color:#afc1ad}.chat{position:absolute;left:24px;bottom:32px;width:325px;overflow:hidden}.chat-head{width:100%;background:none;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.chat-head b{font-size:11px}.chat-head small{font-size:9px;color:#8eaa94;margin-left:8px}.chat-head>span:first-child{color:#b8d19c}.chat-head>span:last-child{color:#829985}.chat-content{display:none}.chat.open .chat-content{display:block}.chat.open #chatPreview{display:none}#chatPreview{font-size:10px;color:#a5bba4;padding:0 14px 13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#chatMessages{height:155px;overflow:auto;padding:3px 14px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.chat-line strong{color:#d5c588;margin-right:5px}.system-message{color:#8ca38e;font-size:10px}#chatForm{display:flex;border-top:1px solid var(--line);padding:8px}#chatInput{min-width:0;flex:1;background:#ffffff08;border:0;color:#fff;font-size:11px;padding:9px;border-radius:5px}#chatForm button{background:none;color:var(--gold);width:35px}.hint{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);font-size:9px;color:#e6f0d7;background:#192d2575;padding:4px 12px;border-radius:20px;white-space:nowrap;text-shadow:0 1px 2px #203a28}.hint span{padding:0 8px;color:#becbb4}kbd{font:inherit;font-weight:700}.event{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 20px;pointer-events:none}.event img{width:48px;height:48px;image-rendering:pixelated}.event b{font-size:12px;color:#dcecce}.event p{font-size:11px;color:var(--gold);margin:4px 0}.event[hidden]{display:none}#toast{position:absolute;top:100px;left:50%;transform:translateX(-50%);background:#172d25f2;padding:12px 20px;border:1px solid #b6cb9470;border-radius:7px;font-size:12px;max-width:min(90vw,470px);text-align:center;box-shadow:0 6px 20px #0003;z-index:10}#loading{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#182b26}#loading[hidden]{display:none}.brand{font-size:40px;letter-spacing:8px;font-weight:700}.brand span{color:var(--gold)}#loading p{color:#96b49e;font-size:12px;margin:22px}.loading-track{width:170px;height:3px;background:#ffffff18;overflow:hidden}.loading-track i{display:block;width:45%;height:100%;background:var(--gold);animation:loading 1.3s infinite alternate}@keyframes loading{to{transform:translateX(120%)}}dialog{background:#192c27;color:#eff4e6;border:1px solid #839c6a66;border-radius:15px;box-shadow:0 24px 90px #061710b0;padding:0;width:460px;max-width:calc(100vw - 28px);max-height:85dvh}dialog::backdrop{background:#081b2059;backdrop-filter:blur(3px)}dialog header{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}dialog h2{font-size:23px;margin:4px 0 0;letter-spacing:-.5px}dialog header small,.dialog-eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold)}#closeModal{background:#ffffff09;border:1px solid var(--line);border-radius:7px;font-size:25px;width:33px;height:33px}#modalBody{padding:24px;font-size:13px;line-height:1.7;overflow:auto}#modalBody p{color:#b5c7b7;margin:0 0 15px}.primary{padding:13px 20px;background:#d6bd7d;color:#25352a;border:1px solid #efdca2;border-radius:7px;font-weight:700}.primary span{float:right}.secondary{padding:11px 15px;border:1px solid var(--line);background:#36513d;border-radius:7px;color:#eff3e5}.modal-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:12px;border-radius:8px;margin:10px 0;gap:10px}.modal-row img{width:64px;height:64px;image-rendering:pixelated}.modal-row small{display:block;color:#9ab198}.modal-row strong{color:#e2eccf}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button{border:1px solid var(--line);background:#ffffff06;padding:21px 12px;border-radius:9px;font-size:13px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.collection-item{background:#ffffff06;border:1px solid var(--line);text-align:center;border-radius:9px;padding:12px 4px}.collection-item img{width:64px;height:64px;image-rendering:pixelated}.collection-item strong{font-size:11px;display:block}.collection-item small{font-size:9px;color:#90a991}#welcome{padding:30px;text-align:center;width:400px}#welcome p{font-size:13px;line-height:1.8;color:#b1c4b4}#welcome h2{font-size:27px;margin-top:13px}.welcome-partner{width:96px;height:96px;image-rendering:pixelated;margin:6px 0}#welcome label{display:block;text-align:left;font-size:11px;margin-bottom:8px;color:#bbcdb9}#welcome input{width:100%;padding:13px;background:#10231d;border:1px solid #91ad7260;border-radius:6px;color:white}#welcome .primary{width:100%}.dialog-note{display:block;color:#77937f;font-size:9px;margin-top:15px}.error{color:#eda38c!important}.touch-controls{display:none}.map-preview{width:100%;image-rendering:pixelated;border-radius:7px}.modal-actions{display:flex;gap:8px;margin-top:16px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#58705a;border-radius:5px}
@media(max-width:1150px){.chat{width:265px}.hud-bottom{left:auto;right:24px;transform:none}.hint{left:auto;right:24px;transform:none}.right-tools{width:230px}.partner{width:275px}}
@media(max-width:700px){.hud-top{left:10px;right:10px;top:max(10px,env(safe-area-inset-top))}.location{min-width:0;padding:10px 12px;gap:7px;border-radius:8px}.pin{display:none}.location small{font-size:7px;letter-spacing:1px}h1{font-size:17px;margin:3px 0 5px}.instance{font-size:8px}.instance #roomLabel{display:none}.top-right{gap:5px}.wallet{height:38px;padding:0 10px;gap:6px;font-size:11px}.wallet-divider{margin:0 1px}.square{height:38px;width:38px;font-size:19px}.coin{font-size:16px}.pokeball{width:12px;height:12px}.auto{top:85px;left:auto;right:0;transform:none;padding:10px 12px;font-size:10px;gap:6px}.auto b{font-size:9px;margin-left:5px}.left-tools{left:10px;top:103px}.map-button{display:none}.zoom{width:90px;border-radius:7px}.zoom button{width:25px;height:25px}.right-tools{right:10px;top:150px;width:168px}.mission{padding:10px;gap:8px}.mission-icon{min-width:20px;height:25px;font-size:17px}.mission small{font-size:6px;letter-spacing:1px}.mission b{font-size:10px}.mission em{font-size:8px}.mission .chevron{display:none}.community{display:none}.hud-bottom{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:7px}.partner{flex:1;min-width:0;width:auto;padding:8px 9px 8px 2px;gap:3px}.partner-image{width:48px;height:50px}.partner-image img{width:48px;height:48px}.partner-info b{font-size:11px}.partner-info small{font-size:9px}.partner-caption{font-size:6px!important;letter-spacing:.3px}.partner .chevron{display:none}.dock{padding:3px}.dock button{min-width:40px;padding:7px 6px;gap:4px}.dock button>span{font-size:20px;line-height:22px}.dock small{font-size:7px}.dock #help{display:none}.chat{left:10px;bottom:105px;width:min(245px,calc(100vw - 100px))}.chat:not(.open){width:165px}.chat-head{padding:9px 11px}.chat-head b{font-size:10px}.chat-head small{font-size:8px;margin-left:5px}.chat:not(.open) #chatPreview,.chat:not(.open) .chat-head small{display:none}.chat-content #chatMessages{height:125px}.touch-controls{display:flex;position:absolute;left:14px;right:18px;bottom:155px;justify-content:space-between;align-items:flex-end;pointer-events:none}.dpad{display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:42px 42px 42px;filter:drop-shadow(0 3px 5px #0003);pointer-events:auto;touch-action:none}.dpad button,.dpad span{background:#172c27a8;display:grid;place-items:center;color:#d0dec1;border:1px solid #c4dc9b25}.dpad button:active{background:#b3cc87b8;color:#223421}.dpad button[data-dir=up]{grid-column:2;border-radius:10px 10px 0 0}.dpad button[data-dir=left]{grid-row:2;grid-column:1;border-radius:10px 0 0 10px}.dpad span{grid-row:2;grid-column:2;font-size:21px;color:#8d9f7f}.dpad button[data-dir=right]{grid-row:2;grid-column:3;border-radius:0 10px 10px 0}.dpad button[data-dir=down]{grid-row:3;grid-column:2;border-radius:0 0 10px 10px}#interact{pointer-events:auto;width:58px;height:58px;border-radius:50%;background:#172c27b8;border:2px solid #c2d89d65;color:#e4edcb;font-size:24px;box-shadow:0 4px 0 #10271d55}.hint{display:none}.event{bottom:315px;padding:8px 12px;width:260px}.event img{width:36px;height:36px}.event b{font-size:11px}.event p{font-size:10px}#toast{top:245px;font-size:11px;padding:10px 14px}.world-label{font-size:9px;padding:2px 5px}dialog header{padding:18px}#modalBody{padding:18px}dialog h2{font-size:21px}}
@media(max-height:550px) and (pointer:coarse){.touch-controls{display:flex;position:absolute;bottom:115px;left:15px;right:15px;justify-content:space-between}.dpad{display:flex;gap:4px}.dpad button,#interact{width:40px;height:40px;background:#192c27c0;border-radius:8px}.dpad span{display:none}.right-tools,.left-tools,.hint{display:none}.chat{bottom:15px}.hud-bottom{bottom:15px}}
/* Compact RPG windows: original ROM item artwork, crisp borders and layered panels. */
:root{font-family:Tahoma,Arial,sans-serif;--glass:#252d39ed;--line:#73829460;--gold:#e7c887;--green:#a6c980;color:#edf0ee}
img{image-rendering:pixelated}.glass{border:1px solid #a0aaba82;border-radius:3px;backdrop-filter:none;box-shadow:inset 0 1px #ffffff19,inset 0 -1px #080c1280,0 2px 0 #10151cbb,0 5px 12px #0003;background:linear-gradient(#303a47ed,#202834ed)}
.location{padding:12px 15px;min-width:230px}.location small{letter-spacing:1px}.location small span{padding:0 3px}h1{font-size:20px}.pin{color:#d7bf7f}.auto{border-radius:3px}.auto:disabled{opacity:.7}.auto[aria-pressed=true]{background:linear-gradient(#536744,#34472d);border-color:#adbc8b}.wallet-item{width:25px;height:25px;object-fit:contain}.wallet{padding:0 11px}.world-label{border-radius:2px;background:#18212cdd;border:1px solid #7f8e9b78}.map-button,.map-button canvas{border-radius:2px}.mission-icon{border-radius:2px;background:#dbbf82}.mission{border-radius:3px}.community{border-radius:3px}.community small{color:#b3bdc8}.thin-track{background:#101820}.thin-track i{background:#a1bd75}.quick-services{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.quick-services button{padding:5px 2px;background:linear-gradient(#35404ddd,#242c39ed);border:1px solid #8997a374;border-radius:3px;display:flex;align-items:center;flex-direction:column;box-shadow:inset 0 1px #ffffff14,0 2px #15202b8c}.quick-services img{width:32px;height:32px}.quick-services span{font-size:9px;color:#d3d7d8}.partner{border-radius:3px}.health-track{flex:1;height:5px;background:#111b20;border:1px solid #111;overflow:hidden}.health .health-track i{height:100%;border-radius:0;background:linear-gradient(#b6d78c,#6a9c4c);width:100%}.health small{min-width:28px;text-align:right}.partner-info b{font-size:12px}.partner-caption{letter-spacing:.3px}.dock{border-radius:3px}.dock button{min-width:58px;padding:5px 8px;gap:1px}.dock img{width:34px;height:34px;object-fit:contain}.dock small{color:#d0d7d7}.chat{border-radius:3px}.chat-head>span:first-child{color:#d5dfc3}.chat-line strong{color:#d4bb7c}.system-message{color:#a5b3bd}.chat #chatForm input{background:#111925bd;border:1px solid #52606c6b;border-radius:2px}#chatPreview{color:#b7c2ca}.hint{border-radius:3px;background:#1c2633bd}.event{border-radius:3px;bottom:142px}#toast{background:#202a39f5;border:1px solid #c7b27f;border-radius:3px;z-index:100}.combat-panel{position:absolute;top:92px;left:50%;transform:translateX(-50%);width:300px;padding:13px}.combat-panel[hidden]{display:none}.enemy-head{display:flex;align-items:center;gap:12px}.enemy-head img{width:58px;height:58px;object-fit:contain}.enemy-head h2{font-size:17px;margin:4px 0}.enemy-head small{font-size:8px;letter-spacing:.6px;color:#d1c393}.enemy-head span{font-size:11px;color:#bbc7d5}#closeTarget{position:absolute;right:6px;top:5px;background:#18212b;border:1px solid #687483;font-size:17px;width:23px;height:23px}#enemyHp{display:block;text-align:right;font-size:10px;margin-top:4px}#battleLog{font-size:11px;color:#c0ccd8;min-height:13px;margin:9px 0}.combat-actions{display:flex;gap:7px}.combat-actions button{flex:1;padding:7px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:4px}.combat-actions img{width:22px;height:22px}.hp-meter,.xp-meter{height:7px;background:#131b25;border:1px solid #0d131b;overflow:hidden;margin-top:8px}.hp-meter i,.xp-meter i{display:block;height:100%;background:linear-gradient(#bad58e,#6a984c);transition:width .25s}.xp-meter i{background:linear-gradient(#b6cae6,#668bb2)}
dialog{font-family:Tahoma,Arial,sans-serif;background:#28313d;color:#edf1ef;border:2px solid #a1adb8;border-radius:4px;box-shadow:0 0 0 2px #151d26,0 20px 70px #0009;width:680px;max-height:min(85dvh,800px)}dialog::backdrop{background:#0d162655;backdrop-filter:none}dialog header{padding:11px 15px;background:linear-gradient(#505e70,#323e4e);border-bottom:2px solid #131f2c;box-shadow:inset 0 1px #c6ced733}dialog header small{font-size:8px;letter-spacing:1.3px;color:#dbcfad}dialog h2{font-size:18px;margin:3px 0 0;letter-spacing:0;text-shadow:0 1px #0008}#closeModal{border-radius:2px;width:27px;height:27px;font-size:23px;background:linear-gradient(#68727f,#394552);border:1px solid #bec5cb8a;box-shadow:0 1px #15202b}#modalBody{padding:15px;line-height:1.5;background:linear-gradient(90deg,#ffffff02 1px,transparent 1px),#28313d;background-size:8px 8px;max-height:calc(85dvh - 80px);overflow:auto}#modalBody p{color:#bbc7cf;font-size:12px}#modalBody input{border:1px solid #778492;border-radius:2px;background:#17212c;color:#edf1ef;padding:9px;font-size:12px}#modalBody input[type=search]{width:100%;margin:3px 0 12px}.primary,.secondary{border-radius:2px;padding:9px 13px;font-size:12px;box-shadow:inset 0 1px #ffffff26,0 2px #11192388}.primary{background:linear-gradient(#d3b779,#ad8a4e);color:#211d15;border:1px solid #eed59c}.secondary{background:linear-gradient(#526174,#39495c);color:#edf2f4;border:1px solid #8594a4}.modal-row{border-radius:2px;background:#1a25318c;border:1px solid #6d7b8b55;padding:10px;gap:10px;flex-wrap:wrap}.modal-row .row-copy{flex:1;min-width:135px}.modal-row img{width:48px;height:48px;object-fit:contain}.modal-row small{color:#b0bdc8;font-size:11px}.modal-row strong{font-size:13px;color:#e6dfc7}.modal-row.current{border-color:#c2a867;background:#43463366}.quantity-input{width:58px!important;min-width:0;text-align:center}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:14px 0}.item-slot{position:relative;min-height:100px;border:1px solid #7a8898;background:linear-gradient(#182330,#344355);box-shadow:inset 0 0 0 3px #121b25;border-radius:2px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:8px}.item-slot img{width:48px;height:48px}.item-slot strong{font-size:11px}.item-slot .quantity{position:absolute;right:6px;top:5px;color:#f2dd9e;font-size:10px}.modal-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pokemon-card{display:grid;grid-template-columns:62px 1fr;gap:3px 12px;padding:12px;background:#1d2836;border:1px solid #7b899855;box-shadow:inset 0 0 0 3px #141e2966;margin-bottom:9px}.pokemon-card>img{grid-row:span 4;width:64px;height:64px;object-fit:contain}.pokemon-card>strong{color:#eee0ba;font-size:14px}.pokemon-card>small{font-size:11px;color:#afbdca}.pokemon-card>.hp-meter{margin:4px 0}.pokemon-card>.modal-actions{grid-column:1/-1}.menu-grid{grid-template-columns:repeat(3,1fr);gap:9px}.menu-grid .menu-tile{padding:10px 7px;border-radius:2px;background:linear-gradient(#394758,#202d3b);border:1px solid #8390a16b;box-shadow:inset 0 1px #ffffff18;display:flex;align-items:center;gap:8px;text-align:left}.menu-tile img{width:40px;height:40px;object-fit:contain}.menu-tile strong{font-size:12px;font-weight:normal}.collection-grid{grid-template-columns:repeat(5,1fr);gap:7px}.collection-item{border-radius:2px;background:#1b2634;border-color:#68768955;padding:8px 3px}.collection-item.owned{border-color:#c1ad6c;background:#4d503339}.collection-item img{width:48px;height:48px;object-fit:contain}.collection-item small{font-size:9px;color:#adb9c5}.collection-item strong{font-size:11px;margin:3px 0}.filter-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}.filter-tabs .active{background:linear-gradient(#7b7955,#55553d);border-color:#c7b88c}.map-list{max-height:48dvh;overflow:auto;padding-right:4px}.map-list .modal-row{margin:5px 0}.quest-detail{min-width:130px;flex:1}.quest-detail small{font-size:10px;color:#c6bea2}.quest-detail .xp-meter{margin-bottom:4px}#welcome{border-radius:4px;background:#28313d}#welcome input{border-radius:2px;background:#14202e}.dialog-note{color:#a6b5c3;font-size:10px}.dialog-eyebrow{color:#dcc48d}.welcome-partner{background:radial-gradient(#93b87822,transparent 68%)}.muted{color:#a6b4c4}.error{color:#e9a59c!important}::-webkit-scrollbar-thumb{background:#647385;border-radius:0}
@media(max-width:1150px){.right-tools{width:220px}.combat-panel{top:91px;left:45%;width:260px}.quick-services img{width:28px;height:28px}}
@media(max-width:700px){.location{min-width:0;padding:8px 10px;max-width:195px}.location h1{font-size:15px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location small{font-size:6px;letter-spacing:.5px}.wallet{padding:0 7px;gap:4px}.wallet-item{width:21px;height:21px}.wallet-divider{margin:0}.wallet .coin{font-size:13px}.top-right{gap:4px}.auto{top:76px}.left-tools{top:93px}.right-tools{top:138px;width:145px}.mission{padding:7px}.mission b{font-size:9px}.mission em{font-size:7px}.quick-services{display:none}.combat-panel{top:205px;left:auto;right:10px;transform:none;width:190px;padding:9px}.enemy-head{gap:5px}.enemy-head img{width:36px;height:36px}.enemy-head h2{font-size:13px}.enemy-head small{font-size:6px;max-width:120px;display:block}.enemy-head span{font-size:9px}.combat-actions button{font-size:10px;padding:6px 4px}.combat-actions img{width:18px;height:18px}#enemyHp{font-size:9px}#battleLog{font-size:9px;margin:5px 0}.combat-panel .hp-meter{margin-top:6px}#closeTarget{width:18px;height:18px;font-size:14px}.partner{gap:2px}.partner-info b{font-size:10px}.partner-image{width:40px}.partner-image img{width:44px;height:44px}.partner-info small{font-size:8px}.health{gap:3px}.health small{font-size:7px;min-width:22px}.dock{padding:2px}.dock button{min-width:40px;padding:4px 5px}.dock img{width:29px;height:29px}.dock small{font-size:7px}.hud-bottom{gap:6px}.event{bottom:302px;width:235px}.event img{width:30px;height:30px}dialog{max-width:calc(100vw - 18px);max-height:88dvh}dialog header{padding:10px 12px}dialog h2{font-size:17px}#modalBody{padding:10px;max-height:calc(88dvh - 70px)}.menu-grid{grid-template-columns:repeat(2,1fr);gap:6px}.menu-grid .menu-tile{padding:8px 5px;gap:5px}.menu-tile img{width:32px;height:32px}.menu-tile strong{font-size:11px}.collection-grid{grid-template-columns:repeat(3,1fr);gap:5px}.collection-item img{width:44px;height:44px}.modal-row{padding:8px;gap:7px}.modal-row img{width:36px;height:36px}.modal-row .row-copy{min-width:100px}.modal-row strong{font-size:12px}.modal-row small{font-size:10px}.modal-row .primary,.modal-row .secondary{padding:7px 9px;font-size:10px}.quantity-input{width:45px!important;padding:7px!important}.pokemon-card{padding:9px;grid-template-columns:48px 1fr;gap:3px 7px}.pokemon-card>img{width:48px;height:48px}.pokemon-card>.modal-actions button{font-size:10px;padding:8px}.filter-tabs{gap:4px}.filter-tabs button{font-size:10px;padding:7px 10px}.inventory-grid{grid-template-columns:repeat(3,1fr)}#toast{top:145px;font-size:10px}.world-label{font-size:9px}.touch-controls .dpad button,.touch-controls .dpad span{background:#202d3bd6;border-color:#8a99a666}#interact{background:#273648d9;border-color:#9aa5b6}}
@media(max-height:550px) and (pointer:coarse){.combat-panel{top:80px;left:auto;right:15px;width:200px;transform:none}.hud-bottom{max-width:480px}.right-tools{display:none}dialog{max-height:94dvh}#modalBody{max-height:calc(94dvh - 65px)}}
.auto-capture{display:block;margin:8px 0 0;width:100%;font-size:10px;padding:6px;background:#1a2531;border:1px solid #6b7d8e;border-radius:2px;color:#becbd4}.auto-capture[aria-pressed=true]{color:#d8e9b9;border-color:#a5be81;background:#36492e}.menu-grid{margin-top:12px}.item-slot strong{overflow-wrap:anywhere}.community .thin-track{display:none}
/* World-space combat feedback is projected by WorldRenderer. */
.enemy-label{color:#fff0cf;border-color:#bb8c52;background:#2e2522e8}.enemy-label.selected{border-color:#f1cc70;box-shadow:0 0 0 1px #f1cc70}.damage-float{position:absolute;left:0;top:0;color:#ffe995;font-weight:700;font-size:16px;text-shadow:1px 2px #201b20,-1px -1px #201b20;pointer-events:none;white-space:nowrap;will-change:transform,opacity}

.battle-moves{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px}.battle-moves button{font-size:11px;padding:6px}.capture-ball,.move-projectile{position:absolute;pointer-events:none;z-index:12}.capture-ball img{width:28px;height:28px;image-rendering:pixelated;filter:drop-shadow(0 3px 2px #0008)}.capture-ball.captured{filter:drop-shadow(0 0 10px #ffe68c)}.move-projectile{width:12px;height:12px;background:#fff0ae;border:3px solid #fff;box-shadow:0 0 12px currentColor}.type-fire{background:#ff682d;color:#ff682d}.type-water,.type-ice{background:#66dfff;color:#66dfff}.type-grass,.type-bug{background:#8fe069;color:#8fe069}.type-electric{background:#ffdf42;color:#ffdf42}.type-poison,.type-psychic,.type-ghost{background:#cb79ec;color:#cb79ec}.effect-damage{color:#ffb4a2}.effect-heal{color:#9fff9e}.effect-status,.effect-boost{color:#ffe691}.effect-field{color:#a8ddff}.effect-move{color:white;font-size:13px}.damage-float{white-space:nowrap;pointer-events:none;z-index:15;text-shadow:1px 1px 2px #000, -1px -1px 2px #000}.pokemon-card select,.modal-row select{max-width:160px;background:#142637;color:white;padding:8px}

.move-projectile.category-status{width:32px;height:32px;border-radius:50%;background:transparent;animation:move-aura .6s ease-out infinite}.move-projectile.category-physical{height:6px;width:22px;border:0;box-shadow:4px 6px 0 #fff8}.mon-status{color:#ffe28b;background:#302c49cc;pointer-events:none}@keyframes move-aura{from{width:12px;height:12px;opacity:1}to{width:40px;height:40px;opacity:.3}}

/* In-world effects remain below labels and the HUD; clicks pass through. */
.battle-visuals{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}
.world-label[data-player]{font-family:Arial,sans-serif;font-size:11px;font-weight:700;line-height:15px;letter-spacing:.15px;color:#f7faf4;background:#14252bac;border:0;border-radius:3px;padding:2px 6px;text-shadow:1px 1px 0 #132027,-1px 0 0 #132027;box-shadow:0 1px 0 #ffffff19}
.world-label[data-player]:focus-visible{outline:2px solid #e8d296;outline-offset:2px}
@media(max-width:650px){.world-label[data-player]{font-size:10px;line-height:14px;padding:2px 5px}}

/* Journey controls: overlays stay attached to the viewport, combat remains in-world. */
.journey-auto{position:absolute;top:76px;left:50%;transform:translateX(-50%);display:flex;gap:6px;pointer-events:auto;z-index:15}.journey-auto button{background:#142829ed;border:1px solid #879679;color:#e3eddc;border-radius:7px;min-height:34px;padding:6px 12px}.journey-auto .manual-entry{border-color:#d8ba73;color:#f4dfa3;letter-spacing:1px;font-weight:800}.vip-wallet{display:flex;gap:7px;align-items:center;padding-left:10px;color:#a5e9ff}.diamond{color:#9ce8ff;text-shadow:0 1px #3379af}.manual-dock{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 32px));z-index:32;padding:14px 18px;border-top:2px solid #c4ad74;box-shadow:0 12px 45px #0008}.manual-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.manual-head>img{width:40px;height:40px;image-rendering:pixelated}.manual-head>span{font-size:12px;color:#b7c9bd}.manual-head>button{margin-left:auto}.manual-actions{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}.manual-actions button{min-width:120px;flex:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid #5d7666;border-radius:6px;background:#132629;color:#f1edd9}.manual-actions img{width:30px;height:30px;image-rendering:pixelated}.manual-actions small{width:100%;font-size:11px;color:#b3c4bd}.manual-prompt{display:block;text-align:center;margin-top:7px;color:#d4c38b}.manual-battle .hud-bottom{visibility:hidden}.manual-battle .touch-controls{display:none}.chat-tabs{display:flex;gap:4px;overflow:auto;padding:8px}.chat-tabs button{white-space:nowrap;font-size:11px;padding:6px 8px;background:#152a2d;border:1px solid #445c55;border-radius:5px;color:#bbcfc1}.chat-tabs button.active{background:#425b46;color:#fff0ba}.chat-settings{position:absolute;right:24px;top:8px;background:none;border:0;color:#d4ddb5}.chat.open{width:min(440px,calc(100vw - 32px))}.chat-line small{font-size:9px;color:#91a7a3}.settings-tabs{display:flex;gap:8px;margin-bottom:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #ffffff13}.setting-row input[type=checkbox]{width:20px;height:20px;accent-color:#afc680}.setting-row input[type=number]{width:80px}.journey-settings h3{color:#d7c591;margin:24px 0 4px}.journey-settings>.primary{margin-top:20px;width:100%}.language-choice{width:100%;margin:5px 0;padding:14px;text-align:left;border:1px solid #4d665d;background:#1d3332;color:#e8edde;border-radius:7px}.language-choice.selected{border-color:#cfbd78}img[src$="pokedex-reference.jpg"]{object-fit:none;object-position:50% 50%;width:32px;height:32px;background:url('/assets/ui/pokedex-reference.jpg') center/71px 53px;border-radius:6px;content:url('data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=')}
@media(max-width:650px){.journey-auto{top:128px;left:auto;right:12px;transform:none}.manual-dock{bottom:10px;padding:10px;width:calc(100% - 16px)}.manual-actions button{min-width:94px;font-size:12px}.manual-head{gap:6px}.manual-head>span{font-size:10px}.manual-battle .chat{bottom:195px}.vip-wallet{gap:3px;padding-left:5px}.wallet{gap:5px}.setting-row{font-size:13px}}

.vip-wallet img{width:24px;height:24px;image-rendering:pixelated}.language-flag,.setting-row>img{width:22px;height:15px;object-fit:cover;vertical-align:middle;margin-right:8px}.language-choice{display:flex;align-items:center;gap:8px}

.auto-map-list{max-height:180px;overflow:auto;margin:12px 0;padding:0 12px;background:#11232988;border:1px solid #647366;border-radius:6px}.auto-map-list .setting-row{padding:9px 0}.setting-row input[type=checkbox]{appearance:none;width:40px;height:23px;border-radius:16px;background:#17272e;border:1px solid #63787b;position:relative;flex:none;cursor:pointer}.setting-row input[type=checkbox]::before{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#8c9ba0;top:3px;left:3px;transition:transform .15s}.setting-row input[type=checkbox]:checked{background:#526d41;border-color:#bbd08c}.setting-row input[type=checkbox]:checked::before{transform:translateX(17px);background:#e2edc7}.journey-settings small{display:block;color:#a9b8b2;margin-top:8px}.manual-dock button:focus-visible,.journey-auto button:focus-visible{outline:2px solid #ffe1a1;outline-offset:2px}

.manual-battle .chat{bottom:235px}.manual-health{height:4px;background:#0c171b;margin-top:7px;overflow:hidden;border-radius:3px}.manual-health i{display:block;height:100%;background:#a6c984;transition:width .2s}.manual-move-description{font-size:11px;font-weight:400;line-height:1.4;width:100%;color:#bac9bf}.manual-actions:has(.manual-move-description) button{min-width:150px;align-content:start}.manual-actions:has(.manual-move-description) button:first-child{min-width:74px;max-width:90px;align-content:center}

.chat.open~.touch-controls{display:none}.chat-tabs{scrollbar-width:thin;scrollbar-color:#8f9e74 #1c2f31}.chat-tabs::-webkit-scrollbar{height:4px}.chat-tabs::-webkit-scrollbar-thumb{background:#8f9e74;border-radius:4px}.chat-empty{padding:16px 8px;color:#9cb0a6;font-size:12px}
@media(max-width:650px){.journey-auto{width:120px;justify-content:center}.journey-auto>button:first-child{position:absolute;right:128px;top:-40px}.journey-auto .manual-entry{width:120px}.manual-offer .right-tools{top:176px}.manual-battle .chat{bottom:240px}}

.manual-dock.encounter-prompt{width:min(360px,calc(100% - 24px));bottom:126px;padding:12px;box-sizing:border-box}.encounter-prompt .manual-head{gap:8px}.encounter-prompt .manual-head>img{width:32px;height:32px}.encounter-prompt .manual-head>span{font-size:11px}.encounter-prompt .manual-head>button{min-height:38px}.encounter-prompt .manual-actions{margin-top:8px;padding:0}.encounter-prompt .manual-actions button{padding:8px;min-height:40px}.encounter-choice .hud-bottom{visibility:visible}.encounter-choice .chat:not(.is-positioned){bottom:118px;max-width:calc(50vw - 200px)}@media(max-width:650px){.manual-dock.encounter-prompt{bottom:116px}.encounter-choice .chat:not(.is-positioned){visibility:hidden}}

#game button,#game [data-dir],#world,.world-label,#guided-tour,.creation-window button,.creation-tabs,.creation-stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#game [data-dir],#interact{touch-action:none}#game button{ -webkit-tap-highlight-color:transparent }
.region-atlas{padding-top:8px}.atlas-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:16px}.atlas-tabs button{min-width:0;padding:12px 6px}.atlas-tabs .active{background:#4b5942;border-color:#dfc483;color:#ffe6a4}.atlas-hero{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border:1px solid #637669;border-left:4px solid var(--region-color);background:linear-gradient(120deg,#263d3b,#172934);position:relative;overflow:hidden}.atlas-heading small{font-size:10px;letter-spacing:2px;color:var(--region-color)}.atlas-heading h2{font-size:30px;margin:5px 0;color:#f0e5c6}.atlas-heading p{margin:5px 0;max-width:420px;color:#bacacb;font-size:13px}.atlas-seal{font-size:55px;color:var(--region-color);padding-left:20px}.atlas-location{display:flex;gap:10px;flex-wrap:wrap;padding:14px 0;font-size:12px;color:#b9cbca}.atlas-location strong{color:#e8d59b}.atlas-tools{display:grid;gap:10px;margin-bottom:12px}.atlas-tools input{width:100%;min-height:42px}.atlas-destinations{display:grid;gap:10px}.atlas-card{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;padding:12px;background:#1c3039;border:1px solid #41565e;border-radius:5px}.atlas-card.current{border-color:#d8bc7a;background:#2d3d3a}.atlas-map-art{width:96px;height:64px;image-rendering:pixelated;border:2px solid #647369;border-radius:2px}.atlas-card-info{min-width:0}.atlas-card-info small{font-size:9px;letter-spacing:1px;color:#adbdad}.atlas-card-info h3{margin:5px 0;font-size:15px;color:#edf0dd}.atlas-card-info p{margin:0;font-size:11px;color:#adbdc0}.atlas-card-actions{display:grid;gap:6px}.atlas-card-actions button{font-size:12px;min-height:36px}.atlas-locked{padding:26px 14px;text-align:center;min-height:220px;background:#172831;border:1px solid #3d515c;border-top:0}.atlas-locked p{font-size:13px;color:#bdc8c7}.atlas-path{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:30px}.atlas-path span{font-size:11px;padding:8px;border:1px solid #53616a;color:#9ba5b1}.atlas-path .complete{color:#e8d39a;border-color:#b99e62}.atlas-empty{padding:30px;text-align:center}.healer-label{position:absolute;z-index:5;pointer-events:auto;background:#1a303ae8;border:1px solid #dfcb91;color:#f8edcc;padding:5px 9px;font-size:11px;white-space:nowrap}.heal-summary{border:1px solid #82734e;background:#293b3c;padding:14px;margin:14px 0;border-radius:5px}
@media(max-width:580px){.atlas-tabs{gap:3px}.atlas-tabs button{font-size:11px;padding:10px 3px}.atlas-hero{padding:16px}.atlas-heading h2{font-size:24px}.atlas-seal{font-size:36px}.atlas-card{grid-template-columns:64px 1fr;gap:10px;padding:10px}.atlas-map-art{width:64px;height:48px}.atlas-card-actions{grid-column:1/-1;display:flex}.atlas-card-actions button{flex:1;min-height:44px}.atlas-tools .filter-tabs{display:flex;flex-wrap:wrap}.atlas-tools .filter-tabs button{flex:1;padding:10px 6px;font-size:12px}}

/* Physical Poké Marts: compact inventory, native pixel artwork. */
#shop[hidden]{display:none!important}.shop-window{width:min(660px,calc(100vw - 24px))!important}.shop-window #modalBody{max-height:min(580px,calc(100dvh - 140px))!important;overflow:auto}.shop-window .shop-product img{width:36px;height:36px;object-fit:contain;image-rendering:pixelated}.shop-window .shop-products{display:grid;gap:8px}.shop-window .shop-product{padding:10px;align-items:center}.shop-window .shop-summary{position:sticky;top:0;background:#192e38;z-index:2;padding:12px;border:1px solid #627780}.shop-npc-label{border-color:#bfa96e;color:#f4df9d}.shop-customer-label{font-size:10px;opacity:.8}.shop-window .shop-tabs{overflow-x:auto;flex-wrap:nowrap}.shop-window .shop-tabs button{flex-shrink:0;min-height:40px}
@media(max-width:600px){.shop-window{width:calc(100vw - 16px)!important}.shop-window .shop-product{grid-template-columns:32px minmax(0,1fr) 56px;gap:8px}.shop-window .shop-product>button{grid-column:2/4;min-height:40px}.shop-window .shop-product input{width:56px;min-height:40px}.shop-window .shop-product-info{min-width:0}.shop-window #modalBody{padding:10px}.shop-window .shop-search{font-size:16px}}

/* Field actions use screen-space labels and crisp original overworld sprites. */
.field-cut-label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;min-height:40px;padding:7px 12px;background:#172d32f5;color:#f7df9c;border:1px solid #c3a965;border-radius:5px;font-weight:700;white-space:nowrap}.field-cut-label:focus-visible{outline:3px solid #fff2b1;outline-offset:3px}
.field-skill-hero{display:flex;align-items:center;gap:16px;background:#12262e;padding:12px;border:1px solid #51666b;border-radius:6px;color:#eed69b;font-weight:bold}.field-skill-hero img{width:64px;height:64px;image-rendering:pixelated}.field-skill-mon{padding:12px 0;border-top:1px solid #62777c55}.field-skill-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.field-skill-actions button{min-height:44px}
.field-cut-effect{position:absolute;pointer-events:none;width:1px;height:1px;z-index:40}.field-cut-effect[hidden]{display:none}.cut-slash{position:absolute;width:70px;height:5px;background:#fff6cb;box-shadow:0 3px #8baf75;transform:translate(-50%,-50%) rotate(-35deg)}.playing .cut-slash{animation:field-slash .45s ease-out both}.field-cut-effect i{position:absolute;width:7px;height:5px;background:#8fc459;box-shadow:2px 2px #436b36;--angle:calc(var(--i)*45deg)}.playing i{animation:field-leaf 1.2s ease-out both;transform:rotate(var(--angle))}
@keyframes field-slash{0%{opacity:0;scale:.1}35%{opacity:1;scale:1}100%{opacity:0;scale:1.2}}@keyframes field-leaf{0%,25%{opacity:0;translate:0 0}30%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(65px) rotate(100deg)}}
@media(prefers-reduced-motion:reduce){.playing i{animation:none;display:none}.playing .cut-slash{animation:none;opacity:.6}}

/* Original-HM quest: compact, touch-friendly narrative without covering the scene. */
#modal.cut-quest-window{max-width:520px}
.cut-quest-dialogue{max-width:480px}.cut-quest-portrait{display:flex;align-items:center;gap:16px;padding:10px 12px;background:#112831;border:1px solid #57717c;border-radius:5px}.cut-quest-portrait strong,.cut-quest-portrait small{display:block}.cut-quest-portrait small{color:#a4bdc5;font-size:12px;margin-bottom:6px}.cut-quest-sprite{width:64px;height:64px;flex:0 0 64px;background-size:1024px 64px;background-position:-256px 0;image-rendering:pixelated}.cut-quest-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:6px;margin:18px 0}.cut-quest-progress li{font-size:11px;color:#9aacb3;border-top:3px solid #3a4c54;padding-top:8px}.cut-quest-progress .done{color:#9bd2a1;border-color:#84bd89}.cut-quest-progress .current{color:#f4d58c;border-color:#e4bd66}.cut-quest-speech{line-height:1.65;margin:18px 0}.cut-quest-dialogue>.primary{width:100%;min-height:46px}
@media(max-width:480px){.cut-quest-progress{grid-template-columns:repeat(2,1fr);gap:10px}.cut-quest-speech{font-size:14px}}

.quest-machine-effect{position:absolute;pointer-events:none;z-index:8;width:1px;height:1px}.quest-machine-effect b{position:absolute;inset:-30px;border:3px solid #b1ffef;animation:quest-pulse .7s steps(8) infinite}.quest-machine-effect i{position:absolute;width:5px;height:5px;background:#ffdf88;transform:rotate(calc(var(--i)*45deg)) translateY(-35px);animation:quest-spark .6s steps(4) infinite alternate;animation-delay:calc(var(--i)*.08s)}@keyframes quest-pulse{from{transform:scale(.2);opacity:1}to{transform:scale(1.7);opacity:0}}@keyframes quest-spark{to{opacity:0;filter:brightness(1.6)}}@media(prefers-reduced-motion:reduce){.quest-machine-effect b,.quest-machine-effect i{animation:none}.quest-machine-effect b{opacity:.3}}
.cut-guide-marker{position:absolute;transform:translate(-50%,-100%);max-width:min(220px,70vw);padding:7px 11px;border:1px solid #ecd58b;border-radius:5px;background:#162b32f2;color:#ffdf81;box-shadow:0 2px 8px #0008;font-size:12px;line-height:1.4;font-weight:700;pointer-events:auto;z-index:8;text-wrap:balance}
.cut-guide-marker:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cut-guide-step{position:absolute;width:8px;height:8px;transform:translate(-50%,-50%) rotate(45deg);background:#ffe99e;border:1px solid #63582a;box-shadow:0 0 6px #ffdf81;pointer-events:none;z-index:2;animation:cut-guide-pulse 1.2s ease-in-out infinite alternate}
.cut-guide-step[hidden],.cut-guide-marker[hidden]{display:none}
@keyframes cut-guide-pulse{to{filter:brightness(.7)}}
@media(prefers-reduced-motion:reduce){.cut-guide-step{animation:none}}
.field-cut-effect.rocksmash .cut-slash{width:42px;height:42px;border:3px solid #f5d890;border-radius:50%;background:transparent;box-shadow:0 0 0 3px #8d6748;animation:field-rock-impact .45s ease-out both}.field-cut-effect.rocksmash i{background:#bcaa87;box-shadow:2px 2px #655749;width:9px;height:8px}@keyframes field-rock-impact{from{transform:translate(-50%,-50%) scale(.15);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}

/* Field quiz: one short choice, comfortable touch targets. */
#modal.field-quiz-window{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.field-quiz-window #modalBody{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}
.field-quiz-window #modalBody h3,.field-quiz-window #modalBody p{grid-column:1/-1;margin:0;line-height:1.5}
.field-quiz-window #modalBody h3{font-size:18px;color:#f4e7be}
.field-quiz-window #modalBody p{font-size:13px;color:#bdccd2;margin-bottom:6px}
.field-quiz-window #modalBody>button{min-height:46px;font-weight:700}

/* Safari can select ancestors even when the pressed button is non-selectable. */
html,body,#game,#game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable=true],#game input,#game textarea,#game [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.touch-controls,.touch-controls *{touch-action:none;-webkit-tap-highlight-color:transparent}

.admin-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;margin-right:4px;padding:1px 4px;border:1px solid #ff8b8b;border-radius:3px;background:#8c1828;color:#fff1f1;font:800 10px/1.3 system-ui,sans-serif;letter-spacing:.4px;text-shadow:none;box-shadow:0 1px 2px #0008}.world-label .admin-badge{pointer-events:none}
