/* ─────────────────────────────────────────────
   profile.css  —  styles for profile page
   ───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--moss:#2d4a2f;--fern:#4a7c4e;--sage:#8aad8c;--mist:#c8ddc9;--cream:#f5f0e8;--soil:#3a2e1e;--amber:#c8921a;--glass:rgba(200,221,201,0.15);--glass-border:rgba(138,173,140,0.3);--nav:92px;}
html{scroll-behavior:smooth;}
body{background:#0e1a0f;color:var(--cream);font-family:'Cormorant Garamond',serif;overflow-x:hidden;cursor:none;margin-left:var(--nav);min-height:100vh;}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 80%,rgba(45,74,47,.6) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 20% 30%,rgba(74,124,78,.15) 0%,transparent 60%),radial-gradient(ellipse 30% 40% at 80% 20%,rgba(138,173,140,.1) 0%,transparent 50%),#0e1a0f;pointer-events:none;z-index:-3;}
body::after{content:'';position:fixed;inset:0;background:repeating-linear-gradient(90deg,transparent 0px,transparent 119px,rgba(138,173,140,.028) 120px,rgba(138,173,140,.028) 121px),repeating-linear-gradient(0deg,transparent 0px,transparent 119px,rgba(138,173,140,.018) 120px,rgba(138,173,140,.018) 121px);pointer-events:none;z-index:-2;}
.noise{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");}
.leaf{position:fixed;pointer-events:none;z-index:-1;opacity:.055;}
.leaf-1{top:-8%;right:-3%;width:520px;animation:sway 9s ease-in-out infinite;}
.leaf-2{bottom:-12%;left:-6%;width:620px;animation:sway 11s ease-in-out infinite reverse;}
@keyframes sway{0%,100%{transform:rotate(0deg) scale(1)}33%{transform:rotate(3deg) scale(1.02)}66%{transform:rotate(-2deg) scale(.98)}}
.cursor{position:fixed;width:10px;height:10px;background:var(--sage);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:screen;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid var(--sage);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:0.5;}
.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--nav);background:rgba(8,18,10,.9);border-right:1px solid var(--glass-border);backdrop-filter:blur(20px);z-index:200;display:flex;flex-direction:column;align-items:center;}
.sidebar-scroll{width:100%;flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 0 12px;scrollbar-width:none;display:flex;flex-direction:column;align-items:center;}
.sidebar-scroll::-webkit-scrollbar{display:none;}
.side-logo{width:52px;height:52px;margin:0 auto 24px;border:1px solid rgba(200,146,26,.45);border-radius:12px;display:grid;place-items:center;background:rgba(20,35,20,.8);font-family:'Playfair Display',serif;font-size:1rem;letter-spacing:.1em;color:var(--mist);text-decoration:none;transition:border-color .2s;}
.side-logo:hover{border-color:var(--amber);}
.side-item{position:relative;width:100%;height:68px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--sage);margin:3px 0;transition:.22s ease;}
.side-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(20,35,22,.7);border:1px solid rgba(138,173,140,.18);box-shadow:inset 0 0 12px rgba(0,0,0,.5);transition:.22s;}
.side-icon svg{width:22px;height:22px;fill:none;stroke:var(--sage);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:.22s;}
.side-item:hover .side-icon,.side-item.active .side-icon{border-color:rgba(138,173,140,.55);background:rgba(45,74,47,.35);}
.side-item:hover .side-icon svg,.side-item.active .side-icon svg{stroke:var(--cream);}
.side-item.active::after{content:'';position:absolute;right:0;top:14px;bottom:14px;width:3px;background:var(--sage);}
.side-label{position:absolute;left:calc(var(--nav) + 8px);top:50%;transform:translate(-6px,-50%);opacity:0;pointer-events:none;white-space:nowrap;background:rgba(8,18,10,.96);border:1px solid var(--glass-border);padding:.6rem 1rem;font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);box-shadow:0 10px 24px rgba(0,0,0,.35);transition:.2s;z-index:300;}
.side-item:hover .side-label{opacity:1;transform:translate(0,-50%);}
.side-divider{width:32px;height:1px;background:var(--glass-border);margin:6px auto;}
.side-rules{width:100%;padding:16px 0 20px;display:flex;flex-direction:column;align-items:center;}
.rules-link{font-family:DM Mono,monospace;font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mist);opacity:.35;text-decoration:none;transition:opacity .2s;padding:.5rem;}
.rules-link:hover{opacity:.75;}
.top-utils{position:fixed;right:28px;top:22px;z-index:80;display:flex;align-items:center;gap:12px;}
.search-pill{width:220px;height:40px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(200,221,201,.08);backdrop-filter:blur(10px);padding:0 1rem;color:var(--mist);font-family:DM Mono,monospace;font-size:.62rem;outline:none;}
.discord-btn{font-family:DM Mono,monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(90deg,#c8921a,#e0a820);color:var(--soil);padding:.72rem 1.4rem;border-radius:999px;font-weight:700;border:0;cursor:none;}
.user-pill{position:relative;display:flex;align-items:center;gap:.65rem;background:rgba(200,221,201,.08);border:1px solid var(--glass-border);border-radius:999px;padding:.4rem .9rem .4rem .4rem;cursor:none;}
.user-pill img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--glass-border);}
.user-pill-name{font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.12em;color:var(--mist);}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#0a1a0b;border:1px solid var(--glass-border);border-radius:10px;min-width:160px;overflow:hidden;display:none;z-index:300;}
.user-dropdown a,.user-dropdown button{display:block;width:100%;text-align:left;font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);padding:.75rem 1rem;background:transparent;border:none;text-decoration:none;cursor:none;transition:background .2s;}
.user-dropdown a:hover,.user-dropdown button:hover{background:rgba(138,173,140,.08);color:var(--cream);}
.dd-divider{height:1px;background:var(--glass-border);margin:2px 0;}
.discord-connect-banner{background:rgba(88,101,242,.1);border:1px solid rgba(88,101,242,.3);border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:none;align-items:center;justify-content:space-between;gap:1rem;}
.discord-connect-banner p{font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);opacity:.7;}
.discord-connect-btn{font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;background:#5865F2;color:#fff;padding:.6rem 1.2rem;border:none;border-radius:999px;cursor:none;white-space:nowrap;flex-shrink:0;}
.page-wrap{width:min(1100px,calc(100vw - var(--nav) - 64px));margin:0 auto;padding:5rem 0 5rem;}
.page-eyebrow{font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--fern);margin-bottom:.8rem;}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,4.5rem);line-height:1;color:var(--cream);margin-bottom:1.5rem;}
.page-title em{font-style:italic;color:var(--sage);}
.divider{width:60px;height:1px;background:var(--fern);margin:1.5rem 0 2.5rem;}
.not-linked{text-align:center;padding:4rem 2rem 2rem;}
.nl-icon{font-size:4.5rem;opacity:.15;margin-bottom:1.5rem;display:block;}
.nl-title{font-family:'Playfair Display',serif;font-size:2.5rem;color:var(--cream);margin-bottom:.8rem;}
.nl-sub{font-size:1.1rem;color:var(--mist);opacity:.6;font-style:italic;max-width:480px;margin:0 auto 2rem;line-height:1.6;}
.btn-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.5rem;}
.btn-primary{font-family:DM Mono,monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soil);background:var(--sage);padding:.9rem 2.2rem;border:none;cursor:none;text-decoration:none;display:inline-block;border-radius:999px;transition:background .3s;}
.btn-primary:hover{background:var(--mist);}
.btn-secondary{font-family:DM Mono,monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);background:transparent;padding:.9rem 2.2rem;border:1px solid var(--glass-border);cursor:none;text-decoration:none;display:inline-block;border-radius:999px;transition:all .3s;}
.btn-secondary:hover{border-color:var(--sage);color:var(--cream);}
.newbie-header{display:flex;align-items:center;gap:1.5rem;padding:2rem 2.5rem;background:rgba(9,22,11,.6);border:1px solid var(--glass-border);border-radius:18px;margin-bottom:2rem;}
.newbie-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--moss),var(--fern));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--cream);border:1px solid var(--glass-border);flex-shrink:0;}
.newbie-name{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--cream);}
.newbie-tag{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);opacity:.6;margin-top:.2rem;}
.welcome-badge{margin-left:auto;font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(200,146,26,.35);padding:.35rem .9rem;background:rgba(200,146,26,.06);border-radius:4px;}
.guide-title{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--fern);margin-bottom:1.2rem;}
.checklist{display:flex;flex-direction:column;gap:.75rem;margin-bottom:3rem;}
.check-item{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.5rem;border:1px solid var(--glass-border);background:rgba(9,22,11,.5);border-radius:10px;transition:background .2s;}
.check-item.done{background:rgba(45,74,47,.15);border-color:rgba(138,173,140,.35);}
.check-box{width:22px;height:22px;border-radius:50%;border:1px solid var(--glass-border);display:grid;place-items:center;flex-shrink:0;font-size:.75rem;}
.check-item.done .check-box{background:var(--fern);border-color:var(--fern);color:var(--cream);}
.check-label{font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mist);opacity:.6;flex:1;}
.check-item.done .check-label{color:var(--cream);opacity:.8;}
.check-xp{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);opacity:.5;}
.check-item.done .check-xp{color:var(--amber);opacity:.8;}
.guide-dismiss{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);opacity:.3;background:transparent;border:none;cursor:none;padding:.5rem;transition:opacity .2s;}
.guide-dismiss:hover{opacity:.65;}
.profile-top{display:flex;align-items:flex-start;gap:2rem;margin-bottom:2.5rem;}
.profile-avatar-lg{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--moss),var(--fern));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:2rem;color:var(--cream);border:2px solid var(--glass-border);flex-shrink:0;overflow:hidden;}
.profile-info{flex:1;}
.profile-name-lg{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--cream);}
.profile-meta{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);opacity:.55;margin-top:.25rem;}
.profile-level-bar{margin-top:1rem;max-width:400px;}
.level-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;}
.level-label{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--cream);}
.level-xp{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.15em;color:var(--mist);opacity:.5;}
.xp-bar-bg{height:6px;background:rgba(138,173,140,.12);border-radius:3px;}
.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--fern),var(--sage));border-radius:3px;transition:width .8s ease;}
.xp-next{font-family:DM Mono,monospace;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);opacity:.7;margin-top:.4rem;}
.profile-tabs{display:flex;gap:0;border-bottom:1px solid var(--glass-border);margin-bottom:2.5rem;overflow-x:auto;}
.profile-tab{font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);padding:.9rem 1.4rem;border:none;background:transparent;cursor:none;border-bottom:2px solid transparent;transition:all .25s;white-space:nowrap;opacity:.5;}
.profile-tab:hover{opacity:1;}
.profile-tab.active{color:var(--cream);border-bottom-color:var(--fern);opacity:1;background:rgba(45,74,47,.08);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.activity-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2rem;}
.activity-card{background:rgba(9,22,11,.62);border:1px solid rgba(138,173,140,.22);padding:1.5rem;border-radius:14px;border-top:2px solid var(--fern);}
.activity-card strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;color:var(--amber);margin-bottom:.2rem;font-variant-numeric:slashed-zero;}
.activity-card span{font-family:DM Mono,monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);opacity:.5;}
.current-dino-card{background:rgba(9,22,11,.62);border:1px solid rgba(138,173,140,.22);padding:2rem;border-radius:14px;}
.current-dino-label{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--fern);margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem;}
.current-dino-label::before{content:'◆';font-size:.5rem;}
.no-dino{font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mist);opacity:.3;text-align:center;padding:1.5rem;}
.dino-slot{border:1px solid var(--glass-border);background:rgba(9,22,11,.5);padding:1.5rem 2rem;margin-bottom:1rem;display:flex;align-items:center;gap:2rem;transition:background .3s;position:relative;border-radius:12px;}
.dino-slot:hover{background:rgba(45,74,47,.15);}
.dino-slot::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fern);border-radius:12px 0 0 12px;}
.dino-slot.prime::before{background:var(--amber);}
.dino-species{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--cream);flex:1;}
.dino-species span{display:block;font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.15em;color:var(--sage);opacity:.5;margin-top:.2rem;}
.dino-growth-num{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--sage);}
.dino-growth-num.prime{color:var(--amber);}
.growth-bar{background:rgba(138,173,140,.1);height:2px;margin-top:.3rem;border-radius:1px;width:70px;}
.growth-fill{background:var(--sage);height:100%;border-radius:1px;}
.growth-fill.prime{background:var(--amber);}
.prime-badge{font-family:DM Mono,monospace;font-size:.56rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(200,146,26,.35);padding:.22rem .65rem;background:rgba(200,146,26,.06);border-radius:4px;}
.coming-panel{border:1px solid var(--glass-border);padding:4rem 2rem;text-align:center;border-radius:14px;background:rgba(9,22,11,.4);}
.coming-panel p{font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);opacity:.28;}
/* Viewed player profile */
.view-header{display:flex;align-items:flex-start;gap:2rem;margin-bottom:2.5rem;padding:2rem 2.5rem;background:rgba(9,22,11,.6);border:1px solid var(--glass-border);border-radius:18px;}
.view-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--moss),var(--fern));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--cream);border:2px solid var(--glass-border);flex-shrink:0;}
.view-name{font-family:'Playfair Display',serif;font-size:2rem;color:var(--cream);}
.view-meta{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);opacity:.5;margin-top:.25rem;}
.view-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;}
.view-btn{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:.6rem 1.3rem;border:1px solid;cursor:none;transition:all .15s;}
.view-btn-friend{background:rgba(45,74,47,.15);border-color:rgba(138,173,140,.35);color:var(--sage);}
.view-btn-friend:hover{background:rgba(45,74,47,.3);}
.view-btn-bones{background:rgba(58,46,30,.2);border-color:rgba(200,146,26,.3);color:var(--amber);}
.view-btn-bones:hover{background:rgba(58,46,30,.35);}
.view-btn-dino{background:rgba(30,20,50,.2);border-color:rgba(120,80,180,.3);color:#b08ad8;}
.view-btn-dino:hover{background:rgba(30,20,50,.35);}
.view-back{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);opacity:.5;background:transparent;border:1px solid var(--glass-border);padding:.5rem 1rem;border-radius:6px;cursor:none;margin-bottom:1.5rem;transition:opacity .2s;text-decoration:none;display:inline-block;}
.view-back:hover{opacity:.9;}
.view-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem;}
.view-stat{background:rgba(9,22,11,.62);border:1px solid rgba(138,173,140,.22);padding:1.5rem;border-radius:14px;border-top:2px solid var(--fern);}
.view-stat strong{display:block;font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--amber);margin-bottom:.2rem;}
.view-stat span{font-family:DM Mono,monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);opacity:.5;}
.view-dino-row{background:rgba(9,22,11,.62);border:1px solid rgba(138,173,140,.22);padding:1.5rem 2rem;border-radius:14px;display:flex;align-items:center;gap:1.5rem;}
.view-dino-name{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--cream);flex:1;}
.view-dino-label{font-family:DM Mono,monospace;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);opacity:.45;margin-top:.2rem;}
/* Modals */
.tc-modal-bg{position:fixed;inset:0;background:rgba(3,8,3,.88);z-index:500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(12px);}
.tc-modal-bg.open{display:flex;}
.tc-modal{background:#0a1a0b;border:1px solid var(--glass-border);border-radius:16px;width:min(460px,92vw);padding:2.5rem;position:relative;}
.tc-modal-title{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--cream);margin-bottom:.4rem;}
.tc-modal-sub{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);opacity:.5;margin-bottom:1.8rem;}
.tc-modal-close{position:absolute;top:1.2rem;right:1.2rem;background:transparent;border:1px solid var(--glass-border);color:var(--sage);font-family:DM Mono,monospace;font-size:.6rem;padding:.35rem .75rem;cursor:none;border-radius:4px;}
.tc-modal-close:hover{border-color:var(--sage);}
.tc-input-label{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);opacity:.5;margin-bottom:.5rem;display:block;}
.tc-input{width:100%;height:44px;background:rgba(200,221,201,.06);border:1px solid var(--glass-border);border-radius:8px;padding:0 1rem;color:var(--cream);font-family:DM Mono,monospace;font-size:.75rem;outline:none;margin-bottom:1rem;}
.tc-input:focus{border-color:var(--sage);}
.tc-quick-btns{display:flex;gap:.5rem;margin-bottom:1.5rem;}
.tc-quick-btn{font-family:DM Mono,monospace;font-size:.6rem;letter-spacing:.12em;background:rgba(200,221,201,.06);border:1px solid var(--glass-border);color:var(--sage);padding:.45rem .9rem;border-radius:6px;cursor:none;transition:all .15s;}
.tc-quick-btn:hover{background:rgba(200,221,201,.12);border-color:var(--sage);}
.tc-submit-btn{width:100%;height:44px;background:var(--fern);border:none;border-radius:8px;color:var(--cream);font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;cursor:none;transition:background .2s;}
.tc-submit-btn:hover{background:var(--sage);color:var(--soil);}
.tc-submit-btn:disabled{opacity:.4;}
.tc-dino-option{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--glass-border);border-radius:10px;background:rgba(9,22,11,.5);margin-bottom:.6rem;cursor:none;transition:all .15s;}
.tc-dino-option:hover{background:rgba(45,74,47,.2);border-color:rgba(138,173,140,.4);}
.tc-dino-option.selected{border-color:var(--fern);background:rgba(45,74,47,.25);}
.tc-dino-option-name{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--cream);flex:1;}
.tc-dino-option-meta{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.12em;color:var(--sage);opacity:.5;}
.tc-msg{font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;display:none;}
.tc-msg.success{background:rgba(45,74,47,.25);border:1px solid rgba(138,173,140,.3);color:var(--sage);display:block;}
.tc-msg.error{background:rgba(120,30,30,.25);border:1px solid rgba(180,60,60,.3);color:#d08080;display:block;}

.logout-btn{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);opacity:.35;background:transparent;border:1px solid var(--glass-border);padding:.5rem 1rem;cursor:none;border-radius:6px;transition:opacity .2s;margin-left:auto;}
.logout-btn:hover{opacity:.75;}
footer{border-top:1px solid var(--glass-border);padding:2rem 0;display:flex;align-items:center;justify-content:space-between;width:min(1100px,calc(100vw - var(--nav) - 64px));margin:0 auto;}
.footer-logo{font-family:'Playfair Display',serif;font-size:.9rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mist);opacity:.3;}
.footer-copy{font-family:DM Mono,monospace;font-size:.55rem;color:var(--mist);opacity:.22;}
@media(max-width:900px){:root{--nav:72px;}.activity-stats{grid-template-columns:1fr 1fr;}footer{flex-direction:column;gap:1rem;text-align:center;}}

