:root{--bg-color: #0d0d0d;--text-color: #e0e0e0;--primary-color: #ffca28;--accent-color: #f06292;--glass-bg: rgba(30, 30, 30, .6);--glass-border: rgba(255, 255, 255, .08);--card-hover-bg: rgba(255, 255, 255, .08);--font-main: "Inter", sans-serif;--font-heading: "Playfair Display", serif;--modal-bg: rgba(15, 15, 15, .95)}body{margin:0;font-family:var(--font-main);background:var(--bg-color);color:var(--text-color);background-image:radial-gradient(circle at 15% 50%,rgba(216,27,96,.08) 0%,transparent 25%),radial-gradient(circle at 85% 30%,rgba(255,202,40,.05) 0%,transparent 25%);min-height:100vh;overflow-x:hidden}#app{max-width:1200px;margin:0 auto;padding:2rem 2rem 5rem}.glass-header,.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 4px 30px #0003}.glass-header{text-align:center;padding:3rem 2rem;margin-bottom:3rem;animation:slideDown .8s ease-out;background:#1e1e1e66}h1{font-family:var(--font-heading);font-size:3.5rem;margin:0;background:linear-gradient(135deg,#fff 20%,var(--primary-color) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.subtitle{font-size:1.1rem;color:#888;margin-top:.8rem;letter-spacing:2px;text-transform:uppercase;font-weight:300}.search-wrapper{position:sticky;top:1rem;z-index:100;padding:0 1rem;transition:transform .3s ease}.search-container{max-width:600px;margin:0 auto 3rem;position:relative}.search-bar{width:100%;padding:1.2rem 3rem 1.2rem 1.5rem;font-size:1.1rem;font-family:var(--font-main);background:#1e1e1ecc;border:1px solid var(--glass-border);border-radius:50px;color:#fff;transition:all .3s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-sizing:border-box;box-shadow:0 10px 30px #0000004d}.search-clear{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:0;display:flex;align-items:center;transition:color .2s}.search-clear:hover{color:var(--primary-color)}.search-bar:focus{outline:none;border-color:var(--primary-color);background:#282828e6;box-shadow:0 0 25px #ffca2826}.search-bar::placeholder{color:#ffffff4d}.filter-bar{display:flex;gap:.8rem;overflow-x:auto;padding:0 .5rem 1rem;margin-bottom:2rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:#aaa;padding:.6rem 1.2rem;border-radius:20px;white-space:nowrap;cursor:pointer;font-size:.9rem;transition:all .3s ease;font-family:var(--font-main)}.filter-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-2px)}.filter-btn.active{background:var(--primary-color);color:#000;font-weight:600;border-color:var(--primary-color);box-shadow:0 4px 15px #ffca284d}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.recipe-card{background:linear-gradient(145deg,#ffffff0d,#ffffff05);border:1px solid var(--glass-border);border-radius:16px;padding:2rem 1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;animation:fadeIn .5s ease-out forwards;opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px;box-shadow:0 4px 6px #0000001a}.recipe-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.06),transparent 40%);opacity:0;transition:opacity .4s ease;z-index:1;pointer-events:none}.recipe-card:hover{transform:translateY(-5px);background:#ffffff14;border-color:#ffca284d;box-shadow:0 10px 30px #0006}.recipe-card:hover:before{opacity:1}.recipe-card>*{position:relative;z-index:2}.recipe-type{font-size:.7rem;text-transform:uppercase;color:var(--primary-color);letter-spacing:2px;margin-bottom:.8rem;opacity:.7;display:block}.recipe-title{font-family:var(--font-heading);font-size:1.4rem;margin:0;line-height:1.3;color:var(--text-color);font-weight:400}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal.visible{opacity:1;pointer-events:auto}.modal-content{width:90%;max-width:550px;max-height:85vh;overflow-y:auto;padding:3rem;position:relative;transform:scale(.95);transition:transform .4s cubic-bezier(.34,1.56,.64,1);background:var(--modal-bg);border:1px solid rgba(255,255,255,.1)}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.modal.visible .modal-content{transform:scale(1)}.close-button{position:absolute;top:1.5rem;right:1.5rem;font-size:2rem;line-height:1;cursor:pointer;color:#666;transition:color .2s;background:transparent;border:none}.close-button:hover{color:#fff}#modal-title{font-family:var(--font-heading);font-size:2.8rem;margin-top:0;margin-bottom:.5rem;color:var(--primary-color);line-height:1.1}#modal-description{color:#e0e0e0;font-weight:300;font-size:1.1rem;margin-bottom:2rem;display:flex;align-items:center;gap:.5rem;background:transparent;padding:0;padding-left:1rem;border:none;border-left:3px solid var(--primary-color);border-radius:0}.modal-description:before{content:"YAPILIŞ: ";font-size:.75rem;color:var(--primary-color);margin-right:.5rem;letter-spacing:1.5px;font-weight:600}.modal-garnish{color:#e0e0e0;font-weight:300;font-size:1.1rem;margin-bottom:2rem;display:flex;align-items:center;gap:.5rem;background:transparent;padding:0;padding-left:1rem;border:none;border-left:3px solid var(--primary-color);border-radius:0}.modal-garnish:before{content:"GARNİŞ: ";font-size:.75rem;color:var(--primary-color);margin-right:.5rem;letter-spacing:1.5px;font-weight:600}.ingredients-list{margin-top:2rem;border-top:1px solid var(--glass-border);padding-top:2rem}.ingredients-list h3{font-size:1.2rem;font-weight:300;text-transform:uppercase;letter-spacing:2px;margin-bottom:1.5rem;color:#888}.ingredients-list ul{list-style:none;padding:0}.ingredients-list li{padding:.8rem 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);cursor:default;-webkit-user-select:text;user-select:text}.ingredients-list li:hover{background:transparent;padding-left:0;padding-right:0}.ingredients-list li.checked{opacity:1;text-decoration:none}.ingredient-name{font-weight:500;flex:1}.ingredient-amount{color:var(--primary-color);font-weight:600;margin-left:1rem}.ingredient-checkbox{display:none}.ingredients-list li.checked .ingredient-checkbox{background:var(--primary-color);border-color:var(--primary-color)}.ingredients-list li.checked .ingredient-checkbox:after{content:"✓";color:#000;font-size:14px;font-weight:700}.modal-header{margin-top:0;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.modal-header h2{margin:0;font-size:2.2rem}.portion-controls{display:flex;gap:.5rem;justify-content:center}.portion-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:#888;padding:.4rem 1rem;border-radius:8px;cursor:pointer;font-family:var(--font-main);transition:all .2s}.portion-btn:hover{background:#ffffff1a;color:#fff}.portion-btn.active{background:var(--primary-color);color:#000;border-color:var(--primary-color);font-weight:600}.pin-btn{width:100%;margin-top:2.5rem;padding:1.2rem;background:#252525;border:1px solid transparent;border-radius:12px;color:var(--text-color);font-family:var(--font-main);font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.8rem;transition:all .3s ease;box-shadow:0 4px 10px #0003}.pin-btn:hover{background:#333;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.pin-btn.active{background:var(--primary-color);color:#000;box-shadow:0 5px 20px #ffca2866}.pin-btn svg{transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.pin-btn.active svg{transform:scale(1.2) rotate(-15deg)}.password-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2000;display:flex;justify-content:center;align-items:center;transition:opacity .6s ease}.password-overlay.unlocked{opacity:0;pointer-events:none}.password-content{text-align:center;padding:4rem;max-width:450px;width:90%;background:#111;border:1px solid rgba(255,202,40,.1);border-radius:24px;box-shadow:0 0 50px #000c}.password-content h2{color:var(--primary-color);margin-bottom:2rem;font-family:var(--font-heading);font-size:2rem}.error-text{color:var(--accent-color);min-height:1.5rem;margin-top:1rem;font-size:.9rem;font-weight:500}.password-input-wrapper{position:relative;max-width:100%}.login-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);background:var(--primary-color);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#000;transition:all .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 10px #ffca284d}.login-btn:hover{transform:translateY(-50%) scale(1.1);background:#fff}.login-btn:active{transform:translateY(-50%) scale(.95)}.most-wanted-section{margin-bottom:4rem}.section-title{font-family:var(--font-heading);font-size:2.2rem;margin-bottom:2rem;color:var(--primary-color);display:flex;align-items:center;gap:1.5rem;text-shadow:0 2px 10px rgba(255,202,40,.1)}.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--primary-color),transparent);opacity:.4}.section-divider{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);margin:4rem 0}@keyframes slideDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.side-drawer{position:fixed;top:0;right:0;height:100vh;width:280px;transform:translate(100%);background:#0f0f0ffa;border-left:1px solid var(--glass-border);border-top-left-radius:0;border-bottom-left-radius:0;padding:6rem 2rem 2rem;z-index:1000;transition:transform .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:-10px 0 30px #00000080;display:block}.side-drawer.open{transform:translate(0)}.drawer-toggle{position:fixed;top:20px;right:20px;width:50px;height:50px;background:transparent;border:1px solid var(--glass-border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;z-index:1100;transition:all .3s;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.side-drawer.open .drawer-toggle{background:#ffffff1a}.drawer-toggle:hover{background:#ffffff1a;transform:scale(1.05)}.drawer-content{width:100%}.drawer-content h3{margin-top:0;color:var(--primary-color);font-family:var(--font-heading);margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem;font-size:1.5rem}.tool-item{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.tool-item label{font-size:.9rem;color:#aaa}.tool-btn{background:#ffffff1a;border:1px solid var(--glass-border);color:#fff;padding:.8rem;border-radius:8px;cursor:pointer;font-family:var(--font-main);transition:all .2s;font-weight:500}.tool-btn:hover{background:#fff3}.tool-btn.active{background:var(--primary-color);color:#000;border-color:var(--primary-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}
