.root{--bg: #FFF8FB;--accent: #FFB6D5;--accent-2: #FFD9EC;--card: #FFFFFF;--muted: #7a6f78;--text: #3b2b32}:root{--btn-primary-bg: #ff6fa7;--btn-primary-color: #fff;--btn-primary-bg: #C6A6FF;--btn-primary-color: #4b2b59;--btn-primary-shadow: 0 10px 24px rgba(198,166,255,.18);--btn-ghost-bg: transparent;--btn-ghost-border: rgba(60,40,45,.06);--btn-secondary-bg: #fff;--btn-secondary-border: #f0e6ea;--btn-danger-bg: #ff6b7a;--btn-danger-color: #fff}*{box-sizing:border-box}body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue;background:var(--bg);margin:0;color:var(--text)}.app{max-width:1040px;margin:28px auto;padding:20px}.app-header{margin-bottom:16px;text-align:center}.app-header h1{font-family:Pacifico,cursive;margin:0;color:#7a2f4b}.app-header p{margin:6px 0;color:var(--muted)}main{display:flex;gap:20px;align-items:flex-start}.left{flex:1}.right{flex:2}.recipe-form{background:linear-gradient(180deg,var(--card),var(--accent-2));padding:16px;border-radius:14px;box-shadow:0 6px 18px #7a2f4b14;border:1px solid rgba(122,47,75,.06)}.recipe-form h2{margin:0 0 8px;color:#7a2f4b}.recipe-form label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.recipe-form input,.recipe-form textarea{width:100%;padding:10px;margin-top:6px;margin-bottom:12px;border:1px solid rgba(60,40,45,.06);border-radius:10px;background:rgba(255,255,255,.9);font-size:14px}.search-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(60,40,45,.08);box-shadow:0 6px 18px #3c282d08;font-size:15px}.search-input:focus{outline:3px solid rgba(198,166,255,.14)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--muted);padding:6px;border-radius:6px}.search-clear:hover{background:rgba(0,0,0,.04)}.search-highlight{background:linear-gradient(90deg,#fff29a,#ffd9a8);padding:0 2px;border-radius:3px}.tag-suggestions{position:absolute;z-index:60;margin-top:8px;width:calc(100% - 4px);background:#fff;border-radius:10px;box-shadow:0 12px 30px #2a0f1c1f;border:1px solid rgba(60,40,45,.06);overflow:hidden;max-height:220px;overflow-y:auto;padding:6px}.tag-suggestion{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--text);font-weight:600}.tag-suggestion:hover,.tag-suggestion.active{background:linear-gradient(90deg,#fff7f9,#fff1f5);transform:translateY(-2px)}.recipe-form button{background:var(--btn-primary-bg);border:0;padding:10px 14px;border-radius:999px;color:var(--btn-primary-color);font-weight:600;cursor:pointer;box-shadow:var(--btn-primary-shadow);transition:transform .08s ease,box-shadow .12s ease}.recipe-form button:active{transform:translateY(1px)}.recipe-form button.primary,.primary{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,252,.98));color:#7a2f4b;box-shadow:inset 0 -2px #00000008,0 6px 16px #7a2f4b0a;border:1px solid rgba(122,47,75,.06);padding:10px 16px;border-radius:999px;transition:transform .08s ease,box-shadow .12s ease,background .12s ease,color .12s ease}.recipe-form button.primary:hover,.primary:hover{background:var(--btn-primary-bg);color:var(--btn-primary-color);box-shadow:var(--btn-primary-shadow);transform:translateY(-3px) scale(1.02)}.btn-ghost{background:var(--btn-ghost-bg);border:1px solid var(--btn-ghost-border);padding:8px 12px;border-radius:10px;color:var(--muted);cursor:pointer;transition:background .1s ease,border-color .08s ease}.btn-ghost:hover{background:rgba(255,111,167,.04);border-color:#7a2f4b1f}.btn-ghost:active{transform:translateY(1px)}.secondary{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text);padding:8px 12px;border-radius:10px}.danger{background:var(--btn-danger-bg);color:var(--btn-danger-color);border:0;padding:8px 12px;border-radius:10px;box-shadow:0 8px 18px #ff6b7a1f}.danger:hover{filter:brightness(.98)}.recipe-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.recipe-card{background:linear-gradient(180deg,var(--card),#fff7fb);padding:12px;border-radius:14px;box-shadow:0 8px 24px #7a2f4b0f;display:flex;flex-direction:column;border:1px solid rgba(122,47,75,.03)}.recipe-image{height:140px;background:linear-gradient(135deg,#fff5f9,#fffafc);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;overflow:hidden}.recipe-image img{width:100%;height:100%;object-fit:cover}.recipe-body h3{margin:0 0 6px;color:#6b213a}.recipe-body p{margin:0;color:var(--muted);font-size:14px}.tag-list{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.tag{background:linear-gradient(90deg,#ffd9e8,#ffeef6);color:#9b3760;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600}.tag{transition:transform .12s ease,box-shadow .12s ease}.tag:hover{transform:translateY(-3px);box-shadow:0 8px 18px #7a2f4b0f}.tag button{opacity:0;transition:opacity .12s ease}.tag:hover button{opacity:1}.recipe-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.recipe-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 42px #7a2f4b1f;border-color:#7a2f4b1f}.recipe-card .btn-ghost{transition:opacity .16s ease,transform .12s ease,background .12s ease;opacity:.9}.recipe-card:hover .btn-ghost{opacity:1;transform:translateY(-2px) scale(1.03);background:rgba(198,166,255,.06);border-color:#7a2f4b14}.tag{transition:transform .14s ease,box-shadow .14s ease,background .12s ease}.tag:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 30px #7a2f4b14;background:linear-gradient(90deg,#ffd9e8,#fff1f8)}.tag-active{background:linear-gradient(90deg,#ffd9e8,#ffe0f0);border:1px solid rgba(122,47,75,.12);box-shadow:0 10px 24px #7a2f4b14}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{width:100%;max-width:720px;background:white;padding:18px;border-radius:14px;box-shadow:0 24px 60px #2a0f1c33;max-height:80vh;overflow:auto;position:relative}.modal h3{margin-top:0}.modal label{display:block;margin-bottom:10px}.modal input,.modal textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #f0e6ea}.modal input:focus,.modal textarea:focus{outline:3px solid rgba(255,111,167,.12)}.modal-image-preview{max-width:100%;border-radius:8px;max-height:40vh;object-fit:cover}.error{color:#b1224a;background:rgba(177,34,74,.06);padding:8px;border-radius:8px;margin-bottom:8px}.tag button{border-radius:8px;padding:2px 6px}.cook-modal{max-width:900px;width:min(92vw,900px);max-height:86vh;overflow:auto;padding:20px 22px}.cook-fullscreen{width:98vw;max-width:98vw;height:96vh;max-height:96vh;border-radius:10px;padding:18px}.cook-toolbar{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:8px;min-height:44px;padding-top:4px;padding-right:72px}.cook-actions{display:flex;align-items:center;justify-content:center;width:100%}.cook-toolbar .icon{width:18px;height:18px;display:inline-block;vertical-align:middle;color:var(--muted)}.icon-group{display:inline-flex;gap:8px;padding:6px;border:1px solid var(--btn-ghost-border);border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 8px 20px #0000000f;align-items:center}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer}.icon-btn:active{transform:translateY(1px)}.icon-btn:hover{background:rgba(0,0,0,.04)}.icon-btn.icon-btn-print{width:44px;height:44px}.cook-close-fab{position:absolute;top:12px;right:12px;z-index:70;width:44px;height:44px;border-radius:999px;border:1px solid var(--btn-ghost-border);background:rgba(255,255,255,.95);box-shadow:0 8px 22px #00000014;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted)}.cook-close-fab:active{transform:translateY(1px)}.cook-content h2{font-size:1.6rem}.cook-content h3{font-size:1.15rem;margin-top:12px}.cook-instructions li{line-height:1.5}.small .cook-content{font-size:14px}.medium .cook-content{font-size:16px}.large .cook-content{font-size:18px}.high-contrast,.high-contrast .modal{background:#000;color:#fff}.high-contrast .recipe-card{background:#111}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}@media print{body *{visibility:visible}.modal-backdrop,.modal,.cook-toolbar,.app-header,.app-footer,.recipe-form,.btn-ghost,.btn-ghost *{display:none!important}.cook-content,.cook-content *{visibility:visible}.cook-content{width:100%;padding:0;margin:0;background:#fff;color:#000}.cook-content h2{page-break-after:avoid}.cook-instructions li{break-inside:avoid;page-break-inside:avoid}img{max-width:100%;height:auto;page-break-inside:avoid}}@media (max-width:480px){.modal{padding:12px}.cook-toolbar{gap:8px}.cook-toolbar{padding-right:56px}.cook-toolbar .btn-ghost{padding:10px 14px;font-size:16px}.cook-content h2{font-size:1.3rem}.cook-content h3{font-size:1.05rem}}.app-footer{margin-top:22px;color:var(--muted);text-align:center;font-size:13px}@media (max-width: 800px){main{flex-direction:column}.right{order:2}.left{order:1}}
