body{margin:0;padding:0;background:#0b162c;font-family:Times New Roman,Times,serif;line-height:1.6}body p{color:#daeaff9d}h1{text-align:center;font-size:4rem;color:#fff}h2,h3{color:#fff;margin-bottom:.5em}header{text-align:center;padding:40px 20px;border-bottom:2px solid #fff}section:not(#banner){padding:40px 20px;max-width:900px;margin:auto}section:not(#banner) ul{color:#daeaff9d;padding-left:20px;margin:10px 0 20px}section:not(#banner) ul li{margin-bottom:8px;line-height:1.6}#banner{width:100%;height:100vh;text-align:center;background-image:url(/images/fond2.png);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 20px;box-sizing:border-box;position:relative}#banner:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:250px;pointer-events:none;background:linear-gradient(to bottom,#0b162c00,#0b162c99 60%,#0b162c)}#sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:#0b162c;padding:30px 20px;box-sizing:border-box;color:#fff;border-right:2px solid #444;display:flex;flex-direction:column;gap:30px;z-index:1000}#sidebar h1{margin:0;font-size:32px;line-height:1.1;text-shadow:1px 1px 3px #000}#sidebar nav{display:flex;flex-direction:column;gap:15px}#sidebar nav a{color:#fff;font-size:18px;text-decoration:none;padding:8px 0;border-left:3px solid transparent;transition:.3s}#sidebar nav a:hover{color:#3b556d}#sidebar nav a.active{color:#5fc2ba;border-left:3px solid #5FC2BA;padding-left:10px}#content{margin-left:260px}.project{padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 0 5px #0003;transition:transform .2s ease,box-shadow .3s ease,background .3s ease}.project:hover{transform:scale(1.02);background:#3b556d1a;box-shadow:0 0 15px #3b52ff80}.project h3{margin:0 0 10px;color:#5fc2ba}footer{text-align:center;padding:20px;border-top:2px solid #4d46ac;margin-top:40px;font-size:.9em}@media (max-width: 800px){#sidebar{position:static;width:100%;height:auto;border-right:none;border-bottom:2px solid #444;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:15px 20px}#sidebar nav{flex-direction:row;gap:20px}#sidebar nav a.active{border-left:none;border-bottom:3px solid #5FC2BA;padding-left:0;padding-bottom:5px}#content{margin-left:0}}.project-with-img .project-content{display:flex;flex-direction:row-reverse;gap:20px;align-items:center}.project-with-img .project-text{flex:4}.project-with-img .project-img{flex:1}.project-with-img .project-img img{width:100%;height:auto;border-radius:8px;object-fit:cover}#filter{background:#1c2942;color:#fff;border:2px solid #1C2942;border-radius:6px;padding:8px 12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:200px}.logo_github{width:35px;height:auto}.tech-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin-top:auto}.tech-badge{display:flex;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;line-height:1.4;color:#5fc2ba;background:#5fc2ba26;border-radius:999px;white-space:nowrap}.project-with-img .project-img{max-width:220px;width:100%}@media (max-width: 800px){.project-with-img .project-img{max-width:180px;margin:0 auto}}.more-btn{display:inline-block;margin-top:15px;padding:8px 18px;background:transparent;color:#5fc2ba;border:2px solid #5FC2BA;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.more-btn:hover{background:#5fc2ba26;transform:translateY(-1px);box-shadow:0 4px 12px #5fc2ba33}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0b162cd9;z-index:9999;align-items:flex-start;justify-content:center;padding:40px 20px;box-sizing:border-box;overflow-y:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.open{display:flex}.modal{position:relative;background:#0b162c;border:2px solid #444;border-radius:12px;max-width:800px;width:100%;margin:auto 0;box-shadow:0 10px 40px #00000080;animation:modalIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:12px;right:18px;background:transparent;color:#fff;border:none;font-size:32px;line-height:1;cursor:pointer;z-index:10;padding:4px 10px;border-radius:6px;transition:background .2s}.modal-close:hover{background:#ffffff1a}.modal-header{padding:30px 35px 15px;border-bottom:2px solid #444}.modal-header h2{margin:0;color:#fff;font-size:2rem}.modal-subtitle{margin:6px 0 0;color:#5fc2ba;font-size:1.05rem;font-weight:500}.modal-body{padding:25px 35px 35px}.modal-body h3{color:#5fc2ba;margin-top:25px;margin-bottom:10px;font-size:1.25rem}.modal-body h3:first-of-type{margin-top:10px}.modal-body p,.modal-body ul,.modal-body li{color:#daeaffbf;line-height:1.7}.modal-body b{color:#fff}.modal-body ul{padding-left:22px;margin:10px 0}.modal-body ul li{margin-bottom:6px}.modal-body ul ul{margin-top:6px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:12px}.gallery-placeholder{aspect-ratio:4 / 3;border:2px dashed rgba(95,194,186,.35);border-radius:8px;background:#5fc2ba0d;color:#daeaff80;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:.85rem;transition:border-color .2s,background .2s}.gallery-placeholder:hover{border-color:#5fc2ba99;background:#5fc2ba1a}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:8px;aspect-ratio:4 / 3;border:2px solid rgba(95,194,186,.2);display:block}@media (max-width: 800px){.modal-overlay{padding:16px 10px}.modal-header{padding:25px 20px 15px}.modal-header h2{font-size:1.6rem;padding-right:30px}.modal-body{padding:20px 20px 25px}.gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.modal-close{top:10px;right:12px;font-size:28px}}.rich-text,.rich-text p{color:#daeaff9d}.page-state{max-width:900px;margin:0 auto;padding:80px 20px;text-align:center;color:#daeaffbf}.spinner{width:34px;height:34px;margin:0 auto 14px;border:3px solid rgba(95,194,186,.25);border-top-color:#5fc2ba;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.studio-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.studio-login__card{width:100%;max-width:380px;background:#101d38;border:2px solid #444;border-radius:12px;padding:32px 28px;box-shadow:0 10px 40px #00000080}.studio-login__card h1{font-size:1.6rem;margin:0 0 6px;text-align:left}.studio-login__sub{color:#daeaff99;margin:0 0 22px;font-size:.95rem}.admin-shell{min-height:100vh}.admin-header{position:sticky;top:0;z-index:50;background:#0b162c;border-bottom:2px solid #444;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.admin-header__brand{font-size:1.1rem;color:#fff;margin:0;font-weight:700}.admin-header__brand span{color:#5fc2ba}.admin-header__spacer{flex:1}.admin-nav{display:flex;flex-wrap:wrap;gap:6px;padding:12px 24px;border-bottom:2px solid #444;background:#0d1a33}.admin-nav a{color:#daeaffbf;text-decoration:none;font-size:.95rem;padding:7px 14px;border-radius:6px;transition:.2s}.admin-nav a:hover{background:#5fc2ba1f;color:#fff}.admin-nav a.active{background:#5fc2ba2e;color:#5fc2ba}.admin-main{max-width:1080px;margin:0 auto;padding:28px 24px 80px}.admin-main h2{margin-top:0}.admin-hint{color:#daeaff99;font-size:.92rem;margin-top:-6px}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.admin-toolbar__spacer{flex:1}.admin-tabs{display:flex;gap:6px}.admin-tabs button{background:transparent;color:#daeaffb3;border:2px solid #1C2942;border-radius:6px;padding:7px 14px;font-family:inherit;font-size:.95rem;cursor:pointer;transition:.2s}.admin-tabs button.active{border-color:#5fc2ba;color:#5fc2ba;background:#5fc2ba1f}.admin-card{background:#101d38;border:1px solid #253657;border-radius:10px;padding:18px 20px;margin-bottom:14px}.admin-card__head{display:flex;align-items:flex-start;gap:12px}.admin-card__title{margin:0 0 4px;color:#5fc2ba;font-size:1.15rem}.admin-card__meta{color:#daeaff80;font-size:.84rem;margin:0}.admin-card__actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.admin-reorder{display:flex;flex-direction:column;gap:4px}.admin-reorder button{background:transparent;border:1px solid #253657;color:#daeaffb3;border-radius:4px;cursor:pointer;line-height:1;padding:2px 6px;font-size:.75rem}.admin-reorder button:hover{border-color:#5fc2ba;color:#5fc2ba}.admin-btn{display:inline-block;padding:8px 16px;background:transparent;color:#5fc2ba;border:2px solid #5FC2BA;border-radius:6px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:.2s;text-decoration:none}.admin-btn:hover{background:#5fc2ba26}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--solid{background:#5fc2ba;color:#06231f}.admin-btn--solid:hover{background:#7ad3cc}.admin-btn--danger{color:#ff8b8b;border-color:#ff8b8b}.admin-btn--danger:hover{background:#ff8b8b1f}.admin-btn--ghost{color:#daeaffbf;border-color:#34496f}.admin-form{display:grid;gap:14px}.admin-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 700px){.admin-form__grid{grid-template-columns:1fr}}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-field>span{font-size:.88rem;color:#daeaffcc;font-weight:600}.admin-field small{color:#daeaff73;font-size:.76rem}.admin-input,.admin-textarea,.admin-select{width:100%;box-sizing:border-box;background:#0b162c;color:#fff;border:2px solid #253657;border-radius:6px;padding:9px 12px;font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s}.admin-input:focus,.admin-textarea:focus,.admin-select:focus{border-color:#5fc2ba}.admin-textarea{min-height:110px;resize:vertical;line-height:1.5}.admin-textarea--tall{min-height:220px}.admin-checkbox{display:flex;align-items:center;gap:8px;color:#daeaffcc;font-size:.92rem}.admin-form__actions{display:flex;gap:10px;margin-top:6px}.admin-empty{color:#daeaff80;padding:24px;text-align:center;border:2px dashed #253657;border-radius:10px}.alert{border-radius:8px;padding:12px 16px;font-size:.92rem;margin:12px 0;border:1px solid transparent}.alert--error{background:#ff64641f;border-color:#ff646480;color:#ffb4b4}.alert--success{background:#5fc2ba1f;border-color:#5fc2ba80;color:#9fe4dd}.alert--info{background:#5fc2ba14;border-color:#5fc2ba4d;color:#daeaffcc}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0}.admin-stat{background:#101d38;border:1px solid #253657;border-radius:10px;padding:16px;text-align:center}.admin-stat strong{display:block;font-size:1.9rem;color:#5fc2ba}.admin-stat span{color:#daeaff99;font-size:.85rem}.admin-badge{display:inline-block;font-size:.72rem;padding:2px 9px;border-radius:999px;border:1px solid #34496f;color:#daeaffa6;margin-right:6px}.admin-badge--on{border-color:#5fc2ba;color:#5fc2ba}.admin-badge--off{border-color:#6b6b6b;color:#9a9a9a}.admin-tree{border-left:2px solid #253657;margin-left:10px;padding-left:16px}
