/* Custom styling for CropUp - Fresh Theme, Unified Typography & Responsive Dock */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=Noto+Sans+Devanagari:wght@400;600;700;800&family=JetBrains+Mono:wght@400;600;700&display=swap');
:root{--font-sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-hindi:'Noto Sans Devanagari',sans-serif;--font-mono:'JetBrains Mono',monospace;--brand-primary:#82ab67;--brand-primary-light:#9dca80;--brand-primary-dark:#587943;--surface:#1a3421;--surface-deep:#07120b;--border:rgba(255,255,255,.12)}
*{font-family:var(--font-sans);box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-sans);background-color:#142a1b;color:#f1f8ee;margin:0;padding:0;min-width:320px;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.font-hindi{font-family:var(--font-hindi)!important}.font-mono{font-family:var(--font-mono)!important}
button,input,select,textarea{font:inherit;max-width:100%}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(130,171,103,.95);outline-offset:2px}img,svg,video,canvas{max-width:100%;height:auto}
.glass-panel{background:rgba(26,52,33,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 32px -8px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.1)}
.glass-panel-hover{transition:all .25s cubic-bezier(.2,.8,.2,1)}.glass-panel-hover:hover{background:rgba(32,64,40,.82);border-color:rgba(130,171,103,.4);box-shadow:0 20px 40px -10px rgba(0,0,0,.35),0 0 20px 2px rgba(130,171,103,.15);transform:translateY(-2px)}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(20,42,27,.6)}::-webkit-scrollbar-thumb{background:rgba(130,171,103,.4);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:rgba(130,171,103,.7)}
@keyframes audio-pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(130,171,103,.6)}50%{box-shadow:0 0 0 8px rgba(130,171,103,0)}}.audio-pulse{animation:audio-pulse-glow 2s infinite cubic-bezier(.4,0,.6,1)}
.masonry-item,.masonry-card{position:relative;background:rgba(26,52,33,.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.14);border-radius:24px;overflow:hidden;box-shadow:0 10px 30px -10px rgba(0,0,0,.28);transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s cubic-bezier(.2,.8,.2,1),opacity .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease;animation:masonry-cascade .6s cubic-bezier(.215,.61,.355,1) both}@keyframes masonry-cascade{0%{opacity:0;transform:translateY(28px)}100%{opacity:1;transform:translateY(0)}}.masonry-item:hover{transform:scale(.985)}.masonry-item.is-blurred{filter:blur(2.5px) grayscale(20%);opacity:.55;transform:scale(.975)}.masonry-item.is-focused{z-index:10;filter:none;opacity:1;transform:scale(1.015);box-shadow:0 20px 40px -10px rgba(0,0,0,.45),0 0 0 1.5px rgba(130,171,103,.6);border-color:rgba(130,171,103,.7)}
.dock-icon-wrapper{position:relative}.dock-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);background:rgba(15,30,20,.95);backdrop-filter:blur(12px);color:#fff;padding:6px 12px;font-size:11px;font-weight:700;border-radius:10px;border:1px solid rgba(255,255,255,.15);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 8px 20px -4px rgba(0,0,0,.5);z-index:50}.dock-icon-wrapper:hover .dock-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.dock-tooltip:after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border-width:5px;border-style:solid;border-color:rgba(15,30,20,.95) transparent transparent transparent}
.modal-enter{animation:modal-pop .25s cubic-bezier(.2,.8,.2,1) forwards}@keyframes modal-pop{0%{opacity:0;transform:scale(.95) translateY(10px)}100%{opacity:1;transform:scale(1) translateY(0)}}
.winner-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem .9rem;border-radius:.8rem;font-size:.72rem;font-weight:800;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;box-shadow:0 8px 18px -8px rgba(0,0,0,.45);white-space:nowrap}.winner-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 12px 22px -9px rgba(0,0,0,.6)}
.winner-action{padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:.85rem;background:rgba(15,30,20,.65);color:#e5eee2;font-size:.72rem;font-weight:800;text-align:left;transition:.2s}.winner-action:hover{border-color:rgba(130,171,103,.55);background:rgba(130,171,103,.12);transform:translateY(-1px)}
.winner-stat{min-width:0;padding:.9rem;border-radius:1rem;background:rgba(7,18,11,.5);border:1px solid rgba(255,255,255,.08)}.winner-stat span{display:block;color:#94a3b8;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.winner-stat strong{display:block;margin-top:.25rem;font-family:var(--font-mono);font-size:1.05rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winner-stat small{display:block;margin-top:.22rem;color:#7f9181;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.winner-big{padding:.85rem;border-radius:1rem;background:rgba(15,30,20,.6);border:1px solid rgba(255,255,255,.08)}.winner-big span{display:block;color:#94a3b8;font-size:.65rem;font-weight:700}.winner-big strong{display:block;color:#fff;font-family:var(--font-mono);font-size:1.1rem;margin-top:.25rem;font-weight:900}.winner-big small{display:block;color:#94a3b8;font-size:.62rem;margin-top:.2rem}.winner-input{display:block;width:100%;box-sizing:border-box;margin-top:.4rem;padding:.75rem;border-radius:.8rem;background:#07120b;border:1px solid rgba(255,255,255,.12);color:#fff;outline:none}.winner-input:focus{border-color:rgba(130,171,103,.8);box-shadow:0 0 0 3px rgba(130,171,103,.12)}
#app-shell{min-height:100svh;width:100%;overflow-x:hidden}header{isolation:isolate;position:relative}header:after{content:'';position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(130,171,103,.55),transparent);opacity:.7;pointer-events:none}#cropup-winner-layer{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(24,55,32,.92),rgba(7,18,11,.78))}#floating-dock{box-shadow:0 18px 55px -18px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.06)}
.cropup-toast-stack{position:fixed;right:1rem;top:5.5rem;z-index:120;display:flex;flex-direction:column;gap:.55rem;pointer-events:none;width:min(360px,calc(100vw - 2rem))}.cropup-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.65rem;padding:.8rem .9rem;border-radius:1rem;background:rgba(7,18,11,.94);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px -18px rgba(0,0,0,.8);backdrop-filter:blur(18px);animation:toast-in .22s ease both}.cropup-toast.ok{border-color:rgba(130,171,103,.35)}.cropup-toast.warn{border-color:rgba(245,158,11,.35)}.cropup-toast.err{border-color:rgba(244,63,94,.4)}.cropup-toast strong{display:block;color:#fff;font-size:.72rem}.cropup-toast span{display:block;color:#a7b5aa;font-size:.65rem;margin-top:.15rem;line-height:1.4}@keyframes toast-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.cropup-loading{position:relative;overflow:hidden}.cropup-loading:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);transform:translateX(-100%);animation:cropup-shimmer 1.2s infinite}@keyframes cropup-shimmer{to{transform:translateX(100%)}}
@media(min-width:1200px){main{width:min(100%,1500px);margin-inline:auto}.winner-stat strong{font-size:1.08rem}}
@media(min-width:769px) and (max-width:1199px){main{width:100%;padding-inline:1.25rem}.winner-btn{white-space:normal}.winner-action{min-height:3rem}}
@media(max-width:768px){html,body,#app-shell{width:100%;max-width:100%;overflow-x:hidden}header{height:auto;min-height:68px;padding:.7rem 1rem!important}main{width:100%!important;max-width:100%!important;padding:1rem .75rem 7rem!important;margin:0!important}.glass-panel{max-width:100%}.masonry-item,.masonry-card{width:100%;max-width:100%;border-radius:18px}.winner-btn{white-space:normal;min-height:42px;padding:.65rem .8rem}.winner-action{min-height:48px;font-size:.68rem}.winner-stat{padding:.75rem}.winner-stat strong{font-size:.9rem}.winner-input{font-size:16px}.cropup-toast-stack{top:4.5rem;right:.5rem;width:calc(100vw - 1rem)}#floating-dock{left:.5rem!important;right:.5rem!important;bottom:.5rem!important;width:auto!important;max-width:calc(100vw - 1rem);overflow-x:auto;justify-content:flex-start;padding:.5rem;gap:.35rem;-webkit-overflow-scrolling:touch} .dock-tooltip{display:none}#floating-dock button{flex:0 0 auto;min-width:44px;min-height:44px}#cropup-winner-layer{border-radius:18px}#cropup-winner-layer h2{font-size:1.1rem;line-height:1.35}.winner-stat small,.winner-big small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:480px){main{padding-inline:.6rem}.masonry-item,.masonry-card{border-radius:16px}.winner-action{font-size:.66rem;padding:.65rem}.winner-btn{width:100%}.cropup-toast-stack{right:.5rem;width:calc(100vw - 1rem)}#floating-dock{gap:.25rem;padding:.4rem}.dock-icon-wrapper{width:2.55rem;height:2.55rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.audio-pulse{animation:none}}
