:root{--font-latin: "Google Sans", "Product Sans", "Segoe UI", Arial, sans-serif;--font-cjk: "Noto Sans CJK SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-global: var(--font-latin), var(--font-cjk)}*,*:before,*:after{font-family:var(--font-global);box-sizing:border-box}.landing-page{background-color:#aecbfa;width:100%;min-height:100vh;position:relative;overflow-x:hidden;display:flex;justify-content:center;align-items:center}.main-content{display:flex;flex-direction:column;align-items:center;gap:90px;z-index:10;animation:fadeInUp .8s ease-out forwards;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;flex-direction:column;align-items:center;gap:15px;padding:0;text-align:center}.title-group{display:flex;flex-direction:column;align-items:center}.sub-title{color:#5f6368;font-size:25px;font-weight:700;letter-spacing:1px;margin:0;line-height:1.2}.logo-container{height:30px;width:219px;display:flex;justify-content:center;align-items:center}.logo-img{width:218px;height:auto;display:block}.main-title{color:#4285f4;font-size:30px;font-weight:700;letter-spacing:1px;margin:0;display:flex;flex-direction:column;align-items:center}.main-title h1{margin:0;font-size:inherit;line-height:1.3}.main-title p{margin:0;line-height:1.3}.year{font-family:var(--font-global)}.card-stack{position:relative;width:412px;height:462px}.card-layer{position:absolute;left:0;width:100%;border:2px solid #202124;border-radius:20px}.card-outer{background-color:#e8f0fe;height:100%;bottom:0;z-index:1}.card-middle{background-color:#4285f4;height:calc(100% - 25px);top:0;z-index:2}.card-inner{background-color:#fff;height:calc(100% - 50px);top:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0 30px}.calendar-badge-wrapper{position:absolute;top:-87px;left:50%;transform:translate(-50%);z-index:20;width:119px;height:122px;display:flex;justify-content:center;align-items:center}.calendar-badge-skeleton{position:absolute;top:-87px;left:50%;transform:translate(-50%) translate(-1px) rotate(19deg);z-index:20;width:92px;height:92px;border-radius:15px;border:1px solid #d7dbe2;background:#fff;box-shadow:2px 5px #00000026;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.calendar-badge{transform:rotate(19deg);box-shadow:2px 5px #000;width:92px;border-radius:15px;overflow:hidden;border:1px solid #202124;transition:transform .2s ease-in-out;cursor:pointer}.calendar-badge:hover{animation:wobble .5s ease-in-out infinite}@keyframes wobble{0%{transform:rotate(19deg)}25%{transform:rotate(15deg)}50%{transform:rotate(23deg)}75%{transform:rotate(17deg)}to{transform:rotate(19deg)}}.calendar-header{background-color:#1a73e8;padding:6px 11px;text-align:center}.calendar-month{color:#fff;font-size:21px;font-weight:700;font-family:var(--font-global);letter-spacing:1px}.calendar-body{background-color:#fff;padding:0 11px;text-align:center;height:50px;display:flex;justify-content:center;align-items:center}.calendar-day{color:#202124;font-size:46px;font-weight:700;font-family:var(--font-global);letter-spacing:-1px}.event-info{text-align:center;color:#202124;font-weight:500}.event-date{font-size:25px;margin:0;line-height:1.65}.event-time{font-size:20px;margin:0;line-height:1.65}.google-sans{font-family:var(--font-global)}.countdown-group{display:flex;gap:12px}.countdown-item{display:flex;flex-direction:column;align-items:center}.countdown-circle-container{width:81px;height:81px;position:relative;display:flex;justify-content:center;align-items:center}.progress-ring{transform:rotate(-90deg);position:absolute;top:0;left:0}.progress-ring-fill{transition:stroke-dashoffset .3s ease}.countdown-value{color:#3c4043;font-size:32px;font-weight:700;font-family:var(--font-global);position:relative;z-index:5}.countdown-label{color:#5f6368;font-size:12px;font-weight:500;margin-top:8px}.login-form{width:366px;display:flex;flex-direction:column;gap:15px}.input-wrapper{background-color:#fff;border:4px solid transparent;border-radius:5px;padding:2px;transition:border-color .2s;position:relative}.input-wrapper:focus-within{border-color:#c9ddff}.invitation-input{width:100%;height:51px;border:1px solid #c9ddff;border-radius:5px;padding:5px 17px;font-size:18px;color:#6d757d;box-sizing:border-box;outline:none}.input-wrapper:focus-within .invitation-input{border-color:#83bcff}.input-wrapper.has-error .invitation-input{border-color:#ef4444}.login-button{background-color:#187aff;color:#fff;font-size:22px;height:57px;border:none;border-radius:5px;cursor:pointer;transition:opacity .2s}.login-button:hover{opacity:.9}.login-button:disabled{cursor:not-allowed}.login-button.is-blocked,.login-button.is-blocked:hover{background:#dbe7fb;color:#6b7280;border:1px solid #b8c9e8;opacity:1;box-shadow:none}.status-message{font-size:24px;font-weight:700}.form-error{position:absolute;top:calc(100% + 2px);left:2px;right:2px;margin:0;color:#dc2626;font-size:12px;line-height:1.3;pointer-events:none;font-weight:700}.landing-skeleton{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.skeleton-line,.skeleton-circle{position:relative;overflow:hidden;background:#eef1f5}.skeleton-line:after,.skeleton-circle:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#eef1f500,#ffffffa6,#eef1f500);animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-date{width:220px;height:26px;border-radius:8px}.skeleton-time{width:280px;height:20px;border-radius:8px}.skeleton-countdown-group{display:flex;gap:12px;margin-top:4px}.skeleton-countdown-item{display:flex;flex-direction:column;align-items:center;gap:8px}.skeleton-circle{width:81px;height:81px;border-radius:50%}.skeleton-countdown-label{width:20px;height:12px;border-radius:6px}.skeleton-form{width:366px;display:flex;flex-direction:column;gap:15px;margin-top:4px}.skeleton-input{width:100%;height:51px;border-radius:8px}.skeleton-button{width:100%;height:57px;border-radius:8px}.skeleton-badge-month{width:46px;height:14px;border-radius:6px}.skeleton-badge-day{width:30px;height:30px;border-radius:8px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.decoration{position:absolute;pointer-events:none}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 767px){.decoration{display:none}.landing-page{overflow:hidden;height:100vh}.main-content{transform:scale(.8);gap:30px;width:100%;animation:fadeInUpMobile .8s ease-out forwards}@keyframes fadeInUpMobile{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(.8)}}.page-header{padding:0 0 58px}}.icp-number{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:12px;color:#9aa0a6;padding-bottom:20px;z-index:15;pointer-events:none;white-space:nowrap}@media (min-width: 768px){.decoration.puzzle{right:5vw;top:5vh;width:11vw;aspect-ratio:251 / 283;animation:float 6s ease-in-out infinite,fadeIn 1s ease-out .5s both}.decoration.puzzle img{transform:rotate(-36deg);width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}.decoration.bottom-right{bottom:0;right:0;width:20vw;aspect-ratio:440 / 334;overflow:hidden;animation:fadeIn 1s ease-out .9s both}.chart-1{position:absolute;left:5%;top:15%;width:41%;height:54%;-o-object-fit:contain;object-fit:contain}.chart-2{position:absolute;left:36%;top:7%;width:66%;height:98%;-o-object-fit:contain;object-fit:contain}.decoration.light-bulb{left:5vw;bottom:10vh;width:10vw;aspect-ratio:221 / 255;animation:float 5s ease-in-out infinite .5s,fadeIn 1s ease-out .7s both}.decoration.light-bulb img{transform:rotate(24deg);width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}}
