@font-face{font-family:Oxanium;src:url('assets/oxanium.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ground:#514f48;--surface:#fffdf7;--ink:#292b2c;--muted:#626159;--line:#d8d7ce;--accent:#bb3b23;--red:#e74f30;--soft:#f0efe6;--green:#226653;--radius:12px}
body{background:#514f48}::selection{background:#ffcd6b;color:#292b2c}*{scrollbar-color:#8e8b7e #e6e3d7;scrollbar-width:thin}input,textarea{caret-color:var(--accent)}:focus-visible{outline:3px solid #207b9b;outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:#207b9b;outline-color:#207b9b}h1,h2,h3,.brand,.terminal-tile,.mobile-title{font-family:Oxanium,Ranger,sans-serif}h1{font-weight:750;font-size:34px;letter-spacing:-.03em;text-wrap:balance}h2{font-size:21px;font-weight:700;letter-spacing:-.02em}h3{font-size:16px}p{max-width:75ch}button{font-weight:600;border-color:#b7b5aa;min-height:42px;border-radius:8px}button.primary{background:var(--accent);border-color:var(--accent)}button.primary:hover{background:#9e301d}button:disabled{cursor:not-allowed;opacity:.65}button:active{transform:scale(.98)}button.danger{color:#a42e1d}.badge{border-radius:5px;font-weight:600}.type-Normal{background:#eae8e0;color:#555149}.type-Ground{background:#f1dfb4;color:#75511c}.type-Flying{background:#e9e8fa;color:#514982}.type-Bug{background:#e9efce;color:#4b6115}.type-Rock{background:#ede5cd;color:#705923}
.shell{grid-template-columns:220px minmax(0,1fr);padding:10px;gap:0}.sidebar{height:calc(100vh - 20px);top:10px;background:#39372f;padding:22px 14px;border-radius:16px 0 0 16px;overflow:auto}.brand{color:#fffdf6;font-size:21px;gap:9px;letter-spacing:-.04em}.brand img{background:#fff7dc;border:3px solid #fff7dc;border-radius:50%;width:40px;height:40px}.navgroup{color:#d2cdbb;letter-spacing:.03em;font-size:11px;margin:25px 10px 10px}nav{gap:5px}nav a{color:#eeeadd;font-size:13px;padding:9px 10px;min-height:42px;border-radius:9px;gap:10px}nav a svg{width:23px;height:23px;stroke-width:2}nav a:hover{background:#575247;color:#fff}nav a.active{background:#e74f30;color:#fff;font-weight:700}nav a.active svg{color:#fff}.sidebar-foot{color:#c4c0ae;padding:24px 10px 6px;font-size:10px}.sidebar-foot strong{color:#ffce74}.topbar{color:#fff9eb;background:#39372f;height:66px;padding:0 28px;border-radius:0 16px 0 0}.topbar small{color:#eeeadd}.topbar .ghost{color:#fff}.topbar .ghost:hover{background:#575247}.avatar{background:#f2c768;color:#473b1f}.workspace{margin:0;min-height:calc(100vh - 86px);border:6px solid #39372f;border-top:0;border-radius:0 0 16px 0;background:#f9f7ef;padding:30px}.pagehead{margin-bottom:26px}.pagehead p{font-size:13px}.panel{background:#fffdf7;border:1px solid #d5d2c5;border-radius:12px}.panel-head{margin-bottom:16px}.empty{background:#efeee4;border:1px dashed #c4c0af;border-radius:12px}.empty.compact{border:0;padding:25px 16px}.notice{background:#e5efe6;color:#23523b}.error{background:#ffebe5;color:#982c1b}.tabs{gap:8px;border-bottom:3px solid #39372f;padding-bottom:0}.tabs button{background:#e8e4d7;padding:12px 18px;border-radius:9px 9px 0 0}.tabs button.active{background:#e74f30;color:#fff;border:0}.method{background:#e7e2d5;padding:5px}.method button.active{background:#fffdf7;color:#a2321c}.catalog{gap:18px}.dexcard{background:#fffdf7;border:2px solid #c8c5b7;border-radius:14px;padding:14px;overflow:hidden}.dexcard .number{font-family:Oxanium,Ranger,sans-serif;font-weight:600;color:#696458}.dexcard img{height:145px;background:radial-gradient(ellipse at center,#eaece1 0,#eaece1 52%,transparent 53%);transition:transform .18s ease-out}.dexcard:hover{background:#fffdf7;border-color:#c34329}.dexcard:hover img{transform:translateY(-3px)}.dexcard h3{font-size:17px;margin-top:5px}.poke{border:2px solid #c7c2b4;border-radius:14px;background:#fffdf7}.poke-head{background:#eae7da}.dots i.on{background:#c0442a}.poke-body{background:#fffdf7}.scan{border-color:#bc432b}.scan:after{border-color:#d9c3a8}.formfooter{background:#fffdf7}.sheet-tools{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.photo-edit{display:block;max-width:100%;width:240px;height:240px;object-fit:contain;margin:0 auto 24px}dialog{background:#fffdf7;border:4px solid #39372f;border-radius:16px;padding:26px;box-shadow:0 20px 70px #17161066}dialog::backdrop{background:#25241ccc}dialog .dialog-head h2{font-size:25px}input,select,textarea{background:#fffefa;border-color:#bcb7a7}input::placeholder,textarea::placeholder{color:#6b685e}#toast{background:#303d34;color:#fff9e8;box-shadow:0 8px 25px #18181133;z-index:100}
.ranger-hero{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:300px;align-items:center;gap:30px;background:#514f48;border:5px solid #39372f;color:#fffdf5;border-radius:15px;padding:30px 36px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:42px;line-height:1.16;text-transform:uppercase;letter-spacing:-.035em}.hero-copy p{color:#ece8d8;font-size:13px;margin:20px 0 22px;line-height:1.75}.hero-copy .primary{background:#b63822;border-color:#f17754}.hero-partner{position:relative;height:260px;display:grid;place-items:center}.hero-partner img{height:270px;width:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 12px 10px #19181344)}.hero-orbit{position:absolute;width:245px;height:245px;border:26px solid #6a675b;border-radius:50%;transform:rotate(-18deg)}.hero-orbit:before{content:'';position:absolute;width:225px;height:24px;background:#6a675b;top:85px;left:-16px}.hero-orbit:after{content:'';position:absolute;width:65px;height:65px;border:18px solid #6a675b;background:#514f48;border-radius:50%;left:47px;top:47px}.terminal-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px}.terminal-tile{background:#e74f30;border:5px solid #39372f;border-radius:16px;color:#fffdf4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:130px;text-transform:uppercase;text-align:center;font-size:14px;transition:background .15s,transform .15s}.terminal-tile svg{width:46px;height:46px;stroke-width:2}.terminal-tile:hover{background:#c43e24;transform:translateY(-2px)}.terminal-tile strong{text-shadow:0 1px 1px #6d201d}.nav-orb{width:42px;height:42px;display:grid;place-items:center;background:#f7dfcf;color:#a6321e;border-radius:50%}.nav-orb svg{width:25px;height:25px}
.move-list{border:2px solid #c7c2b4;border-radius:12px;overflow:hidden;background:#fffdf7}.move-accordion{border-bottom:1px solid #d8d4c6;background:#fffdf7}.move-accordion:last-child{border-bottom:0}.move-accordion>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;min-height:62px}.move-accordion>summary::-webkit-details-marker{display:none}.move-accordion>summary:hover{background:#efecdf}.move-accordion>summary>strong{font-size:14px;flex:1}.move-tags{display:flex;align-items:center;gap:10px}.move-tags>small{min-width:58px}.chevron{border:solid #5d5a50;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);margin-left:4px;transition:transform .15s}.move-accordion[open] .chevron{transform:rotate(225deg)}.move-accordion[open]>summary{background:#eee8d8}.move-content{padding:2px 18px 18px}.move-content .move-row{border:0;padding-top:12px}.move-content .move-row p{font-size:13px;color:#343830}.move-content .roll{font-size:12px;line-height:1.7;color:#50584d}.original{margin-top:12px;font-size:12px;color:#5e6157}.original summary{cursor:pointer;padding:5px 0}.original p{margin-top:10px}.search-combo{position:relative;flex:1;max-width:430px;min-width:220px}.search-combo input{max-width:none!important}.suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:5;border:1px solid #aca899;border-radius:10px;background:#fffdf7;box-shadow:0 12px 26px #27231b2a;overflow:hidden}.suggestions button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-radius:0;padding:8px 12px;font-weight:400}.suggestions button[aria-selected=true]{background:#f2e2be}.suggestions img{width:38px;height:38px;object-fit:contain}.suggestions small{margin-left:auto}.suggestions span{min-width:0;overflow-wrap:anywhere}
.roster-search{max-width:430px;flex:1}.privacy-note{display:flex;align-items:center;gap:6px;font-size:12px;color:#676253}.roster-list{display:grid;gap:22px}.player-section{border-bottom:2px solid #d3cdbd;padding:6px 0 26px}.trainer-card{border:2px solid #c7c2b4;background:#fffdf7;border-radius:14px;margin-top:16px;overflow:hidden}.trainer-card>header{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#ede9dc}.trainer-card>header>.badge{margin-left:auto}.trainer-card header p{font-size:12px;color:#615c50;margin-top:5px}.trainer-emblem{height:54px;width:54px;border-radius:50%;display:grid;place-items:center;background:#b93c25;color:#fff9e8;flex:none}.trainer-emblem svg{width:32px;height:32px;stroke-width:1.8}.team-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:18px 20px}.team-slots button,.empty-slot{height:110px;background:#f1f0e6;border:1px solid #d9d4c4;border-radius:10px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.team-slots button img{height:72px;max-width:100%;object-fit:contain}.team-slots button span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;text-align:center}.empty-slot{border-style:dashed;color:#c0bcae}.empty-slot svg{width:32px;height:32px}.trainer-card>footer{padding:14px 20px;display:flex;gap:16px;justify-content:space-between;align-items:center;border-top:1px solid #ddd7c8;flex-wrap:wrap}.journal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:26px}.section-title{margin-bottom:18px}.journal-entry{background:#fffdf7;border:1px solid #cfc9b8;border-radius:12px;padding:24px;margin-bottom:22px}.journal-entry header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.session-stamp{display:flex;align-items:center;gap:8px;font-size:11px;color:#8c321f;font-weight:600}.session-stamp svg{width:17px;height:17px}.journal-entry h2{margin-bottom:16px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.dossier{border:2px solid #bab6a6;background:#fffdf7;border-radius:12px;padding:18px;margin-top:16px;overflow:hidden}.dossier header{display:flex;gap:12px;align-items:center;margin-bottom:16px}.dossier h3{font-size:18px;overflow-wrap:anywhere}.dossier h4{font-size:12px;margin:22px 0 12px}.dossier header small{display:block;margin-top:6px;font-size:10px}.npc-photo{width:75px;height:85px;object-fit:cover;border:2px solid #c5beaa;border-radius:8px;flex:none}.known-pokemon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.known-pokemon>div{display:flex;flex-direction:column;text-align:center;gap:4px;align-items:center;font-size:11px;min-width:0;overflow-wrap:anywhere}.known-pokemon img{width:75px;height:70px;max-width:100%;object-fit:contain}.known-pokemon small{font-size:10px}.known-pokemon>p{grid-column:1/-1}.share-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.share-layout>section{min-width:0}.reveal-list{max-height:350px;overflow:auto;margin-top:12px}.reveal-list label{padding:8px 0;border-bottom:1px solid #e6dfd0;gap:12px}.reveal-list img{width:45px;height:45px;object-fit:contain}.reveal-list small{display:block;font-size:11px;margin-top:3px}.preview-sharing{padding:20px 22px;background:#f4eddd;border-top:1px solid #d1c6b0}.preview-reveal{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.preview-reveal label{background:#fffdf7;border:1px solid #c5bba7;padding:8px 10px;border-radius:8px;font-size:12px}.preview-reveal img{width:35px;height:35px;object-fit:contain}.storage-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.storage-grid>section{min-width:0}.storage-list{max-height:520px;overflow:auto}.storage-pokemon{display:grid;grid-template-columns:50px minmax(0,1fr);gap:8px;border-bottom:1px solid var(--line);padding:12px 0}.storage-pokemon>img{width:50px;height:50px;object-fit:contain}.storage-pokemon>div{min-width:0;overflow-wrap:anywhere}.storage-pokemon small{display:block;margin-top:6px;font-size:10px}.storage-pokemon .actions{grid-column:1/-1;margin-left:58px;gap:5px}.storage-pokemon button{min-height:34px;font-size:10px;padding:7px 9px}
@media(min-width:1500px){.workspace{padding:36px 42px}.ranger-hero{grid-template-columns:1fr 350px}.hero-copy h1{font-size:50px}.hero-partner{height:300px}.hero-partner img{height:310px}.terminal-tile{min-height:150px}}
@media(max-width:1150px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:20px 10px}.brand{font-size:18px}.workspace{padding:24px}.ranger-hero{padding:28px 24px;grid-template-columns:1fr 220px;gap:12px}.hero-copy h1{font-size:35px}.hero-partner img{height:235px}.hero-orbit{width:210px;height:210px;border-width:20px}.hero-orbit:before{width:190px;top:70px;left:-10px}.hero-orbit:after{width:55px;height:55px;left:40px;top:40px;border-width:16px}.terminal-tile{font-size:12px;min-height:120px}.terminal-menu{gap:9px}.journal-layout{grid-template-columns:1fr}.team-slots{gap:6px}.team-slots button,.empty-slot{height:94px}.team-slots button img{height:60px}}
@media(max-width:800px){.shell{display:block;padding:0}.sidebar{top:62px;height:calc(100vh - 62px);border-radius:0;background:#39372f}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-foot{margin-top:20px}.topbar{height:62px;border-radius:0;padding:0 12px}.topbar .menu,.mobile-title{color:#fffdf6}.topbar .menu:hover{background:#575247}.workspace{border-width:0;border-radius:0;min-height:calc(100vh - 62px);padding:22px 18px}.ranger-hero{grid-template-columns:1fr 180px;min-height:260px;padding:24px}.hero-copy h1{font-size:32px}.hero-partner{height:210px}.hero-partner img{height:220px}.hero-orbit{transform:scale(.8)}.terminal-tile{min-height:110px;font-size:11px;border-width:4px;border-radius:12px}.terminal-tile svg{width:34px;height:34px}.pagehead h1{font-size:29px}.pagehead .actions{justify-content:flex-end}.share-layout{grid-template-columns:1fr}.storage-grid{gap:18px}.search-combo{max-width:none}.trainer-card>footer .actions{width:100%}.trainer-card>footer button{flex:1}.toolbar{flex-wrap:wrap}.privacy-note{font-size:11px}}
@media(max-width:480px){.ranger-hero{grid-template-columns:minmax(0,1fr);padding:25px 21px;min-height:300px}.hero-copy h1{font-size:32px;max-width:220px}.hero-copy p{max-width:190px;font-size:12px}.hero-partner{position:absolute;right:-38px;bottom:52px;width:175px;opacity:.95}.hero-partner img{height:180px}.hero-orbit{display:none}.hero-copy button{max-width:100%;font-size:12px}.terminal-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.terminal-tile{min-height:100px;gap:10px;font-size:11px}.terminal-tile:nth-last-child(-n+2){min-height:90px}.terminal-tile svg{width:32px;height:32px}.pagehead{flex-direction:column;align-items:flex-start}.pagehead .actions{justify-content:flex-start}.catalog{gap:10px}.dexcard{padding:12px}.dexcard img{height:115px}.dexcard .number{font-size:10px}.dexcard h3{font-size:15px}.move-accordion>summary{padding:15px 12px;gap:7px;flex-wrap:wrap}.move-accordion>summary strong{font-size:13px}.move-tags{gap:5px}.move-tags small{font-size:10px;min-width:0}.move-content{padding:2px 13px 16px}.search-combo{min-width:100%;width:100%}.team-slots{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.trainer-card>header{padding:14px;gap:10px}.trainer-card header h2{font-size:18px}.trainer-card header .badge{font-size:9px}.trainer-card>footer{padding:12px 14px}.trainer-card>footer button{font-size:10px;padding:8px}.trainer-emblem{height:44px;width:44px}.trainer-emblem svg{height:27px;width:27px}.storage-grid{grid-template-columns:1fr}.storage-list{max-height:350px}.journal-entry{padding:19px}.journal-entry h2{font-size:20px}.share-layout{gap:24px}dialog{padding:18px;border-width:3px}.preview-sharing{padding:16px}.topbar .identity>button{font-size:11px;padding:8px}.mobile-title{font-size:16px}.topbar{gap:6px}.topbar .identity{gap:6px}.formfooter{bottom:-18px}.ranger-hero .primary{min-height:44px}.hero-copy p{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.dexcard img,.terminal-tile{transition:none;transform:none!important}}
@media print{.shell{display:block;padding:0}.workspace{border:0;background:white}.sheet-tools{display:none}.move-accordion>summary{display:none}.move-accordion .move-content{display:block}.ranger-hero{background:white;color:black}}
.learnset-move{padding:10px 0;border-bottom:1px solid var(--line)}.learnset-move>.badge{margin:0 18px 4px}.learnset-move .move-accordion{border:0}.move-choice{border-bottom:1px solid var(--line);padding-top:8px}.move-choice>label{padding:0 10px}.move-choice .move-accordion>summary{min-height:42px;padding:10px}.move-choice .move-accordion>summary strong{font-size:12px}.selected-moves{max-height:360px}
