*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#fff;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}#root{min-height:100vh}input:focus{border-color:#c9a96e!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeletonShimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-shimmer{background:linear-gradient(90deg,#1a1a1a 25%,#2a2a2a,#1a1a1a 75%);background-size:800px 100%;animation:skeletonShimmer 1.8s ease-in-out infinite}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}a:hover{background:#1a1a1a;color:#c9a96e}[class^=gf-][class$=-animated] svg{overflow:visible}.gf-pen-animated:hover .pen-square{transform-origin:10px 14px;animation:penPaperShift .6s cubic-bezier(.22,1,.36,1) .08s both}.gf-pen-animated:hover .pen-tip{transform-origin:18px 4px;animation:penStroke .7s cubic-bezier(.34,1.56,.64,1) both}@keyframes penStroke{0%{transform:rotate(0) translate(0)}18%{transform:rotate(-10deg) translate(-2px,2px)}38%{transform:rotate(6deg) translate(1.5px,-1px)}58%{transform:rotate(-14deg) translate(-3px,3px)}78%{transform:rotate(3deg) translate(.5px,-.5px)}to{transform:rotate(0) translate(0)}}@keyframes penPaperShift{0%{transform:scale(1) rotate(0)}30%{transform:scale(.95) rotate(-2deg)}60%{transform:scale(1.04) rotate(1deg)}to{transform:scale(1) rotate(0)}}.gf-trash-animated:hover .trash-lid{transform-origin:12px 6px;animation:trashLidFlip .7s cubic-bezier(.34,1.56,.64,1) both}.gf-trash-animated:hover .trash-body{transform-origin:12px 14px;animation:trashBodyWobble .6s cubic-bezier(.22,1,.36,1) .06s both}.gf-trash-animated:hover .trash-lines{transform-origin:12px 14px;animation:trashLinesShake .5s cubic-bezier(.34,1.56,.64,1) .12s both}@keyframes trashLidFlip{0%{transform:rotate(0) translateY(0)}20%{transform:rotate(-30deg) translateY(-4px)}45%{transform:rotate(12deg) translateY(-1px)}65%{transform:rotate(-5deg) translateY(0)}to{transform:rotate(0) translateY(0)}}@keyframes trashBodyWobble{0%{transform:rotate(0) scaleX(1)}20%{transform:rotate(4deg) scaleX(.94)}40%{transform:rotate(-5deg) scaleX(1.06)}60%{transform:rotate(3deg) scaleX(.97)}80%{transform:rotate(-1deg) scaleX(1.01)}to{transform:rotate(0) scaleX(1)}}@keyframes trashLinesShake{0%{transform:translateY(0)}20%{transform:translateY(3px)}40%{transform:translateY(-3px)}60%{transform:translateY(1.5px)}80%{transform:translateY(-.5px)}to{transform:translateY(0)}}.gf-plus-animated:hover .plus-circle{transform-origin:12px 12px;animation:plusPop .5s cubic-bezier(.34,1.56,.64,1) both}.gf-plus-animated:hover .plus-lines{transform-origin:12px 12px;animation:plusSpin .6s cubic-bezier(.22,1,.36,1) both}@keyframes plusPop{0%{transform:scale(1)}40%{transform:scale(1.18)}70%{transform:scale(.94)}to{transform:scale(1)}}@keyframes plusSpin{0%{transform:rotate(0) scale(1)}30%{transform:rotate(90deg) scale(1.2)}60%{transform:rotate(180deg) scale(.95)}to{transform:rotate(180deg) scale(1)}}.gf-save-animated:hover .save-body{transform-origin:12px 12px;animation:saveDrop .8s cubic-bezier(.34,1.56,.64,1) both}.gf-save-animated:hover .save-detail{transform-origin:12px 16px;animation:saveSlotPush .7s cubic-bezier(.22,1,.36,1) .08s both}@keyframes saveDrop{0%{transform:translateY(0) scale(1) rotate(0)}15%{transform:translateY(-6px) scale(1.08) rotate(-3deg)}35%{transform:translateY(2px) scale(.92) rotate(2deg)}55%{transform:translateY(-3px) scale(1.05) rotate(-1deg)}75%{transform:translateY(1px) scale(.98) rotate(.5deg)}to{transform:translateY(0) scale(1) rotate(0)}}@keyframes saveSlotPush{0%{transform:translateY(0) scaleY(1)}25%{transform:translateY(-5px) scaleY(.85)}50%{transform:translateY(2px) scaleY(1.1)}75%{transform:translateY(-1px) scaleY(.95)}to{transform:translateY(0) scaleY(1)}}.gf-check-animated:hover .check-circle{transform-origin:12px 12px;animation:checkBounce .6s cubic-bezier(.34,1.56,.64,1) both}.gf-check-animated:hover .check-mark{animation:checkDraw .5s cubic-bezier(.22,1,.36,1) .1s both;stroke-dasharray:20;stroke-dashoffset:20}@keyframes checkBounce{0%{transform:scale(1)}30%{transform:scale(1.15)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes checkDraw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.cb-tick-draw{stroke-dasharray:28;stroke-dashoffset:28;animation:cbTickDraw .35s cubic-bezier(.22,1,.36,1) forwards}@keyframes cbTickDraw{0%{stroke-dashoffset:28}to{stroke-dashoffset:0}}.gf-x-animated:hover .x-lines{transform-origin:12px 12px;animation:xSpin .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes xSpin{0%{transform:rotate(0) scale(1)}40%{transform:rotate(90deg) scale(1.2)}70%{transform:rotate(90deg) scale(.95)}to{transform:rotate(90deg) scale(1)}}.gf-check-animated:hover .action-btn-label,.gf-x-animated:hover .action-btn-label,.gf-pen-animated:hover .action-btn-label,.gf-plus-animated:hover .action-btn-label,.gf-trash-animated:hover .action-btn-label,.gf-arrowleft-animated:hover .action-btn-label{animation:labelPulse .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes labelPulse{0%{transform:scale(1) translate(0);opacity:1}30%{transform:scale(1.08) translate(1px);opacity:.85}60%{transform:scale(.97);opacity:1}to{transform:scale(1) translate(0);opacity:1}}.gf-arrowleft-animated:hover .arrow-shaft{animation:arrowSlide .5s cubic-bezier(.22,1,.36,1) both}.gf-arrowleft-animated:hover .arrow-head{animation:arrowBounce .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes arrowSlide{0%{transform:translate(0)}40%{transform:translate(-4px)}to{transform:translate(0)}}@keyframes arrowBounce{0%{transform:translate(0)}30%{transform:translate(-5px)}60%{transform:translate(2px)}to{transform:translate(0)}}.gf-eye-animated:hover .eye-outline{transform-origin:12px 12px;animation:eyeBlink .7s cubic-bezier(.22,1,.36,1) both}.gf-eye-animated:hover .eye-pupil{transform-origin:12px 12px;animation:eyePupilPop .5s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes eyeBlink{0%{transform:scaleY(1)}20%{transform:scaleY(.1)}40%{transform:scaleY(1.1)}to{transform:scaleY(1)}}@keyframes eyePupilPop{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.gf-eyeoff-animated:hover .eyeoff-eye{transform-origin:12px 12px;animation:eyeoffShrink .5s cubic-bezier(.22,1,.36,1) both}.gf-eyeoff-animated:hover .eyeoff-slash{animation:eyeoffSlash .6s cubic-bezier(.34,1.56,.64,1) both;stroke-dasharray:30;stroke-dashoffset:30}@keyframes eyeoffShrink{0%{transform:scale(1);opacity:1}50%{transform:scale(.85);opacity:.5}to{transform:scale(1);opacity:.7}}@keyframes eyeoffSlash{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}.gf-send-animated:hover .plane-body{animation:planeLaunch .7s cubic-bezier(.22,1,.36,1) both}.gf-send-animated:hover .plane-trail{animation:planeTrail .6s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes planeLaunch{0%{transform:translate(0) rotate(0)}30%{transform:translate(4px,-4px) rotate(-8deg)}60%{transform:translate(-1px,1px) rotate(2deg)}to{transform:translate(0) rotate(0)}}@keyframes planeTrail{0%{opacity:0;transform:translate(6px)}40%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}.gf-bell-animated:hover .bell-body{transform-origin:12px 4px;animation:bellSwing .7s cubic-bezier(.34,1.56,.64,1) both}.gf-bell-animated:hover .bell-clapper{transform-origin:12px 20px;animation:clapperShake .5s cubic-bezier(.22,1,.36,1) .1s both}@keyframes bellSwing{0%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(3deg)}to{transform:rotate(0)}}@keyframes clapperShake{0%{transform:translate(0)}25%{transform:translate(3px)}50%{transform:translate(-3px)}75%{transform:translate(1px)}to{transform:translate(0)}}.gf-note-animated:hover .note-page{transform-origin:12px 12px;animation:notePageBounce .6s cubic-bezier(.34,1.56,.64,1) both}.gf-note-animated:hover .note-lines{animation:noteLinesDraw .7s cubic-bezier(.22,1,.36,1) .1s both;stroke-dasharray:20;stroke-dashoffset:20}@keyframes notePageBounce{0%{transform:scale(1) rotate(0)}25%{transform:scale(.92) rotate(-4deg)}50%{transform:scale(1.06) rotate(2deg)}75%{transform:scale(.98) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes noteLinesDraw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.gf-crown-animated:hover .crown-body{transform-origin:12px 16px;animation:crownBounce .6s cubic-bezier(.34,1.56,.64,1) both}.gf-crown-animated:hover .crown-gems{animation:crownGems .5s cubic-bezier(.22,1,.36,1) .1s both}@keyframes crownBounce{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-5deg)}50%{transform:translateY(-2px) rotate(3deg)}75%{transform:translateY(-4px) rotate(-1deg)}to{transform:translateY(0) rotate(0)}}@keyframes crownGems{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:1}}.gf-lock-animated:hover .lock-body{transform-origin:12px 16px;animation:lockBounce .5s cubic-bezier(.34,1.56,.64,1) both}.gf-lock-animated:hover .lock-shackle{animation:lockSnap .4s cubic-bezier(.22,1,.36,1) .08s both}@keyframes lockBounce{0%{transform:scale(1)}40%{transform:scale(1.12)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes lockSnap{0%{transform:translateY(0)}40%{transform:translateY(-3px)}70%{transform:translateY(1px)}to{transform:translateY(0)}}.gf-unlock-animated:hover .unlock-body{transform-origin:12px 16px;animation:unlockShake .5s cubic-bezier(.34,1.56,.64,1) both}.gf-unlock-animated:hover .unlock-shackle{animation:unlockOpen .6s cubic-bezier(.22,1,.36,1) both}@keyframes unlockShake{0%{transform:rotate(0)}25%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}to{transform:rotate(0)}}@keyframes unlockOpen{0%{transform:translateY(0)}40%{transform:translateY(-4px)}to{transform:translateY(0)}}.gf-chevrondown-animated:hover .chevron-down{animation:chevronBounce .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes chevronBounce{0%{transform:translateY(0)}40%{transform:translateY(4px)}70%{transform:translateY(-1px)}to{transform:translateY(0)}}.gf-sort-animated:hover .sort-up{animation:sortUp .5s cubic-bezier(.34,1.56,.64,1) both}.gf-sort-animated:hover .sort-down{animation:sortDown .5s cubic-bezier(.34,1.56,.64,1) .08s both}@keyframes sortUp{0%{transform:translateY(0)}40%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes sortDown{0%{transform:translateY(0)}40%{transform:translateY(4px)}to{transform:translateY(0)}}.gf-search-animated:hover .search-circle{transform-origin:11px 11px;animation:searchPulse .5s cubic-bezier(.22,1,.36,1) both}.gf-search-animated:hover .search-handle{transform-origin:11px 11px;animation:searchTilt .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes searchPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes searchTilt{0%{transform:rotate(0)}40%{transform:rotate(15deg)}to{transform:rotate(0)}}.gf-filter-animated:hover .filter-body{transform-origin:12px 6px;animation:filterDrip .6s cubic-bezier(.22,1,.36,1) both}@keyframes filterDrip{0%{transform:scaleY(1) scaleX(1)}30%{transform:scaleY(1.08) scaleX(.92)}60%{transform:scaleY(.95) scaleX(1.05)}to{transform:scaleY(1) scaleX(1)}}.gf-minus-animated:hover .remove-circle{transform-origin:12px 12px;animation:removeShrink .5s cubic-bezier(.22,1,.36,1) both}.gf-minus-animated:hover .remove-line{transform-origin:12px 12px;animation:removeStrike .4s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes removeShrink{0%{transform:scale(1)}40%{transform:scale(.88)}to{transform:scale(1)}}@keyframes removeStrike{0%{transform:scaleX(.5)}50%{transform:scaleX(1.3)}to{transform:scaleX(1)}}
