/* OK ITHAKI V249526R10F34F1 — CLEAN PROFESSIONAL PROFILE FROM SCRATCH */
(function(){
'use strict';
window.ITHAKI_R10F34F1_PROFILE_FORCE_LOAD=true;
const I=()=>window.ITH=window.ITH||{};
const S=()=>window.state||I().state||{};
const $=id=>document.getElementById(id);
const esc=s=>String(s==null?'':s).replace(/[&<>"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]));
const uiLang=()=>String(localStorage.getItem('ith_global_language_r10f7')||localStorage.getItem('ith_ui_lang_v249141')||'el').startsWith('en')?'en':'el';
const tr=(el,en)=>uiLang()==='en'?en:el;
const nick=()=>String(S().name||localStorage.getItem('ith_name')||'');
function toast(m){try{if(typeof I().toast==='function')return I().toast(m,5500)}catch(e){} alert(m)}
function callAny(names,args=[]){for(const n of names){const f=I()[n]||window[n];if(typeof f==='function'){try{return f.apply(I(),args)}catch(e){console.warn(n,e)}}}return null}
function currentAvatar(){
 try{if(typeof I().avatarHtml==='function')return I().avatarHtml()}catch(e){}
 const n=nick()||tr('Μέλος','Member');return '<div class="r34AvatarFallback">'+esc(n.slice(0,1).toUpperCase())+'</div>';
}
function profileHost(){
 return $('screen-profile')||$('profilePage')||$('profile')||document.querySelector('section.screen[id*=profile],section[id*=profile],main[id*=profile],[data-screen=profile],[data-page=profile]');
}
function profileIsOpen(){
 const p=profileHost();
 if(!p)return false;
 if(document.body?.dataset?.page==='profile')return true;
 if(p.classList.contains('active')||p.classList.contains('show')||p.classList.contains('visible'))return true;
 const cs=getComputedStyle(p); return cs.display!=='none'&&cs.visibility!=='hidden'&&p.getClientRects().length>0;
}
function removeLegacyProfile(){
 const p=profileHost(); if(!p)return null;
 p.innerHTML=''; p.style.display=''; p.removeAttribute('hidden'); return p;
}
function saveProfileR34(){
 const name=($('r34Name')?.value||'').trim();
 const bio=($('r34Bio')?.value||'').trim();
 if(!name){toast(tr('Γράψε ένα όνομα ή ψευδώνυμο.','Enter a name or nickname.'));return}
 if(!$('r34Age')?.checked||!$('r34Policy')?.checked){toast(tr('Χρειάζεται επιβεβαίωση ηλικίας και αποδοχή πολιτικής.','Age confirmation and policy acceptance are required.'));return}
 localStorage.setItem('ith_name',name); localStorage.setItem('ith_profile_bio_r10f34',bio);
 localStorage.setItem('ith_age16','1'); localStorage.setItem('ith_policy_ok','1');
 S().name=name;S().age16=true;S().policyOk=true;
 callAny(['saveProfile','saveProfileNow','saveUnifiedAccount']);
 toast(tr('Το προφίλ αποθηκεύτηκε πρώτα στη συσκευή και έγινε συγχρονισμός όπου χρειάζεται.','The profile was saved locally first and synced where needed.'));
}
function openSheet(title,html){
 $('r34Sheet')?.remove();const x=document.createElement('div');x.id='r34Sheet';x.className='r34Sheet';
 x.innerHTML='<section class="r34SheetCard"><header><div><h2>'+title+'</h2><small>OK ITHAKI · '+tr('Προφίλ και έλεγχος δεδομένων','Profile and data control')+'</small></div><button id="r34SheetClose">×</button></header><main>'+html+'</main></section>';
 document.body.appendChild(x);$('r34SheetClose').onclick=()=>x.remove();x.onclick=e=>{if(e.target===x)x.remove()};return x;
}
function openLanguage(){
 const mode=localStorage.getItem('ith_translation_mode_r10f34')||'manual';
 const target=localStorage.getItem('ith_translation_target_r10f34')||(uiLang()==='el'?'en':'el');
 const x=openSheet('🌐 '+tr('Γλώσσα και μετάφραση','Language and translation'),`<div class="r34Form"><label>${tr('Γλώσσα εφαρμογής','App language')}</label><div class="r34Choice"><button data-ui="el">🇬🇷 Ελληνικά</button><button data-ui="en">🇬🇧 English</button></div><label>${tr('Μετάφραση συνομιλιών','Chat translation')}</label><div class="r34Choice"><button data-mode="auto" class="${mode==='auto'?'on':''}">${tr('Αυτόματη','Automatic')}</button><button data-mode="manual" class="${mode==='manual'?'on':''}">${tr('Χειροκίνητη','Manual')}</button></div><label>${tr('Γλώσσα μετάφρασης','Translation language')}</label><select id="r34Target"><option value="el" ${target==='el'?'selected':''}>Ελληνικά</option><option value="en" ${target==='en'?'selected':''}>English</option></select><p class="r34Hint">${tr('Προς το παρόν η εφαρμογή χρησιμοποιεί Ελληνικά και Αγγλικά και το εσωτερικό λεξικό.','For now the app uses Greek and English with the internal dictionary.')}</p></div>`);
 x.querySelectorAll('[data-ui]').forEach(b=>b.onclick=()=>{localStorage.setItem('ith_global_language_r10f7',b.dataset.ui);localStorage.setItem('ith_ui_lang_v249141',b.dataset.ui);document.documentElement.lang=b.dataset.ui;x.remove();render()});
 x.querySelectorAll('[data-mode]').forEach(b=>b.onclick=()=>{localStorage.setItem('ith_translation_mode_r10f34',b.dataset.mode);openLanguage()});
 $('r34Target').onchange=e=>localStorage.setItem('ith_translation_target_r10f34',e.target.value);
}
function openPolicy(){
 const f=I().openPolicyR10F26||I().openLegalPolicy;if(typeof f==='function')return f.call(I(),'privacy');
 openSheet('⚖️ '+tr('Πολιτική και όροι','Policy and terms'),`<div class="r34Text"><h3>${tr('Βασική αρχή','Core principle')}</h3><p>${tr('Η ΙΘΑΚΗ λειτουργεί με ψευδώνυμο και ελαχιστοποίηση δεδομένων, χωρίς υποχρεωτικό email ή τηλέφωνο για τη βασική χρήση.','ITHAKI uses a nickname and data minimisation, without mandatory email or phone for basic use.')}</p><h3>${tr('Δικαιώματα μέλους','Member rights')}</h3><p>${tr('Ενημέρωση, πρόσβαση, διόρθωση, διαγραφή, περιορισμός, φορητότητα και εναντίωση όπου εφαρμόζεται.','Information, access, correction, deletion, restriction, portability and objection where applicable.')}</p><h3>${tr('Όροι χρήσης','Terms of use')}</h3><p>${tr('Χρήση μόνο από 16+, νόμιμη συμπεριφορά και ευθύνη για το περιεχόμενο που ανεβαίνει.','Use by 16+ only, lawful conduct and responsibility for uploaded content.')}</p></div>`);
}
function openServerData(){
 const x=openSheet('🗄️ '+tr('Τι κρατά ο server','What the server keeps'),`<div class="r34Text"><p>${tr('Ο server κρατά μόνο τα ελάχιστα λειτουργικά δεδομένα για ροή, μηνύματα, επαφές, ειδοποιήσεις, ασφάλεια, όρια χρήσης και αντιμετώπιση κατάχρησης.','The server keeps only minimal operational data for feed, messages, contacts, notifications, security, limits and abuse prevention.')}</p><div id="r34Snapshot" class="r34Snapshot">${tr('Φόρτωση πραγματικής εικόνας δεδομένων…','Loading actual data snapshot…')}</div><p><b>${tr('Δεν κρατά απλό email, τηλέφωνο ή κωδικό ανάκτησης.','It does not keep plain email, phone or recovery password.')}</b></p></div>`);
 (async()=>{try{const api=I().api||window.api;if(typeof api!=='function')throw new Error('api');const q='?room_id='+encodeURIComponent(S().roomId||'ithaki-phone-test')+'&device_id='+encodeURIComponent(S().deviceId||localStorage.getItem('ith_device_id')||'');const r=await api('/api/privacy/server_snapshot'+q);$('r34Snapshot').innerHTML='<pre>'+esc(JSON.stringify(r,null,2))+'</pre>'}catch(e){$('r34Snapshot').textContent=tr('Η αναλυτική εικόνα δεν είναι διαθέσιμη τώρα.','Detailed snapshot is unavailable now.')}})();
}
function exportAccount(){const r=callAny(['exportAccountFileR10F26','exportAccountFileR10F25','exportAccountFileR10F24','exportAccount','saveAccountBackup']);if(!r)toast(tr('Δεν βρέθηκε ο μηχανισμός εξαγωγής στην τρέχουσα βάση.','Export mechanism was not found in the current base.'))}
function importAccount(){const r=callAny(['importAccountFileR10F26','importAccount','restoreAccountBackup']);if(!r){const f=$('accountImportInput')||$('restoreAccountInput');if(f)f.click();else toast(tr('Δεν βρέθηκε ο μηχανισμός εισαγωγής.','Import mechanism was not found.'))}}
function openBackup(){const x=openSheet('💾 '+tr('Αποθήκευση και ανάκτηση','Backup and recovery'),`<div class="r34Text"><h3>${tr('Ο server δεν ανακτά μόνος του το μέλος','The server cannot recover the member by itself')}</h3><p>${tr('Το ιδιωτικό αρχείο ανάκτησης κρατιέται από εσένα. Αποθήκευσέ το σε υπολογιστή και δεύτερο αντίγραφο σε USB stick ή δικό σου κρυπτογραφημένο χώρο.','You keep the private recovery file. Save it on a computer and a second copy on a USB drive or your own encrypted storage.')}</p><div class="r34Choice"><button id="r34Export">📦 ${tr('Εξαγωγή αρχείου','Export file')}</button><button id="r34Import">📥 ${tr('Εισαγωγή αρχείου','Import file')}</button></div><p class="r34DangerText">${tr('Χωρίς αυτό το αρχείο, μετά από απεγκατάσταση ή απώλεια συσκευής, η ίδια ταυτότητα μπορεί να μη γίνει τεχνικά δυνατή να επανέλθει.','Without this file, after uninstalling or losing the device, restoring the same identity may not be technically possible.')}</p></div>`);$('r34Export').onclick=exportAccount;$('r34Import').onclick=importAccount}
function openDelete(){const x=openSheet('🗑️ '+tr('Διαγραφή και έλεγχος','Deletion and control'),`<div class="r34Delete"><button id="r34DeleteServer"><b>${tr('Σβήσιμο όσων κρατά ο server','Delete what the server keeps')}</b><small>${tr('Στέλνει αίτημα διαγραφής των λειτουργικών δεδομένων του μέλους.','Sends a request to delete the member operational data.')}</small></button><button id="r34DeleteAccount" class="danger"><b>${tr('Διαγραφή λογαριασμού','Delete account')}</b><small>${tr('Διαγράφει την τοπική ταυτότητα και ζητά διαγραφή από την υπηρεσία.','Deletes local identity and requests deletion from the service.')}</small></button></div>`);const go=()=>{if(confirm(tr('Η ενέργεια δεν αναιρείται. Συνέχεια;','This cannot be undone. Continue?')))callAny(['deleteAccountData','requestAccountDeletion','deleteMyAccount'])};$('r34DeleteServer').onclick=go;$('r34DeleteAccount').onclick=go}
function openAdmin(){const r=callAny(['openAdministratorContactR10F32','openDirectAdminContactV249499','openAdminContact']);if(!r)toast(tr('Η άμεση επαφή δεν είναι διαθέσιμη σε αυτή τη φόρτωση.','Direct contact is unavailable in this load.'))}
function openCreator(){const r=callAny(['openProfessionalCreatorToolsV249496','openCreatorToolsV249383','openCreatorTools']);if(!r)toast(tr('Τα Εργαλεία Δημιουργού δεν είναι διαθέσιμα σε αυτή τη φόρτωση.','Creator Tools are unavailable in this load.'))}
function render(){
 const p=removeLegacyProfile();if(!p)return false;
 const bio=localStorage.getItem('ith_profile_bio_r10f34')||localStorage.getItem('ith_profile_bio_r10f33')||'';
 p.innerHTML=`<main class="r34Profile" data-r10f34f1-profile="1"><header class="r34Header"><button id="r34Back">‹</button><div><span>${tr('ΙΔΙΩΤΙΚΟ ΠΡΟΦΙΛ','PRIVATE PROFILE')}</span><h1>${tr('Το προφίλ μου','My profile')}</h1><p>${tr('Τα βασικά μπροστά. Οι λεπτομέρειες ανοίγουν μόνο όταν τις χρειάζεσαι.','Essentials first. Details open only when you need them.')}</p></div></header><section class="r34Identity"><div class="r34AvatarBox">${currentAvatar()}<div class="r34AvatarButtons"><button id="r34Camera">📷</button><button id="r34Photo">🖼️</button><button id="r34Avatar">🐾</button></div></div><div class="r34Fields"><label>${tr('Όνομα / ψευδώνυμο','Name / nickname')}<input id="r34Name" maxlength="40" value="${esc(nick())}" placeholder="${tr('Γράψε όνομα','Enter name')}"></label><label>${tr('Λίγα λόγια για εσένα — προαιρετικά','A few words about you — optional')}<textarea id="r34Bio" maxlength="180" placeholder="${tr('Μία σύντομη γραμμή…','One short line…')}">${esc(bio)}</textarea></label><button id="r34Language" class="r34Language">🌐 <span>${tr('Γλώσσα και μετάφραση','Language and translation')}</span><b>${uiLang()==='el'?'Ελληνικά':'English'} · ${tr('Άνοιγμα','Open')}</b></button></div></section><section class="r34Consent"><label><input id="r34Age" type="checkbox" ${S().age16||localStorage.getItem('ith_age16')==='1'?'checked':''}> ${tr('Επιβεβαιώνω ότι είμαι 16+.','I confirm I am 16+.')}</label><label><input id="r34Policy" type="checkbox" ${S().policyOk||localStorage.getItem('ith_policy_ok')==='1'?'checked':''}> ${tr('Αποδέχομαι την πολιτική, τους όρους και την τοπική μνήμη της συσκευής.','I accept the policy, terms and local device storage.')}</label><button id="r34Save" class="r34Gold">✅ ${tr('Αποθήκευση προφίλ','Save profile')}</button></section><section class="r34Quick"><button id="r34PolicyBtn">⚖️ <b>${tr('Πολιτική & όροι','Policy & terms')}</b><small>${tr('Απόρρητο, δικαιώματα, ασφάλεια','Privacy, rights, security')}</small></button><button id="r34DataBtn">🗄️ <b>${tr('Τι κρατά ο server','What the server keeps')}</b><small>${tr('Πραγματική εικόνα και έλεγχος','Actual snapshot and control')}</small></button><button id="r34BackupBtn">💾 <b>${tr('Αποθήκευση & ανάκτηση','Backup & recovery')}</b><small>${tr('Υπολογιστής, USB, εισαγωγή','Computer, USB, import')}</small></button><button id="r34DeleteBtn" class="danger">🗑️ <b>${tr('Διαγραφή','Deletion')}</b><small>${tr('Δεδομένα ή λογαριασμός','Data or account')}</small></button></section><section class="r34Work"><button id="r34Admin">💬 ${tr('Άμεση επαφή διαχειριστή','Direct administrator contact')}</button><button id="r34Creator" class="r34Gold">🛠️ ${tr('Εργαλεία δημιουργού','Creator tools')}</button></section></main>`;
 $('r34Back').onclick=()=>callAny(['page'],['home']);$('r34Language').onclick=openLanguage;$('r34Save').onclick=saveProfileR34;$('r34PolicyBtn').onclick=openPolicy;$('r34DataBtn').onclick=openServerData;$('r34BackupBtn').onclick=openBackup;$('r34DeleteBtn').onclick=openDelete;$('r34Admin').onclick=openAdmin;$('r34Creator').onclick=openCreator;
 $('r34Camera').onclick=()=>($('cameraInput')||$('profileCameraInput'))?.click();$('r34Photo').onclick=()=>($('avatarInput')||$('profileAvatarInput'))?.click();$('r34Avatar').onclick=()=>callAny(['openAvatarPicker','toggleProfileAvatarChoices','renderAnimalChoices']);return true;
}
function css(){if($('r34Css'))return;const s=document.createElement('style');s.id='r34Css';s.textContent=`.r34Profile{width:min(860px,100%);margin:auto;padding:12px 12px 100px;color:#f5fbff;display:grid;gap:12px}.r34Profile button{font:inherit;cursor:pointer}.r34Header,.r34Identity,.r34Consent,.r34Quick,.r34Work{border:1px solid #d8b85a55;background:linear-gradient(145deg,#0b2638f5,#06131ef7);box-shadow:0 18px 48px #0008;border-radius:24px}.r34Header{display:flex;gap:12px;padding:17px}.r34Header>button{width:44px;height:44px;border-radius:50%;border:1px solid #fff3;background:#fff1;color:#fff;font-size:30px}.r34Header span{font-size:.72rem;letter-spacing:.18em;color:#69e4bf;font-weight:900}.r34Header h1{margin:4px 0;color:#f2d171;font-size:clamp(1.55rem,5vw,2.2rem)}.r34Header p{margin:0;color:#b9cad5}.r34Identity{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:18px}.r34AvatarBox{display:grid;justify-items:center;align-content:start;gap:10px}.r34AvatarFallback,.r34AvatarBox img{width:124px!important;height:124px!important;border-radius:32px;object-fit:cover}.r34AvatarFallback{display:grid;place-items:center;background:linear-gradient(145deg,#ffe79a,#ca942b);color:#10202a;font-size:50px;font-weight:950}.r34AvatarButtons{display:flex;gap:7px}.r34AvatarButtons button{width:42px;height:42px;border-radius:13px;border:1px solid #fff3;background:#fff1;color:#fff}.r34Fields{display:grid;gap:12px}.r34Fields label{display:grid;gap:6px;font-weight:800}.r34Fields input,.r34Fields textarea,.r34Form select{box-sizing:border-box;width:100%;border:1px solid #fff3;border-radius:14px;padding:12px;background:#fff1;color:#fff;font:inherit}.r34Fields textarea{min-height:72px;resize:vertical}.r34Language{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px;border-radius:15px;border:1px solid #60d9bb55;background:#0e6f6233;color:#fff;text-align:left}.r34Language b{color:#88efd2;font-size:.82rem}.r34Consent{padding:14px;display:grid;gap:9px}.r34Consent label{display:flex;align-items:center;gap:9px;padding:10px;border-radius:13px;background:#fff1}.r34Consent input{width:21px;height:21px}.r34Gold{border-color:#e2bd54!important;background:linear-gradient(135deg,#f7df91,#bd8420)!important;color:#211704!important;font-weight:900!important}.r34Consent button,.r34Work button{min-height:50px;border:1px solid #fff3;border-radius:15px;background:#fff1;color:#fff;font-weight:850}.r34Quick{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.r34Quick button{min-height:96px;display:grid;gap:5px;text-align:left;padding:13px;border:1px solid #fff3;border-radius:16px;background:#fff1;color:#fff}.r34Quick small{color:#b9cad5}.r34Quick .danger{border-color:#ff777766;background:#7f232833}.r34Work{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.r34Sheet{position:fixed;inset:0;z-index:2147483647;background:#000c;backdrop-filter:blur(10px);display:grid;place-items:center;padding:12px}.r34SheetCard{width:min(720px,100%);max-height:94dvh;overflow:auto;border:1px solid #dfbe5b66;border-radius:24px;background:linear-gradient(145deg,#071521,#113249);color:#fff;box-shadow:0 30px 90px #000c}.r34SheetCard header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px;background:#071521f5;border-bottom:1px solid #fff2}.r34SheetCard h2{margin:0;color:#f2d171}.r34SheetCard header button{width:44px;height:44px;border-radius:50%;border:1px solid #fff3;background:#fff1;color:#fff}.r34SheetCard main{padding:15px}.r34Form,.r34Text{display:grid;gap:12px}.r34Choice{display:flex;gap:8px;flex-wrap:wrap}.r34Choice button,.r34Delete button{padding:12px;border:1px solid #fff3;border-radius:14px;background:#fff1;color:#fff;font-weight:850}.r34Choice button.on{border-color:#e2bd54;background:#9b6c2044}.r34Hint,.r34Text p,.r34Text li{color:#c5d4dc;line-height:1.55}.r34Text h3{margin:5px 0 0;color:#f2d171}.r34Snapshot pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0004;padding:11px;border-radius:13px}.r34Delete{display:grid;grid-template-columns:1fr 1fr;gap:10px}.r34Delete button{display:grid;gap:6px;text-align:left;min-height:110px}.r34Delete small{color:#c5d4dc}.r34Delete .danger{border-color:#ff777777;background:#7f232844}.r34DangerText{padding:11px;border-radius:13px;border:1px solid #ffba6866;background:#7d451d33}@media(max-width:650px){.r34Profile{padding:8px 8px 92px}.r34Header,.r34Identity,.r34Consent,.r34Quick,.r34Work{border-radius:18px}.r34Identity{grid-template-columns:1fr;padding:13px}.r34Quick,.r34Work,.r34Delete{grid-template-columns:1fr}.r34Header p{font-size:.9rem}.r34Quick button{min-height:82px}}`;document.head.appendChild(s)}
function forceAfterNavigation(name){if(String(name||'').toLowerCase().includes('profile')){setTimeout(render,0);setTimeout(render,120);setTimeout(render,450)}}
function wrap(obj,key,flag){try{if(!obj||typeof obj[key]!=='function'||obj[flag])return;const old=obj[key];obj[key]=function(...a){const r=old.apply(this,a);forceAfterNavigation(a[0]);return r};obj[flag]=true}catch(e){console.warn('R10F34F1_WRAP',key,e)}}
function hook(){const ith=I();wrap(ith,'page','__r34f1PageWrapped');wrap(ith,'showScreen','__r34f1ShowWrapped');wrap(window,'showScreen','__r34f1WindowShowWrapped');wrap(window,'page','__r34f1WindowPageWrapped');ith.renderProfessionalProfileR10F34F1=render;window.renderProfessionalProfileR10F34F1=render}
function install(){
 css();hook();
 document.addEventListener('click',e=>{const b=e.target.closest('#tab-profile,[data-page="profile"],[onclick*="profile"],button');if(!b)return;const t=(b.id+' '+(b.getAttribute('onclick')||'')+' '+b.textContent).toLowerCase();if(t.includes('profile')||t.includes('προφίλ'))forceAfterNavigation('profile')},true);
 const ensure=()=>{hook();if(profileIsOpen()&&!document.querySelector('[data-r10f34f1-profile="1"]'))render()};
 setTimeout(ensure,50);setTimeout(ensure,300);setTimeout(ensure,1000);
 new MutationObserver(()=>setTimeout(ensure,10)).observe(document.documentElement,{subtree:true,childList:true,attributes:true,attributeFilter:['data-page','class','style','hidden']});
 setInterval(ensure,700);
 localStorage.setItem('ith_frontend_build','V249526R10F34F1-profile-force-load');
 window.__ITHAKI_R10F34F1_READY__=true;
 console.log('ITHAKI_R10F34F1_PROFILE_FORCE_LOAD_READY');
}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',install,{once:true});else install();
})();