/* Allies tab */
.allies-empty{text-align:center;padding:3rem 0;font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);opacity:.25;}
.allies-grid{display:flex;flex-direction:column;gap:.75rem;}
.ally-card{display:flex;align-items:center;gap:1.2rem;padding:1.1rem 1.4rem;background:rgba(9,22,11,.6);border:1px solid var(--glass-border);border-radius:14px;transition:border-color .2s;}
.ally-card:hover{border-color:rgba(138,173,140,.35);}
.ally-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--moss),var(--fern));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--cream);border:1px solid var(--glass-border);flex-shrink:0;position:relative;}
.ally-online-dot{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;border:2px solid #0a1a0b;}
.ally-online-dot.online{background:#4aaa4e;}
.ally-online-dot.offline{background:#4a4a4a;}
.ally-info{flex:1;min-width:0;}
.ally-name{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--cream);}
.ally-dino{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);opacity:.5;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ally-actions{display:flex;gap:.5rem;align-items:center;}
.ally-map-btn{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(45,74,47,.2);border:1px solid rgba(138,173,140,.25);color:var(--sage);padding:.4rem .8rem;border-radius:6px;cursor:none;transition:all .15s;text-decoration:none;white-space:nowrap;}
.ally-map-btn:hover{background:rgba(45,74,47,.4);border-color:rgba(138,173,140,.5);}
.ally-map-btn:disabled,.ally-map-btn.offline-btn{opacity:.3;pointer-events:none;}
.ally-toggle{position:relative;width:36px;height:20px;flex-shrink:0;}
.ally-toggle input{opacity:0;width:0;height:0;position:absolute;}
.ally-toggle-slider{position:absolute;inset:0;background:rgba(138,173,140,.15);border:1px solid var(--glass-border);border-radius:999px;cursor:none;transition:.2s;}
.ally-toggle-slider:before{content:'';position:absolute;width:14px;height:14px;left:2px;top:50%;transform:translateY(-50%);background:var(--sage);border-radius:50%;transition:.2s;opacity:.4;}
.ally-toggle input:checked+.ally-toggle-slider{background:rgba(45,74,47,.4);border-color:var(--fern);}
.ally-toggle input:checked+.ally-toggle-slider:before{transform:translateY(-50%) translateX(16px);opacity:1;}
.allies-section-label{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--fern);margin-bottom:.75rem;margin-top:1.5rem;}
.allies-section-label:first-child{margin-top:0;}
.ally-remove-btn{font-family:'DM Mono',monospace;font-size:.55rem;background:transparent;border:none;color:var(--mist);opacity:.25;cursor:none;padding:.4rem;transition:opacity .15s;}
.ally-remove-btn:hover{opacity:.7;color:#d08080;}


.hidden { display: none; }
