*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden;background-color:#02040d;font-family:Ma Shan Zheng,"Noto Serif SC",PingFang SC,Microsoft YaHei,serif;color:#fff9eb;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#canvas-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1}#sceneCanvas{display:block;width:100%;height:100%}.stage{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;display:none;flex-direction:column;align-items:center;justify-content:center}.stage.active{display:flex}#stage-home .home-content{text-align:center;padding:20px;z-index:20}.home-title{font-family:Ma Shan Zheng,STKaiti,KaiTi,"Noto Serif SC",PingFang SC,cursive,serif;font-weight:900;font-size:clamp(3rem,12vw,7rem);color:#fff9eb;text-shadow:0 0 20px rgba(255,215,0,.85),0 0 45px rgba(255,120,0,.65),0 0 80px rgba(230,0,38,.5);letter-spacing:clamp(4px,1.5vw,14px);margin-bottom:16px;opacity:0;transform:scale(.85);animation:titleFadeIn 2s cubic-bezier(.16,1,.3,1) .2s forwards;white-space:nowrap;word-break:keep-all}.home-subtitle{font-family:Ma Shan Zheng,STKaiti,KaiTi,"Noto Serif SC",PingFang SC,cursive,serif;font-size:clamp(1rem,3.2vw,2rem);font-weight:700;color:#ffeca0;text-shadow:0 0 15px rgba(255,236,160,.9),0 0 30px rgba(255,100,50,.6);letter-spacing:clamp(3px,.8vw,8px);margin-bottom:56px;opacity:0;transform:translateY(20px);animation:subFadeIn 1.8s ease-out 1s forwards}@keyframes titleFadeIn{to{opacity:1;transform:scale(1)}}@keyframes subFadeIn{to{opacity:1;transform:translateY(0)}}.btn-primary,.btn-secondary{font-family:inherit;border:none;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);font-size:clamp(1rem,2.5vw,1.2rem);padding:14px 32px;border-radius:50px;letter-spacing:2px;outline:none;-webkit-tap-highlight-color:transparent}.btn-primary{background:linear-gradient(135deg,#ffb347,#ff6b35,#d4380d);color:#fff9eb;box-shadow:0 6px 20px #ff6b3566,0 0 0 1px #ffd7004d inset}.btn-primary:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 28px #ff6b358c,0 0 0 1px #ffd70080 inset}.btn-primary:active{transform:translateY(1px) scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-glow{position:relative;animation:btnGlow 2.5s ease-in-out infinite alternate;opacity:0;animation:btnAppear .6s ease-out 1.6s forwards,btnGlow 2.5s ease-in-out infinite alternate 2.2s}@keyframes btnAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes btnGlow{0%{box-shadow:0 6px 20px #ff6b3566,0 0 15px #ffd7004d,0 0 0 1px #ffd7004d inset}to{box-shadow:0 10px 32px #ff6b3599,0 0 30px #ffd70099,0 0 0 1px #ffd70099 inset}}.btn-secondary{background:#fff9eb14;color:#ffeca0;border:1.5px solid rgba(255,215,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-secondary:hover{background:#fff9eb26;transform:translateY(-2px);border-color:#ffd70099}.btn-secondary:active{transform:translateY(1px) scale(.98)}.btn-small{padding:8px 16px;font-size:clamp(.85rem,2vw,1rem);letter-spacing:1px}.btn-back{background:#fff9eb14;color:#ffeca0;border:1px solid rgba(255,215,0,.3);border-radius:20px;padding:6px 14px;font-size:clamp(.8rem,2vw,.95rem);font-family:inherit;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-back:hover{background:#fff9eb26;transform:translate(-2px)}.back-site-btn{position:fixed;top:18px;left:18px;z-index:15;background:#fff9eb14;color:#ffeca0;border:1px solid rgba(255,215,0,.35);border-radius:999px;padding:9px 18px;font-size:clamp(.85rem,2vw,1rem);font-family:inherit;letter-spacing:1px;cursor:pointer;transition:all .25s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000040}.back-site-btn:hover{background:#ffd70026;border-color:#ffd700b3;transform:translateY(-1px);color:#fff6d6}.back-site-btn:active{transform:translateY(0)}.bgm-toggle-btn{position:fixed;top:18px;right:18px;z-index:15;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,215,0,.35);background:#fff9eb14;color:#ffeca0;font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000040;font-family:inherit}.bgm-toggle-btn:hover{background:#ffd70026;border-color:#ffd700b3;transform:translateY(-1px) scale(1.05);color:#fff6d6}.bgm-toggle-btn:active{transform:translateY(0) scale(.96)}.bgm-toggle-btn.is-playing{animation:bgmPulse 1.8s ease-in-out infinite}@keyframes bgmPulse{0%,to{box-shadow:0 4px 14px #00000040,0 0 #ffd70000}50%{box-shadow:0 4px 18px #0000004d,0 0 22px #ffd7008c}}@media(max-width:480px){.back-site-btn{top:14px;left:14px;padding:8px 14px;font-size:.82rem}.bgm-toggle-btn{top:14px;right:14px;width:40px;height:40px;font-size:18px}}.home-btn-row{display:flex;flex-direction:column;align-items:center;gap:18px}.btn-ghost{font-family:inherit;border:1.5px solid rgba(255,236,160,.55);background:#fff9eb0d;color:#ffeca0;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);font-size:clamp(.95rem,2.3vw,1.1rem);padding:12px 28px;border-radius:50px;letter-spacing:2px;outline:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;opacity:0;transform:translateY(20px);animation:btnAppear .6s ease-out 1.9s forwards}.btn-ghost:hover{background:#ffd7001f;border-color:#ffd700d9;color:#fff2c2;transform:translateY(-2px);box-shadow:0 4px 18px #ffd70040}.btn-ghost:active{transform:translateY(1px) scale(.98)}@media(min-width:768px){.home-btn-row{flex-direction:row;gap:22px;justify-content:center}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-mask{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-panel{position:relative;width:90%;max-width:420px;max-height:85vh;overflow-y:auto;background:linear-gradient(160deg,#1a1230,#2a1a3a 60%,#1f1430);border-radius:20px;border:1.5px solid rgba(255,215,0,.25);box-shadow:0 20px 60px #0009,0 0 0 1px #ffd70026 inset,0 0 40px #ff8c0026;padding:0;animation:modalIn .35s cubic-bezier(.16,1,.3,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(255,215,0,.12)}.modal-title{font-size:clamp(1.5rem,4vw,2rem);color:#ffeca0;letter-spacing:3px;text-shadow:0 0 12px rgba(255,215,0,.4)}.modal-close{background:none;border:none;color:#fff9eb99;font-size:2.2rem;line-height:1;cursor:pointer;padding:0 4px;transition:color .2s}.modal-close:hover{color:#ffeca0}.modal-body{padding:20px 24px;position:relative}.detail-panel .modal-body{overflow:hidden}.detail-panel{overflow-y:auto}.detail-panel{scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.55) transparent}.detail-panel::-webkit-scrollbar{width:6px;height:6px}.detail-panel::-webkit-scrollbar-track{background:transparent;border-radius:3px;margin:12px 0}.detail-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffc44cd9,#d48e14d9);border-radius:3px;box-shadow:0 0 0 1px #78460040 inset}.detail-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffc44c,#d48e14)}.detail-panel::-webkit-scrollbar-corner{background:transparent}.modal-footer{display:flex;gap:12px;padding:12px 24px 24px;border-top:1px solid rgba(255,215,0,.1)}.modal-footer .btn-primary,.modal-footer .btn-secondary{flex:1;padding:14px 18px;font-size:clamp(1.15rem,3vw,1.35rem)}.form-row{margin-bottom:20px}.form-row:last-child{margin-bottom:0}.form-label{display:flex;justify-content:space-between;align-items:center;font-size:clamp(1.1rem,3vw,1.3rem);color:#ffd87a;margin-bottom:10px;letter-spacing:2px}.char-count{font-size:clamp(.95rem,2.3vw,1.05rem);color:#fff9eb80}.nickname-row{display:flex;gap:8px;align-items:center}#wishNickname,#wishContent{width:100%;font-family:inherit;background:#0000004d;border:1.5px solid rgba(255,215,0,.2);border-radius:12px;padding:14px 16px;color:#fff9eb;font-size:clamp(1.1rem,2.8vw,1.3rem);outline:none;transition:all .25s ease;resize:none;letter-spacing:1px;line-height:1.6}#wishNickname{flex:1}#wishContent{min-height:140px}#wishNickname:focus,#wishContent:focus{border-color:#ffd70099;box-shadow:0 0 0 3px #ffd70026,0 0 15px #ff8c001a;background:#0006}#wishNickname::placeholder,#wishContent::placeholder{color:#fff9eb66}.refresh-btn{width:52px;height:52px;border-radius:12px;background:#ffd7001f;border:1.5px solid rgba(255,215,0,.25);color:#ffeca0;font-size:1.6rem;cursor:pointer;font-family:inherit;flex-shrink:0;transition:all .2s ease}.refresh-btn:hover{background:#ffd70038;transform:rotate(90deg)}.refresh-btn:active{transform:rotate(180deg) scale(.95)}#stage-sign{overflow-y:auto;padding:40px 20px}.sign-container{display:flex;flex-direction:column;align-items:center;gap:36px;z-index:20;width:100%;max-width:420px}.sign-card{position:relative;width:100%;animation:signFloat 4s ease-in-out infinite}@keyframes signFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}.sign-ribbon-top,.sign-ribbon-bottom{width:60px;height:22px;background:linear-gradient(180deg,#ff4d4f,#cf1322);margin:0 auto;position:relative}.sign-ribbon-top{border-radius:6px 6px 0 0}.sign-ribbon-bottom{border-radius:0 0 6px 6px}.sign-ribbon-top:before,.sign-ribbon-bottom:after{content:"";position:absolute;width:10px;height:10px;background:inherit;bottom:-5px}.sign-ribbon-top:before{left:-5px;border-radius:0 0 0 100%}.sign-ribbon-top:after{right:-5px;border-radius:0 0 100%}.sign-body{background:linear-gradient(180deg,#fef3c7,#fde68a 40%,#fcd34d);padding:28px 24px 24px;color:#5a3d0a;border-radius:4px;box-shadow:0 15px 40px #00000080,0 0 0 1px #b4781466 inset,0 0 30px #ffc85033;position:relative;min-height:280px}.sign-body:before,.sign-body:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:repeating-linear-gradient(90deg,#a0522d 0,#a0522d 6px,transparent 6px,transparent 12px);opacity:.4}.sign-body:before{top:14px}.sign-body:after{bottom:14px}.sign-header{text-align:center;margin-bottom:18px}.sign-seal{display:inline-block;background:#c8102e;color:#fef3c7;font-size:1rem;padding:5px 14px;border-radius:4px;letter-spacing:4px;font-weight:700;transform:rotate(-3deg);box-shadow:0 2px 8px #c8102e59}.sign-nickname{text-align:center;font-size:clamp(1.1rem,3vw,1.3rem);color:#7c4a0a;font-weight:700;margin-bottom:14px;letter-spacing:1px}.sign-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(160,82,45,.4),transparent);margin:14px 0}.sign-content{text-align:center;font-size:clamp(1.15rem,3.3vw,1.5rem);line-height:1.8;color:#3d2808;letter-spacing:1.5px;padding:10px 8px;min-height:80px;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 0 rgba(255,255,255,.4)}.sign-time{text-align:center;font-size:clamp(.8rem,2vw,.9rem);color:#8b5a1a;opacity:.85;letter-spacing:1px;margin-top:8px}.sign-footer-text{text-align:center;font-size:clamp(.7rem,1.8vw,.8rem);color:#a06a20;opacity:.6;margin-top:12px;letter-spacing:2px}.sign-actions{display:flex;gap:12px;width:100%}.sign-actions .btn-primary,.sign-actions .btn-secondary{flex:1}#stage-tree{justify-content:flex-start;padding-top:0}.tree-top-bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(180deg,rgba(2,4,13,.9) 0%,rgba(2,4,13,.6) 80%,transparent 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tree-title{font-family:Ma Shan Zheng,STKaiti,KaiTi,"Noto Serif SC",PingFang SC,cursive,serif;font-size:clamp(1.1rem,3.4vw,1.6rem);font-weight:700;color:#fff9eb;text-shadow:0 0 14px rgba(255,215,0,.85),0 0 28px rgba(255,120,0,.6);letter-spacing:3px}.wish-tags-container{position:absolute;top:60px;left:0;right:0;bottom:40px;z-index:15;padding:10px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.wish-tag{position:absolute;cursor:pointer;transform-origin:top center;transition:transform .3s ease,filter .3s ease;animation:tagSwing var(--swing-duration, 5s) ease-in-out infinite;animation-delay:var(--swing-delay, 0s);filter:drop-shadow(2px 6px 8px rgba(0,0,0,.45));z-index:20}.wish-tag:hover{transform:scale(1.08)!important;filter:drop-shadow(2px 8px 14px rgba(255,140,0,.45));z-index:99}@keyframes tagSwing{0%,to{transform:rotate(var(--swing-base, -2deg))}50%{transform:rotate(calc(var(--swing-base, -2deg) * -1))}}.wish-tag-inner{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 4px 10px}.wish-tag-string{width:1.5px;height:var(--string-h, 18px);background:linear-gradient(180deg,#8b5a2b99,#a0522dcc)}.wish-tag-body{background:linear-gradient(180deg,var(--tag-bg-top, #fef3c7) 0%,var(--tag-bg-bottom, #fcd34d) 100%);padding:11px 11px 13px;border-radius:4px;min-width:76px;max-width:122px;text-align:center;box-shadow:0 4px 12px #0000004d,0 0 0 1px #b4781459 inset;position:relative}.wish-tag-body:before,.wish-tag-body:after{content:"";position:absolute;width:6px;height:6px;background:#a0522d4d;top:4px}.wish-tag-body:before{left:5px;border-radius:50%}.wish-tag-body:after{right:5px;border-radius:50%}.wish-tag-content{font-size:clamp(.74rem,2.05vw,.92rem);color:#5a3d0a;line-height:1.5;letter-spacing:.6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;text-shadow:0 1px 0 rgba(255,255,255,.35)}.wish-tag-nick{margin-top:7px;font-size:clamp(.63rem,1.7vw,.74rem);color:#8b5a1a;opacity:.88;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wish-tag-likes{margin-top:5px;font-size:clamp(.56rem,1.45vw,.68rem);color:#c8102e;display:flex;align-items:center;justify-content:center;gap:2px}.wish-tag-counter{margin-top:6px;padding-top:5px;font-size:clamp(.56rem,1.35vw,.65rem);color:sienna;letter-spacing:.9px;opacity:.82;border-top:1px dashed rgba(160,82,45,.3)}.wish-tag.var-1 .wish-tag-body{--tag-bg-top: #fef3c7;--tag-bg-bottom: #fcd34d}.wish-tag.var-2 .wish-tag-body{--tag-bg-top: #fee2e2;--tag-bg-bottom: #fca5a5}.wish-tag.var-3 .wish-tag-body{--tag-bg-top: #dbeafe;--tag-bg-bottom: #93c5fd}.wish-tag.var-4 .wish-tag-body{--tag-bg-top: #dcfce7;--tag-bg-bottom: #86efac}.wish-tag.var-5 .wish-tag-body{--tag-bg-top: #f3e8ff;--tag-bg-bottom: #c4b5fd}.wish-tag.var-6 .wish-tag-body{--tag-bg-top: #ffedd5;--tag-bg-bottom: #fdba74}.detail-card{background:linear-gradient(180deg,#fef3c7,#fde68a,#fcd34d);padding:28px 22px;border-radius:12px;color:#5a3d0a;position:relative;box-shadow:0 10px 30px #00000059,0 0 0 1px #b4781466 inset}.detail-card:before,.detail-card:after{content:"";position:absolute;left:14px;right:14px;height:2px;background:repeating-linear-gradient(90deg,#a0522d 0,#a0522d 6px,transparent 6px,transparent 12px);opacity:.35}.detail-card:before{top:16px}.detail-card:after{bottom:16px}.detail-nickname{text-align:center;font-size:clamp(1.25rem,3.2vw,1.55rem);font-weight:700;color:#7c4a0a;letter-spacing:1px}.detail-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(160,82,45,.5),transparent);margin:16px 0}.detail-content{text-align:center;font-size:clamp(1.2rem,3.2vw,1.55rem);line-height:1.95;color:#3d2808;letter-spacing:1.6px;padding:16px 10px;min-height:120px;max-height:46vh;display:flex;align-items:flex-start;justify-content:center;word-break:break-word;text-shadow:0 1px 0 rgba(255,255,255,.4);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(180,110,20,.55) rgba(250,220,140,.25)}.detail-content::-webkit-scrollbar{width:5px;height:5px}.detail-content::-webkit-scrollbar-track{background:#fadc8c33;border-radius:3px;margin:8px 0}.detail-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#e6961ed9,#aa640ae6);border-radius:3px}.detail-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#e6961e,#aa640a)}.detail-content::-webkit-scrollbar-corner{background:transparent}.detail-content.single-line{align-items:center}.detail-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:0 4px}.detail-time{font-size:clamp(.8rem,2.1vw,.95rem);color:#8b5a1a;opacity:.88;letter-spacing:.5px}.like-btn{display:inline-flex;align-items:center;gap:6px;background:#c8102e1a;border:1.5px solid rgba(200,16,46,.35);border-radius:20px;padding:7px 15px;color:#c8102e;font-family:inherit;font-size:clamp(.9rem,2.35vw,1.05rem);cursor:pointer;transition:all .25s ease}.like-btn:hover{background:#c8102e33;transform:scale(1.05);border-color:#c8102e99}.like-btn:active{transform:scale(.96)}.like-btn.liked{background:#c8102e38;border-color:#c8102eb3;animation:likeBump .4s ease}@keyframes likeBump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.like-icon{display:inline-block;transition:transform .2s ease}.like-btn.liked .like-icon{animation:heartBeat .5s ease}@keyframes heartBeat{0%{transform:scale(1)}30%{transform:scale(1.4)}60%{transform:scale(.9)}to{transform:scale(1)}}.detail-counter{text-align:center;margin-top:14px;padding-top:10px;border-top:1px dashed rgba(160,82,45,.35);font-size:clamp(.72rem,2vw,.88rem);font-weight:700;letter-spacing:1.5px;color:sienna;opacity:.85}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000d1;color:#fff9eb;padding:14px 28px;border-radius:12px;font-size:clamp(.9rem,2.5vw,1rem);z-index:200;letter-spacing:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,215,0,.25);box-shadow:0 10px 30px #00000080;animation:toastIn .25s ease;max-width:80%;text-align:center}.toast.hidden{display:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-40%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.detail-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,215,0,.35);background:#fff9eb14;color:#ffeca0;font-size:2rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0006;font-family:inherit;z-index:101;-webkit-user-select:none;user-select:none}.detail-nav-btn:hover{background:#ffd7002e;border-color:#ffd700bf;transform:translateY(-50%) scale(1.1);color:#fff6d6;box-shadow:0 6px 28px #ff8c004d}.detail-nav-btn:active{transform:translateY(-50%) scale(.96)}.detail-nav-prev{left:4%}.detail-nav-next{right:4%}@media(max-width:768px){.detail-nav-btn{display:none}}.detail-card-stack{position:relative;width:100%;min-height:320px;overflow:hidden;isolation:isolate}.detail-card{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;transform:translateZ(0);transform-origin:center center;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-font-smoothing:antialiased}.detail-card.card-active{position:relative;z-index:2}.detail-card.card-leave-left{animation:cardLeaveLeft .32s cubic-bezier(.22,.61,.36,1) forwards;z-index:2;pointer-events:none}.detail-card.card-leave-right{animation:cardLeaveRight .32s cubic-bezier(.22,.61,.36,1) forwards;z-index:2;pointer-events:none}.detail-card.card-enter-from-right{animation:cardEnterFromRight .32s cubic-bezier(.22,.61,.36,1) forwards;z-index:3;pointer-events:none}.detail-card.card-enter-from-left{animation:cardEnterFromLeft .32s cubic-bezier(.22,.61,.36,1) forwards;z-index:3;pointer-events:none}@keyframes cardLeaveLeft{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(-108%,0,0);opacity:0}}@keyframes cardLeaveRight{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(108%,0,0);opacity:0}}@keyframes cardEnterFromRight{0%{transform:translate3d(108%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes cardEnterFromLeft{0%{transform:translate3d(-108%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}.detail-card.dragging{transition:none!important;z-index:10!important}.site-footer{position:fixed;left:0;right:0;bottom:10px;z-index:25;text-align:center;font-size:15px;color:#ffffff80;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px rgba(0,0,0,.7);letter-spacing:1px}@media(max-width:768px){.site-footer{font-size:12px}}@media(max-width:480px){.modal-panel{width:92%;max-width:none}.modal-header{padding:16px 18px 10px}.modal-body{padding:16px 18px}.modal-footer{padding:10px 18px 18px}.sign-body{padding:22px 18px 18px}.wish-tag-body{min-width:62px;max-width:95px;padding:8px 7px 10px}}@media(min-width:1024px){.wish-tag-body{min-width:90px;max-width:140px;padding:12px 12px 14px}.wish-tag-content{-webkit-line-clamp:4}}
