:root{color-scheme:dark;--bg:#0b1323;--surface:#131f33;--surface2:#1b2941;--line:#2b3a52;--text:#edf3fd;--muted:#a5b5cb;--yellow:#ffd55a;--mint:#91debe;--accent:#ffd55a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 95% 0,#22305470,transparent 50%),var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{border-radius:10px}button{border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:10px 15px;transition:background .15s,border-color .15s,transform .15s}button:hover:not(:disabled){background:#263954;border-color:#607392}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button.primary{background:var(--yellow);color:#172033;border-color:var(--yellow);font-weight:800}button.primary:hover{background:#ffe28a}.danger{color:#ffacba}input,select,textarea{width:100%;background:#0d1728;border:1px solid #3c4d66;padding:12px;color:var(--text)}label{display:block;margin:16px 0 8px;font-size:12px;font-weight:700;color:#c0d0e5}h1,h2,h3,p{margin-top:0}h2{font-size:25px;letter-spacing:-.7px;line-height:1.2}h3{font-size:16px;letter-spacing:-.2px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:10px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;background:#283d5055;border:1px solid #5a739447;border-radius:99px;font-size:10px;color:#c7d9ed}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid{display:grid;gap:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}.ball{width:33px;height:33px;border-radius:50%;background:linear-gradient(#f77688 0 43%,#223047 43% 56%,#eff4fb 56%);border:2px solid #e2ebf8;position:relative;flex-shrink:0}.ball:after{content:'';position:absolute;border-radius:50%;width:10px;height:10px;left:9px;top:9px;border:3px solid #253650;background:white}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:19px;letter-spacing:-.7px;line-height:1.1}.brand strong span{color:var(--yellow)}.brand small{font-size:9px;display:block;color:#a6b5cd;letter-spacing:2.1px;margin-top:4px}.landing{max-width:1200px;margin:0 auto;padding:30px 28px 50px}.landing-top{margin-bottom:30px}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:22px}.intro-art{position:relative;overflow:hidden;min-height:700px;border-radius:24px;border:1px solid #536782;background:linear-gradient(160deg,#294a68,#75859e 48%,#d89c76 75%,#243f44)}.intro-art svg{position:absolute;inset:auto 0 0;width:100%;height:74%;opacity:.8}.intro-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#102c4030,transparent 40%,#071d3866)}.intro-copy{position:relative;z-index:2;padding:48px 40px}.intro-copy h1{font:normal clamp(44px,5.1vw,66px)/1.04 Georgia,serif;letter-spacing:-2px;margin:20px 0}.intro-copy h1 em{font-style:normal;color:#ffe296}.intro-copy p{font-size:15px;line-height:1.8;max-width:370px;color:#e7eef8}.intro-pokemon{position:absolute;right:3%;bottom:9%;width:60%;z-index:2;filter:drop-shadow(0 20px 20px #0005)}.intro-foot{position:absolute;z-index:3;left:35px;right:35px;bottom:24px;display:flex;gap:8px;flex-wrap:wrap}.setup{padding:28px 30px}.setup h2{margin-top:8px}.starter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.starter{padding:8px 5px;display:grid;justify-items:center;background:#0e182a}.starter img{width:70px;height:68px;object-fit:contain}.starter strong{font-size:11px}.starter.selected,.career-choice.selected{border-color:var(--yellow);background:#ffd55a14;box-shadow:inset 0 0 0 1px var(--yellow)}.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.career-choice{display:flex;align-items:center;gap:10px;text-align:left;padding:10px}.career-choice strong{font-size:11px}.career-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);font-size:19px;font-weight:800}.setup .start{width:100%;margin-top:20px;padding:15px}.setup .foot{margin:15px 0 0;font-size:10px;color:var(--muted);text-align:center}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#0f192b;display:flex;flex-direction:column;padding:28px 18px}.sidebar .brand{padding:0 4px 32px}.sidebar .brand strong{font-size:17px}.nav{display:grid;gap:6px}.nav button{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;padding:12px}.nav button.active{background:#ffd55a13;border-color:#ffd55a28;color:var(--yellow)}.nav-icon{width:22px;font-size:19px}.side-profile{margin-top:auto;border-top:1px solid var(--line);padding:20px 5px 0}.avatar{width:37px;height:37px;display:grid;place-items:center;background:#ffda8725;border:1px solid #ffda8744;border-radius:11px;color:var(--yellow);font-size:18px;font-weight:800}.side-save{font-size:9px;margin-top:16px;color:#84c9a7}.content{max-width:1480px;width:100%;margin:0 auto;padding:26px 30px 48px}.topline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.topline h2{font-size:22px;margin:0}.topline .eyebrow{margin-bottom:4px;color:var(--muted)}.top-tools{display:flex;gap:8px}.top-tools button{font-size:11px;padding:8px 11px}.hud{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.stat{background:#142138aa;border:1px solid var(--line);border-radius:12px;padding:11px 16px}.stat small{color:var(--muted);font-size:10px;display:block}.stat strong{font-size:19px;font-weight:650}.stat em{color:#8198b8;font-size:10px;font-style:normal;margin-left:7px}.bar{height:5px;background:#2a3950;border-radius:99px;overflow:hidden;margin-top:8px}.bar>span{display:block;height:100%;border-radius:99px;background:var(--mint);transition:width .3s}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}.stack{display:grid;gap:18px}.scene{height:260px;position:relative;overflow:hidden;border:1px solid #537084;border-radius:18px;background:linear-gradient(135deg,#284665,#788597 60%,#dfb57d)}.scene svg{position:absolute;bottom:0;width:100%;height:100%}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a1c38c4,transparent 80%),linear-gradient(0deg,#0b1c3977,transparent 60%)}.scene-info{position:absolute;z-index:3;left:26px;top:23px;max-width:63%}.scene-info h2{font:normal 32px/1.12 Georgia,serif;margin:12px 0 8px;letter-spacing:-.7px}.scene-info p{font-size:12px;color:#dae8f5;max-width:310px;line-height:1.7}.scene .scene-img{position:absolute;z-index:2;bottom:-25px;right:2%;width:230px;height:230px;object-fit:contain;filter:drop-shadow(0 17px 10px #0005)}.scene-tags{position:absolute;z-index:3;bottom:19px;left:26px;display:flex;gap:6px}.story{border-color:#57627c}.story h2{font:normal 27px/1.2 Georgia,serif;margin:12px 0 16px}.story-copy{color:#c3d2e4;font-size:13px;line-height:1.85}.choices{display:grid;gap:9px;margin-top:22px}.choice{display:flex;gap:12px;text-align:left;padding:14px 15px;border-color:#3d4d67}.choice-num{width:27px;height:27px;border:1px solid #536d8e;display:grid;place-items:center;border-radius:7px;flex-shrink:0;font-size:11px;font-weight:700}.choice strong{display:block;font-size:12px}.choice small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.choice .reason{color:#ffb3c0}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-top h3{margin:0}.section-top small{font-size:10px;color:var(--muted)}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.action-card{text-align:left;display:flex;align-items:center;gap:12px;padding:13px}.action-card .symbol{font-size:22px;color:#b9cce8;width:26px}.action-card strong{display:block;font-size:11px}.action-card small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.action-card.featured{border-color:#ffd55a66;background:#ffd55a12}.action-card.featured .symbol{color:var(--yellow)}.free-form{padding:20px;background:#17273b;border-color:#3a526a}.free-form p{font-size:11px;margin-bottom:12px}.free-form form{display:flex;gap:8px}.free-form input{font-size:12px}.free-form button{font-size:11px;white-space:nowrap}.intent{padding:12px;background:#0e1b2b;border-radius:9px;margin-top:12px;font-size:12px}.intent button{margin-top:10px}.log-note{border-left:2px solid var(--accent);padding-left:15px;color:#afc1d9;font-size:12px;line-height:1.8}.mini-team{display:grid;gap:9px}.mini-mon{display:flex;align-items:center;gap:10px;padding:8px;border-radius:11px;background:#0c172855}.mini-mon img{width:49px;height:49px;object-fit:contain}.mini-mon strong{font-size:12px;display:block}.mini-mon small{color:var(--muted);font-size:9px}.mini-mon .bar{margin-top:6px;height:4px}.mini-mon .info{flex:1}.side-card{padding:18px}.news-item{font-size:11px;line-height:1.7;color:#b4c5dc;padding:10px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border-bottom:0;padding-bottom:0}.news-item small{display:block;color:#7794b9;font-size:9px}.career-progress{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}.career-progress .bar>span{background:var(--accent)}.career-progress p{font-size:11px;line-height:1.7;margin:10px 0 0;color:var(--muted)}.page-title{margin-bottom:23px}.page-title h1{font:normal 32px Georgia,serif;letter-spacing:-1px;margin:0 0 8px}.page-title p{font-size:12px;color:var(--muted);max-width:620px;margin:0}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.mon-card{position:relative;background:linear-gradient(145deg,color-mix(in srgb,var(--type) 13%,#131f33),#131f33 65%);padding:20px;border:1px solid color-mix(in srgb,var(--type) 30%,var(--line));border-radius:16px}.mon-card img{width:100%;height:140px;object-fit:contain;filter:drop-shadow(0 10px 8px #0004)}.mon-card h3{margin:12px 0 0}.mon-card .type{position:absolute;top:15px;right:15px;color:var(--type)}.mon-card .details{font-size:10px;color:var(--muted);line-height:1.8;margin:12px 0}.mon-card .row button{font-size:10px;padding:7px 9px}.empty{text-align:center;padding:30px;color:var(--muted)}.paths-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.path-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:21px}.path-card.current{border-color:var(--c);background:color-mix(in srgb,var(--c) 6%,var(--surface))}.path-card .career-symbol{width:39px;height:39px;font-size:22px}.path-card h3{margin:0}.path-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:15px 0}.path-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.path-card button{font-size:10px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.map-canvas{min-height:450px;border:1px solid #4e6d77;border-radius:18px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#39726d,#204b5b 60%,#17334c)}.map-canvas svg{width:100%;height:450px;display:block}.map-head{position:absolute;left:24px;top:24px;z-index:2}.map-head h2{font:normal 30px Georgia,serif;margin:5px 0}.map-node{position:absolute;background:#102038e8;border:1px solid #7ca899;border-radius:10px;text-align:left;max-width:170px;padding:11px;box-shadow:0 7px 20px #05192777}.map-node strong{font-size:11px;display:block}.map-node small{font-size:9px;color:#91bda9}.map-node.current{border:2px solid var(--yellow);color:var(--yellow)}.map-node[data-place=city]{left:40%;top:48%}.map-node[data-place=route]{left:15%;top:73%}.map-node[data-place=lab]{left:12%;top:28%}.map-node[data-place=port]{right:6%;top:72%}.region-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.region-buttons button{font-size:11px;text-align:left;padding:12px}.region-buttons button.selected{border-color:var(--yellow);color:var(--yellow)}.encounter-list{display:flex;gap:4px;flex-wrap:wrap;margin-top:12px}.encounter-list img{width:52px;height:52px;object-fit:contain;border-radius:9px;background:#0b1829}.relationship-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.relationship-card .face{width:49px;height:49px;display:grid;place-items:center;border-radius:50%;background:var(--c);color:#142239;font:bold 21px Georgia,serif}.relationship-card h3{margin:0}.relationship-card p{font-size:11px;line-height:1.8;color:var(--muted)}.memory{background:#0e192b;padding:11px;border-radius:10px;margin:14px 0;font-size:11px;color:#aec1d9}.memory small{display:block;font-size:9px;margin-bottom:4px;color:#748caf}.relationship-card button{font-size:10px}.faction-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.faction-card{padding:15px;background:#142138;border-radius:11px;border:1px solid var(--line);font-size:11px}.faction-card strong{display:block;margin-top:6px;font-size:20px}.journal-item{position:relative;padding:20px 20px 20px 65px;border-bottom:1px solid var(--line)}.journal-item .date-dot{position:absolute;left:0;top:22px;width:44px;background:#22354c;padding:5px;border-radius:8px;font-size:9px;text-align:center;color:#c5d9ed}.journal-item h3{font-size:13px;margin-bottom:7px}.journal-item p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:0}.journal-item:last-child{border:0}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.shop-grid h3{margin-top:12px}.shop-grid p{color:var(--muted);font-size:12px;line-height:1.8}.big-symbol{font-size:30px;color:var(--yellow)}.achievement{padding:8px 12px;background:#ffd55a11;border:1px solid #ffd55a44;border-radius:10px;font-size:11px;color:#f4da90}.footnote{font-size:10px;color:#7e93ae;margin-top:22px;line-height:1.7}.help-row{padding:14px 0;border-bottom:1px solid var(--line)}.help-row strong{display:block;font-size:12px}.help-row p{margin:5px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(15px);background:#e9f3ff;color:#142238;border-radius:12px;padding:14px 20px;box-shadow:0 10px 40px #0006;max-width:min(600px,90vw);font-size:12px;z-index:40;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%)}dialog{color:var(--text);background:#101d31;border:1px solid #566d8b;max-width:min(840px,94vw);width:840px;border-radius:20px;padding:25px;max-height:92vh;overflow:auto;box-shadow:0 25px 120px #0009}dialog::backdrop{background:#040d20cf;backdrop-filter:blur(6px)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:0;font-size:22px}.battle-field{position:relative;height:310px;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#769a6b,#254943 65%,#153b4f);border:1px solid #416256}.battle-field:after{content:'';position:absolute;left:8%;right:8%;bottom:15%;height:40%;border-radius:50%;background:#b5cc8655;border:1px solid #fff3;transform:rotate(-8deg)}.battle-pokemon{position:absolute;width:210px;height:210px;object-fit:contain;filter:drop-shadow(0 12px 8px #0005);z-index:2}.battle-pokemon.own{left:5%;bottom:-12px}.battle-pokemon.enemy{right:5%;top:8px;width:175px;height:175px}.combat-stat{position:absolute;z-index:3;background:#102036dc;padding:12px 16px;border:1px solid #5b778e;border-radius:10px;width:190px;font-size:12px}.combat-stat.own{right:7%;bottom:24px}.combat-stat.enemy{left:7%;top:20px}.combat-stat small{font-size:9px;color:#a3bad3}.combat-stat .bar{height:7px}.battle-log{height:118px;overflow:auto;background:#0b1628;border:1px solid var(--line);border-radius:10px;padding:12px 15px;margin:16px 0;display:flex;flex-direction:column;gap:5px}.battle-log div{font-size:11px;color:#a4bcd6}.battle-log div:first-child{color:white}.battle-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.battle-actions button{font-size:11px}.switches{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.switches button{display:flex;align-items:center;gap:6px;font-size:10px;padding:6px 9px}.switches img{width:28px;height:28px}.battle-result{padding:16px;text-align:center;background:#ffd55a13;border:1px solid #ffd55a55;border-radius:12px}.battle-result h3{color:var(--yellow);margin-bottom:8px}.battle-result button{margin-top:8px}.mobile-label{display:none}.save-warning{color:#ffb9c5!important}@media(min-width:1600px){.scene{height:300px}.scene .scene-img{width:270px;height:270px}.content{padding-top:32px}}@media(max-width:1100px){.shell{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding:22px 12px}.content{padding:23px 20px}.main-grid{grid-template-columns:minmax(0,1fr) 230px;gap:14px}.scene-info h2{font-size:27px}.scene .scene-img{right:-5%;width:200px}.panel{padding:18px}.team-grid{grid-template-columns:repeat(2,1fr)}.map-layout{grid-template-columns:1fr}.map-canvas svg{height:420px}.map-canvas{min-height:420px}.faction-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:16px 20px}.sidebar .brand{padding:0}.sidebar .brand small{display:none}.nav{display:flex;overflow:auto;margin-top:15px;gap:4px}.nav button{white-space:nowrap;padding:8px 12px;font-size:11px}.nav-icon{font-size:15px;width:16px}.side-profile{display:none}.main-grid{grid-template-columns:minmax(0,1fr) 240px}.content{padding-top:20px}.intro{grid-template-columns:1fr 1fr;gap:15px}.intro-copy{padding:36px 25px}.intro-copy h1{font-size:46px}.intro-art{min-height:720px}.setup{padding:24px 20px}.career-choice{padding:9px 6px;gap:6px}.career-symbol{width:24px;height:24px;font-size:16px}.paths-grid,.relationship-grid{gap:12px}}@media(max-width:650px){.landing{padding:20px 16px}.intro{grid-template-columns:1fr}.intro-art{min-height:330px}.intro-copy{padding:24px;max-width:72%}.intro-copy h1{font-size:38px;margin:12px 0}.intro-copy p{font-size:11px;line-height:1.7}.intro-pokemon{width:40%;right:0;bottom:12%}.intro-foot{left:22px;right:22px;bottom:15px}.intro-foot .pill{font-size:8px}.intro-art svg{height:90%}.setup{padding:23px}.landing-top{margin-bottom:20px}.topline{align-items:flex-start}.top-tools{flex-wrap:wrap;justify-content:flex-end}.top-tools button{font-size:9px;padding:7px}.topline h2{font-size:17px}.content{padding:20px 15px 35px}.hud{grid-template-columns:repeat(2,1fr);gap:8px}.stat{padding:10px 12px}.main-grid{grid-template-columns:1fr}.main-grid>.stack:last-child{display:grid;grid-template-columns:1fr}.scene{height:235px}.scene-info{left:20px;top:20px;max-width:65%}.scene-info h2{font-size:26px}.scene .scene-img{right:-8%;width:180px;height:180px;bottom:-10px}.scene-info p{font-size:11px;max-width:220px}.scene-tags{left:20px;bottom:15px}.story h2{font-size:25px}.free-form form{flex-direction:column}.paths-grid,.relationship-grid,.shop-grid{grid-template-columns:1fr}.team-grid{gap:10px}.mon-card{padding:15px}.mon-card img{height:110px}.mon-card h3{font-size:14px}.mon-card .row{flex-wrap:wrap;gap:5px}.page-title h1{font-size:29px}.map-canvas{min-height:380px}.map-canvas svg{height:380px}.map-node{max-width:130px;padding:8px}.map-node strong{font-size:9px}.map-node[data-place=city]{left:39%;top:44%}.map-node[data-place=route]{left:8%;top:75%}.map-node[data-place=lab]{left:6%;top:27%}.map-node[data-place=port]{right:4%;top:66%}.map-head{left:20px;top:15px}.map-head h2{font-size:25px}.faction-grid{grid-template-columns:repeat(2,1fr)}.battle-field{height:260px}.battle-pokemon.own{left:0;width:165px;height:165px}.battle-pokemon.enemy{right:0;width:145px;height:145px}.combat-stat{width:155px;padding:9px 10px;font-size:11px}.combat-stat.enemy{left:4%;top:18px}.combat-stat.own{right:4%;bottom:20px}.battle-actions{grid-template-columns:repeat(2,1fr)}dialog{padding:17px}.nav{margin-left:-5px;margin-right:-10px}.sidebar{padding:16px}.help-row p{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:root{--map-ocean:#163c50}.regional-summary{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.badge-row{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.badge{width:24px;height:28px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 22%,100% 73%,50% 100%,0 73%,0 22%);background:#33465d;color:#899cb7;font-weight:800;font-size:10px}.badge.earned{color:#25313d;background:linear-gradient(140deg,#ffe99a,#e4ae50)}.region-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.region-tabs button{display:flex;align-items:center;gap:10px;padding:10px 13px;font-size:11px;background:#132138}.region-tabs button small{font-size:9px;color:var(--muted)}.region-tabs button.selected{border-color:var(--yellow);background:#ffd55a12}.region-tabs button.selected>span{color:var(--yellow)}.map-heading{margin-bottom:15px}.map-heading h2{font:normal 31px Georgia,serif;margin:5px 0 0}.regional-map{height:580px;position:relative;overflow:hidden;border-radius:18px;border:1px solid #537f88;background:#163c50;box-shadow:inset 0 0 90px #0a2848}.regional-map>svg{display:block;width:100%;height:100%}.map-pin{position:absolute;transform:translate(-50%,-50%);width:29px;height:29px;padding:0;border:0;background:transparent!important;border-radius:50%;overflow:visible;z-index:2}.map-pin:hover{transform:translate(-50%,-50%)!important;z-index:4}.map-pin:active{transform:translate(-50%,-50%)!important}.pin-core{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#163045;border:2px solid #a7c5bc;box-shadow:0 2px 10px #082e4488;font-size:10px;font-weight:800}.map-pin.goal .pin-core{border-color:#fff3ce;box-shadow:0 0 0 4px #fff2}.map-pin.completed .pin-core{background:#95dfac;color:#183b34;border-color:#b1efd0}.map-pin.here .pin-core{background:#ffe081;color:#24354b;border:2px solid #fff0b0;box-shadow:0 0 0 5px #ffd55a33}.map-pin.selected .pin-core{outline:3px solid white;outline-offset:4px}.pin-label{display:block;position:absolute;top:34px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#112c41e8;border:1px solid #b2cbc12a;padding:3px 6px;border-radius:5px;font-size:8px;color:#f1f7e9;max-width:120px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;line-height:1.3}.map-pin.selected .pin-label{background:#ffe081;color:#263243;font-weight:800;border-color:#ffe081}.you-dot{position:absolute;right:-2px;top:-3px;width:9px;height:9px;background:#ffd55a;border:2px solid #244958;border-radius:50%}.map-legend{position:absolute;bottom:12px;left:16px;display:flex;gap:12px;flex-wrap:wrap;color:#d6e7ea;background:#10293dcc;padding:8px 10px;border-radius:7px;font-size:8px;z-index:5}.map-legend>span{display:flex;gap:5px;align-items:center}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-dot.yellow{background:#ffda70}.legend-dot.white{background:#fcf0ce}.legend-dot.green{background:#95dfac}.destination-card h2{font:normal 27px/1.1 Georgia,serif;margin:12px 0 15px}.destination-card>p{margin-top:16px;line-height:1.8}.travel-cost{background:#0b182a;border-radius:10px;margin:16px 0;padding:13px;display:flex;justify-content:space-between;gap:8px;align-items:center}.travel-cost strong{font-size:16px;color:var(--yellow)}.travel-cost span{font-size:10px;color:var(--muted)}.lock-message{background:#e8bdef10;border:1px solid #cc9ee433;border-radius:11px;padding:14px;font-size:11px;line-height:1.8;color:#e3c8f0;margin:15px 0}.gym-detail{display:flex;align-items:center;gap:12px;padding:14px;background:#ffd55a0b;border:1px solid #ffd55a33;border-radius:11px;margin:16px 0}.gym-detail strong{display:block;font-size:12px}.gym-detail small{display:block;font-size:10px;margin-top:4px;color:var(--muted);line-height:1.8}.gym-number{background:#ffdf86;color:#243346;font-size:20px;font-weight:800;min-width:40px;height:45px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 22%,100% 73%,50% 100%,0 73%,0 22%)}.location-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.location-list button{text-align:left;padding:10px;background:#122034}.location-list button>span{display:block;font-size:10px}.location-list button small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.location-list button.selected{border-color:var(--yellow);background:#ffd55a10}.itinerary .regional-summary{border-top:0;margin-top:0;padding-top:0}.itinerary .badge{width:31px;height:36px;font-size:12px}.dex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dex-entry{border:1px solid var(--line);background:#142239;border-radius:13px;padding:15px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:182px}.dex-entry img{width:105px;height:105px;object-fit:contain}.dex-entry strong,.dex-entry small{display:block}.dex-entry strong{font-size:12px;margin:4px 0}.dex-entry small{font-size:9px;color:var(--mint)}.dex-entry.unknown{background:#111e31;opacity:.65}.dex-entry.unknown small{color:#8095b3}.dex-unknown{height:105px;display:grid;place-items:center;font:bold 37px Georgia;color:#425b79}@media(max-width:1100px){.regional-map{height:520px}.pin-label{font-size:7px;max-width:110px}.dex-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.region-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.region-tabs button{padding:9px;justify-content:space-between}.region-tabs button small{font-size:8px}.regional-map{height:460px}.pin-core,.map-pin{width:25px;height:25px;font-size:9px}.pin-label{display:none;max-width:118px;font-size:9px;top:31px}.map-pin.selected .pin-label,.map-pin.here .pin-label{display:block}.map-heading h2{font-size:27px}.map-heading .pill{font-size:8px}.map-legend{left:7px;right:7px;bottom:8px;padding:7px;gap:8px;font-size:7px}.location-list{grid-template-columns:repeat(2,1fr)}.dex-grid{grid-template-columns:repeat(2,1fr);gap:8px}.dex-entry{padding:11px;min-height:165px}.itinerary .badge{width:27px;height:32px}.badge-row{gap:5px}.map-pin[data-map-node=lab]{z-index:3}}
.narrative-scene h2{font:normal 29px/1.15 Georgia,serif;margin:15px 0 22px}.narrative-paragraph{color:#c8d7e7;font-size:14px;line-height:1.95;margin-bottom:16px}.dialogue-lines{display:grid;gap:15px;margin-top:26px}.dialogue-line{display:flex;gap:12px;align-items:flex-start;padding:16px;background:#0e1b2e;border-left:2px solid #91a8c7;border-radius:0 10px 10px 0}.dialogue-line strong{font-size:11px;color:#e6d7ad;display:block;margin-bottom:6px}.dialogue-line p{margin:0;color:#d1dfef;font-size:13px;line-height:1.85}.speaker-avatar{height:31px;width:31px;flex-shrink:0;display:grid;place-items:center;background:#29435c;color:#e9d392;font:bold 14px Georgia;border-radius:50%}.dialogue-line.player-line{border-color:var(--yellow);background:#ffd55a09}.pending-thread{margin-top:25px;padding:16px;border:1px dashed #576d86;border-radius:10px;background:#17263a}.pending-thread strong{display:block;font:normal 20px Georgia;margin:9px 0}.pending-thread p{font-size:12px;line-height:1.85;color:#b5c8df;margin-bottom:10px}.pending-thread small{font-size:10px;color:#9bb5d4}.story-composer{background:#1a2a3c;border-color:#4c6580}.story-composer form{display:grid;gap:12px}.story-composer textarea{resize:vertical;min-height:100px;line-height:1.8;font-size:13px}.story-composer form>button{padding:13px}.recommendations{display:grid;gap:8px;margin-top:17px}.recommendations>button{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#132135;border-style:dashed;font-size:11px;color:#b9cce2;padding:11px 13px}.recommendations>button>span{color:var(--yellow)}.quick-actions{display:grid;gap:8px;margin-top:15px}.quick-actions button{text-align:left;font-size:10px;padding:10px}.narrator-notice{background:#472f491f;border:1px solid #b280ba66;border-radius:10px;padding:13px;margin-bottom:16px;font-size:11px;line-height:1.8;color:#eacdea}.narrator-notice p{margin:6px 0}.narrator-notice a{color:#ffdba7}.narrator-notice button{font-size:10px;padding:4px 7px}.narrator-notice small{display:block;margin-top:6px;color:#b9b5cc}.thinking-dot{display:inline-block;width:7px;height:7px;background:#284055;border-radius:50%;margin-right:6px;animation:thinking 1s ease-in-out infinite}.active-moves{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0}.active-moves>span{display:block;font-size:10px;padding:9px;background:color-mix(in srgb,var(--move-type) 9%,#0f1c2e);border:1px solid color-mix(in srgb,var(--move-type) 30%,#26344c);border-radius:8px}.active-moves>span small{display:block;font-size:8px;color:#9bb0c9;margin-top:4px}.manage-header{display:flex;align-items:center;gap:20px}.manage-header img{width:120px;height:120px;object-fit:contain}.manage-header p{line-height:1.8;margin-top:12px}.upcoming-moves{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.equipment-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.equipment-shop>article{border:1px solid var(--line);border-radius:11px;padding:17px;background:#0e1c2e}.equipment-shop strong{display:block;font-size:12px;margin:7px 0}.equipment-shop p{font-size:11px;line-height:1.8;color:var(--muted);min-height:45px}.equipment-shop small{display:block;color:#819ab8;font-size:9px}.equipment-shop button{font-size:10px;padding:8px;margin-top:12px}.equipment-icon{font-size:24px;color:var(--yellow)}.leader-quote{border-left:2px solid var(--yellow);background:#ffd55a0a;padding:12px 15px;margin-bottom:15px;color:#c9d7e8;font-size:12px;line-height:1.8}.leader-quote strong{color:var(--yellow);margin-right:6px}.four-moves{display:grid;grid-template-columns:1fr 1fr;gap:9px}.four-moves button{text-align:left;background:color-mix(in srgb,var(--move-type) 12%,#142238);border-color:color-mix(in srgb,var(--move-type) 50%,#263751);padding:12px 15px}.four-moves strong{display:block;font-size:13px;color:var(--move-type)}.four-moves button>span{display:block;font-size:9px;color:#b2c5da;margin-top:5px}.battle-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.battle-tools button{font-size:10px;padding:9px 13px}.status-mark{color:#ffcf83}.floating-ps{position:absolute;z-index:6;font-size:27px;font-weight:900;color:#ffd8bd;text-shadow:0 2px 7px #17233a;animation:floatps 1.2s ease-out forwards;pointer-events:none}.floating-ps.own{left:17%;bottom:90px}.floating-ps.enemy{right:18%;top:60px}.floating-ps.healing{color:#a0f0bf}.battle-pokemon.hurt{animation:hurt .5s ease-in-out}.battle-pokemon.own.lunge{animation:ownlunge .5s ease-out}.battle-pokemon.enemy.lunge{animation:enemylunge .5s ease-out}.animated-field{box-shadow:inset 0 0 65px #09283d88}.mon-card .row.wrap{gap:6px}.mon-card .row.wrap button{font-size:9px;padding:7px 8px}@keyframes floatps{0%{opacity:0;transform:translateY(12px) scale(.8)}20%{opacity:1;transform:translateY(0) scale(1.1)}100%{opacity:0;transform:translateY(-35px) scale(1)}}@keyframes hurt{0%,100%{transform:translateX(0);filter:drop-shadow(0 12px 8px #0005)}25%,75%{transform:translateX(-9px);filter:brightness(1.9) drop-shadow(0 12px 8px #0005)}50%{transform:translateX(9px)}}@keyframes ownlunge{0%,100%{transform:translate(0)}45%{transform:translate(35px,-18px)}}@keyframes enemylunge{0%,100%{transform:translate(0)}45%{transform:translate(-30px,18px)}}@keyframes thinking{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@media(max-width:650px){.narrative-scene h2{font-size:26px}.narrative-paragraph{font-size:13px}.dialogue-line{padding:13px;gap:9px}.dialogue-line p{font-size:12px}.speaker-avatar{height:27px;width:27px}.equipment-shop{grid-template-columns:1fr 1fr;gap:8px}.equipment-shop>article{padding:13px}.equipment-shop p{min-height:70px;font-size:10px}.equipment-shop strong{font-size:11px}.four-moves button{padding:11px}.four-moves strong{font-size:11px}.four-moves button>span{font-size:8px}.active-moves>span{padding:7px;font-size:9px}.manage-header img{height:90px;width:90px}.floating-ps{font-size:22px}.scene-tags{flex-wrap:wrap}.scene-tags .pill{font-size:8px}.narrative-scene{padding:20px}}
.campaign-banner .scene-info h2{font-size:28px}.chapter-objective{display:flex;gap:12px;align-items:flex-start;background:#ffd55a0b;border:1px solid #ffd55a33;border-radius:10px;padding:14px;margin-bottom:22px;font-size:12px;line-height:1.7;color:#e6d7ad}.chapter-objective>span{font-size:9px;color:var(--yellow);letter-spacing:1px;padding-top:3px;flex-shrink:0}.story-question{margin:25px 0 14px;gap:10px;align-items:flex-start}.story-question small{font-size:10px;color:var(--muted)}.campaign-choices .choice{position:relative;padding-right:42px;transition:background .15s,border-color .15s}.campaign-choices .choice:hover{background:#ffd55a13;border-color:#ffd55a88}.choice-arrow{position:absolute;right:17px;color:var(--yellow);font-size:18px}.campaign-next{width:100%;margin-top:20px;padding:15px!important;white-space:normal}.choice-receipt{font-size:11px;color:var(--muted);padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:20px;line-height:1.8}.choice-receipt strong{color:#e6d7ad}.chapter-list{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.chapter-list>div{display:flex;align-items:center;gap:10px;color:#8093af;font-size:11px;line-height:1.5}.chapter-list span{border-radius:50%;border:1px solid #40516a;width:23px;height:23px;display:grid;place-items:center;flex-shrink:0;font-size:10px}.chapter-list .done{color:var(--mint)}.chapter-list .done span{border-color:var(--mint)}.chapter-list .current{color:var(--yellow)}.chapter-list .current span{background:#ffd55a;border-color:#ffd55a;color:#142238}.optional-life>summary{cursor:pointer;list-style:revert;font-size:14px;font-weight:600;color:#d4dfed}.optional-life>summary>span{display:block;font-size:10px;font-weight:400;color:var(--muted);margin:8px 0 0 17px}.optional-life[open]>summary{margin-bottom:20px}.optional-life .story{margin:16px 0}.optional-life form{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.optional-dialogue{margin-top:24px}.optional-dialogue h3{margin-bottom:12px}.optional-dialogue .dialogue-line p{font-size:12px}.optional-life textarea{resize:vertical}.side-card>h3{margin:12px 0}.campaign-scene>.tiny{margin-top:15px}@media(max-width:650px){.story-question{display:block}.story-question small{display:block;margin-top:6px}.campaign-banner .scene-info h2{font-size:23px}.chapter-objective{font-size:11px;padding:12px}.campaign-choices .choice{padding-right:32px}.choice-arrow{right:11px}.campaign-next{font-size:11px}.optional-life>summary{font-size:12px}}
.daily-opportunities h2{font:normal 28px/1.2 Georgia,serif;margin:18px 0 22px}.life-opportunities{display:grid;gap:12px}.life-opportunities article{background:#102033;border:1px solid #334b64;border-radius:13px;padding:17px}.life-opportunities article>p{font-size:12px;line-height:1.8;color:#bdcee2;margin:8px 0 13px}.life-opportunities article>button{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;width:100%;padding:12px 14px;border-color:#7da896;background:#91debe10}.life-opportunities article>button strong{font-size:12px;font-weight:600;line-height:1.6}.life-opportunities article>button>span{font-size:20px;color:var(--mint)}.life-opportunities article>small{display:block;font-size:9px;line-height:1.7;color:#a1b7cb;margin-top:9px}.daily-opportunities>.tiny{margin-top:17px;line-height:1.8}.supply-shop{margin:20px 0}.supply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.supply-grid article{padding:16px;border:1px solid var(--line);background:#112137;border-radius:12px;display:flex;flex-direction:column;gap:10px}.supply-grid article>strong{font-size:13px;color:#ecd4a1}.supply-grid article>p{font-size:11px;line-height:1.8;color:var(--muted);flex:1}.supply-grid article>small{font-size:9px;color:#9bbbc4}.supply-grid article>button{font-size:10px;line-height:1.5;padding:10px}.supply-grid article.locked{opacity:.6}.music-volume{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted);margin:0}.music-volume input{width:75px;padding:0;accent-color:var(--mint)}.battle-tools select{font-size:10px;max-width:200px;padding:9px}.battle-tools{align-items:center}#bag-form{display:grid;gap:10px;margin-top:20px}#bag-form label{margin:8px 0 0}#bag-form>button{margin-top:10px}.optional-life .row.wrap button{font-size:10px}@media(max-width:850px){.supply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-tools{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:650px){.daily-opportunities h2{font-size:24px}.life-opportunities article{padding:14px}.life-opportunities article>button strong{font-size:11px}.supply-grid{gap:8px}.supply-grid article{padding:13px}.supply-grid article>strong{font-size:12px}.supply-grid article>button{font-size:9px}.music-volume{font-size:8px}.music-volume input{width:60px}.battle-tools select{max-width:165px}.daily-opportunities .pill{font-size:8px}}
.free-play h2{font:normal 30px/1.15 Georgia,serif;margin:18px 0 12px}.decision-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:22px 0}.decision-input textarea{resize:vertical;min-height:82px;font-size:13px;line-height:1.8}.decision-input>button{min-width:105px}.free-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.free-action{text-align:left;display:grid;grid-template-columns:35px 1fr;gap:7px 12px;position:relative;padding:18px 33px 18px 17px;border:1px solid #496378;background:linear-gradient(130deg,#213a4966,#122338);border-radius:13px;min-height:100px;transition:transform .18s,border-color .18s,box-shadow .18s}.free-action:hover:not(:disabled){transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 20px #06142577}.free-action .action-icon{grid-row:1/3;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:#ffd55a0c;font-size:23px;height:38px}.free-action>strong{font-size:12px;line-height:1.5}.free-action>small{font-size:10px;color:#9fb7cf;line-height:1.7}.tile-arrow{position:absolute;right:14px;top:18px;color:var(--accent);font-size:16px}.free-action.unavailable{opacity:.48}.route-navigation{border-top:1px solid var(--line);padding-top:23px;margin-top:25px}.route-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.route-nav-grid>button,.empty-route{display:grid;gap:8px;text-align:left;border-radius:12px;padding:17px;background:#102135;border:1px solid #4a6680}.route-nav-grid span{font-size:10px;color:var(--yellow)}.route-nav-grid strong{font-size:12px}.route-nav-grid small{font-size:9px;line-height:1.7;color:var(--muted)}.empty-route{opacity:.6}.cap-panel{border-color:#ffd55a44;background:linear-gradient(145deg,#ffd55a09,#132238)}.cap-number{font:bold 56px/1 Georgia,serif;color:var(--yellow);margin:20px 0 12px}.cap-number>span{display:block;font:10px/1.5 Inter,Arial,sans-serif;color:#b3c4d8;margin-top:9px}.day-record>summary{cursor:pointer;color:#aabed6;font-size:11px;line-height:1.8}.day-record[open]>summary{margin-bottom:20px}.day-record .narrative-paragraph{font-size:12px}.free-hero .scene-info p{max-width:370px}.free-hero .scene-info h2{font-size:29px}.cinematic-field{height:350px;isolation:isolate;background:radial-gradient(ellipse at 50% 12%,#7ec4d966,transparent 55%),linear-gradient(160deg,#2e596a 0%,#234151 48%,#12283c 49%,#1e3444 100%);overflow:hidden;border:1px solid #7899a577;border-radius:16px}.cinematic-field:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(145deg,transparent 0 45px,#bce4ef05 46px 48px);opacity:.75}.arena-platform{position:absolute;border-radius:50%;background:radial-gradient(ellipse,#bfdbb333 0 40%,#56797044 41% 60%,transparent 61%);border:1px solid #e2ecd22a;transform:rotate(-7deg);width:240px;height:62px}.own-platform{left:2%;bottom:13px}.enemy-platform{right:4%;top:160px;width:195px;height:47px}.cinematic-field .battle-pokemon{transition:none}.cinematic-field .battle-pokemon.own{width:240px;height:240px;left:3%;bottom:-4px}.cinematic-field .battle-pokemon.enemy{width:195px;height:195px;right:5%;top:10px}.cinematic-field .combat-stat{backdrop-filter:blur(10px);box-shadow:0 6px 22px #081c3a66}.cinematic-field .combat-stat.own{right:3%;bottom:25px}.cinematic-field .combat-stat.enemy{left:3%;top:18px}.turn-caption{display:flex;gap:13px;align-items:center;justify-content:center;min-height:78px;border:1px solid #a7cbdb55;border-radius:12px;background:linear-gradient(100deg,#153249,#223956);font-size:15px;color:#ecf4f9;letter-spacing:.2px}.turn-dot{width:9px;height:9px;background:var(--yellow);border-radius:50%;box-shadow:0 0 15px #ffd55a66;animation:turnpulse .7s ease-in-out infinite}.attack-fx{position:absolute;z-index:5;width:64px;height:64px;pointer-events:none;color:var(--fx-color);filter:drop-shadow(0 0 10px var(--fx-color))}.attack-fx.from-own{left:24%;bottom:110px;animation:projectile-own .5s ease-out both}.attack-fx.from-enemy{right:23%;top:91px;animation:projectile-enemy .5s ease-out both}.energy-orb{position:absolute;width:45px;height:45px;border-radius:50%;background:radial-gradient(circle,#fff 0 10%,var(--fx-color) 30%,transparent 74%);box-shadow:0 0 17px var(--fx-color)}.attack-fx i{position:absolute;left:-20px;top:20px;width:28px;height:5px;transform:rotate(-25deg);border-radius:20px;background:var(--fx-color)}.attack-fx i:nth-of-type(2){top:7px;left:-35px;width:22px}.attack-fx i:nth-of-type(3){top:38px;left:-30px;width:18px}.attack-fx i:nth-of-type(4){top:49px;left:-12px;width:12px}.attack-fx i:nth-of-type(5){top:-3px;left:-18px;width:16px}.impact-fx{position:absolute;z-index:4;width:100px;height:100px;border:4px solid var(--fx-color);border-radius:50%;box-shadow:0 0 25px var(--fx-color),inset 0 0 20px var(--fx-color);animation:impactring .55s .16s both;pointer-events:none}.on-own{left:15%;bottom:72px}.on-enemy{right:14%;top:57px}.guard-fx{position:absolute;width:130px;height:150px;border-radius:45%;background:radial-gradient(ellipse,#94effe0c,#91dbe166);border:2px solid #b5f8ff;z-index:4;animation:shieldpulse .7s both;pointer-events:none}.support-fx{position:absolute;z-index:5;font-size:52px;color:var(--fx-color);text-shadow:0 0 15px var(--fx-color);animation:support-rise .7s both;pointer-events:none}.support-fx i{position:absolute;left:40px;top:30px;font-size:25px;font-style:normal}.support-fx i+ i{left:-30px;top:-20px}.capture-fx{position:absolute;z-index:5;left:25%;bottom:100px;animation:capture-throw .85s both;pointer-events:none}.capture-fx .ball{width:35px;height:35px}.capture-fx i{position:absolute;color:#ffdf91;font-style:normal;opacity:0;animation:capture-star .55s .3s both;left:22px;top:-15px}.capture-fx i+ i{left:-20px;top:25px}.capture-fx i+ i+ i{left:40px;top:25px}.miss-fx{opacity:.45}.cinematic-field .battle-pokemon.hurt{animation:cinematic-hurt .6s .15s both}.cinematic-field .battle-pokemon.own.lunge{animation:cinematic-own .55s both}.cinematic-field .battle-pokemon.enemy.lunge{animation:cinematic-enemy .55s both}.battle-hp>span{animation:health-change .65s ease-out both}.floating-ps{animation-delay:.2s}.four-moves button{transition:transform .15s,box-shadow .15s}.four-moves button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 3px 18px color-mix(in srgb,var(--move-type) 20%,transparent)}@keyframes projectile-own{0%{opacity:0;transform:translate(0,0) scale(.5)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(240px,-90px) scale(1.5)}}@keyframes projectile-enemy{0%{opacity:0;transform:translate(0,0) scale(.5)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-235px,85px) scale(1.5)}}@keyframes impactring{0%{opacity:0;transform:scale(.2)}25%{opacity:1}100%{opacity:0;transform:scale(1.7)}}@keyframes shieldpulse{0%{opacity:0;transform:scale(.8)}40%{opacity:1}100%{opacity:.2;transform:scale(1.1)}}@keyframes support-rise{0%{opacity:0;transform:translateY(15px)}25%{opacity:1}100%{opacity:0;transform:translateY(-35px)}}@keyframes capture-throw{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}55%{transform:translate(230px,-130px) rotate(250deg)}100%{opacity:1;transform:translate(235px,-55px) rotate(360deg)}}@keyframes capture-star{0%{opacity:0;transform:scale(.2)}35%{opacity:1}100%{opacity:0;transform:scale(1.5)}}@keyframes cinematic-own{0%,100%{transform:translate(0,0)}40%{transform:translate(45px,-20px) scale(1.04)}}@keyframes cinematic-enemy{0%,100%{transform:translate(0,0)}40%{transform:translate(-40px,22px) scale(1.04)}}@keyframes cinematic-hurt{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-10px);filter:brightness(1.8)}40%,80%{transform:translateX(8px);filter:brightness(1.4)}}@keyframes health-change{from{width:var(--hp-from)}to{width:var(--hp-to)}}@keyframes turnpulse{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media(max-width:650px){.free-action-grid{gap:8px}.free-action{grid-template-columns:25px 1fr;padding:14px 24px 14px 11px;gap:6px 8px;min-height:110px}.free-action .action-icon{height:29px;font-size:18px}.free-action>strong{font-size:10px}.free-action>small{font-size:9px}.tile-arrow{right:9px;font-size:12px}.decision-input{grid-template-columns:1fr}.decision-input textarea{font-size:12px}.decision-input button{padding:12px}.free-play h2{font-size:25px}.route-nav-grid{gap:8px}.route-nav-grid>button,.empty-route{padding:12px}.route-nav-grid strong{font-size:10px}.free-hero .scene-info h2{font-size:25px}.cinematic-field{height:300px}.cinematic-field .battle-pokemon.own{width:180px;height:180px;left:0}.cinematic-field .battle-pokemon.enemy{width:155px;height:155px;right:0;top:30px}.cinematic-field .combat-stat.own{bottom:18px;right:2%}.cinematic-field .combat-stat.enemy{top:16px;left:2%}.arena-platform.own-platform{width:170px}.arena-platform.enemy-platform{width:145px;right:0;top:154px}.attack-fx.from-own{left:17%;bottom:90px}.attack-fx.from-enemy{right:15%;top:100px}.turn-caption{font-size:12px}.on-own{left:7%;bottom:45px}.on-enemy{right:7%;top:65px}}@media(prefers-reduced-motion:reduce){.attack-fx,.impact-fx,.capture-fx,.support-fx{display:none}.turn-dot{animation:none!important}.battle-hp>span{animation:none!important;width:var(--hp-to)}.free-action:hover:not(:disabled){transform:none}}
.cinematic-field .battle-pokemon.sendout{animation:pokemon-sendout .65s ease-out both}.sendout-flash{position:absolute;z-index:4;pointer-events:none;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,#fff,#b4e8ff77 35%,transparent 70%);animation:sendout-light .65s both}@keyframes pokemon-sendout{0%{opacity:0;transform:scale(.15);filter:brightness(3)}35%{opacity:1;transform:scale(.8);filter:brightness(2)}100%{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes sendout-light{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(1.8)}}
/* Capture stages share a relative endpoint on wide and narrow battlefields. */
.cinematic-field{--ball-x:82%;--ball-y:142px}.capture-sequence{position:absolute;inset:0;z-index:6;pointer-events:none}.capture-sequence .ball{position:absolute;left:var(--ball-x);top:var(--ball-y);width:38px;height:38px;margin-left:-19px;box-shadow:0 4px 8px #08122499;transform-origin:50% 85%}.capture-sequence .ball:after{width:12px;height:12px;left:50%;top:50%;transform:translate(-50%,-50%)}.capture-throw .ball{animation:ball-flight .65s ease-out both}.capture-absorb .ball{animation:ball-close .45s ease-in both}.capture-shake .ball{animation:ball-wobble .35s ease-in-out 3 both}.capture-seal .ball{box-shadow:0 0 18px #ffe39388,0 4px 8px #08122499}.capture-seal .ball:after{background:#c4f3ad}.capture-break .ball{animation:ball-break .5s both}.capture-burst{position:absolute;left:var(--ball-x);top:var(--ball-y);width:100px;height:100px;margin:-42px 0 0 -50px;border:3px solid #ffc9bf;border-radius:50%;background:radial-gradient(circle,#fff6,#f7809700 65%);animation:absorb-burst .45s both}.capture-break .capture-burst{border-color:#fff0b7}.cinematic-field .battle-pokemon.enemy.capture-absorbed{animation:pokemon-absorb .45s ease-in both;transform-origin:50% 75%}.cinematic-field .battle-pokemon.enemy.capture-hidden{visibility:hidden}.cinematic-field .battle-pokemon.enemy.capture-return{animation:pokemon-return .5s both}.capture-seal i{position:absolute;left:var(--ball-x);top:calc(var(--ball-y) - 28px);color:#ffe48b;font-size:27px;font-style:normal;animation:seal-stars .6s both}.capture-seal i:nth-of-type(2){margin-left:-50px;margin-top:20px;animation-delay:.08s}.capture-seal i:nth-of-type(3){margin-left:35px;margin-top:20px;animation-delay:.16s}.capture-sequence .ball-great{background:linear-gradient(#477acd 0 44%,#243b51 44% 55%,#eff5ff 55%)}.capture-sequence .ball-ultra{background:linear-gradient(#303746 0 44%,#e4c656 44% 55%,#eff5ff 55%)}.capture-sequence .ball-nest{background:linear-gradient(#63a37a 0 44%,#e2c959 44% 55%,#eff5ff 55%)}.capture-sequence .ball-dusk{background:linear-gradient(#547255 0 44%,#a24068 44% 55%,#eff5ff 55%)}.capture-sequence .ball-quick{background:linear-gradient(#50b9d2 0 44%,#e7d165 44% 55%,#eff5ff 55%)}
@keyframes ball-flight{0%{left:22%;top:74%;opacity:.2;transform:rotate(-180deg) scale(.7)}15%{opacity:1}55%{left:58%;top:8%;transform:rotate(40deg)}100%{left:var(--ball-x);top:var(--ball-y);opacity:1;transform:rotate(360deg)}}@keyframes ball-close{0%{transform:translateY(-28px) scale(1.25);filter:brightness(2)}70%{transform:translateY(5px) scale(.95)}100%{transform:none;filter:brightness(1)}}@keyframes ball-wobble{0%,100%{transform:rotate(0) translateX(0)}20%,60%{transform:rotate(-18deg) translateX(-4px)}40%,80%{transform:rotate(18deg) translateX(4px)}}@keyframes pokemon-absorb{0%{opacity:1;transform:scale(1);filter:brightness(1)}50%{opacity:.8;filter:brightness(3) drop-shadow(0 0 14px #f89daf)}100%{opacity:0;transform:scale(.06) translateY(35px)}}@keyframes pokemon-return{from{opacity:0;transform:scale(.08);filter:brightness(3)}to{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes absorb-burst{from{opacity:.9;transform:scale(1.3)}to{opacity:0;transform:scale(.15)}}@keyframes ball-break{0%{opacity:1;transform:scale(1)}50%{filter:brightness(3);transform:scale(1.3)}100%{opacity:0;transform:scale(.5)}}@keyframes seal-stars{0%{opacity:0;transform:translateY(8px) scale(.4)}40%{opacity:1}100%{opacity:0;transform:translateY(-30px) scale(1.3)}}
.map-pin.route-locked .pin-core{background:#273d48;color:#a5b6ba;border-color:#76908b;box-shadow:none}.map-pin.route-locked .pin-label{color:#bcc9ce}.relationship-benefit{padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#0c172a}.relationship-benefit.active{border-color:#76bc9b77;background:#183a302e}.relationship-benefit strong{font-size:11px;color:var(--mint)}.relationship-benefit p{font-size:12px;margin:6px 0}.relationship-benefit small{display:block;font-size:10px;color:var(--muted)}.errand-card h3{margin:8px 0}.errand-card .row{gap:8px;flex-wrap:wrap}
@media(max-width:650px){.cinematic-field{--ball-x:80%;--ball-y:145px}.capture-sequence .ball{width:32px;height:32px;margin-left:-16px}}
@media(prefers-reduced-motion:reduce){.capture-sequence .ball,.capture-burst,.capture-seal i,.cinematic-field .battle-pokemon.enemy.capture-absorbed,.cinematic-field .battle-pokemon.enemy.capture-return{animation:none!important}.capture-absorb .capture-burst{display:none}.cinematic-field .battle-pokemon.enemy.capture-absorbed{visibility:hidden}}
.guide-trigger{border-color:#ffd55a66;color:var(--yellow)}.starter-note{margin:0 0 12px;line-height:1.65}.contact-link{color:var(--mint);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-link:hover{color:#c7ffdf}.contact-link:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}.landing-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0 8px;padding:22px 25px;border:1px solid var(--line);border-radius:14px;background:#131f3377}.landing-contact p{margin:5px 0 0;color:var(--muted);font-size:12px}.landing-contact .contact-link{font-size:14px}.guide-lead{font-size:16px;color:#d4deed;line-height:1.7}.quick-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.quick-guide-grid>div{border:1px solid var(--line);border-radius:12px;padding:17px;background:#1b294166}.quick-guide-grid span{font-size:10px;font-weight:700;color:var(--mint);letter-spacing:1px}.quick-guide-grid h3{font-size:15px;margin:8px 0}.quick-guide-grid p,.guide-save p{color:var(--muted);font-size:12px;line-height:1.75;margin:0}.guide-save{border-left:3px solid var(--yellow);padding:14px 17px;background:#ffd55a08;border-radius:0 10px 10px 0}.guide-save strong{font-size:13px}.guide-save p{margin:5px 0 0}.guide-contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:22px 0}.guide-contact strong{font-size:13px}.help-contact{margin-top:20px}.landing-top .row{flex-wrap:wrap;justify-content:flex-end;gap:8px}
@media(max-width:650px){.landing-top{align-items:flex-start;gap:12px}.landing-top>.row{max-width:190px}.landing-top .pill{display:none}.landing-contact{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}.quick-guide-grid{grid-template-columns:1fr;gap:10px}.guide-lead{font-size:14px}}
