:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif;background:#f8f6f2;color:#1f1f1f}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;width:100%}#app{height:100vh;width:100vw;display:flex;flex-direction:column}#canvas-container{position:relative;flex:1;background:#f7f4ee;overflow:hidden}canvas{display:block}.controls{position:fixed;top:12px;left:12px;display:flex;gap:8px;z-index:10}button{border:1px solid #d0cbc0;background:#ffffffe6;color:#2a2a2a;border-radius:10px;padding:10px 14px;font-size:14px;cursor:pointer;box-shadow:0 6px 16px #00000014;transition:transform .12s ease,box-shadow .12s ease;min-width:120px}#new-bouquet{background:#8b5cf6;border:1px solid #7c3aed;color:#fff;font-weight:600}#new-bouquet:hover{background:#7c3aed}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0000001f}button:active{transform:translateY(0);box-shadow:0 4px 10px #0000001a}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#f8f6f2d1;color:#3a332b;font-weight:600;font-size:16px;letter-spacing:.4px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#info-btn{position:fixed;top:12px;right:12px;width:36px;height:36px;min-width:36px;border-radius:50%;font-size:18px;font-weight:600;font-style:italic;font-family:Georgia,serif;padding:0;display:flex;align-items:center;justify-content:center;z-index:10}#info-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#info-overlay.hidden{display:none}#info-popup{background:#fffffff2;border-radius:16px;padding:28px 32px;max-width:340px;width:90%;box-shadow:0 20px 60px #0003;position:relative}#info-popup h2{margin:0 0 16px;font-size:20px;color:#2a2a2a}#info-popup ul{margin:0;padding-left:20px;color:#3a3a3a;line-height:1.8}#info-popup li{margin-bottom:8px}#info-close{position:absolute;top:12px;right:12px;width:32px;height:32px;min-width:32px;border-radius:50%;font-size:22px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}#toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#fffffff2;color:#2a2a2a;padding:12px 24px;border-radius:20px;font-size:15px;font-weight:600;box-shadow:0 8px 24px #00000026;z-index:200;animation:toastIn .3s ease}#toast.hidden{display:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}#gallery-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#fef6f0,#f0e6f6,#e6f0f6);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}#gallery-overlay.hidden{display:none}#gallery-close{position:absolute;top:16px;right:16px;width:44px;height:44px;min-width:44px;border-radius:50%;font-size:28px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1;background:#ffffffe6;z-index:10}#gallery-container{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;max-width:100%;padding:20px}#gallery-main{flex:1;display:flex;align-items:center;justify-content:center;max-height:95vh}#gallery-image{max-width:95vw;max-height:95vh;border-radius:16px;box-shadow:0 20px 60px #00000026;object-fit:contain}#gallery-empty{text-align:center;color:#6a6a6a;font-size:18px;padding:40px;background:#ffffffb3;border-radius:16px;max-width:300px}#gallery-prev,#gallery-next{width:50px;height:50px;min-width:50px;border-radius:50%;font-size:24px;padding:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;flex-shrink:0}#gallery-prev:hover,#gallery-next:hover{background:#fff}#gallery-counter{margin-top:16px;font-size:14px;color:#5a5a5a;font-weight:500;background:#fffc;padding:8px 16px;border-radius:20px}@media(max-width:640px){.controls{top:auto;bottom:12px;left:50%;transform:translate(-50%);flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}button{padding:10px 12px;font-size:14px;min-width:auto}#info-btn{top:12px;right:12px}#gallery-prev,#gallery-next{width:40px;height:40px;min-width:40px;font-size:20px}#gallery-container{gap:8px;padding:12px}#toast{bottom:100px}}
