.loading-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center}.loading-backdrop{position:absolute;inset:0;background:#0f172acc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.loading-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 60px;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 50px -12px #00000040;animation:loadingFadeIn .3s ease}@keyframes loadingFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-theme=light] .loading-content{background:#ffffffe6}.loading-spinner-container{position:relative;width:60px;height:60px}.modern-spinner{width:60px;height:60px;position:relative}.modern-spinner .spinner-circle{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;animation:spinnerRotate 1.5s linear infinite}.modern-spinner .spinner-circle:nth-child(1){border-top-color:#00796b;animation-delay:0s}.modern-spinner .spinner-circle:nth-child(2){width:80%;height:80%;top:10%;left:10%;border-right-color:#26a69a;animation-delay:.15s;animation-direction:reverse}.modern-spinner .spinner-circle:nth-child(3){width:60%;height:60%;top:20%;left:20%;border-bottom-color:#4db6ac;animation-delay:.3s}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-core{position:absolute;top:50%;left:50%;width:12px;height:12px;background:linear-gradient(135deg,#00796b,#26a69a);border-radius:50%;transform:translate(-50%,-50%);animation:corePulse 1s ease-in-out infinite}@keyframes corePulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.3);opacity:.7}}.loading-text{font-size:1rem;font-weight:500;color:#f1f5f9;text-align:center}[data-theme=light] .loading-text{color:#1e293b}.loading-progress{width:180px;display:flex;flex-direction:column;align-items:center;gap:8px}.progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}[data-theme=light] .progress-bar{background:#0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#00796b,#26a69a,#4db6ac);background-size:200% 100%;border-radius:2px;transition:width .3s ease;animation:progressShine 1.5s ease-in-out infinite}@keyframes progressShine{0%{background-position:100% 0}to{background-position:0 0}}.progress-text{font-size:.8rem;color:#ffffffb3}[data-theme=light] .progress-text{color:#64748b}.cancel-btn{padding:8px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#f1f5f9;font-size:.85rem;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#fff3}[data-theme=light] .cancel-btn{background:#0000000d;border-color:#0000001a;color:#475569}.skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:8px}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:100%}.skeleton-title{height:1.5em;width:60%;margin-bottom:1em}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-card{height:120px;width:100%;margin-bottom:1rem}.skeleton-button{height:40px;width:120px;border-radius:8px}.page-transition-enter{opacity:0;transform:translateY(10px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease}.lazy-loading-container,.lazy-error-container{display:flex;align-items:center;justify-content:center;min-height:200px;padding:40px}.error-content{text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.error-content h3{color:var(--theme-text-primary);margin-bottom:.5rem}.error-content p{color:var(--theme-text-secondary);margin-bottom:1.5rem}.mini-spinner{width:20px;height:20px;border:2px solid rgba(0,121,107,.2);border-top-color:#00796b;border-radius:50%;animation:spinnerRotate .8s linear infinite}.mini-spinner.white{border-color:#fff3;border-top-color:#fff}.content-fade-in{animation:contentFadeIn .4s ease}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.loading-content{padding:30px 40px}.loading-spinner-container,.modern-spinner{width:50px;height:50px}.loading-text{font-size:.9rem}.loading-progress{width:150px}}.nav-utility-menu{position:absolute;z-index:1200;width:min(270px,calc(100vw - 24px));padding:8px;border:1px solid var(--product-border, #dfe6e3);border-radius:16px;background:var(--product-surface, #ffffff);color:var(--product-ink, #13201d);box-shadow:var(--shadow-dropdown, 0 10px 28px -4px rgba(19, 32, 29, .12));box-sizing:border-box}.nav-utility-menu__guest-card{background:var(--product-accent-soft, #e6f3ef);border:1px solid var(--product-border, #dfe6e3);border-radius:12px;padding:12px;margin-bottom:8px}.nav-utility-menu__guest-badge{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--product-accent, #075f50);margin-bottom:3px}.nav-utility-menu__guest-title{font-size:13px;font-weight:700;color:var(--product-ink, #13201d);margin-bottom:3px}.nav-utility-menu__guest-desc{font-size:11.5px;line-height:1.35;color:var(--product-muted, #68736f);margin-bottom:10px}.nav-utility-menu__guest-btn{width:100%;height:38px;border-radius:10px;border:none;background:var(--product-accent, #075f50);color:#fff;font-family:inherit;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background-color .16s ease,transform .16s ease}.nav-utility-menu__guest-btn:hover{background:var(--product-accent-strong, #03483d)}.nav-utility-menu__guest-btn:active{transform:scale(.97)}.nav-utility-menu__identity{display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:10px;border-radius:12px;background:var(--product-accent-soft, #e6f3ef);border:1px solid var(--product-border, #dfe6e3)}.nav-utility-menu__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--product-border, #dfe6e3);flex-shrink:0}.nav-utility-menu__user-info{flex:1;min-width:0}.nav-utility-menu__name{color:var(--product-ink, #13201d);font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-utility-menu__meta{margin-top:2px;overflow:hidden;color:var(--product-muted, #68736f);font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.nav-utility-menu__section{display:flex;flex-direction:column;gap:1px}.nav-utility-menu__item{width:100%;min-height:40px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--product-ink, #13201d);cursor:pointer;font:inherit;font-size:13px;font-weight:500;line-height:1.3;text-align:left;text-decoration:none;transition:background-color .14s ease,color .14s ease}.nav-utility-menu__item:hover,.nav-utility-menu__item:focus-visible{background:var(--product-card-hover, #f6f8f7);outline:none}.nav-utility-menu__item:focus-visible{box-shadow:0 0 0 2px var(--product-accent, #075f50)}.nav-utility-menu__item--app{background:var(--product-accent-soft, #edfce9);color:var(--product-accent, #075f50)}.nav-utility-menu__item--app:hover,.nav-utility-menu__item--app:focus-visible{background:color-mix(in srgb,var(--product-accent, #075f50) 16%,transparent)}.nav-utility-menu__item--danger{color:var(--product-danger, #dc2626)}.nav-utility-menu__icon{width:17px;height:17px;color:var(--product-muted, #68736f)}.nav-utility-menu__item--danger .nav-utility-menu__icon{color:var(--product-danger, #dc2626)}.nav-utility-menu__label{min-width:0;overflow-wrap:anywhere}.nav-utility-menu__value{color:var(--product-muted, #68736f);font-size:11.5px;line-height:1;white-space:nowrap}.nav-utility-menu__rule{height:1px;margin:5px 0;background:var(--product-border, #dfe6e3)}[data-theme=dark] .nav-utility-menu{border-color:var(--product-border, rgba(255, 255, 255, .12));background:var(--product-surface, #17181d);color:var(--product-ink, #ffffff);box-shadow:var(--shadow-dropdown, 0 14px 32px -4px rgba(0, 0, 0, .55))}[data-theme=dark] .nav-utility-menu__guest-card{background:var(--product-accent-soft, #16302b);border-color:var(--product-border, rgba(255, 255, 255, .12))}[data-theme=dark] .nav-utility-menu__guest-badge{color:#34d399}[data-theme=dark] .nav-utility-menu__guest-title{color:#fff}[data-theme=dark] .nav-utility-menu__guest-desc{color:#8e92a0}[data-theme=dark] .nav-utility-menu__guest-btn{background:var(--product-accent, #118471)}[data-theme=dark] .nav-utility-menu__guest-btn:hover{background:var(--product-accent-strong, #17a08a)}[data-theme=dark] .nav-utility-menu__identity{background:var(--product-accent-soft, #16302b);border-color:var(--product-border, rgba(255, 255, 255, .12))}[data-theme=dark] .nav-utility-menu__avatar{border-color:#ffffff24}[data-theme=dark] .nav-utility-menu__name{color:#fff}[data-theme=dark] .nav-utility-menu__meta,[data-theme=dark] .nav-utility-menu__value,[data-theme=dark] .nav-utility-menu__icon{color:#8e92a0}[data-theme=dark] .nav-utility-menu__item{color:#fff}[data-theme=dark] .nav-utility-menu__item:hover,[data-theme=dark] .nav-utility-menu__item:focus-visible{background:#ffffff14}[data-theme=dark] .nav-utility-menu__item--app{background:var(--product-accent-soft, #16302b);color:#34d399}[data-theme=dark] .nav-utility-menu__item--app:hover,[data-theme=dark] .nav-utility-menu__item--app:focus-visible{background:#11847147}[data-theme=dark] .nav-utility-menu__item--danger,[data-theme=dark] .nav-utility-menu__item--danger .nav-utility-menu__icon{color:#ef4444}[data-theme=dark] .nav-utility-menu__rule{background:var(--product-border, rgba(255, 255, 255, .12))}.google-login-overlay{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;background:#071f1d9e;backdrop-filter:blur(8px)}.google-login-modal{position:relative;width:min(100%,640px);max-height:calc(100dvh - 56px);overflow:hidden;padding:24px 34px 18px;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:#fff;color:#062f2b;box-shadow:0 24px 70px #00000047}.google-login-close{position:absolute;top:20px;right:20px;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:transparent;color:#17171c;cursor:pointer;font-size:22px}.google-login-close:hover,.google-login-close:focus-visible{background:#eef4f2;outline:none}.google-login-close:disabled{cursor:not-allowed;opacity:.45}.google-login-brand{display:flex;align-items:center;gap:11px;margin:3px 48px 26px 0;color:#17171c;font-size:15px;font-weight:800;letter-spacing:.2em}.google-login-brand-mark{color:#00594f;font-size:18px;line-height:1}.google-login-modal h2{max-width:360px;margin:0;color:#003b35;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(2.4rem,10vw,4.2rem);font-weight:500;letter-spacing:-.06em;line-height:.98}.google-login-subtitle{margin:20px 0 22px;color:#4c5c5c;font-family:Georgia,"Noto Serif TC",serif;font-size:16px;line-height:1.7}.google-login-preview{position:relative;overflow:hidden;padding:17px;border-radius:25px;background:#032b2d;color:#f3fffb;box-shadow:inset 0 0 0 1px #7eff9e1f}.google-login-preview:before,.google-login-preview:after{position:absolute;inset:25% -10% -30%;border:1px solid rgba(121,238,121,.18);border-radius:50%;content:"";pointer-events:none}.google-login-preview:after{inset:38% 8% -10%}.google-login-preview-status,.google-login-preview-date,.google-login-preview-row,.google-login-preview-nav{position:relative;z-index:1}.google-login-preview-status{display:flex;justify-content:space-between;color:#8bf58c;font-size:12px}.google-login-preview-date{display:grid;gap:4px;margin:28px 0 16px}.google-login-preview-date small,.google-login-preview-row small{color:#f0fffbad;font-size:11px}.google-login-preview-date strong{font-size:24px;font-weight:700}.google-login-preview-row{display:flex;align-items:center;gap:12px;margin-top:8px;padding:11px 12px;border:1px solid rgba(172,255,204,.14);border-radius:13px;background:#ffffff14;color:#8bf58c}.google-login-preview-row span{display:grid;gap:2px;color:#f3fffb;font-size:13px}.google-login-preview-nav{display:grid;grid-template-columns:repeat(4,1fr);margin-top:17px;padding-top:12px;border-top:1px solid rgba(172,255,204,.18);color:#f0fffbc7;font-size:11px;text-align:center}.google-login-action{display:grid;justify-items:center;min-height:48px;margin-top:24px}.google-login-button{display:flex;align-items:center;justify-content:center;min-width:0;max-width:100%;width:min(100%,320px);min-height:44px}.google-login-button>div,.google-login-button .nsm7Bb-HzV7m-LgbsSe,.google-login-button .hJDwNd-SxQuSe,.google-login-button .i5vt6e-Ia7Qfc,.google-login-button .JGcpL-RbRzK{min-width:0!important;max-width:100%!important;width:min(100%,320px)!important;margin-inline:auto!important}.google-login-status{margin:8px 0 0;color:#58706d;font-size:12px;line-height:1.4;text-align:center}.google-login-status--error{color:#b42318}.google-login-benefit{margin:20px 0 0;color:#4c5c5c;font-family:Georgia,"Noto Serif TC",serif;font-size:14px;line-height:1.7;text-align:center}.google-login-terms{margin:18px 0 0;color:#899695;font-family:Georgia,"Noto Serif TC",serif;font-size:12px;line-height:1.6;text-align:center}@media(min-width:769px){.google-login-brand{margin-bottom:12px}.google-login-modal h2{max-width:none;font-size:clamp(2.8rem,5vw,3.8rem);white-space:nowrap}.google-login-subtitle{margin:10px 0 14px;font-size:15px}.google-login-preview{padding:13px 16px}.google-login-preview-date{margin:18px 0 10px}.google-login-preview-row{margin-top:6px;padding:9px 12px}.google-login-preview-nav{margin-top:12px;padding-top:9px}.google-login-action{min-height:44px;margin-top:16px}.google-login-benefit{margin-top:12px}.google-login-terms{margin-top:10px}}[data-theme=dark] .google-login-modal{background:#f7fbf9}@media(max-width:480px){.google-login-overlay{align-items:stretch;width:100vw;padding:0;overflow:hidden}.google-login-modal{width:100vw;min-height:100dvh;height:100dvh;max-height:none;overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(12px,2.4vh,22px);padding:max(56px,calc(env(safe-area-inset-top) + 36px)) 24px max(28px,calc(env(safe-area-inset-bottom) + 20px));border:0;border-radius:0;box-shadow:none}.google-login-close{top:max(20px,calc(env(safe-area-inset-top) + 12px));right:20px;width:42px;height:42px;background:#e5e7eb;color:#1f2937}.google-login-close:hover,.google-login-close:focus-visible{background:#dfe5e7}.google-login-brand{margin:0 52px 0 0;font-size:11px;letter-spacing:.14em}.google-login-modal h2{max-width:none;font-size:clamp(2.6rem,12vw,4.2rem);line-height:.98}.google-login-subtitle{margin:0;font-size:14px}.google-login-preview{flex:1 1 auto;min-height:280px;display:flex;flex-direction:column;padding:16px;border-radius:24px}.google-login-preview-date{margin:24px 0 16px}.google-login-preview-date strong{font-size:20px}.google-login-preview-row{margin-top:10px;padding:12px}.google-login-preview-nav{margin-top:auto;padding-top:14px}.google-login-action,.google-login-benefit,.google-login-terms{margin-top:0}.google-login-action{min-height:48px}.google-login-button{width:100%}.google-login-benefit{font-size:14px}.google-login-terms{font-size:12px}}@media(max-width:480px)and (max-height:760px){.google-login-modal{gap:10px;padding-top:max(44px,calc(env(safe-area-inset-top) + 28px));padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 14px))}.google-login-modal h2{font-size:clamp(2.25rem,11vw,3.4rem)}.google-login-preview{min-height:240px;padding:13px}.google-login-preview-date{margin:18px 0 10px}.google-login-preview-row{margin-top:7px;padding:9px 10px}.google-login-preview-nav{margin-top:12px;padding-top:10px}}.side-nav{position:fixed;top:0;bottom:0;left:0;z-index:1000;display:flex;width:244px;flex-direction:column;border-right:1px solid #d9d9dd;background:#fff;color:#17171c;box-shadow:none;transition:width .2s ease}.side-nav.collapsed{width:var(--app-shell-sidebar-collapsed-width, 76px)}[data-theme=dark] .side-nav{border-right-color:#d9d9dd38;background:#17171c;color:#fff}.side-nav-header{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:10px;padding:16px 14px;border-bottom:1px solid #d9d9dd;box-sizing:border-box}[data-theme=dark] .side-nav-header{border-bottom-color:#d9d9dd38}.brand-container{display:inline-flex;min-width:0;align-items:center;gap:10px;color:inherit;text-decoration:none}.side-nav-logo-mark{display:inline-flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border:1px solid #d9d9dd;border-radius:14px;background:#f7f6f2;color:#17171c;overflow:hidden}.side-nav-logo-mark svg{width:18px;height:18px}.side-nav-logo-image{display:block;width:100%;height:100%;object-fit:cover}[data-theme=dark] .side-nav-logo-mark{border-color:#d9d9dd52;background:#ffffff0f;color:#fff}.brand-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.brand-copy strong{overflow:hidden;color:inherit;font-size:16px;font-weight:700;line-height:1.1;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.brand-copy span{overflow:hidden;color:#75758a;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .brand-copy span{color:#c7c7d1}.collapse-btn,.side-nav-notification-btn,.side-nav-account-more{display:inline-flex;align-items:center;justify-content:center}.collapse-btn{width:32px;height:32px;flex:0 0 32px;border:1px solid #d9d9dd;border-radius:50%;background:#fff;color:#17171c;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.collapse-btn svg{width:17px;height:17px}.collapse-btn:hover,.collapse-btn:focus-visible{border-color:#17171c;background:#f7f7f8;outline:none}.collapse-btn:focus-visible,.side-nav-item:focus-visible,.external-chip:focus-visible,.side-nav-notification-btn:focus-visible,.side-nav-account-trigger:focus-visible,.side-nav-terms-btn:focus-visible{box-shadow:0 0 0 3px #4c6ee647}[data-theme=dark] .collapse-btn{border-color:#d9d9dd52;background:transparent;color:#fff}[data-theme=dark] .collapse-btn:hover,[data-theme=dark] .collapse-btn:focus-visible{border-color:#fff;background:#ffffff14}.side-nav.collapsed .side-nav-header{flex-direction:column;padding:14px 10px}.side-nav-links{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding:14px 10px 18px}.side-nav-section-title{padding:14px 10px 6px;color:#75758a;font-size:11px;font-weight:600;line-height:1.2;text-transform:uppercase}[data-theme=dark] .side-nav-section-title{color:#93939f}.side-nav-item{display:flex;width:100%;min-height:44px;align-items:center;gap:11px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#616161;cursor:pointer;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.side-nav-item:hover,.side-nav-item:focus-visible{border-color:#d9d9dd;background:#f7f7f8;color:#17171c;outline:none}.side-nav-item.active{border-color:#17171c;background:#17171c;color:#fff}[data-theme=dark] .side-nav-item{color:#c7c7d1}[data-theme=dark] .side-nav-item:hover,[data-theme=dark] .side-nav-item:focus-visible{border-color:#d9d9dd52;background:#ffffff14;color:#fff}[data-theme=dark] .side-nav-item.active{border-color:#fff;background:#fff;color:#17171c}.side-nav-sponsor-item{position:relative;border:1px solid rgba(226,184,88,.42);background:linear-gradient(135deg,#e2b8581f,#f6d88e0a);color:#996f15;font-weight:650;transition:all .18s ease}.side-nav-sponsor-item .sponsor-icon{color:#c49733;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.sponsor-capsule-tag{margin-left:auto;font-size:10px;font-weight:750;padding:2px 7px;border-radius:999px;background:linear-gradient(135deg,#e2b85833,#f6d88e14);border:1px solid rgba(226,184,88,.35);color:#a3791b;letter-spacing:.02em;text-transform:uppercase}.side-nav-sponsor-item:hover,.side-nav-sponsor-item:focus-visible{border-color:#e2b858;background:linear-gradient(135deg,#e2b85838,#f6d88e1a);color:#7d5707;box-shadow:0 4px 14px #e2b85833}.side-nav-sponsor-item:hover .sponsor-icon{transform:scale(1.15);color:#e25865}[data-theme=dark] .side-nav-sponsor-item{border-color:#f6d88e59;background:linear-gradient(135deg,#e2b85829,#f6d88e0a);color:#f6d88e;box-shadow:0 0 16px #e2b85814}[data-theme=dark] .side-nav-sponsor-item .sponsor-icon{color:#f6d88e}[data-theme=dark] .sponsor-capsule-tag{background:#e2b85829;border-color:#f6d88e4d;color:#f6d88e}[data-theme=dark] .side-nav-sponsor-item:hover,[data-theme=dark] .side-nav-sponsor-item:focus-visible{border-color:#f6d88e;background:linear-gradient(135deg,#e2b85842,#f6d88e1a);color:#fff;box-shadow:0 0 22px #e2b8583d}.nav-icon{width:19px;height:19px;flex:0 0 19px;stroke-width:2}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav.collapsed .side-nav-item{justify-content:center;padding:0}.external-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 4px}.external-chip{display:inline-flex;min-height:34px;max-width:100%;align-items:center;gap:7px;padding:0 10px;border:1px solid #d9d9dd;border-radius:999px;background:#fff;color:#17171c;font-size:12px;font-weight:500;line-height:1;text-decoration:none;box-sizing:border-box}.external-chip:hover,.external-chip:focus-visible{border-color:#17171c;background:#f7f7f8;outline:none}.external-chip svg{width:15px;height:15px;flex:0 0 15px}.external-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.external-chips.collapsed{flex-direction:column;align-items:center}.external-chips.collapsed .external-chip{width:44px;height:44px;justify-content:center;padding:0;border-radius:8px}[data-theme=dark] .external-chip{border-color:#d9d9dd52;background:transparent;color:#fff}[data-theme=dark] .external-chip:hover,[data-theme=dark] .external-chip:focus-visible{border-color:#fff;background:#ffffff14}.side-nav-footer{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid #d9d9dd}[data-theme=dark] .side-nav-footer{border-top-color:#d9d9dd38}.side-nav-notification,.side-nav-account{position:relative}.side-nav-theme-toggle{display:flex;width:100%;min-height:46px;align-items:center;gap:11px;padding:0 12px;border:1px solid #d9d9dd;border-radius:8px;background:#fff;color:#17171c;cursor:pointer;text-align:left}.side-nav-theme-toggle>svg{width:18px;height:18px;flex:0 0 18px}.side-nav-theme-toggle>span{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:8px}.side-nav-theme-toggle strong{font-size:13px;font-weight:600}.side-nav-theme-toggle small{color:#75758a;font-size:10px}.side-nav-theme-toggle:hover{border-color:#17171c;background:#f7f7f8}.side-nav.collapsed .side-nav-theme-toggle{justify-content:center;padding:0}[data-theme=dark] .side-nav-theme-toggle{border-color:#d9d9dd52;background:transparent;color:#fff}[data-theme=dark] .side-nav-theme-toggle small{color:#93939f}[data-theme=dark] .side-nav-theme-toggle:hover{border-color:#fff;background:#ffffff14}.side-nav-notification-btn{position:relative;width:100%;height:42px;border:1px solid #d9d9dd;border-radius:8px;background:#fff;color:#17171c;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.side-nav-notification-btn:hover,.side-nav-notification-btn[aria-expanded=true]{border-color:#17171c;background:#f7f7f8}.side-nav-notification-btn svg{width:18px;height:18px}[data-theme=dark] .side-nav-notification-btn{border-color:#d9d9dd52;background:transparent;color:#fff}[data-theme=dark] .side-nav-notification-btn:hover,[data-theme=dark] .side-nav-notification-btn[aria-expanded=true]{border-color:#fff;background:#ffffff14}.notification-badge-side{position:absolute;top:-5px;right:-5px;display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;border:2px solid #ffffff;border-radius:999px;background:#b30000;color:#fff;font-size:10px;font-weight:700;line-height:1;box-sizing:border-box}[data-theme=dark] .notification-badge-side{border-color:#17171c}.side-notification-dropdown{position:absolute;bottom:calc(100% + 10px);left:0;z-index:1120;width:340px;max-height:min(440px,calc(100vh - 48px));overflow:hidden;border:1px solid #d9d9dd;border-radius:8px;background:#fff;color:#17171c;box-shadow:0 6px 14px #17171c14}[data-theme=dark] .side-notification-dropdown{border-color:#d9d9dd38;background:#17171c;color:#fff;box-shadow:0 6px 14px #0000002e}.side-nav.collapsed .side-notification-dropdown{left:calc(100% + 10px);bottom:0}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600}[data-theme=dark] .notification-dropdown-header{border-bottom-color:#e5e7eb2e}.mark-all-read{flex:0 0 auto;padding:5px 0;border:0;background:transparent;color:#1863dc;cursor:pointer;font:inherit;font-size:12px;font-weight:600}.notification-list-side{max-height:calc(min(440px,calc(100vh - 48px)) - 48px);overflow-y:auto}.notification-item-side{display:flex;width:100%;align-items:flex-start;gap:10px;padding:13px 14px;border:0;border-bottom:1px solid #e5e7eb;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background-color .15s ease}.notification-item-side:last-child{border-bottom:0}.notification-item-side:hover,.notification-item-side:focus-visible{background:#eeece7;outline:none}.notification-item-side:focus-visible{box-shadow:inset 0 0 0 2px #4c6ee6}[data-theme=dark] .notification-item-side{border-bottom-color:#e5e7eb2e}[data-theme=dark] .notification-item-side:hover,[data-theme=dark] .notification-item-side:focus-visible{background:#ffffff14}.notification-item-side.system-warning{border-left:3px solid #f59e0b;background:#fff7e6}.notification-item-side.system-warning:hover,.notification-item-side.system-warning:focus-visible{background:#ffefcc}[data-theme=dark] .notification-item-side.system-warning{background:#f59e0b24}[data-theme=dark] .notification-item-side.system-warning:hover,[data-theme=dark] .notification-item-side.system-warning:focus-visible{background:#f59e0b38}.notification-item-side.read{opacity:.68}.notification-icon-side{display:inline-flex;width:32px;height:32px;flex:0 0 32px;align-items:center;justify-content:center;border-radius:8px;background:#f7f7f8}.notification-icon-side svg{width:17px;height:17px}.notification-item-side.system-warning .notification-icon-side{background:#f59e0b2e;color:#b45309}[data-theme=dark] .notification-icon-side{background:#ffffff1a}[data-theme=dark] .notification-item-side.system-warning .notification-icon-side{color:#ffbf5f}.notification-content-side{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:3px}.notification-title-side{overflow:hidden;color:#17171c;font-size:13px;font-weight:600;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}.notification-message-side{overflow:hidden;color:#616161;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.notification-time-side{overflow:hidden;color:#75758a;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .notification-title-side{color:#fff}[data-theme=dark] .notification-message-side{color:#c7c7d1}[data-theme=dark] .notification-time-side{color:#93939f}.empty-notifications-side{display:flex;min-height:148px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:#75758a;text-align:center}.empty-notifications-side svg{width:24px;height:24px}.empty-notifications-side p{margin:0;font-size:13px;line-height:1.35}.side-nav-account-trigger{display:grid;width:100%;min-height:54px;grid-template-columns:38px minmax(0,1fr) 26px;align-items:center;gap:9px;padding:8px;border:1px solid #d9d9dd;border-radius:8px;background:#fff;color:#17171c;cursor:pointer;text-align:left;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.side-nav-account-trigger:hover,.side-nav-account-trigger[aria-expanded=true]{border-color:#17171c;background:#f7f7f8}[data-theme=dark] .side-nav-account-trigger{border-color:#d9d9dd52;background:transparent;color:#fff}[data-theme=dark] .side-nav-account-trigger:hover,[data-theme=dark] .side-nav-account-trigger[aria-expanded=true]{border-color:#fff;background:#ffffff14}.side-nav-account-avatar{position:relative;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;overflow:visible;border:1px solid #d9d9dd;border-radius:50%;background:#17171c;color:#fff}.side-nav-account-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.side-nav-account-avatar svg{width:17px;height:17px}[data-theme=dark] .side-nav-account-avatar{border-color:#d9d9dd52;background:#fff;color:#17171c}.push-warning-badge-side{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border:2px solid #ffffff;border-radius:50%;background:#f59e0b}[data-theme=dark] .push-warning-badge-side{border-color:#17171c}.side-nav-account-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.side-nav-account-copy strong{overflow:hidden;color:inherit;font-size:13px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.side-nav-account-copy span{overflow:hidden;color:#75758a;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .side-nav-account-copy span{color:#c7c7d1}.side-nav-account-more{width:26px;height:26px;color:#75758a}.side-nav-account-more svg{width:17px;height:17px}[data-theme=dark] .side-nav-account-more{color:#c7c7d1}.side-nav.collapsed .side-nav-account-trigger{display:flex;min-height:44px;justify-content:center;padding:0}.side-nav.collapsed .side-nav-account-avatar{width:34px;height:34px}.side-nav.collapsed .side-nav-account-more{display:none}.side-nav-legal-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.side-nav-terms-btn{display:inline-flex;align-items:center;min-height:28px;padding:0;border:0;background:transparent;color:#75758a;cursor:pointer;font:inherit;font-size:12px;text-align:left;text-decoration:none}.side-nav-terms-btn:hover,.side-nav-terms-btn:focus-visible{color:#17171c;outline:none;text-decoration:underline}[data-theme=dark] .side-nav-terms-btn{color:#c7c7d1}[data-theme=dark] .side-nav-terms-btn:hover,[data-theme=dark] .side-nav-terms-btn:focus-visible{color:#fff}.nav-utility-menu--side{left:0;bottom:calc(100% + 10px);top:auto;right:auto}.side-nav.collapsed .nav-utility-menu--side{left:calc(100% + 10px);bottom:0}@media(max-width:768px){.side-nav{display:none}}.side-nav{width:var(--app-shell-sidebar-width, 244px);color:var(--theme-text-primary)}.side-nav-header{min-height:88px;padding:18px 16px;border-bottom-color:var(--theme-border-secondary)}.side-nav-logo-mark{border-radius:14px}.brand-copy strong{font-size:17px;letter-spacing:-.01em}.side-nav-links{gap:6px;padding:18px 12px}.side-nav-item{min-height:48px;padding-inline:14px;border-radius:12px}.side-nav-item.active{border-color:var(--product-accent);background:var(--product-accent);color:#fff}.side-nav-item:focus-visible{box-shadow:0 0 0 3px #075f5033}[data-theme=dark] .side-nav{background:#0d1714}[data-theme=dark] .side-nav-item.active{border-color:#3fc39f;background:#3fc39f;color:#06100d}.side-nav-sponsor-item{position:relative;overflow:hidden;border:1px solid rgba(226,184,88,.55);background:linear-gradient(135deg,#0d1615,#162523,#0d1615);color:#f6d88e;box-shadow:0 1px 4px #0003;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease,border-color .2s ease;z-index:1}.side-nav-sponsor-item:after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 20%,rgba(246,216,142,.4) 50%,rgba(255,255,255,.12) 80%,transparent 100%);pointer-events:none;transform:translate(-160%) skew(-22deg);animation:dnGoldSheen 4.2s cubic-bezier(.4,0,.2,1) infinite;z-index:2}.side-nav-sponsor-item .sponsor-icon{color:#ff5a6e;animation:dnHeartbeat 4.2s ease-in-out infinite;position:relative;z-index:3}.side-nav-sponsor-item .nav-label{position:relative;z-index:3;background:linear-gradient(135deg,#fff8e7,#f6d88e 60%,#e2b858);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.side-nav-sponsor-item .sponsor-capsule-tag{position:relative;z-index:3;margin-left:auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:999px;border:1px solid rgba(246,216,142,.6);background:linear-gradient(135deg,#f6d88e47,#e2b8581a);color:#fff6d6;box-shadow:0 1px 4px #00000040}.side-nav-sponsor-item:hover{border-color:#f6d88e;background:linear-gradient(135deg,#13201e,#1d312e,#13201e);transform:translateY(-1px) scale(1.02)}.side-nav-sponsor-item:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.side-nav-sponsor-item,.side-nav-sponsor-item:after,.side-nav-sponsor-item .sponsor-icon{animation:none}}.bottom-sheet-overlay{--sheet-enter-duration: .46s;--sheet-exit-duration: .32s;--sheet-spring-easing: cubic-bezier(.22, .86, .24, 1);position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;width:100vw;background:#050d0c7a;opacity:0;overscroll-behavior:contain;transition:opacity .28s ease-out;-webkit-backdrop-filter:blur(10px) saturate(115%);backdrop-filter:blur(10px) saturate(115%)}.bottom-sheet-overlay.active{opacity:1}.bottom-sheet-overlay.closing{opacity:0}.bottom-sheet-overlay.opening{animation:bottom-sheet-overlay-enter .28s ease-out both}.bottom-sheet-container{--sheet-radius: 28px;width:100%;max-height:min(var(--max-height, 85vh),calc(100% - env(safe-area-inset-top,0px) - 20px));display:flex;flex-direction:column;overflow:hidden;color:var(--theme-text-primary, #14201e);background:var(--theme-bg-card, #fff);border:1px solid color-mix(in srgb,var(--theme-border-primary, #dce4e2) 76%,transparent);border-bottom:0;border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;box-shadow:0 -18px 56px #05161233;opacity:.96;transform:translate3d(0,calc(100% + env(safe-area-inset-bottom,0px)),0) scale(.985);transform-origin:center bottom;transition:transform var(--sheet-enter-duration) var(--sheet-spring-easing),opacity .24s ease-out;will-change:transform,opacity;outline:none}.bottom-sheet-container.active{opacity:1;transform:translateZ(0) scale(1)}.bottom-sheet-container.opening{animation:bottom-sheet-mobile-enter var(--sheet-enter-duration) var(--sheet-spring-easing) both}.bottom-sheet-container.closing{opacity:.96;transform:translate3d(0,calc(100% + env(safe-area-inset-bottom,0px)),0) scale(.985);transition-duration:var(--sheet-exit-duration),.2s;transition-timing-function:cubic-bezier(.4,0,1,1),ease-in}.bottom-sheet-handle{display:flex;flex:0 0 auto;justify-content:center;padding:10px 0 7px;touch-action:none}.handle-bar{width:42px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--theme-text-tertiary, #8a9492) 40%,transparent)}.bottom-sheet-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--theme-border-secondary, #edf1f0)}.bottom-sheet-handle+.bottom-sheet-header{padding-top:4px}.header-text{min-width:0;flex:1}.bottom-sheet-title{margin:0;color:var(--theme-text-primary, #14201e);font-size:1.3rem;font-weight:750;line-height:1.25;letter-spacing:-.02em}.bottom-sheet-subtitle{margin:5px 0 0;color:var(--theme-text-secondary, #687370);font-size:.88rem;line-height:1.45}.bottom-sheet-close{width:38px;height:38px;flex:0 0 38px;display:none;align-items:center;justify-content:center;border:0;border-radius:50%;color:var(--theme-text-secondary, #687370);background:var(--theme-bg-tertiary, #f1f4f3)}.bottom-sheet-close:hover{color:var(--primary-color, #075f50);background:var(--theme-bg-hover, #e9efed)}.bottom-sheet-content{min-height:0;flex:1 1 auto;overflow:auto;padding:20px 22px 24px;overscroll-behavior:contain}.bottom-sheet-footer{flex:0 0 auto;padding:14px 22px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--theme-border-secondary, #edf1f0);background:color-mix(in srgb,var(--theme-bg-card, #fff) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-sheet-content::-webkit-scrollbar{width:5px}.bottom-sheet-content::-webkit-scrollbar-track{background:transparent}.bottom-sheet-content::-webkit-scrollbar-thumb{border-radius:999px;background:#5a696540}[data-theme=dark] .bottom-sheet-container{color:#f4f7f6;background:#111a18;border-color:#b9d3cc21;box-shadow:0 -20px 64px #0000008a}[data-theme=dark] .bottom-sheet-footer{background:#111a18eb}[data-theme=dark] .bottom-sheet-close{background:#ffffff14;color:#d6dfdc}@media(min-width:769px){.bottom-sheet-overlay{align-items:center;padding:28px}.bottom-sheet-container{width:min(92vw,560px);max-height:min(var(--max-height, 85vh),calc(100vh - 56px));border-bottom:1px solid color-mix(in srgb,var(--theme-border-primary, #dce4e2) 76%,transparent);border-radius:var(--sheet-radius);opacity:0;transform:translate3d(0,24px,0) scale(.97);box-shadow:0 30px 90px #0516123d}.bottom-sheet-container--small{width:min(92vw,420px)}.bottom-sheet-container--large{width:min(92vw,720px)}.bottom-sheet-container.active{opacity:1;transform:translateZ(0) scale(1)}.bottom-sheet-container.opening{animation-name:bottom-sheet-dialog-enter}.bottom-sheet-container.closing{opacity:0;transform:translate3d(0,14px,0) scale(.985)}.bottom-sheet-handle{display:none}.bottom-sheet-close{display:inline-flex}.bottom-sheet-handle+.bottom-sheet-header{padding-top:18px}}@keyframes bottom-sheet-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes bottom-sheet-mobile-enter{0%{opacity:.96;transform:translate3d(0,calc(100% + env(safe-area-inset-bottom,0px)),0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes bottom-sheet-dialog-enter{0%{opacity:0;transform:translate3d(0,24px,0) scale(.97)}to{opacity:1;transform:translateZ(0) scale(1)}}@media(prefers-reduced-motion:reduce){.bottom-sheet-overlay,.bottom-sheet-container{animation:none;transition:none}.bottom-sheet-container{transform:none}}.liquid-segmented-control{--segmented-count: 2;--segmented-visual-index: 0;--segmented-drag-left: 0px;--thumb-width-percent: calc(100% / var(--segmented-count));--clip-left: calc(var(--segmented-visual-index) * var(--thumb-width-percent));--clip-right: calc(100% - var(--clip-left) - var(--thumb-width-percent));--segmented-edge-pressure: 0;--segmented-stretch-x: 1;--segmented-stretch-y: 1;--segmented-transform-origin: center;--segmented-design-primary: #17171c;--segmented-design-on-primary: #fff;--segmented-design-canvas: #fff;--segmented-design-soft-stone: #eeece7;--segmented-design-hairline: #d9d9dd;--segmented-design-ink: #212121;--segmented-design-slate: #75758a;--segmented-design-focus: #4c6ee6;--segmented-track-bg: var(--theme-bg-card, var(--segmented-design-canvas));--segmented-track-border: var(--theme-border-primary, var(--segmented-design-hairline));--segmented-muted-fg: var(--theme-text-secondary, var(--segmented-design-slate));position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(var(--segmented-count),minmax(0,1fr));width:min(var(--segmented-control-width, 100%),100%);min-height:56px;padding:5px;overflow:clip;box-sizing:border-box;color:var(--segmented-muted-fg);background:var(--segmented-track-bg);border:1px solid var(--segmented-track-border);border-radius:9999px;box-shadow:inset 0 1px 4px #0000000a;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transform:translateZ(0)}.liquid-segmented-control[data-segmented-size=small]{min-height:36px;padding:3px}.liquid-segmented-control[data-segmented-size=small] .segmented-control__indicator-track,.liquid-segmented-control[data-segmented-size=small] .segmented-control__active-text-layer{inset:3px}.liquid-segmented-control[data-segmented-size=small] .segmented-control__option{min-height:28px;padding:4px 8px}.liquid-segmented-control[data-segmented-size=small] .segmented-control__label{font-size:.75rem}.segmented-control__indicator-track{position:absolute;inset:5px;z-index:2;display:block;overflow:visible;border-radius:9999px;pointer-events:none;transform:translateZ(0)}.segmented-control__thumb{position:absolute;inset-block:0;left:0;width:calc(100% / var(--segmented-count));box-sizing:border-box;background:var(--segmented-design-primary);border:1px solid var(--segmented-design-primary);border-radius:9999px;box-shadow:0 8px 24px #17171c2e,0 4px 12px #17171c1f,inset 0 1px 1px #ffffff40;pointer-events:auto;touch-action:none;transform:translate3d(calc(var(--segmented-visual-index) * 100%),0,0);scale:var(--segmented-stretch-x) var(--segmented-stretch-y);transform-origin:var(--segmented-transform-origin);filter:brightness(1);transition:transform .36s cubic-bezier(.22,.9,.3,1.08),scale .15s cubic-bezier(.2,.88,.3,1.16),filter .15s ease,box-shadow .18s ease;will-change:transform,scale,filter}.liquid-segmented-control.is-dragging{cursor:grabbing}.liquid-segmented-control.is-dragging .segmented-control__thumb{transform:translate3d(var(--segmented-drag-left),0,0);filter:brightness(1.035);box-shadow:0 12px 28px #17171c38,0 4px 14px #17171c29,inset 0 1px 1px #ffffff59;transition:none}.liquid-segmented-control.is-dragging .segmented-control__active-text-layer{transition:none;--clip-left: var(--segmented-clip-left);--clip-right: var(--segmented-clip-right)}.liquid-segmented-control.is-dragging .segmented-control__option{transition:none}.liquid-segmented-control.is-settling .segmented-control__thumb,.liquid-segmented-control.is-settling .segmented-control__option.is-active-overlay .segmented-control__content{animation:segmented-control-liquid-release .22s cubic-bezier(.22,.9,.3,1.12) both}@keyframes segmented-control-liquid-release{0%{scale:var(--segmented-release-scale-x, 1.055) var(--segmented-release-scale-y, 1.035);filter:brightness(1.035)}58%{scale:.992 1.016;filter:brightness(1.015)}to{scale:1 1;filter:brightness(1)}}.segmented-control__active-text-layer{position:absolute;inset:5px;z-index:3;display:grid;grid-template-columns:repeat(var(--segmented-count),minmax(0,1fr));pointer-events:none;clip-path:inset(0 var(--clip-right) 0 var(--clip-left) round 9999px);transition:clip-path .36s cubic-bezier(.22,.9,.3,1.08);will-change:clip-path}.segmented-control__option{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:7px 8px;overflow:hidden;color:var(--segmented-muted-fg);background:transparent;border:0;border-radius:9999px;cursor:pointer;touch-action:pan-y;transition:color .12s ease}.segmented-control__option.is-active-overlay{color:var(--segmented-design-on-primary);font-weight:600;font-variation-settings:"wght" 600}.liquid-segmented-control:has(.segmented-control__option:focus-visible){outline:2px solid var(--segmented-design-focus);outline-offset:2px}.segmented-control__option:focus-visible{outline:none}.segmented-control__content{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;gap:4px;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:auto;pointer-events:none}.segmented-control__option.is-active-overlay .segmented-control__content{scale:var(--segmented-stretch-x, 1) var(--segmented-stretch-y, 1);transform-origin:center center;transition:scale .36s cubic-bezier(.22,.9,.3,1.08);will-change:scale}.liquid-segmented-control.is-dragging .segmented-control__option.is-active-overlay .segmented-control__content{transition:none}.segmented-control__icon{display:inline-flex;align-items:center;justify-content:center}.segmented-control__kicker{grid-column:1 / -1;overflow:hidden;font-size:.68rem;font-weight:500;line-height:1;text-overflow:ellipsis;white-space:nowrap;opacity:.72}.segmented-control__label{min-width:0;overflow:hidden;font-size:.875rem;font-weight:400;font-variation-settings:"wght" 400;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.segmented-control__badge{min-width:24px;height:24px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:inherit;background:transparent;border:1px solid var(--segmented-track-border);border-radius:9999px;font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums}.segmented-control__option.is-active-overlay .segmented-control__badge{background:#ffffff24;border-color:#ffffff47}@supports (backdrop-filter: blur(1px)){.liquid-segmented-control{backdrop-filter:blur(16px) saturate(1.08)}[data-theme=dark] .liquid-segmented-control{backdrop-filter:blur(20px)}}[data-theme=dark] .liquid-segmented-control{--segmented-track-bg: rgba(255, 255, 255, .08);--segmented-track-border: transparent;--segmented-muted-fg: #8e8e93;--segmented-design-primary: #3a3a3c;--segmented-design-on-primary: #ffffff;box-shadow:inset 0 .5px #ffffff14}[data-theme=dark] .liquid-segmented-control .segmented-control__thumb{box-shadow:inset 0 .5px 1px #fff3,0 4px 12px #0009}[data-theme=dark] .liquid-segmented-control.is-dragging .segmented-control__thumb{box-shadow:inset 0 .5px 1px #fff3,0 8px 24px #000c}@media(prefers-contrast:more){.liquid-segmented-control{--segmented-track-border: currentColor}}@media(prefers-reduced-transparency:reduce){.liquid-segmented-control{backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.liquid-segmented-control{--segmented-stretch-x: 1 !important;--segmented-stretch-y: 1 !important}.segmented-control__thumb,.segmented-control__option{animation:none!important;transition-duration:1ms!important}}.bottom-nav-container{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));left:max(20px,env(safe-area-inset-left,0px));z-index:1000;display:none;height:74px;align-items:stretch;gap:0;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:0 18px 44px #0f12122e;transform:translateZ(0);user-select:none}@media(max-width:768px){.bottom-nav-container{display:flex}}[data-theme=dark] .bottom-nav-container{box-shadow:0 18px 48px #00000080}.bottom-nav-segmented-wrapper{min-width:0;flex:1 1 auto;display:flex}.bottom-nav-segmented{--segmented-track-bg: rgba(255, 255, 255, .72);--segmented-track-border: rgba(255, 255, 255, .7);--segmented-muted-fg: rgba(28, 31, 31, .62);--segmented-design-primary: rgba(18, 19, 21, .94);--segmented-design-on-primary: #fff;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;padding:6px!important;border-radius:999px!important;background:var(--segmented-track-bg)!important;border:1px solid var(--segmented-track-border)!important;box-shadow:inset 0 1px #ffffffd9,0 12px 36px #08191529!important;-webkit-backdrop-filter:blur(28px) saturate(175%);backdrop-filter:blur(28px) saturate(175%)}[data-theme=dark] .bottom-nav-segmented{--segmented-track-bg: rgba(20, 20, 25, .76);--segmented-track-border: rgba(255, 255, 255, .08);--segmented-muted-fg: rgba(255, 255, 255, .58);--segmented-design-primary: rgba(255, 255, 255, .92);--segmented-design-on-primary: #111214;border:1px solid var(--segmented-track-border);box-shadow:0 12px 36px #00000061!important}.bottom-nav-segmented .segmented-control__indicator-track,.bottom-nav-segmented .segmented-control__active-text-layer{inset:6px}.bottom-nav-segmented .segmented-control__thumb{box-shadow:0 9px 24px #0d0e103d,inset 0 1px 1px #ffffff47}.bottom-nav-segmented .segmented-control__option{min-width:0;width:auto!important;height:100%!important;min-height:0!important;padding:0 2px!important;border-radius:999px!important;color:var(--segmented-muted-fg)!important}.bottom-nav-segmented .segmented-control__option.is-active-overlay{color:var(--segmented-design-on-primary)!important}.bottom-nav-segmented .segmented-control__content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bottom-nav-segmented .segmented-control__icon{width:22px;height:22px;display:grid;place-items:center;font-size:19px}.bottom-nav-segmented .segmented-control__label{display:block;max-width:100%;overflow:hidden;font-size:11px;font-weight:600;line-height:1;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-actions{display:flex;flex:0 0 20%;height:100%}.bottom-nav-action-btn{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 3px;border:0;border-radius:18px;color:#7a8381;background:transparent;box-shadow:none;font-size:20px}.bottom-nav-action-btn:after{content:"更多";font-size:11px;font-weight:650;line-height:1}.bottom-nav-action-btn.active{color:var(--primary-color, #075f50);background:var(--product-accent-soft, #e6f3ef)}[data-theme=dark] .bottom-nav-action-btn{color:#919b98}[data-theme=dark] .bottom-nav-action-btn.active{color:#4fd1ae;background:#2baf8c24}.bottom-nav-container.is-admin .bottom-nav-actions{flex-basis:34%}.bottom-nav-container.is-admin .bottom-nav-action-btn:after{content:"設定"}.bottom-nav-container.is-admin{padding:6px;background:#ffffffb8;border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(28px) saturate(175%);backdrop-filter:blur(28px) saturate(175%)}[data-theme=dark] .bottom-nav-container.is-admin{background:#1414199e;border-color:#ffffff26}.bottom-nav-container.is-admin .bottom-nav-segmented{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.bottom-nav-container.is-admin .bottom-nav-segmented .segmented-control__indicator-track,.bottom-nav-container.is-admin .bottom-nav-segmented .segmented-control__active-text-layer{inset:0}.more-menu-items{display:flex;flex-direction:column;gap:5px}.more-menu-item{display:grid;width:100%;min-height:52px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:11px;padding:0 14px;border:1px solid transparent;border-radius:14px;color:var(--theme-text-primary, #14201e);background:transparent;font:inherit;font-size:14px;font-weight:600;text-align:left;text-decoration:none}.more-menu-item:hover,.more-menu-item:focus-visible{border-color:var(--theme-border-primary, #dde5e2);background:var(--theme-bg-hover, #f3f6f5);outline:none}.more-menu-item.active{color:#fff;background:var(--primary-color, #075f50)}.more-menu-item.support-entry{color:#a23b43}.more-menu-item .more-icon{width:18px}.more-menu-item .external-badge{color:var(--theme-text-tertiary, #89928f);font-size:12px}@media(max-width:360px){.bottom-nav-container{right:10px;left:10px;height:70px;border-radius:24px}.bottom-nav-segmented .segmented-control__label,.bottom-nav-action-btn:after{font-size:10px}}.mobile-header{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:999;display:none;align-items:center;justify-content:space-between;height:60px;padding:0 12px;border-bottom:1px solid #d9d9dd;background:#fff;box-shadow:none;box-sizing:border-box}.mobile-header:before{content:"";position:absolute;top:calc(-1*env(safe-area-inset-top,0px));left:0;right:0;height:env(safe-area-inset-top,0px);background:#fff}[data-theme=dark] .mobile-header,[data-theme=dark] .mobile-header:before{border-bottom-color:#d9d9dd38;background:#17171c}.mobile-header-left,.mobile-header-right{position:relative;z-index:1;display:flex;align-items:center;min-width:0}.mobile-header-left{flex:1 1 auto}.mobile-header-right{flex:0 0 auto;justify-content:flex-end;gap:8px}.mobile-header-brand{position:absolute;left:50%;transform:translate(-50%);display:inline-flex;max-width:min(46vw,180px);align-items:center;justify-content:center;color:#17171c;text-decoration:none;z-index:2}.mobile-header-brand__text{min-width:0;overflow:hidden;color:inherit;font-size:17px;font-weight:700;line-height:1;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .mobile-header-brand{color:#fff}.mobile-icon-btn{position:relative;display:inline-flex;width:36px;height:36px;flex:0 0 36px;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.mobile-icon-btn svg{width:18px;height:18px;stroke-width:2}.mobile-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4c6ee647}.mobile-icon-btn:active{transform:scale(.96)}.mobile-icon-btn:disabled{cursor:wait;opacity:.62}.notification-btn{border:1px solid #d9d9dd;background:#fff;color:#17171c}.notification-btn:hover,.notification-btn[aria-expanded=true]{border-color:#17171c;background:#f7f7f8}[data-theme=dark] .notification-btn{border-color:#d9d9dd52;background:transparent;color:#fff}@keyframes dnGoldSheen{0%,20%{transform:translate(-160%) skew(-22deg);opacity:0}35%{opacity:.6}50%,to{transform:translate(260%) skew(-22deg);opacity:0}}@keyframes dnHeartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.24)}24%{transform:scale(1.04)}36%{transform:scale(1.18)}48%{transform:scale(1)}}.mobile-donate-btn{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 10px;border-radius:999px;border:1px solid rgba(226,184,88,.55);background:linear-gradient(135deg,#0e1716,#172724,#0e1716);color:#f6d88e;font-size:12px;font-weight:700;line-height:1;cursor:pointer;overflow:hidden;box-shadow:0 1px 3px #0000002e;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent;user-select:none;z-index:1}.mobile-donate-btn:after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 20%,rgba(246,216,142,.4) 50%,rgba(255,255,255,.15) 80%,transparent 100%);pointer-events:none;transform:translate(-160%) skew(-22deg);animation:dnGoldSheen 4s cubic-bezier(.4,0,.2,1) infinite;z-index:2}.mobile-donate-btn:active{transform:scale(.94)}.mobile-donate-btn .mobile-donate-icon{font-size:13px;color:#ff5a6e;animation:dnHeartbeat 4s ease-in-out infinite;position:relative;z-index:3}.mobile-donate-label{position:relative;z-index:3;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(135deg,#fff8e7,#f6d88e 60%,#e2b858);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mobile-donate-btn:hover{border-color:#f6d88e;background:linear-gradient(135deg,#142220,#1d332f,#142220);transform:scale(1.03)}.mobile-donate-btn:hover .mobile-donate-icon{transform:scale(1.2)}[data-theme=dark] .mobile-donate-btn{background:linear-gradient(135deg,#09100f,#13211f,#09100f);border-color:#f6d88e99}[data-theme=dark] .mobile-donate-btn:hover{background:linear-gradient(135deg,#101d1b,#1b302c,#101d1b);border-color:#f6d88e}@media(prefers-reduced-motion:reduce){.mobile-donate-btn,.mobile-donate-btn:after,.mobile-donate-btn .mobile-donate-icon{animation:none}}.mobile-utility-btn{border:1px solid #17171c;background:#17171c;color:#fff}.mobile-admin-theme-btn{border:1px solid #d9d9dd;background:#fff;color:#17171c}.mobile-admin-theme-btn:hover{border-color:#17171c;background:#f7f7f8}[data-theme=dark] .mobile-admin-theme-btn{border-color:#d9d9dd52;background:transparent;color:#fff}.mobile-utility-btn:hover,.mobile-utility-btn[aria-expanded=true]{background:#000;border-color:#000}[data-theme=dark] .mobile-utility-btn{border-color:#fff;background:#fff;color:#17171c}[data-theme=dark] .mobile-utility-btn:hover,[data-theme=dark] .mobile-utility-btn[aria-expanded=true]{background:#eeece7;border-color:#eeece7}.notification-wrapper,.mobile-utility-wrapper{position:relative;display:inline-flex;align-items:center}.notification-badge{position:absolute;top:-2px;right:-2px;display:inline-flex;min-width:17px;height:17px;align-items:center;justify-content:center;padding:0 4px;border:2px solid #ffffff;border-radius:999px;background:#b30000;color:#fff;font-size:10px;font-weight:700;line-height:1;box-sizing:border-box}[data-theme=dark] .notification-badge{border-color:#17171c}.notification-dropdown{position:absolute;top:calc(100% + 12px);right:-44px;z-index:1200;width:min(340px,calc(100vw - 24px));max-height:min(430px,calc(100vh - 104px));overflow:hidden;border:1px solid #d9d9dd;border-radius:8px;background:#fff;color:#17171c;box-shadow:0 12px 24px #17171c1f}[data-theme=dark] .notification-dropdown{border-color:#d9d9dd38;background:#17171c;color:#fff;box-shadow:0 12px 24px #00000047}.dropdown-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#fff}[data-theme=dark] .dropdown-header{border-bottom-color:#e5e7eb2e;background:#17171c}.dropdown-title{min-width:0;overflow:hidden;color:#17171c;font-size:14px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .dropdown-title{color:#fff}.mark-all-read{flex:0 0 auto;padding:6px 0;border:0;background:transparent;color:#1863dc;cursor:pointer;font:inherit;font-size:12px;font-weight:600;line-height:1.2}.mark-all-read:hover,.mark-all-read:focus-visible{text-decoration:underline}.mark-all-read:focus-visible{outline:2px solid #4c6ee6;outline-offset:2px}.mobile-header .notification-list{max-height:calc(min(430px,calc(100vh - 104px)) - 49px);overflow-y:auto}.mobile-header .notification-item{position:relative;display:flex;width:100%;align-items:flex-start;gap:10px;padding:13px 14px;border:0;border-bottom:1px solid #e5e7eb;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background-color .15s ease}.mobile-header .notification-item:last-child{border-bottom:0}.mobile-header .notification-item:hover,.mobile-header .notification-item:focus-visible{background:#eeece7;outline:none}.mobile-header .notification-item:focus-visible{box-shadow:inset 0 0 0 2px #4c6ee6}[data-theme=dark] .mobile-header .notification-item{border-bottom-color:#e5e7eb2e}[data-theme=dark] .mobile-header .notification-item:hover,[data-theme=dark] .mobile-header .notification-item:focus-visible{background:#ffffff14}.mobile-header .notification-item.system-warning{border-left:3px solid #f59e0b;background:#fff7e6}.mobile-header .notification-item.system-warning:hover,.mobile-header .notification-item.system-warning:focus-visible{background:#ffefcc}[data-theme=dark] .mobile-header .notification-item.system-warning{background:#f59e0b24}[data-theme=dark] .mobile-header .notification-item.system-warning:hover,[data-theme=dark] .mobile-header .notification-item.system-warning:focus-visible{background:#f59e0b38}.mobile-header .notification-item.read{opacity:.68}.mobile-header .notification-icon{display:inline-flex;width:32px;height:32px;flex:0 0 32px;align-items:center;justify-content:center;border-radius:8px;background:#f7f7f8}.mobile-header .notification-icon svg{width:17px;height:17px}.mobile-header .notification-item.system-warning .notification-icon{background:#f59e0b2e;color:#b45309}[data-theme=dark] .mobile-header .notification-icon{background:#ffffff1a}[data-theme=dark] .mobile-header .notification-item.system-warning .notification-icon{color:#ffbf5f}.mobile-header .notification-content{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:3px}.mobile-header .notification-title{overflow:hidden;color:#17171c;font-size:13px;font-weight:600;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}.mobile-header .notification-message{display:-webkit-box;overflow:hidden;color:#616161;font-size:12px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.mobile-header .notification-time{overflow:hidden;color:#75758a;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .mobile-header .notification-title{color:#fff}[data-theme=dark] .mobile-header .notification-message{color:#c7c7d1}[data-theme=dark] .mobile-header .notification-time{color:#93939f}.unread-dot{width:8px;height:8px;flex:0 0 8px;margin-top:12px;border-radius:50%;background:#1863dc}.mobile-header .empty-notifications{display:flex;min-height:140px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:#75758a;text-align:center}.mobile-header .empty-notifications svg{width:24px;height:24px}.mobile-header .empty-notifications p{margin:0;font-size:13px;line-height:1.35}[data-theme=dark] .mobile-header .empty-notifications{color:#c7c7d1}.mobile-header-utility-menu{top:calc(100% + 12px);right:0}.mobile-header-loading{position:absolute;right:42px;color:#75758a;font-size:12px;line-height:1;pointer-events:none}[data-theme=dark] .mobile-header-loading{color:#c7c7d1}.mobile-login-pill-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:9999px;border:1px solid var(--product-border, #dfe6e3);background:var(--product-accent-soft, #e6f3ef);color:var(--product-accent, #075f50);font-family:inherit;font-size:13px;font-weight:650;letter-spacing:-.1px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease;-webkit-tap-highlight-color:transparent}.mobile-login-pill-icon{font-size:12px}.mobile-login-pill-btn:hover{background:color-mix(in srgb,var(--product-accent, #075f50) 18%,transparent);border-color:var(--product-accent, #075f50)}.mobile-login-pill-btn:active{transform:scale(.96)}[data-theme=dark] .mobile-login-pill-btn{border-color:#11847166;background:var(--product-accent-soft, #16302b);color:#34d399}[data-theme=dark] .mobile-login-pill-btn:hover{background:#11847147;border-color:#34d399}.mobile-avatar-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--product-accent, #075f50);background:transparent;padding:0;cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--product-ink, #13201d);transition:transform .16s ease,border-color .16s ease;-webkit-tap-highlight-color:transparent}.mobile-avatar-btn img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.mobile-avatar-btn:hover{border-color:var(--product-accent-strong, #03483d)}.mobile-avatar-btn:active{transform:scale(.95)}[data-theme=dark] .mobile-avatar-btn{border-color:#34d399;color:#fff}.push-warning-badge-header{position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background:#ef4444;border:1.5px solid #ffffff}[data-theme=dark] .push-warning-badge-header{border-color:#17181d}@media(max-width:768px){.mobile-header{display:flex}}@media(max-width:360px){.mobile-header{padding:0 10px}.mobile-header-right{gap:6px}.mobile-header-brand__text{font-size:16px}.notification-dropdown{right:-42px}}.mobile-header{height:68px;padding:0 18px;border-bottom:0;background:#fffffff0;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.mobile-header:before{background:#fffffff0}.mobile-header-brand{color:var(--product-accent)}.mobile-header-brand__text{font-size:20px;font-weight:760;letter-spacing:.04em}.mobile-icon-btn{width:40px;height:40px;flex-basis:40px;border:0;background:transparent}.notification-btn{border:0;background:transparent}.mobile-utility-btn{border:0;color:var(--theme-text-primary);background:transparent}[data-theme=dark] .mobile-header,[data-theme=dark] .mobile-header:before{background:#08110ff0}[data-theme=dark] .mobile-header-brand{color:#4fd1ae}.disclaimer-sheet{--sheet-radius: 24px}.disclaimer-sheet .bottom-sheet-handle{display:none!important}.disclaimer-sheet .bottom-sheet-header{position:relative;padding:22px 24px 8px;border-bottom:none}.disclaimer-sheet .header-text{position:relative;padding-right:76px}.disclaimer-sheet .bottom-sheet-title{font-size:1.45rem;font-weight:750;letter-spacing:-.015em;color:var(--theme-text-primary, #111827);line-height:1.3}.disclaimer-sheet .bottom-sheet-subtitle{margin-top:6px;font-size:.88rem;line-height:1.5;color:var(--theme-text-secondary, #6b7280)}.disclaimer-sheet .header-extra{position:absolute;top:0;right:0;margin:0}.disclaimer-language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px 6px;border-radius:20px;background:var(--theme-bg-tertiary, #f3f4f6);border:1px solid var(--theme-border-secondary, #e5e7eb);font-size:.75rem;font-weight:600;transition:opacity .2s ease}.disclaimer-language-switch button{min-width:28px;min-height:24px;padding:2px 6px;border:0;border-radius:12px;background:transparent;color:var(--theme-text-secondary, #6b7280);font:inherit;cursor:pointer;transition:all .15s ease}.disclaimer-language-switch button.is-active{background:var(--theme-bg-card, #ffffff);color:var(--primary-color, #065f46);font-weight:700;box-shadow:0 1px 3px #00000014}.disclaimer-language-switch button:hover:not(.is-active):not(:disabled){color:var(--theme-text-primary, #111827)}.disclaimer-lang-divider{color:var(--theme-border-primary, #d1d5db);font-size:.7rem;user-select:none}.disclaimer-sheet .bottom-sheet-content{padding:8px 24px 4px;overflow:visible}.disclaimer-consent-content{display:flex;flex-direction:column}.disclaimer-summary-box{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:#f2f2ef;border:1px solid #dedee1}.disclaimer-highlight-item{display:flex;align-items:flex-start;gap:10px}.disclaimer-item-badge{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#10b98129;color:#059669;display:flex;align-items:center;justify-content:center;font-size:.68rem;margin-top:1.5px}.disclaimer-item-text{font-size:.855rem;line-height:1.5;color:var(--theme-text-secondary, #4b5563)}.disclaimer-item-title{font-weight:700;color:var(--theme-text-primary, #111827)}.disclaimer-item-body{color:var(--theme-text-secondary, #4b5563)}.disclaimer-legal-links{display:flex;align-items:center;justify-content:space-between;padding:14px 2px 4px;transition:opacity .2s ease}.disclaimer-link-terms{display:inline-flex;align-items:center;gap:5px;color:var(--primary-color, #075f50);font-size:.85rem;font-weight:650;text-decoration:none;transition:color .15s ease}.disclaimer-link-icon{font-size:.72rem;transition:transform .15s ease}.disclaimer-link-terms:hover{color:var(--primary-dark, #03483d)}.disclaimer-link-terms:hover .disclaimer-link-icon{transform:translate(2px)}.disclaimer-link-privacy{color:var(--theme-text-secondary, #6b7280);font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s ease}.disclaimer-link-privacy:hover{color:var(--theme-text-primary, #111827);text-decoration:underline;text-underline-offset:2px}.disclaimer-footer{padding:14px 24px 22px;border-top:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.disclaimer-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.disclaimer-decline{min-height:42px;padding:8px 18px;border:0;border-radius:10px;background:transparent;color:var(--theme-text-secondary, #6b7280);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.disclaimer-decline:hover:not(:disabled){color:var(--theme-text-primary, #111827);background:var(--theme-bg-hover, rgba(0, 0, 0, .04))}.disclaimer-accept{position:relative;min-height:42px;padding:9px 24px;border:1px solid var(--primary-color, #064e3b);border-radius:10px;background:var(--primary-color, #064e3b);color:#fff;font-size:.9rem;font-weight:650;cursor:pointer;box-shadow:0 2px 6px #064e3b2e;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.disclaimer-accept:hover:not(:disabled){background:var(--primary-dark, #04382a);border-color:var(--primary-dark, #04382a);box-shadow:0 4px 12px #064e3b47}.disclaimer-accept:active:not(:disabled){transform:scale(.985)}.disclaimer-btn-text{display:inline-block;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}.disclaimer-accept.is-confirming .disclaimer-btn-text{opacity:0;transform:scale(.75)}.disclaimer-btn-checkmark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.disclaimer-check-svg{width:22px;height:22px;stroke:#fff;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:30;stroke-dashoffset:30;animation:checkmark-draw .32s cubic-bezier(.4,0,.2,1) .05s forwards,checkmark-pop .38s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes checkmark-draw{to{stroke-dashoffset:0}}@keyframes checkmark-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1}}.disclaimer-accept.is-confirming{background-color:#059669!important;border-color:#059669!important;box-shadow:0 4px 14px #05966966!important;animation:button-confirm-pulse .46s cubic-bezier(.22,1,.36,1) forwards;cursor:default}@keyframes button-confirm-pulse{0%{transform:scale(1)}25%{transform:scale(.96)}65%{transform:scale(1.025)}to{transform:scale(1)}}.disclaimer-sheet.is-confirming .disclaimer-decline,.disclaimer-sheet.is-confirming .disclaimer-language-switch,.disclaimer-sheet.is-confirming .disclaimer-legal-links{opacity:.35;pointer-events:none}.disclaimer-language-switch button:focus-visible,.disclaimer-legal-links a:focus-visible,.disclaimer-actions button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary-color, #075f50) 40%,transparent);outline-offset:2px}[data-theme=dark] .disclaimer-sheet .bottom-sheet-title{color:#f3f4f6}[data-theme=dark] .disclaimer-sheet .bottom-sheet-subtitle{color:#9ca3af}[data-theme=dark] .disclaimer-language-switch{background:#ffffff0f;border-color:#ffffff1a}[data-theme=dark] .disclaimer-language-switch button{color:#9ca3af}[data-theme=dark] .disclaimer-language-switch button.is-active{background:#ffffff24;color:#34d399}[data-theme=dark] .disclaimer-language-switch button:hover:not(.is-active):not(:disabled){color:#f3f4f6}[data-theme=dark] .disclaimer-lang-divider{color:#ffffff2e}[data-theme=dark] .disclaimer-summary-box{background:#1b211f;border-color:#ffffff1a}[data-theme=dark] .disclaimer-item-badge{background:#34d3992e;color:#34d399}[data-theme=dark] .disclaimer-item-title{color:#f3f4f6}[data-theme=dark] .disclaimer-item-body{color:#9ca3af}[data-theme=dark] .disclaimer-link-terms{color:#34d399}[data-theme=dark] .disclaimer-link-terms:hover{color:#6ee7b7}[data-theme=dark] .disclaimer-link-privacy{color:#9ca3af}[data-theme=dark] .disclaimer-link-privacy:hover{color:#e5e7eb}[data-theme=dark] .disclaimer-decline{color:#9ca3af}[data-theme=dark] .disclaimer-decline:hover:not(:disabled){color:#f3f4f6;background:#ffffff14}[data-theme=dark] .disclaimer-accept{background:#059669;border-color:#059669;color:#fff;box-shadow:0 2px 8px #05966959}[data-theme=dark] .disclaimer-accept:hover:not(:disabled){background:#047857;border-color:#047857;box-shadow:0 4px 14px #05966973}@media(min-width:769px){.disclaimer-sheet.bottom-sheet-container{width:min(92vw,490px);border-radius:20px;box-shadow:0 24px 60px #0000002e}.disclaimer-sheet .bottom-sheet-header{padding:26px 26px 8px}.disclaimer-sheet .bottom-sheet-content{padding:8px 26px 6px}.disclaimer-sheet .bottom-sheet-footer{padding:16px 26px 24px}}@media(max-width:768px){.disclaimer-sheet{--sheet-radius: 26px}.disclaimer-sheet .bottom-sheet-header{padding:22px 18px 6px}.disclaimer-sheet .bottom-sheet-title{font-size:1.35rem}.disclaimer-sheet .header-text{padding-right:70px}.disclaimer-sheet .bottom-sheet-content{padding:6px 18px 4px}.disclaimer-summary-box{padding:14px;gap:11px}.disclaimer-item-text{font-size:.835rem}.disclaimer-legal-links{padding:12px 2px 2px}.disclaimer-footer{padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px))}.disclaimer-actions{flex-direction:column;gap:6px;width:100%}.disclaimer-accept{order:1;width:100%;min-height:46px;font-size:.95rem;border-radius:12px}.disclaimer-decline{order:2;width:100%;min-height:40px;font-size:.875rem;border-radius:12px}}.pwa-install-overlay{position:fixed;bottom:80px;left:0;right:0;z-index:9999;padding:12px 16px;pointer-events:none}.pwa-install-modal{background:#fffffffa;border-radius:16px;padding:16px;max-width:400px;margin:0 auto;box-shadow:0 -4px 24px #00000014,0 0 0 1px #0000000f,0 8px 32px #0000001a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:pwaSlideUp .5s cubic-bezier(.34,1.56,.64,1);pointer-events:auto;position:relative}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(100%) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pwaFlyout{0%{opacity:1;transform:translateY(0) translate(0) scale(1);border-radius:16px}to{opacity:0;transform:translateY(50px) translate(100px) scale(.1);border-radius:50%}}.pwa-flyout .pwa-install-modal{animation:pwaFlyout .4s cubic-bezier(.4,0,.2,1) forwards}.dark-theme .pwa-install-modal{background:#1e1e2dfa;box-shadow:0 -4px 24px #0000004d,0 0 0 1px #ffffff1a,0 8px 32px #0003}.dark-theme .pwa-install-header h2{color:#fff}.dark-theme .pwa-install-subtitle{color:#ffffffb3}.dark-theme .pwa-dismiss-btn{background:#ffffff1a;color:#fff9}.dark-theme .pwa-dismiss-btn:hover{background:#fff3;color:#ffffffe6}.dark-theme .pwa-features-inline{color:#fff9;border-top-color:#ffffff1a}.dark-theme .pwa-android-hint{border-top-color:#ffffff1a}.dark-theme .pwa-android-hint p{color:#ffffffb3}.dark-theme .pwa-android-hint svg{color:#ffffffe6}.dark-theme .copy-link-btn{background:#00796b33;border-color:#00796b66}.dark-theme .install-btn{box-shadow:0 4px 12px #00796b66}.pwa-install-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;text-align:left}.pwa-install-icon{width:44px;height:44px;flex-shrink:0;background:linear-gradient(135deg,#00796b,#26a69a);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00796b4d}.pwa-install-icon img{width:28px;height:28px}.pwa-install-icon svg{font-size:1.4rem;color:#fff}.pwa-install-icon.warning-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 4px 12px #f59e0b4d}.pwa-install-header-text{flex:1;min-width:0}.pwa-install-header h2{color:#1a1a2e;font-size:1rem;font-weight:700;margin:0 0 4px}.pwa-install-subtitle{color:#0009;font-size:.8rem;margin:0;line-height:1.3}.pwa-install-subtitle strong{color:#26a69a}.pwa-features-inline{display:flex;justify-content:center;gap:16px;padding:10px 0;color:#00000080;font-size:.75rem;border-top:1px solid rgba(0,0,0,.08);margin-top:8px}.pwa-features-inline span{display:flex;align-items:center;gap:5px}.pwa-features-inline svg{color:#26a69a;font-size:.85rem}.pwa-android-hint{padding:10px 0;border-top:1px solid rgba(0,0,0,.08);margin-top:8px}.pwa-android-hint p{color:#0009;font-size:.8rem;margin:0;text-align:center}.pwa-android-hint svg{color:#000c;margin:0 2px}.pwa-features{display:flex;justify-content:center;gap:16px;margin-bottom:16px;padding:12px;background:#00796b1a;border-radius:10px}.pwa-feature{display:flex;align-items:center;gap:6px;color:#26a69a;font-size:.8rem}.pwa-feature svg{font-size:.95rem}.pwa-install-action{margin-top:8px}.install-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;margin-top:8px;background:linear-gradient(135deg,#00796b,#26a69a);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00796b66}.install-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00796b80}.install-btn:active{transform:translateY(0)}.install-btn svg{font-size:.95rem}.pwa-install-steps{margin-bottom:16px}.pwa-install-steps h3{color:#ffffffe6;font-size:.9rem;font-weight:600;margin:0 0 12px;text-align:center}.pwa-step{display:flex;gap:12px;padding:12px;background:#ffffff08;border-radius:10px;margin-bottom:8px;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s ease}.pwa-step:hover,.pwa-step.active{background:#ffffff12;border-color:#00796b4d}.step-number{width:26px;height:26px;background:linear-gradient(135deg,#00796b,#26a69a);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}.step-content{flex:1}.step-content p{color:#ffffffe6;margin:0 0 6px;font-size:.85rem}.step-content strong{color:#fff}.step-hint{font-size:.75rem!important;color:#ffffff80!important}.step-icon-demo{display:flex;align-items:center;gap:8px;color:#26a69a;font-size:.9rem}.step-icon-demo .share-icon{font-size:1.5rem;color:#007aff}.step-icon-demo .menu-icon{font-size:1.5rem;color:#fffc}.step-icon-demo .arrow-icon{font-size:1rem}.step-icon-demo.add-home{background:#ffffff1a;padding:8px 12px;border-radius:8px;width:fit-content}.step-icon-demo.add-home svg{color:#007aff}.copy-link-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;margin-top:8px;background:#00796b33;border:1px solid rgba(0,121,107,.4);border-radius:10px;color:#26a69a;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.copy-link-btn:hover{background:#00796b4d}.copy-link-btn.copied{background:#22c55e33;border-color:#22c55e66;color:#22c55e}.copy-link-btn svg{font-size:.95rem}.bounce{animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.pwa-ios-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:12px 16px;margin-bottom:16px}.pwa-ios-warning p{color:#ffffffe6;font-size:.85rem;margin:0;text-align:center}.pwa-ios-warning p:first-child{margin-bottom:4px}.pwa-install-footer{text-align:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.pwa-install-footer p{color:#fff6;font-size:.8rem;margin:0}@media(max-height:700px){.pwa-install-modal{padding:24px 20px}.pwa-install-icon{width:60px;height:60px}.pwa-install-icon img{width:36px;height:36px}.pwa-install-header h2{font-size:1.3rem}.pwa-step{padding:12px}}@media(max-width:360px){.pwa-install-modal{padding:20px 16px}.pwa-features{flex-direction:column;align-items:center;gap:8px}.pwa-install-header h2{font-size:1.1rem}}.pwa-dismiss-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:#0000000d;color:#00000080;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.pwa-dismiss-btn:hover{background:#0000001a;color:#000c}.pwa-dismiss-btn svg{font-size:1rem}.pwa-install-suggestion .pwa-install-modal{position:relative}.pwa-later-btn{display:block;width:100%;padding:12px;margin-top:12px;background:transparent;border:1px solid rgba(0,0,0,.15);border-radius:10px;color:#00000080;font-size:.9rem;cursor:pointer;transition:all .2s ease}.pwa-later-btn:hover{background:#00000008;color:#000000b3}:root{--course-mint: #70CDB0;--course-mint-bg: #D4F0E6;--course-amber: #F3C846;--course-amber-bg: #FFF1B8;--course-sky: #75BCE9;--course-sky-bg: #D5ECFB;--sheet-bezier: cubic-bezier(.32, .72, 0, 1);--spring-bezier: cubic-bezier(.34, 1.56, .64, 1)}.pwa-sheet-root{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto}.pwa-sheet-root svg{display:inline-block;vertical-align:middle}.pwa-sheet-root svg.stroke-icon,.pwa-sheet-root .safari-capsule-urlbar svg,.pwa-sheet-root .safari-bottom-toolbar svg,.pwa-sheet-root .ios-step-sharesheet svg,.pwa-sheet-root .slide-header svg,.pwa-sheet-root .icon-badge:not(.icon-badge-fill) svg,.pwa-sheet-root .sheet-close-btn svg{fill:none!important;stroke:currentColor!important}.pwa-sheet-root svg.stroke-icon path,.pwa-sheet-root svg.stroke-icon rect,.pwa-sheet-root svg.stroke-icon circle,.pwa-sheet-root svg.stroke-icon line,.pwa-sheet-root svg.stroke-icon polyline,.pwa-sheet-root .safari-capsule-urlbar svg path,.pwa-sheet-root .safari-capsule-urlbar svg rect,.pwa-sheet-root .safari-bottom-toolbar svg path,.pwa-sheet-root .safari-bottom-toolbar svg rect,.pwa-sheet-root .safari-bottom-toolbar svg polyline,.pwa-sheet-root .safari-bottom-toolbar svg line,.pwa-sheet-root .ios-step-sharesheet svg path,.pwa-sheet-root .ios-step-sharesheet svg rect,.pwa-sheet-root .ios-step-sharesheet svg line,.pwa-sheet-root .slide-header svg path,.pwa-sheet-root .slide-header svg rect,.pwa-sheet-root .slide-header svg circle,.pwa-sheet-root .slide-header svg line,.pwa-sheet-root .slide-header svg polyline,.pwa-sheet-root .icon-badge:not(.icon-badge-fill) svg path,.pwa-sheet-root .icon-badge:not(.icon-badge-fill) svg rect,.pwa-sheet-root .icon-badge:not(.icon-badge-fill) svg polyline,.pwa-sheet-root .icon-badge:not(.icon-badge-fill) svg line,.pwa-sheet-root .sheet-close-btn svg line{fill:none!important;stroke:currentColor!important}.pwa-sheet-root svg.fill-icon,.pwa-sheet-root .benefit-pill svg,.pwa-sheet-root .icon-badge-fill svg{fill:currentColor!important;stroke:none!important}.pwa-sheet-root svg.fill-icon *,.pwa-sheet-root .benefit-pill svg *,.pwa-sheet-root .icon-badge-fill svg *{fill:currentColor!important;stroke:none!important}.pwa-sheet-backdrop{position:absolute;inset:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:pwaBackdropFadeIn .3s ease forwards}.pwa-sheet-root.anim-out .pwa-sheet-backdrop{animation:pwaBackdropFadeOut .28s ease forwards}@keyframes pwaBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pwaBackdropFadeOut{0%{opacity:1}to{opacity:0}}.pwa-sheet-container{position:relative;width:100%;max-width:440px;background:var(--product-surface, #FFFFFF);border-top:1px solid var(--product-border, #DFE6E3);border-top-left-radius:26px;border-top-right-radius:26px;box-shadow:0 -8px 30px #00000014;padding:12px 22px calc(20px + env(safe-area-inset-bottom,0px)) 22px;animation:pwaSheetSlideUp .34s var(--sheet-bezier, cubic-bezier(.32, .72, 0, 1)) forwards;box-sizing:border-box;color:var(--product-ink, #13201D);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,PingFang TC,Noto Sans TC,Segoe UI,sans-serif;display:flex;flex-direction:column}.pwa-sheet-root.anim-out .pwa-sheet-container{animation:pwaSheetSlideDown .28s ease forwards}@keyframes pwaSheetSlideUp{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes pwaSheetSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@media(min-width:768px){.pwa-sheet-root{align-items:center}.pwa-sheet-container{border-radius:22px;padding:24px;box-shadow:0 16px 40px #0000002e;animation:pwaDialogPopIn .28s cubic-bezier(.16,1,.3,1) forwards}.pwa-sheet-root.anim-out .pwa-sheet-container{animation:pwaDialogPopOut .24s ease forwards}.sheet-handle{display:none!important}}@keyframes pwaDialogPopIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pwaDialogPopOut{0%{transform:scale(1);opacity:1}to{transform:scale(.96);opacity:0}}.sheet-handle{width:36px;height:5px;background-color:var(--product-border, #DFE6E3);border-radius:12px;margin:0 auto 12px}.sheet-close-btn{position:absolute;top:14px;right:16px;width:28px;height:28px;border-radius:50%;border:none;background:var(--product-item-bg, #FAFCFB);color:var(--product-muted, #68736F);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease;z-index:10}.sheet-close-btn:hover{background:var(--product-border, #DFE6E3);color:var(--product-ink, #13201D)}.sheet-title{font-size:19px;font-weight:750;color:var(--product-ink, #13201D);text-align:center;line-height:1.25;margin-bottom:4px;letter-spacing:-.01em}.sheet-desc{font-size:13px;color:var(--product-muted, #68736F);text-align:center;line-height:1.4}.desktop-qr-stage{width:100%;display:flex;align-items:center;justify-content:center;margin:12px 0 10px}.desktop-qr-wrapper{padding:12px;background:#fff!important;border-radius:16px;box-shadow:0 4px 20px #0000001f;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.08)}[data-theme=dark] .desktop-qr-wrapper,body.dark-theme .desktop-qr-wrapper{background:#fff!important;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 30px #00000080}.desktop-qr-svg{width:140px;height:140px;display:block}.pwa-sheet-root .qr-dot{transform-box:fill-box;transform-origin:center;animation:qrWaveRipple 3.6s infinite cubic-bezier(.4,0,.2,1);fill:var(--product-accent, #075F50)!important;stroke:none!important}@keyframes qrWaveRipple{0%,to{fill:#075f50!important;opacity:.85;transform:scale(.92)}30%{fill:#03483d!important;opacity:.95;transform:scale(1)}50%{fill:#17a08a!important;opacity:1;transform:scale(1.08)}70%{fill:#118471!important;opacity:.95;transform:scale(1)}}.animation-stage-box{width:100%;height:156px;background:#ebf0ed;border:1px solid var(--product-border, #DFE6E3);border-radius:16px;margin:12px 0 10px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}[data-theme=dark] .animation-stage-box{background:#111d1b}.touch-tap-finger{position:absolute;width:22px;height:22px;border-radius:50%;background:#075f5066;border:2px solid #FFFFFF;pointer-events:none;z-index:30}.finger-safari-share{animation:tapShareButton 7.5s ease-in-out infinite}.finger-ios-add{animation:tapAddButton 7.5s ease-in-out infinite}.finger-home-app{animation:tapDesktopIcon 7.5s ease-in-out infinite}.finger-android-install{animation:tapAndroidInstall 7.5s ease-in-out infinite}.ios-anim-flow{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:8px 10px}.safari-capsule-urlbar{width:100%;height:26px;background:#ffffffd9;border:1px solid var(--product-border, #DFE6E3);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:9px;font-weight:600;color:var(--product-ink, #13201D);box-shadow:0 1px 4px #00000008}[data-theme=dark] .safari-capsule-urlbar{background:#162220d9}.safari-bottom-toolbar{width:100%;height:34px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--product-border, #DFE6E3);border-radius:10px;display:flex;align-items:center;justify-content:space-around;color:#007aff;position:relative;animation:iosSafariBarAnim 7.5s ease-in-out infinite}[data-theme=dark] .safari-bottom-toolbar{background:#162220f2}.safari-icon-btn{display:flex;align-items:center;justify-content:center;position:relative;width:24px;height:24px;color:#007aff}.ios-step-sharesheet{position:absolute;bottom:6px;left:8px;right:8px;background:var(--product-surface, #FFFFFF);border:1px solid var(--product-border, #DFE6E3);border-radius:14px;box-shadow:0 -4px 20px #0000001f;padding:8px 10px;display:flex;flex-direction:column;gap:6px;animation:iosShareSheetAnim 7.5s ease-in-out infinite;z-index:10}.ios-sheet-header{display:flex;align-items:center;gap:6px;padding-bottom:4px;border-bottom:1px solid var(--product-border, #DFE6E3)}.mini-icon-badge{width:16px;height:16px;border-radius:4px;background:#075f50;color:#fff;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:800}.ios-sheet-row{display:flex;align-items:center;justify-content:space-between;background:var(--product-item-bg, #FAFCFB);border:1px solid var(--product-border, #DFE6E3);border-radius:8px;padding:6px 8px;font-size:9px;font-weight:700;color:var(--product-ink, #13201D);position:relative}.android-anim-flow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.android-native-dialog{width:86%;background:var(--product-surface, #FFFFFF);border:1px solid var(--product-border, #DFE6E3);border-radius:14px;box-shadow:0 8px 24px #0000001f;padding:12px 14px;display:flex;flex-direction:column;gap:10px;animation:androidDialogAnim 7.5s ease-in-out infinite}.android-dialog-header{display:flex;align-items:center;gap:10px}.android-dialog-btns{display:flex;justify-content:flex-end;gap:8px}.android-btn-mock{padding:4px 12px;border-radius:8px;font-size:9px;font-weight:700;cursor:pointer}.step-homescreen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:22px;animation:homeScreenAnim 7.5s ease-in-out infinite}.mock-ncnu-icon{width:44px;height:44px;border-radius:11px;background:#075f50;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;box-shadow:0 4px 12px #075f504d;position:relative}.mock-dummy-icon{width:44px;height:44px;border-radius:11px;background:#0000000f;border:1px dashed rgba(0,0,0,.15);opacity:.5}.anim-scene-app{position:absolute;width:92%;height:88%;background:var(--product-surface, #FFFFFF);border:1px solid var(--product-border, #DFE6E3);border-radius:12px;box-shadow:0 8px 24px #00000014;padding:6px 8px;display:flex;flex-direction:column;gap:5px;animation:appSceneLoop 7.5s ease-in-out infinite;overflow:hidden}.app-stage-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:3px;border-bottom:1px solid var(--product-border, #DFE6E3)}.carousel-wrapper{position:relative;flex:1;width:100%;overflow:hidden}.carousel-track{display:flex;width:300%;height:100%;animation:carouselTrackSlide 7.5s ease-in-out infinite}.carousel-slide{width:33.333%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:0 2px}.slide-header{display:flex;align-items:center;gap:4px;font-size:8px;font-weight:750;color:var(--product-ink, #13201D)}.slide-header svg{color:var(--product-accent, #075F50)}.mini-schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:3px}.mini-course-block{border-radius:5px;padding:3px 4px;display:flex;flex-direction:column;justify-content:space-between;height:52px}.mini-dining-list,.mini-calendar-list{display:flex;flex-direction:column;gap:3px;margin-top:3px}.mini-dining-item,.mini-cal-item{background:var(--product-item-bg, #FAFCFB);border:1px solid var(--product-border, #DFE6E3);border-radius:5px;padding:4px 6px;display:flex;align-items:center;justify-content:space-between;font-size:7.5px;font-weight:600}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:4px;padding-top:2px;height:8px}.carousel-dot{height:4px;border-radius:50%;background:var(--product-border, #DFE6E3)}.dot-1{animation:dot1Sync 7.5s ease-in-out infinite}.dot-2{animation:dot2Sync 7.5s ease-in-out infinite}.dot-3{animation:dot3Sync 7.5s ease-in-out infinite}@keyframes iosSafariBarAnim{0%,14%{opacity:1;transform:translateY(0)}18%,to{opacity:0;transform:translateY(20px)}}@keyframes tapShareButton{0%,6%{opacity:0;transform:scale(.6)}10%{opacity:1;transform:scale(1.1)}14%{opacity:0;transform:scale(1.4)}to{opacity:0}}@keyframes iosShareSheetAnim{0%,16%{opacity:0;transform:translateY(50px);pointer-events:none}20%,34%{opacity:1;transform:translateY(0);pointer-events:auto}38%,to{opacity:0;transform:translateY(50px)}}@keyframes tapAddButton{0%,23%{opacity:0;transform:scale(.6)}28%{opacity:1;transform:scale(1.1)}32%{opacity:0;transform:scale(1.4)}to{opacity:0}}@keyframes androidDialogAnim{0%,10%{opacity:0;transform:scale(.85)}14%,32%{opacity:1;transform:scale(1)}36%,to{opacity:0;transform:scale(.9)}}@keyframes tapAndroidInstall{0%,20%{opacity:0;transform:scale(.6)}26%{opacity:1;transform:scale(1.1)}30%{opacity:0;transform:scale(1.4)}to{opacity:0}}@keyframes homeScreenAnim{0%,34%{opacity:0;transform:scale(.9)}38%,50%{opacity:1;transform:scale(1)}54%,to{opacity:0;transform:scale(1.15)}}@keyframes tapDesktopIcon{0%,42%{opacity:0;transform:scale(.6)}46%{opacity:1;transform:scale(1.1)}50%{opacity:0;transform:scale(1.4)}to{opacity:0}}@keyframes appSceneLoop{0%,50%{opacity:0;transform:scale(.85);pointer-events:none}54%,93%{opacity:1;transform:scale(1);pointer-events:auto}97%,to{opacity:0;transform:scale(.9)}}@keyframes carouselTrackSlide{0%,65%{transform:translate(0)}69%,80%{transform:translate(-33.333%)}84%,96%{transform:translate(-66.666%)}to{transform:translate(0)}}@keyframes dot1Sync{0%,65%{background-color:var(--product-accent, #075F50);width:10px;border-radius:3px}69%,96%{background-color:var(--product-border, #DFE6E3);width:4px;border-radius:50%}98%,to{background-color:var(--product-accent, #075F50);width:10px;border-radius:3px}}@keyframes dot2Sync{0%,65%{background-color:var(--product-border, #DFE6E3);width:4px;border-radius:50%}69%,80%{background-color:var(--product-accent, #075F50);width:10px;border-radius:3px}84%,to{background-color:var(--product-border, #DFE6E3);width:4px;border-radius:50%}}@keyframes dot3Sync{0%,80%{background-color:var(--product-border, #DFE6E3);width:4px;border-radius:50%}84%,96%{background-color:var(--product-accent, #075F50);width:10px;border-radius:3px}98%,to{background-color:var(--product-border, #DFE6E3);width:4px;border-radius:50%}}.anim-scene-success{position:absolute;inset:0;background:var(--product-accent-soft, #E6F3EF);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:50;animation:fadeIn .24s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-svg-circle{stroke-dasharray:160;stroke-dashoffset:160;animation:drawStroke .4s .1s ease forwards}.success-svg-check{stroke-dasharray:40;stroke-dashoffset:40;animation:drawStroke .3s .35s ease forwards}@keyframes drawStroke{to{stroke-dashoffset:0}}.success-text{font-size:12px;font-weight:750;color:#075f50}.benefit-pills-row{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.benefit-pill{font-size:11.5px;font-weight:600;color:var(--product-ink, #13201D);background:var(--product-item-bg, #FAFCFB);border:1px solid var(--product-border, #DFE6E3);padding:3px 9px;border-radius:999px;display:flex;align-items:center;gap:4px}.benefit-pill svg{color:var(--product-accent, #075F50);flex-shrink:0}.platform-guide-box{background:var(--product-accent-soft, #E6F3EF);border-radius:10px;padding:9px 12px;font-size:12.5px;color:var(--product-accent-strong, #03483D);display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:500}.guide-left-content{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.icon-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#fff;border:1px solid rgba(7,95,80,.2);border-radius:6px;color:var(--product-accent, #075F50);vertical-align:middle}[data-theme=dark] .icon-badge{background:#1b2926}.sheet-btn-action{height:48px;background:var(--product-accent, #075F50);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;transition:background-color .16s ease,transform .16s ease;-webkit-tap-highlight-color:transparent}.sheet-btn-action:hover{background:var(--product-accent-strong, #03483D)}.sheet-btn-action.success{background:var(--product-accent-strong, #03483D)!important;transform:scale(.98)}[data-theme=dark],:root[data-theme=dark],body.dark-theme{--product-canvas: #0D1614;--product-surface: #162220;--product-ink: #EEF4F2;--product-muted: #8F9E9A;--product-border: #243531;--product-accent: #118471;--product-accent-strong: #17A08A;--product-accent-soft: #16302B;--product-item-bg: #1B2926}[data-theme=dark] .pwa-sheet-container,body.dark-theme .pwa-sheet-container{background:#162220!important;color:#eef4f2!important;border-color:#243531!important;box-shadow:0 -8px 30px #00000080}@media(min-width:768px){[data-theme=dark] .pwa-sheet-container,body.dark-theme .pwa-sheet-container{box-shadow:0 20px 60px #000000a6!important}}[data-theme=dark] .sheet-title,body.dark-theme .sheet-title{color:#eef4f2!important}[data-theme=dark] .sheet-desc,body.dark-theme .sheet-desc{color:#8f9e9a!important}[data-theme=dark] .sheet-close-btn,body.dark-theme .sheet-close-btn{background:#1b2926!important;color:#8f9e9a!important}[data-theme=dark] .sheet-close-btn:hover,body.dark-theme .sheet-close-btn:hover{background:#243531!important;color:#eef4f2!important}[data-theme=dark] .benefit-pill,body.dark-theme .benefit-pill{background:#1b2926!important;color:#eef4f2!important;border-color:#243531!important}[data-theme=dark] .platform-guide-box,body.dark-theme .platform-guide-box{background:#16302b!important;color:#70cdb0!important;border:1px solid #243531!important}[data-theme=dark] .icon-badge,body.dark-theme .icon-badge{background:#1b2926!important;border-color:#243531!important;color:#70cdb0!important}[data-theme=dark] .mini-course-block[data-type=mint]{background:#16302b;border-color:#17a08a;color:#70cdb0}[data-theme=dark] .mini-course-block[data-type=amber]{background:#2e2812;border-color:#94761b;color:#f3c846}[data-theme=dark] .mini-course-block[data-type=sky]{background:#132738;border-color:#276999;color:#75bce9}@media(prefers-reduced-motion:reduce){.safari-bottom-toolbar,.ios-step-sharesheet,.android-native-dialog,.step-homescreen,.anim-scene-app,.carousel-track,.touch-tap-finger,.dot-1,.dot-2,.dot-3{animation:none!important}.ios-anim-flow,.android-anim-flow,.step-homescreen{display:none!important}.anim-scene-app{opacity:1!important;position:relative!important}}.push-prompt-sheet{--push-prompt-surface: var(--product-canvas, var(--theme-bg-card, #fff));--push-prompt-ink: var(--product-ink, var(--theme-text-primary, #13201d));--push-prompt-muted: var(--product-muted, var(--theme-text-secondary, #68736f));--push-prompt-border: var(--product-border, var(--theme-border-primary, #dfe6e3));--push-prompt-accent: var(--product-accent, #075f50);--push-prompt-accent-strong: var(--product-accent-strong, #03483d);--push-prompt-accent-soft: var(--product-accent-soft, #e6f3ef);font-family:var(--product-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.push-prompt-content{display:grid;gap:0;color:var(--push-prompt-ink)}.push-prompt-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 16px;border-radius:14px;color:var(--push-prompt-accent);background:var(--push-prompt-accent-soft);font-size:1.25rem}.push-prompt-content h2{margin:0 0 8px;color:var(--push-prompt-ink);font-size:20px;font-weight:750;line-height:1.3;letter-spacing:-.015em;text-align:center}.push-prompt-description{margin:0;color:var(--push-prompt-muted);font-size:15px;font-weight:400;line-height:1.5;text-align:center}.push-prompt-features{display:grid;gap:0;margin-top:18px;padding:4px 12px;border:1px solid var(--push-prompt-border);border-radius:12px;background:color-mix(in srgb,var(--push-prompt-accent-soft) 38%,var(--push-prompt-surface))}.push-prompt-feature{min-height:42px;display:flex;align-items:center;gap:10px;color:var(--push-prompt-ink);font-size:14px;font-weight:500;line-height:1.4}.push-prompt-feature+.push-prompt-feature{border-top:1px solid var(--push-prompt-border)}.push-prompt-feature svg{flex:0 0 auto;color:var(--push-prompt-accent);font-size:.9rem}.push-prompt-error{margin:14px 0 0;padding:9px 11px;border:1px solid color-mix(in srgb,#b42318 26%,var(--push-prompt-border));border-radius:10px;color:#b42318;background:#fff5f4;font-size:13px;line-height:1.45}.push-prompt-actions{display:flex;flex-direction:column;gap:8px}.push-prompt-actions button{min-height:44px;border-radius:12px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.push-prompt-primary{min-height:48px!important;border:1px solid var(--push-prompt-accent);color:#fff;background:var(--push-prompt-accent)}.push-prompt-primary:hover,.push-prompt-primary:active{border-color:var(--push-prompt-accent-strong);background:var(--push-prompt-accent-strong)}.push-prompt-secondary{border:1px solid transparent;color:var(--push-prompt-muted);background:transparent}.push-prompt-secondary:hover,.push-prompt-secondary:active{color:var(--push-prompt-ink);background:color-mix(in srgb,var(--push-prompt-border) 45%,transparent)}.push-prompt-actions button:focus-visible{outline:3px solid color-mix(in srgb,var(--push-prompt-accent) 32%,transparent);outline-offset:2px}.push-prompt-actions button:disabled{opacity:.58;cursor:wait}[data-theme=dark] .push-prompt-sheet{--push-prompt-surface: var(--theme-bg-card, #111a18);--push-prompt-ink: var(--theme-text-primary, #f4f7f6);--push-prompt-muted: var(--theme-text-secondary, #b5c2be);--push-prompt-border: var(--theme-border-primary, rgba(185, 211, 204, .18));--push-prompt-accent-soft: rgba(63, 195, 159, .14)}[data-theme=dark] .push-prompt-error{border-color:#f871714d;color:#fecaca;background:#7f1d1d47}@media(min-width:769px){.push-prompt-content h2,.push-prompt-description{text-align:left}.push-prompt-icon{margin-left:0}.push-prompt-actions{flex-direction:row-reverse;align-items:center;justify-content:flex-start}.push-prompt-actions button{width:auto;min-width:112px;padding:0 16px}}.permission-guide-sheet.bottom-sheet-overlay{z-index:10001}.permission-guide-content{display:flex;flex-direction:column;gap:20px;padding:4px 0 8px;color:var(--theme-text-primary, #14201e)}.permission-guide-header{display:flex;flex-direction:column;align-items:center;text-align:center}.permission-guide-icon-badge{width:56px;height:56px;border-radius:50%;background:#ef44441f;color:var(--danger, #ef4444);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:14px;box-shadow:0 4px 16px #ef444426}.permission-guide-title{margin:0 0 6px;font-size:1.35rem;font-weight:750;letter-spacing:-.01em;color:var(--theme-text-primary, #14201e)}.permission-guide-subtitle{margin:0;font-size:.92rem;line-height:1.5;color:var(--theme-text-secondary, #68736f);max-width:420px}.permission-platform-tabs{display:flex;background:var(--theme-bg-secondary, #f0f4f3);border-radius:14px;padding:4px;gap:4px;border:1px solid var(--theme-border-primary, #dce4e2)}.platform-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border:none;background:transparent;color:var(--theme-text-secondary, #68736f);font-size:.86rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1)}.platform-tab-btn .tab-icon{font-size:.9rem}.platform-tab-btn:hover{color:var(--theme-text-primary, #14201e)}.platform-tab-btn.active{background:var(--theme-bg-card, #ffffff);color:var(--theme-primary, #075f50);font-weight:700;box-shadow:0 2px 8px #00000014}.permission-guide-steps{background:var(--theme-bg-secondary, #f7f9f9);border-radius:18px;padding:18px 20px;border:1px solid var(--theme-border-primary, #e2e8e7)}.steps-flow{display:flex;flex-direction:column;gap:16px}.guide-step-item{position:relative;display:flex;align-items:flex-start;gap:14px}.guide-step-item:not(:last-child):after{content:"";position:absolute;left:13px;top:30px;bottom:-12px;width:2px;background:var(--theme-border-primary, #dce4e2);border-radius:2px}.step-badge{width:28px;height:28px;border-radius:50%;background:var(--theme-primary, #075f50);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:750;flex-shrink:0;z-index:1;box-shadow:0 2px 6px #075f5040}.step-text{flex:1;font-size:.94rem;line-height:1.5;color:var(--theme-text-primary, #14201e);padding-top:2px}.step-text strong{color:var(--theme-primary, #075f50);font-weight:750}.step-subnote{display:block;font-size:.8rem;color:var(--theme-text-secondary, #68736f);margin-top:2px}.step-end-icon{color:var(--theme-text-secondary, #8c9996);font-size:1rem;margin-top:5px;flex-shrink:0}.permission-battery-tip-card{background:#0ea5e914;border:1px solid rgba(14,165,233,.25);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.battery-tip-header{display:flex;align-items:center;gap:8px}.battery-tip-icon{width:24px;height:24px;border-radius:6px;background:#0ea5e92e;color:#0284c7;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.battery-tip-title{margin:0;font-size:.9rem;font-weight:750;color:var(--theme-text-primary, #14201e)}.battery-tip-desc{margin:0;font-size:.84rem;line-height:1.48;color:var(--theme-text-secondary, #475569);padding-left:32px}.permission-guide-footer-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:#f59e0b17;border:1px solid rgba(245,158,11,.22);border-radius:12px;color:#d97706;font-size:.84rem;line-height:1.4;text-align:center}.footer-note-icon{font-size:.95rem;flex-shrink:0}.permission-guide-actions{display:flex;gap:10px;width:100%;padding-top:4px}.permission-guide-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:14px;font-size:.96rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:none}.permission-guide-btn .btn-icon{font-size:.95rem}.permission-guide-btn.is-primary{background:var(--theme-primary, #075f50);color:#fff;box-shadow:0 4px 14px #075f5040}.permission-guide-btn.is-primary:hover{background:var(--theme-primary-hover, #064e42);transform:translateY(-1px)}.permission-guide-btn.is-primary:active{transform:translateY(1px)}.permission-guide-btn.is-secondary{background:var(--theme-bg-secondary, #eef3f2);color:var(--theme-text-primary, #14201e);border:1px solid var(--theme-border-primary, #dce4e2)}.permission-guide-btn.is-secondary:hover{background:var(--theme-bg-hover, #e2eae8)}.permission-guide-btn.is-secondary:active{transform:scale(.985)}[data-theme=dark] .permission-guide-icon-badge{background:#f8717129;color:#f87171;box-shadow:0 4px 16px #f8717133}[data-theme=dark] .permission-platform-tabs{background:var(--theme-bg-secondary, #1a2523);border-color:var(--theme-border-primary, #2d3b38)}[data-theme=dark] .platform-tab-btn.active{background:var(--theme-bg-card, #23312e);color:var(--theme-primary-light, #2dd4bf);box-shadow:0 2px 8px #00000059}[data-theme=dark] .step-text strong{color:var(--theme-primary-light, #2dd4bf)}[data-theme=dark] .permission-battery-tip-card{background:#0ea5e91f;border-color:#38bdf84d}[data-theme=dark] .battery-tip-icon{background:#38bdf833;color:#38bdf8}[data-theme=dark] .battery-tip-desc{color:#cbd5e1}[data-theme=dark] .permission-guide-footer-note{background:#f59e0b24;border-color:#fbbf244d;color:#fbbf24}[data-theme=dark] .permission-guide-btn.is-secondary{background:var(--theme-bg-secondary, #1e2a28);border-color:var(--theme-border-primary, #2d3b38);color:var(--theme-text-primary, #e2e8f0)}@media(max-width:480px){.permission-guide-actions{flex-direction:column-reverse}.platform-tab-btn{padding:8px 4px;font-size:.8rem}.permission-guide-steps{padding:16px 14px}}.user-settings-sheet{--settings-accent: var(--product-accent, #075f50);background:#f8faf9}.user-settings-content{display:grid;gap:14px}.user-settings-section{padding:18px;border:1px solid var(--theme-border-primary, #dce4e2);border-radius:20px;background:color-mix(in srgb,var(--theme-bg-secondary, #fff) 92%,var(--settings-accent) 8%)}.user-settings-section-heading{display:flex;align-items:flex-start;gap:12px}.user-settings-section-icon{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:var(--settings-accent);background:color-mix(in srgb,var(--settings-accent) 12%,transparent)}.user-settings-section-heading h3{margin:0;color:var(--theme-text-primary, #14201e);font-size:1rem;font-weight:750;letter-spacing:-.01em}.user-settings-section-heading p{margin:4px 0 0;color:var(--theme-text-secondary, #687370);font-size:.82rem;line-height:1.5}.user-settings-year-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;margin-top:16px}.user-settings-field{display:grid;gap:7px;color:var(--theme-text-secondary, #687370);font-size:.78rem;font-weight:650}.user-settings-field select{width:100%;min-height:46px;padding:0 38px 0 13px;border:1px solid var(--theme-border-primary, #dce4e2);border-radius:13px;color:var(--theme-text-primary, #14201e);background:var(--theme-bg-card, #fff);font:inherit;font-size:.92rem;cursor:pointer}.user-settings-field select:focus-visible,.user-settings-choice-group button:focus-visible,.user-settings-save-button:focus-visible{outline:3px solid color-mix(in srgb,var(--settings-accent) 24%,transparent);outline-offset:2px}.user-settings-year-arrow{padding-bottom:13px;color:var(--theme-text-tertiary, #8a9492)}.user-settings-capability,.user-settings-notice{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 13px;border-radius:14px;color:var(--settings-accent);background:color-mix(in srgb,var(--settings-accent) 9%,transparent);font-size:.8rem;line-height:1.5}.user-settings-capability svg,.user-settings-notice>svg{margin-top:3px;flex:0 0 auto}.user-settings-notice.is-warning{color:#7b5311;background:#fff4d9}.user-settings-notice div{display:grid;gap:3px}.user-settings-notice strong{color:inherit;font-size:.88rem}.user-settings-error{margin-top:12px;color:#b42318;font-size:.8rem;font-weight:650}.user-settings-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:14px;padding:4px;border:1px solid var(--theme-border-primary, #dce4e2);border-radius:14px;background:var(--theme-bg-card, #fff)}.user-settings-choice-group button{min-height:40px;padding:6px 10px;border:0;border-radius:10px;color:var(--theme-text-secondary, #687370);background:transparent;font:inherit;font-size:.82rem;font-weight:650;cursor:pointer}.user-settings-choice-group button.is-selected{color:#fff;background:#1d1d1f;box-shadow:0 5px 14px #00000029}.user-settings-push-button{width:100%;min-height:42px;margin-top:14px;border:0;border-radius:12px;color:#fff;background:var(--settings-accent);font:inherit;font-weight:700;cursor:pointer}.user-settings-push-button.is-secondary{color:var(--settings-accent);border:1px solid var(--settings-accent);background:transparent}.user-settings-push-button:disabled{opacity:.55;cursor:wait}.user-settings-push-status{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--settings-accent);font-size:.88rem;font-weight:700}.user-settings-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px}.user-settings-save-state{min-width:0;flex:1;color:var(--theme-text-secondary, #687370);font-size:.78rem}.user-settings-save-state.is-saved{color:var(--settings-accent)}.user-settings-save-button{min-width:128px;min-height:44px;padding:0 18px;border:0;border-radius:14px;color:#fff;background:var(--settings-accent);font:inherit;font-weight:750;cursor:pointer;box-shadow:0 8px 22px #075f5038}.user-settings-save-button:disabled{opacity:.55;cursor:wait}[data-theme=dark] .user-settings-section{background:#ffffff09}[data-theme=dark] .user-settings-sheet{background:#111a18}[data-theme=dark] .user-settings-section-icon,[data-theme=dark] .user-settings-capability{color:#65d6b7;background:#3fc39f1c}[data-theme=dark] .user-settings-notice.is-warning{color:#f5d38d;background:#be801b26}[data-theme=dark] .user-settings-choice-group button.is-selected{color:#101715;background:#f5f7f6}@media(max-width:520px){.user-settings-section{padding:16px;border-radius:18px}.user-settings-year-grid{grid-template-columns:1fr}.user-settings-year-arrow{display:none}.user-settings-footer{align-items:stretch;flex-direction:column;gap:8px}.user-settings-save-state{min-height:18px;text-align:center}.user-settings-save-button{width:100%}}:root{--dn-obsidian-deep: #070D0C;--dn-obsidian-surface: #0E1615;--dn-obsidian-card: #14201E;--dn-obsidian-card-hover: #192725;--dn-gold-light: #F6D88E;--dn-gold-core: #E2B858;--dn-gold-dark: #C49733;--dn-gold-border: rgba(226, 184, 88, .24);--dn-gold-glow: rgba(226, 184, 88, .14);--dn-text-main: #FFFFFF;--dn-text-sub: #9EAEA9;--dn-text-muted: #6B7C77;--dn-sheet-bezier: cubic-bezier(.32, .72, 0, 1);--dn-spring-bezier: cubic-bezier(.34, 1.56, .64, 1)}.dn-modal-root{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,PingFang TC,Noto Sans TC,Segoe UI,sans-serif;color:var(--dn-text-main);box-sizing:border-box}.dn-modal-backdrop{position:absolute;inset:0;background:#040a09ad;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);animation:dnBackdropFadeIn .28s ease forwards}.dn-modal-root.anim-closing .dn-modal-backdrop{animation:dnBackdropFadeOut .22s ease forwards}@keyframes dnBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dnBackdropFadeOut{0%{opacity:1}to{opacity:0}}.dn-sheet-container{position:relative;width:100%;max-width:520px;max-height:min(90vh,calc(100% - env(safe-area-inset-top,0px) - 16px));background:var(--dn-obsidian-surface);border:1px solid var(--dn-gold-border);border-bottom:0;border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:0 -18px 50px #000000a6,0 0 40px var(--dn-gold-glow);display:flex;flex-direction:column;overflow:hidden;animation:dnSheetSlideUp .34s var(--dn-sheet-bezier) forwards;box-sizing:border-box}.dn-modal-root.anim-closing .dn-sheet-container{animation:dnSheetSlideDown .24s ease forwards}@keyframes dnSheetSlideUp{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes dnSheetSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes dnDialogPopIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@keyframes dnDialogPopOut{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0}}.dn-sheet-handle{width:40px;height:5px;background-color:#e2b8584d;border-radius:12px;margin:10px auto 4px;flex:0 0 auto}.dn-sheet-close-btn{position:absolute;top:14px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#ffffff17;color:var(--dn-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease;z-index:20}.dn-sheet-close-btn:hover{background:#ffffff29;color:#fff;transform:scale(1.05)}.dn-sheet-close-btn:active{transform:scale(.95)}.dn-sheet-scrollable{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:8px 18px calc(20px + env(safe-area-inset-bottom,0px)) 18px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}.dn-sheet-scrollable::-webkit-scrollbar{width:5px}.dn-sheet-scrollable::-webkit-scrollbar-track{background:transparent}.dn-sheet-scrollable::-webkit-scrollbar-thumb{background:#e2b85833;border-radius:999px}.dn-sheet-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:4px 16px 0}.dn-sheet-title{font-size:21px;font-weight:750;color:#fff;margin:0;letter-spacing:-.01em;line-height:1.25}.dn-sheet-subtitle{font-size:13px;color:var(--dn-text-sub);margin:0;line-height:1.45;max-width:380px}.dn-body-grid{display:flex;flex-direction:column;gap:14px}.dn-body-left{display:flex;flex-direction:column;gap:12px}.dn-body-right{display:flex;flex-direction:column;gap:10px}.dn-qr-desktop-only{display:none}.dn-theater-section{width:100%;display:flex;justify-content:center}.dn-clean-stage{width:100%;height:142px;background:var(--dn-obsidian-card, #111D1B);border:1px solid rgba(255,255,255,.08);border-radius:16px;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 16px #00000040}.dn-stage-screen{position:relative;width:100%;flex:1 1 auto;overflow:hidden;background:#0b1312}.dn-scene{position:absolute;inset:0;padding:10px 14px;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(8px) scale(.98);pointer-events:none}.dn-scene-1{animation:dnSceneAnim1 18s infinite cubic-bezier(.4,0,.2,1)}.dn-scene-2{animation:dnSceneAnim2 18s infinite cubic-bezier(.4,0,.2,1)}.dn-scene-3{animation:dnSceneAnim3 18s infinite cubic-bezier(.4,0,.2,1)}.dn-scene-4{animation:dnSceneAnim4 18s infinite cubic-bezier(.4,0,.2,1)}@keyframes dnSceneAnim1{0%{opacity:0;transform:translateY(8px) scale(.98)}2%,22.5%{opacity:1;transform:translateY(0) scale(1)}25%,to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes dnSceneAnim2{0%,25%{opacity:0;transform:translateY(8px) scale(.98)}27%,47.5%{opacity:1;transform:translateY(0) scale(1)}50%,to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes dnSceneAnim3{0%,50%{opacity:0;transform:translateY(8px) scale(.98)}52%,72.5%{opacity:1;transform:translateY(0) scale(1)}75%,to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes dnSceneAnim4{0%,75%{opacity:0;transform:translateY(8px) scale(.98)}77%,97.5%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.dn-touch-pointer{position:absolute;width:22px;height:22px;border-radius:50%;background:#f6d88e66;border:2px solid #FFFFFF;pointer-events:none;z-index:30;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000059;opacity:0}.dn-tap-ripple{position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(246,216,142,.85);opacity:0;pointer-events:none}.dn-touch-1{top:50px;right:28px;animation:dnTouch1Anim 18s infinite ease-in-out}.dn-touch-1 .dn-tap-ripple{animation:dnRipple1Anim 18s infinite ease-out}@keyframes dnTouch1Anim{0%,2%{opacity:0;transform:translate(15px,15px) scale(.7)}4.5%{opacity:1;transform:translate(0) scale(1)}6.5%{opacity:1;transform:translate(0) scale(.82)}8.5%{opacity:1;transform:translate(0) scale(1)}11%{opacity:0;transform:translate(-8px,-12px) scale(.7)}11.1%,to{opacity:0}}@keyframes dnRipple1Anim{0%,6%{opacity:0;transform:scale(.5)}6.5%{opacity:1;transform:scale(.8)}9%{opacity:0;transform:scale(2.2)}9.1%,to{opacity:0}}.dn-touch-2{top:52px;left:36px;animation:dnTouch2Anim 18s infinite ease-in-out}.dn-touch-2 .dn-tap-ripple{animation:dnRipple2Anim 18s infinite ease-out}@keyframes dnTouch2Anim{0%,26%{opacity:0;transform:translate(-10px,15px) scale(.7)}29%{opacity:1;transform:translate(0) scale(1)}31%{opacity:1;transform:translate(0) scale(.82)}33%{opacity:1;transform:translate(0) scale(1)}35.5%{opacity:0;transform:translate(10px,-10px) scale(.7)}35.6%,to{opacity:0}}@keyframes dnRipple2Anim{0%,30.5%{opacity:0;transform:scale(.5)}31%{opacity:1;transform:scale(.8)}33.5%{opacity:0;transform:scale(2.2)}33.6%,to{opacity:0}}.dn-touch-3{top:60px;left:28px;animation:dnTouch3Anim 18s infinite ease-in-out}.dn-touch-3 .dn-tap-ripple{animation:dnRipple3Anim 18s infinite ease-out}@keyframes dnTouch3Anim{0%,51%{opacity:0;transform:translate(-15px,12px) scale(.7)}54%{opacity:1;transform:translate(0) scale(1)}56%{opacity:1;transform:translate(0) scale(.82)}58%{opacity:1;transform:translate(0) scale(1)}60.5%{opacity:0;transform:translate(12px,-8px) scale(.7)}60.6%,to{opacity:0}}@keyframes dnRipple3Anim{0%,55.5%{opacity:0;transform:scale(.5)}56%{opacity:1;transform:scale(.8)}58.5%{opacity:0;transform:scale(2.2)}58.6%,to{opacity:0}}.dn-touch-4{top:48px;right:22px;animation:dnTouch4Anim 18s infinite ease-in-out}.dn-touch-4 .dn-tap-ripple{animation:dnRipple4Anim 18s infinite ease-out}@keyframes dnTouch4Anim{0%,76%{opacity:0;transform:translate(15px,15px) scale(.7)}78.5%{opacity:1;transform:translate(0) scale(1)}80.5%{opacity:1;transform:translate(0) scale(.82)}82.5%{opacity:1;transform:translate(0) scale(1)}85%{opacity:0;transform:translate(-10px,-10px) scale(.7)}85.1%,to{opacity:0}}@keyframes dnRipple4Anim{0%,80%{opacity:0;transform:scale(.5)}80.5%{opacity:1;transform:scale(.8)}83%{opacity:0;transform:scale(2.2)}83.1%,to{opacity:0}}.dn-scene-header{display:flex;align-items:center;justify-content:space-between}.dn-scene-pill{padding:2.5px 8px;border-radius:6px;font-size:10px;font-weight:750;background:#075f5059;color:#8cead3;border:1px solid rgba(7,95,80,.5)}.dn-pill-amber{background:#f3c8462e;color:#f8d879;border-color:#f3c84659}.dn-pill-sky{background:#75bce92e;color:#9fd6f8;border-color:#75bce959}.dn-pill-gold{background:#e2b85833;color:#f7da92;border-color:var(--dn-gold-border)}.dn-scene-badge{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;color:#70cdb0}.dn-badge-green{color:#53d769}.dn-badge-gold{color:#f7da92}.dn-badge-purple{color:#c694f9}.dn-status-dot-pulse{width:6px;height:6px;border-radius:50%;background:#53d769;box-shadow:0 0 8px #53d769;animation:dnDotPulse 1.4s infinite ease-in-out}@keyframes dnDotPulse{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.dn-mock-card-list{display:flex;flex-direction:column;gap:6px}.dn-mock-course-card{background:var(--dn-obsidian-card);border:1px solid #1E2D2A;border-radius:10px;padding:6px 10px;display:flex;flex-direction:column;gap:2px}.dn-course-card-accent{border-left:3px solid #70CDB0;background:#111e1b}.dn-course-item-1{animation:dnCourse1Anim 18s infinite ease-out}.dn-badge-conflict-check{animation:dnConflictBadgeAnim 18s infinite ease-out}.dn-course-item-2{animation:dnCourse2Anim 18s infinite cubic-bezier(.34,1.56,.64,1)}@keyframes dnCourse1Anim{0%,5%{transform:scale(1)}6.5%{transform:scale(.96);border-color:#70cdb0}8.5%{transform:scale(1.02)}10.5%,to{transform:scale(1)}}@keyframes dnConflictBadgeAnim{0%,6%{opacity:0;transform:scale(.7)}8.5%{opacity:1;transform:scale(1.1)}10.5%,22.5%{opacity:1;transform:scale(1)}25%,to{opacity:0}}@keyframes dnCourse2Anim{0%,9.5%{opacity:0;transform:translateY(14px) scale(.95)}13%,22.5%{opacity:1;transform:translateY(0) scale(1)}25%,to{opacity:0;transform:translateY(-6px)}}.dn-card-time-bar{display:flex;justify-content:space-between;font-size:8.5px;color:var(--dn-text-muted)}.dn-card-course-name{font-size:11px;font-weight:750;color:#fff}.dn-card-meta{display:flex;gap:4px}.dn-mini-tag{font-size:7.5px;color:var(--dn-text-sub);background:#ffffff0f;padding:1px 4px;border-radius:3px}.dn-mock-cafeteria-card{background:var(--dn-obsidian-card);border:1px solid #1E2D2A;border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.dn-stall-main-card{animation:dnStallCardAnim 18s infinite ease-out}.dn-live-status{animation:dnLiveStatusAnim 18s infinite ease-out}.dn-special-dish-slide{animation:dnSpecialDishAnim 18s infinite cubic-bezier(.34,1.56,.64,1)}@keyframes dnStallCardAnim{0%,30%{transform:scale(1)}31.5%{transform:scale(.97)}33.5%,to{transform:scale(1)}}@keyframes dnLiveStatusAnim{0%,30.5%{opacity:.4;transform:scale(.9)}33%,47.5%{opacity:1;transform:scale(1)}50%,to{opacity:0}}@keyframes dnSpecialDishAnim{0%,33.5%{opacity:0;transform:translateY(18px) scale(.92)}37%,47.5%{opacity:1;transform:translateY(0) scale(1)}50%,to{opacity:0;transform:translateY(-8px)}}.dn-cafe-header{display:flex;align-items:center;gap:8px}.dn-cafe-icon-box{width:26px;height:26px;border-radius:8px;background:#f3c84624;color:#f8d879;display:flex;align-items:center;justify-content:center}.dn-cafe-name{font-size:11px;font-weight:750;color:#fff}.dn-cafe-hours{font-size:8.5px;color:var(--dn-text-sub)}.dn-dish-highlight{background:#f3c84614;border:1px dashed rgba(243,200,70,.25);border-radius:8px;padding:5px 8px}.dn-dish-title{display:flex;align-items:center;gap:4px;font-size:9.5px;font-weight:750;color:#f8d879}.dn-dish-sub{font-size:7.5px;color:var(--dn-text-muted);margin-top:1px}.dn-mock-calendar-list{display:flex;flex-direction:column;gap:6px}.dn-cal-item{display:flex;align-items:center;gap:10px;background:var(--dn-obsidian-card);border:1px solid #1E2D2A;border-radius:10px;padding:6px 8px}.dn-cal-item-active{border-color:#75bce959;background:#0e1a1e}.dn-cal-item-1{animation:dnCalItem1Anim 18s infinite ease-out}.dn-countdown-pill{animation:dnCountdownAnim 18s infinite ease-out}.dn-cal-item-2{animation:dnCalItem2Anim 18s infinite cubic-bezier(.34,1.56,.64,1)}@keyframes dnCalItem1Anim{0%,55%{transform:scale(1)}56.5%{transform:scale(.96);border-color:#9fd6f8}58.5%,to{transform:scale(1)}}@keyframes dnCountdownAnim{0%,56%{transform:scale(.85);opacity:.6}58.5%{transform:scale(1.15) rotateX(15deg);opacity:1}60.5%,72.5%{transform:scale(1) rotateX(0);opacity:1}75%,to{opacity:0}}@keyframes dnCalItem2Anim{0%,58.5%{opacity:0;transform:translateY(14px) scale(.94)}62%,72.5%{opacity:1;transform:translateY(0) scale(1)}75%,to{opacity:0;transform:translateY(-6px)}}.dn-cal-date-block{width:28px;height:28px;border-radius:6px;background:#75bce933;color:#9fd6f8;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.dn-cal-date-break{background:#f3c84633;color:#f8d879}.dn-cal-month{font-size:7px;opacity:.8}.dn-cal-day{font-size:11px;font-weight:800}.dn-cal-info{display:flex;flex-direction:column}.dn-cal-title{font-size:10.5px;font-weight:750;color:#fff}.dn-cal-desc{font-size:8px;color:var(--dn-text-muted)}.dn-ai-chat-box{display:flex;flex-direction:column;gap:6px;margin-top:2px;position:relative}.dn-chat-bubble{padding:6px 10px;border-radius:10px;font-size:9.5px;line-height:1.35}.dn-user-bubble{background:#172421;border:1px solid #233632;align-self:flex-end;color:#e2ece9;border-bottom-right-radius:2px;max-width:82%}.dn-ai-user-anim{animation:dnAiUserAnim 18s infinite cubic-bezier(.34,1.56,.64,1)}@keyframes dnAiUserAnim{0%,77%{opacity:0;transform:translateY(12px) scale(.94)}79.5%,97.5%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0}}.dn-ai-typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;background:#101e1c;border:1px solid rgba(226,184,88,.25);align-self:flex-start;width:fit-content}.dn-ai-typing-anim{animation:dnAiTypingAnim 18s infinite ease-in-out}@keyframes dnAiTypingAnim{0%,80.5%{opacity:0;transform:scale(.7);max-height:0;padding:0;margin:0}82.5%{opacity:1;transform:scale(1);max-height:30px;padding:6px 12px}86.5%{opacity:1;transform:scale(1);max-height:30px}87.5%,to{opacity:0;transform:scale(.7);max-height:0;padding:0;margin:0}}.dn-typing-dot{width:4.5px;height:4.5px;border-radius:50%;background:var(--dn-gold-light);animation:dnTypingDotBounce 1.2s infinite ease-in-out}.dot-b{animation-delay:.2s}.dot-c{animation-delay:.4s}@keyframes dnTypingDotBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.dn-ai-bubble{background:linear-gradient(135deg,#101e1c,#172621);border:1px solid var(--dn-gold-border);align-self:flex-start;color:#fff;border-bottom-left-radius:2px;max-width:90%;box-shadow:0 4px 14px #0000004d}.dn-ai-bot-anim{animation:dnAiBotAnim 18s infinite cubic-bezier(.34,1.56,.64,1)}@keyframes dnAiBotAnim{0%,86.5%{opacity:0;transform:translateY(12px) scale(.92)}89%,97.5%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0}}.dn-bubble-sender{font-size:7.5px;font-weight:750;color:var(--dn-text-muted);margin-bottom:2px}.dn-ai-sender{display:flex;align-items:center;gap:3px;color:var(--dn-gold-light)}.dn-phone-footer{padding:6px 0 8px;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--dn-obsidian-deep)}.dn-theater-progress-track{display:flex;align-items:center;justify-content:center;gap:4px;width:78%}.dn-progress-segment{flex:1;height:2.5px;background:#ffffff1f;border-radius:999px;overflow:hidden;position:relative}.dn-progress-fill{position:absolute;top:0;left:0;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#f6d88e,#e2b858)}.dn-progress-1{animation:dnProgFill1 18s infinite linear}.dn-progress-2{animation:dnProgFill2 18s infinite linear}.dn-progress-3{animation:dnProgFill3 18s infinite linear}.dn-progress-4{animation:dnProgFill4 18s infinite linear}@keyframes dnProgFill1{0%{width:0%}24.5%{width:100%}25%,99%{width:100%}to{width:0%}}@keyframes dnProgFill2{0%,25%{width:0%}49.5%{width:100%}50%,99%{width:100%}to{width:0%}}@keyframes dnProgFill3{0%,50%{width:0%}74.5%{width:100%}75%,99%{width:100%}to{width:0%}}@keyframes dnProgFill4{0%,75%{width:0%}99%{width:100%}to{width:0%}}.dn-stage-footer{padding:5px 12px 6px;background:#08100f;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.04)}@media(prefers-reduced-motion:reduce){.dn-scene,.dn-touch-pointer,.dn-tap-ripple,.dn-course-item-1,.dn-course-item-2,.dn-badge-conflict-check,.dn-stall-main-card,.dn-special-dish-slide,.dn-cal-item-1,.dn-cal-item-2,.dn-countdown-pill,.dn-ai-user-anim,.dn-ai-typing-anim,.dn-ai-bot-anim,.dn-typing-dot,.dn-progress-fill{animation:none!important}}.dn-cost-section{width:100%}.dn-cost-list-group{width:100%;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.dn-cost-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.05)}.dn-cost-row:last-child{border-bottom:none}.dn-cost-row-info{display:flex;flex-direction:column;gap:1px}.dn-cost-row-title{font-size:12.5px;font-weight:600;color:#fff}.dn-cost-row-sub{font-size:10px;color:var(--dn-text-muted)}.dn-cost-row-val{font-size:12.5px;font-weight:700;color:var(--dn-text-main);font-feature-settings:"tnum"}.dn-cost-row-total{background:#e2b8580f;border-top:1px solid rgba(226,184,88,.18);padding:10px 14px}.dn-cost-row-total .dn-cost-row-title{color:var(--dn-gold-light);font-weight:700}.dn-total-highlight{font-size:14.5px;font-weight:800;color:var(--dn-gold-light);font-feature-settings:"tnum"}.dn-action-section{display:flex;flex-direction:column;gap:10px}.dn-gold-primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:14px;background:linear-gradient(135deg,var(--dn-gold-light) 0%,var(--dn-gold-core) 50%,var(--dn-gold-dark) 100%);color:#0a1210;font-size:15.5px;font-weight:800;text-decoration:none;border:none;cursor:pointer;box-shadow:0 8px 24px #e2b85852;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.dn-gold-primary-btn:hover{transform:translateY(-1.5px);box-shadow:0 12px 30px #e2b85873;filter:brightness(1.05)}.dn-gold-primary-btn:active{transform:translateY(0)}.dn-gold-primary-btn--disabled{background:#253330;color:#6b7c77;cursor:not-allowed;box-shadow:none}.dn-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 18px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--dn-text-sub);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s ease}.dn-share-btn:hover{background:#ffffff17;color:#fff;border-color:var(--dn-gold-border)}.dn-supporter-pass{position:relative;overflow:hidden;background:linear-gradient(145deg,#162421,#0e1716 55%,#0b1312);border:1px solid var(--dn-gold-border);border-radius:20px;padding:16px 18px;box-shadow:inset 0 1px 1px #f6d88e33,0 8px 24px #00000073;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.dn-pass-glimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(246,216,142,.08) 0%,transparent 60%);pointer-events:none}.dn-pass-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.dn-pass-badge-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dn-pass-vip-chip{display:inline-flex;align-items:center;gap:5px;background:#e2b85829;border:1px solid rgba(226,184,88,.38);color:var(--dn-gold-light);font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:999px}.dn-pass-icon{color:var(--dn-gold-light)}.dn-pass-tag{font-size:11px;font-weight:600;color:var(--dn-text-sub)}.dn-pass-chip-emblem{width:28px;height:20px;border-radius:4px;border:1px solid rgba(226,184,88,.35);background:linear-gradient(135deg,#e2b8581f,#0e161599);position:relative;display:flex;align-items:center;justify-content:center}.dn-chip-lines{width:14px;height:10px;border:1px solid rgba(226,184,88,.3);border-left:0;border-right:0}.dn-pass-body{display:flex;flex-direction:column;gap:6px;position:relative;z-index:2}.dn-pass-title{font-size:15px;font-weight:750;color:#fff;margin:0;line-height:1.35;letter-spacing:-.01em}.dn-pass-quote{font-size:11.5px;color:var(--dn-text-sub);margin:0;line-height:1.5}.dn-pass-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.dn-pass-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);font-size:11px;color:#e2ece8;font-weight:500}.dn-pass-pill svg{color:var(--dn-gold-light);flex-shrink:0}.dn-pass-cost-bar{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:12px;background:#060c0ba6;border:1px solid rgba(226,184,88,.2);margin-top:2px;position:relative;z-index:2}.dn-pass-cost-info{display:flex;flex-direction:column;gap:1px}.dn-pass-cost-label{font-size:11px;font-weight:700;color:#fff}.dn-pass-cost-sub{font-size:10px;color:var(--dn-text-muted)}.dn-pass-cost-val{display:flex;align-items:baseline}.dn-pass-cost-val .dn-cost-num{font-size:15px;font-weight:800;color:var(--dn-gold-light);font-feature-settings:"tnum"}.dn-pass-cost-val .dn-cost-unit{font-size:10.5px;font-weight:600;color:var(--dn-text-sub);margin-left:2px}.dn-qr-card{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;border-radius:18px;background:#0e1615bf;border:1px solid var(--dn-gold-border);box-shadow:0 8px 24px #0006,0 0 20px var(--dn-gold-glow);box-sizing:border-box;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dn-qr-frame{width:130px;height:130px;display:flex;align-items:center;justify-content:center}.dn-qr-svg{width:100%;height:100%;display:block}.dn-qr-svg-bg{fill:#08100e;stroke:#e2b85838;stroke-width:.6}.dn-qr-dot{fill:var(--dn-gold-core, #E2B858);transition:fill .2s ease}.dn-qr-caption{font-size:11px;font-weight:600;color:var(--dn-text-sub);text-align:center;line-height:1.35}.dn-trust-footer{display:flex;flex-direction:column;align-items:center;padding:4px 0 2px}.dn-legal-disclaimer{font-size:10.5px;color:var(--dn-text-muted);text-align:center;margin:0;line-height:1.45;max-width:400px}@media(min-width:768px){.dn-modal-root{align-items:center;padding:24px}.dn-sheet-container{width:90%;max-width:680px;border-radius:24px;border-bottom:1px solid var(--dn-gold-border);box-shadow:0 24px 60px #000000bf,0 0 50px var(--dn-gold-glow);animation:dnDialogPopIn .3s cubic-bezier(.16,1,.3,1) forwards}.dn-modal-root.anim-closing .dn-sheet-container{animation:dnDialogPopOut .22s ease forwards}.dn-sheet-handle{display:none!important}.dn-sheet-scrollable{padding:16px 24px 20px;gap:16px;overflow-y:visible}.dn-body-grid{display:grid;grid-template-columns:54fr 46fr;gap:18px;align-items:stretch}.dn-body-left{display:flex;flex-direction:column;justify-content:center;height:100%}.dn-supporter-pass{height:100%;justify-content:space-between;padding:18px 20px}.dn-body-right{display:flex;flex-direction:column;justify-content:space-between;gap:12px;height:100%}.dn-qr-desktop-only{display:flex;justify-content:center;align-items:center}.dn-qr-card{width:100%;padding:10px 14px}.dn-qr-frame{width:120px;height:120px}.dn-gold-primary-btn{min-height:44px;padding:10px 16px;font-size:14px}.dn-share-btn{min-height:38px;padding:6px 14px;font-size:13px}}@media(prefers-reduced-motion:reduce){.dn-sheet-container,.dn-modal-backdrop,.dn-scene-1,.dn-scene-2,.dn-scene-3,.dn-scene-4,.dot-1,.dot-2,.dot-3,.dot-4,.dn-status-dot-pulse{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.dn-phone-screen{height:auto}.dn-scene{position:static;opacity:1;margin-bottom:12px}}.app-initializing{position:fixed;inset:0;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;z-index:10001}.init-loading{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;color:#fff}.init-logo{animation:float 3s ease-in-out infinite}.init-text{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.init-subtext{font-size:1rem;opacity:.8;font-weight:400}.page-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;background:var(--theme-bg-primary)}.page-loading .loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.page-loading .loading-text{font-size:1.1rem;color:var(--theme-text-secondary);font-weight:500}.navbar-error{background:#dc3545;color:#fff;padding:1rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:1rem}.navbar-error button{background:#fff;color:#dc3545;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:600}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--theme-bg-primary);color:var(--theme-text-primary);margin:0;line-height:1.6;transition:background-color .3s ease,color .3s ease}.app-container{min-height:100vh;display:flex;flex-direction:column;transition:filter .3s ease}.app-blur{filter:blur(2px);pointer-events:none}.container{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.app-layout{display:flex;min-height:100vh;background:var(--theme-bg-primary)}.main-content{flex:1;margin-left:var(--app-shell-sidebar-width);padding:var(--app-shell-content-gutter);max-width:calc(100% - var(--app-shell-sidebar-width));box-sizing:border-box;transition:margin-left .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1)}.app-layout:has(.admin-dashboard-v2) .main-content{padding:0;overflow:visible}.side-nav.collapsed~.main-content,body:has(.side-nav.collapsed) .main-content{margin-left:var(--app-shell-sidebar-collapsed-width);max-width:calc(100% - var(--app-shell-sidebar-collapsed-width))}.nav-error{background:#dc3545;color:#fff;padding:1rem;text-align:center}@media(max-width:768px){.app-layout{flex-direction:column}.main-content{margin-left:0!important;max-width:100%!important;width:100%!important;padding:0;padding-top:calc(72px + env(safe-area-inset-top,0px));padding-bottom:calc(124px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-x:hidden}.app-layout:has(.admin-dashboard-v2) .main-content{padding-top:calc(68px + env(safe-area-inset-top,0px));padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}h1,h2,h3,h4,h5,h6{color:var(--theme-text-primary);margin-top:0;transition:color .3s ease}button,input,select,textarea{transition:all .3s ease}*::-webkit-scrollbar-track{background:var(--theme-bg-secondary);border-radius:10px}*::-webkit-scrollbar-thumb{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));border-radius:10px;transition:all .3s ease}@supports (-ms-overflow-style: auto){*{-ms-overflow-style:auto}}[data-theme=dark] *::-webkit-scrollbar-track{background:var(--theme-bg-tertiary)}[data-theme=dark] *::-webkit-scrollbar-corner{background:var(--theme-bg-tertiary)}@supports (scrollbar-color: auto){[data-theme=dark] *{scrollbar-color:var(--primary-light) var(--theme-bg-tertiary)}}.dashboard::-webkit-scrollbar,.course-preview::-webkit-scrollbar,.today-status::-webkit-scrollbar{width:6px;height:6px}.dashboard::-webkit-scrollbar-track,.course-preview::-webkit-scrollbar-track,.today-status::-webkit-scrollbar-track{background:transparent}.dashboard::-webkit-scrollbar-thumb,.course-preview::-webkit-scrollbar-thumb,.today-status::-webkit-scrollbar-thumb{background:#00796b99;border-radius:6px}.dashboard::-webkit-scrollbar-thumb:hover,.course-preview::-webkit-scrollbar-thumb:hover,.today-status::-webkit-scrollbar-thumb:hover{background:#00796bcc}@supports (scrollbar-width: thin){.dashboard,.course-preview,.today-status{scrollbar-width:thin}}@supports (scrollbar-color: auto){.dashboard,.course-preview,.today-status{scrollbar-color:rgba(0,121,107,.8) transparent}}@media(max-width:768px){@supports (scrollbar-width: none){*{scrollbar-width:none}}@supports (-ms-overflow-style: none){*{-ms-overflow-style:none}}*::-webkit-scrollbar{display:none}}::selection{background:var(--primary-color);color:#fff}::-moz-selection{background:var(--primary-color);color:#fff}@media(max-width:1024px){.container{padding:1.5rem}}@media(max-width:768px){.container{padding:1rem}.init-text{font-size:1.5rem}.init-subtext{font-size:.9rem}}@media(max-width:480px){.container{padding:.5rem}.navbar-error{flex-direction:column;gap:.5rem}.init-loading{gap:1rem}.init-text{font-size:1.3rem}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.init-logo{animation:none}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px}.loading-state{opacity:.7;pointer-events:none;transition:opacity .3s ease}.loading-state *{cursor:wait!important}@media print{.navbar,.performance-monitor,.loading-overlay,.error-boundary{display:none!important}.container{max-width:none;padding:0}*{background:#fff!important;color:#000!important;box-shadow:none!important}*::-webkit-scrollbar{display:none!important}@supports (scrollbar-width: none){*{scrollbar-width:none!important}}@supports (-ms-overflow-style: none){*{-ms-overflow-style:none!important}}}@supports (-webkit-appearance: none){*::-webkit-scrollbar{-webkit-appearance:none}*::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:10px}}@supports (background: -webkit-named-image(i)){*::-webkit-scrollbar-thumb{box-shadow:inset 0 0 6px #0000001a}}[data-theme=light]{--theme-bg-primary: #f4f7f6;--theme-bg-secondary: #ffffff;--theme-bg-tertiary: #e0f2f1;--theme-bg-card: #ffffff;--theme-bg-overlay: rgba(255, 255, 255, .9);--theme-text-primary: #333333;--theme-text-secondary: #666666;--theme-text-tertiary: #999999;--theme-text-inverse: #ffffff;--theme-border-primary: #e0e0e0;--theme-border-secondary: #f0f0f0;--theme-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--theme-shadow-primary: 0 1px 3px rgba(0, 0, 0, .05), 0 4px 6px rgba(0, 0, 0, .05);--theme-shadow-secondary: 0 4px 6px rgba(0, 0, 0, .04), 0 10px 15px rgba(0, 0, 0, .06);--theme-shadow-hover: 0 10px 20px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--theme-shadow-lg: 0 20px 25px rgba(0, 0, 0, .06), 0 8px 16px rgba(0, 0, 0, .04);--theme-shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--theme-shadow-glow: 0 0 20px rgba(74, 144, 226, .15);--calendar-bg: linear-gradient(135deg, #f9f9f9, #e8f5e8);--calendar-border: #e0e0e0;--calendar-tile-bg: transparent;--calendar-tile-bg-hover: #e0f2f1;--calendar-tile-bg-active: var(--primary-color);--calendar-tile-text-active: #ffffff;--calendar-tile-bg-now: #e0f2f1;--calendar-nav-text: var(--primary-color);--calendar-weekday-text: var(--primary-dark);--calendar-event-marker-bg: var(--accent-success);--calendar-event-item-border: var(--primary-color);--calendar-list-border: var(--primary-ultra-light)}[data-theme=dark]{--theme-bg-primary: #1a1a1a;--theme-bg-secondary: #2d2d2d;--theme-bg-tertiary: #3a3a3a;--theme-bg-card: #2d2d2d;--theme-bg-overlay: rgba(45, 45, 45, .9);--theme-text-primary: #ffffff;--theme-text-secondary: #cccccc;--theme-text-tertiary: #999999;--theme-text-inverse: #1a1a1a;--theme-border-primary: #404040;--theme-border-secondary: #353535;--theme-shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .15);--theme-shadow-primary: 0 1px 3px rgba(0, 0, 0, .2), 0 4px 6px rgba(0, 0, 0, .15);--theme-shadow-secondary: 0 4px 6px rgba(0, 0, 0, .15), 0 10px 15px rgba(0, 0, 0, .2);--theme-shadow-hover: 0 10px 20px rgba(0, 0, 0, .2), 0 4px 8px rgba(0, 0, 0, .1);--theme-shadow-lg: 0 20px 25px rgba(0, 0, 0, .2), 0 8px 16px rgba(0, 0, 0, .12);--theme-shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .1);--theme-shadow-glow: 0 0 20px rgba(74, 144, 226, .25);--calendar-bg: linear-gradient(135deg, #1a1a1a, #212b21);--calendar-border: #404040;--calendar-tile-bg: transparent;--calendar-tile-bg-hover: #3a3a3a;--calendar-tile-bg-active: var(--primary-light);--calendar-tile-text-active: #1a1a1a;--calendar-tile-bg-now: #3a3a3a;--calendar-nav-text: var(--primary-light);--calendar-weekday-text: #cccccc;--calendar-event-marker-bg: var(--accent-success-light);--calendar-event-item-border: var(--primary-light);--calendar-list-border: #404040}body,.card,.status-card,.course-preview,.apple-card,.today-status,.system-status,.announcement-card{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{background-color:var(--theme-bg-primary);color:var(--theme-text-primary)}.course-preview .course-table,.course-preview .modern-table,.course-planner .course-table{background:var(--theme-bg-secondary)}.course-preview .course-table th,.course-preview .modern-table th,.course-planner .course-table th{background:var(--theme-bg-tertiary);color:var(--theme-text-primary);border-bottom:1px solid var(--theme-border-primary)}.course-preview .course-table td,.course-preview .modern-table td,.course-planner .course-table td{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border-bottom:1px solid var(--theme-border-secondary);border-right:1px solid var(--theme-border-secondary)}.course-preview .period-header,.course-planner .period-header{background:var(--theme-bg-tertiary);color:var(--theme-text-primary)}.course-preview .course-cell-container.has-course,.course-planner .course-cell-container.has-course{background:linear-gradient(135deg,var(--primary-ultra-light),rgba(0,121,107,.1));border:1px solid var(--primary-color)}.course-preview .course-cell-container.empty-cell,.course-planner .course-cell-container.empty-cell{background:var(--theme-bg-secondary);border:1px solid var(--theme-border-secondary)}.course-preview .lunch-break,.course-planner .lunch-break{background:var(--theme-bg-tertiary);color:var(--theme-text-secondary)}.apple-input,.form-control,.search-input{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:2px solid var(--theme-border-primary)}.apple-input:focus,.form-control:focus,.search-input:focus{border-color:var(--primary-color)}.status-active{--status-color: #28a745}.status-warning{--status-color: #ffc107}.status-error{--status-color: #dc3545}.status-info{--status-color: #17a2b8}.status-empty{--status-color: #6c757d}.loading-skeleton{background:linear-gradient(90deg,var(--theme-border-secondary) 25%,var(--theme-border-primary) 50%,var(--theme-border-secondary) 75%)}.page-loading{background:var(--theme-bg-primary)}.loading-text{color:var(--theme-text-secondary)}.error-container{background:var(--theme-bg-card);color:var(--theme-text-primary);border:1px solid var(--theme-border-primary)}.error-details{background:var(--theme-bg-secondary);border:1px solid var(--theme-border-primary)}.error-stack{background:var(--theme-bg-primary);color:var(--theme-text-secondary);border:1px solid var(--theme-border-secondary)}.search-highlight{background:var(--primary-color);color:#fff}.toast-notification{background:var(--theme-bg-card);color:var(--theme-text-primary);border:1px solid var(--theme-border-primary)}.glass-effect{background:var(--theme-bg-overlay);border:1px solid var(--theme-border-primary)}[data-theme=dark] .glass-effect{background:#2d2d2dcc;border:1px solid rgba(255,255,255,.1)}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}:root{--glass-bg-light: rgba(255, 255, 255, .8);--glass-bg-dark: rgba(255, 255, 255, .1);--glass-border-light: rgba(255, 255, 255, .3);--glass-border-dark: rgba(255, 255, 255, .15);--glass-blur: blur(20px);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success: linear-gradient(135deg, #48bb78 0%, #38a169 100%);--gradient-warning: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);--gradient-error: linear-gradient(135deg, #f56565 0%, #e53e3e 100%);--gradient-info: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);--spring-easing: cubic-bezier(.175, .885, .32, 1.275);--smooth-easing: cubic-bezier(.25, .46, .45, .94);--apple-easing: cubic-bezier(.4, 0, .2, 1)}.glass-effect{background:var(--glass-bg-light);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);box-shadow:0 8px 32px #1f26875e}[data-theme=dark] .glass-effect{background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);box-shadow:0 8px 32px #00000080}.apple-button{background:var(--gradient-primary);border:none;border-radius:12px;color:#fff;font-weight:600;padding:12px 24px;cursor:pointer;transition:all .3s var(--apple-easing);position:relative;overflow:hidden;box-shadow:0 4px 15px #667eea66;font-size:.9rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.apple-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s var(--apple-easing)}.apple-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #667eea80}.apple-button:hover:before{left:100%}.apple-button:active{transform:translateY(0) scale(.98);box-shadow:0 2px 10px #667eea66}.apple-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.apple-input{background:var(--theme-bg-secondary);border:2px solid transparent;border-radius:12px;padding:14px 18px;font-size:16px;transition:all .3s var(--apple-easing);outline:none;box-shadow:0 2px 10px #0000000d;position:relative}.apple-input::placeholder{color:var(--theme-text-tertiary);transition:all .3s ease}.apple-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #00796b1a,0 4px 20px #0000001a;transform:translateY(-1px)}.apple-card{background:var(--theme-bg-card);border-radius:20px;padding:24px;box-shadow:0 10px 40px #0000001a;transition:all .4s var(--spring-easing);border:1px solid var(--theme-border-primary);position:relative;overflow:hidden}.apple-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);opacity:0;transition:opacity .3s ease}.apple-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #00000026}.apple-card:hover:before{opacity:1}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(-5px) rotate(-1deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes shimmer{0%{background-position:-200% 0;opacity:0}50%{opacity:1}to{background-position:200% 0;opacity:0}}.floating-element{animation:float 6s ease-in-out infinite}.floating-element:nth-child(2){animation-delay:-2s}.floating-element:nth-child(3){animation-delay:-4s}.loading-skeleton{background:linear-gradient(90deg,var(--theme-border-secondary) 25%,var(--theme-border-primary) 50%,var(--theme-border-secondary) 75%);background-size:200% 100%;border-radius:12px;animation:shimmer 2s infinite;position:relative;overflow:hidden}.loading-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.gradient-text:after{content:attr(data-text);position:absolute;top:0;left:0;background:var(--gradient-success);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;transition:opacity .3s ease}.gradient-text:hover:after{opacity:1}.status-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center}.status-dot{width:8px;height:8px;border-radius:50%;position:absolute;top:-2px;right:-2px;border:2px solid var(--theme-bg-card);animation:pulse 2s infinite}.live-indicator{display:flex;align-items:center;gap:6px;background:#ff00001a;color:#dc3545;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:600;border:1px solid rgba(255,0,0,.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.live-dot{width:6px;height:6px;background:#dc3545;border-radius:50%;animation:pulse 1s infinite}.upcoming-indicator{background:#ffc1071a;color:#ffc107;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:600;border:1px solid rgba(255,193,7,.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.spacing-xs{margin:4px;padding:4px}.spacing-sm{margin:8px;padding:8px}.spacing-md{margin:16px;padding:16px}.spacing-lg{margin:24px;padding:24px}.spacing-xl{margin:32px;padding:32px}.m-xs{margin:4px}.m-sm{margin:8px}.m-md{margin:16px}.m-lg{margin:24px}.m-xl{margin:32px}.p-xs{padding:4px}.p-sm{padding:8px}.p-md{padding:16px}.p-lg{padding:24px}.p-xl{padding:32px}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.ripple-effect:active:after{width:300px;height:300px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--theme-bg-secondary);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));border-radius:10px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,var(--primary-dark),var(--primary-color));transform:scale(1.1)}.search-highlight{background:linear-gradient(120deg,#a8edea,#fed6e3);color:var(--theme-text-primary);padding:2px 4px;border-radius:4px;font-weight:600;animation:pulse 1s ease-in-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(hover:none)and (pointer:coarse){.apple-button:hover,.apple-card:hover{transform:none}.apple-button:active{transform:scale(.95)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:root{--glass-bg-light: rgba(255, 255, 255, .05);--glass-border-light: rgba(255, 255, 255, .1)}}@supports (-webkit-backdrop-filter: blur(20px)){.glass-effect{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.lazy-loading-container{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--theme-bg-secondary);border-radius:16px;border:1px solid var(--theme-border-primary)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center}.loading-spinner{width:40px;height:40px;position:relative}.apple-spinner{width:40px;height:40px;position:relative;display:inline-block}.apple-spinner.large{width:60px;height:60px}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:var(--primary-light)}.spinner-ring:nth-child(3){animation-delay:-.6s;border-top-color:var(--primary-ultra-light)}.loading-text{font-size:1rem;color:var(--theme-text-secondary);font-weight:500}.loading-progress{width:200px;display:flex;flex-direction:column;gap:.5rem}.progress-bar{width:100%;height:8px;background:var(--theme-border-secondary);border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:10px;transition:width .3s ease;animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:64px 24px;background:#fff;color:#212121}.error-container{width:min(100%,760px);padding:clamp(28px,5vw,48px);border-radius:8px;text-align:left;background:#fff;border:1px solid #d9d9dd;box-shadow:none;font-family:Unica77 Cohere Web,Inter,Arial,ui-sans-serif,system-ui,sans-serif}.error-header{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;margin-bottom:28px}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:9999px;background:#17171c;color:#fff;font-size:1.35rem;flex:0 0 auto}.error-eyebrow{margin:0 0 10px;color:#75758a;font-family:CohereMono,Arial,ui-sans-serif,system-ui,sans-serif;font-size:.78rem;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.error-container h2{color:#17171c;margin:0;font-family:CohereText,Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2rem,5vw,3.8rem);font-weight:400;line-height:1;letter-spacing:0}.error-body{margin-bottom:28px}.error-message{max-width:620px;color:#616161;font-size:1rem;line-height:1.6;margin:0 0 20px}.error-meta-row{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:30px;color:#75758a;font-size:.86rem}.error-meta-row code,.error-support code{font-family:CohereMono,Courier New,monospace;color:#17171c;background:transparent;padding:0}.error-details{text-align:left;margin-top:20px;padding:16px;background:#eeece7;border-radius:8px;border:1px solid #d9d9dd}.error-details summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.92rem;font-weight:500;color:#212121}.error-info{margin-top:14px;font-size:.9rem;color:#616161}.error-stack{background:#fff;border:1px solid #d9d9dd;border-radius:4px;padding:12px;font-size:.78rem;overflow-x:auto;white-space:pre-wrap;color:#212121;max-height:260px;overflow-y:auto}.error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}.error-primary-action,.error-secondary-action{min-height:44px;border:1px solid #17171c;border-radius:32px;padding:10px 20px;font:500 .95rem/1.5 Unica77 Cohere Web,Inter,Arial,ui-sans-serif,system-ui,sans-serif;letter-spacing:0;cursor:pointer}.error-primary-action{display:inline-flex;align-items:center;gap:8px;background:#17171c;color:#fff}.error-secondary-action{background:transparent;color:#17171c}.error-primary-action:hover,.error-secondary-action:hover{transform:translateY(-1px)}.error-primary-action:focus-visible,.error-secondary-action:focus-visible,.error-details summary:focus-visible{outline:2px solid #4c6ee6;outline-offset:3px}.error-footer{padding-top:20px;border-top:1px solid #d9d9dd}.error-support{max-width:620px;font-size:.88rem;line-height:1.5;color:#75758a;margin:0}.performance-monitor{position:fixed;top:20px;right:20px;z-index:9999}.performance-overlay{background:var(--theme-bg-card);border:1px solid var(--theme-border-primary);border-radius:16px;padding:1rem;box-shadow:var(--theme-shadow-lg);min-width:250px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--theme-border-secondary)}.performance-header h4{margin:0;font-size:1rem;color:var(--theme-text-primary)}.close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--theme-text-secondary);padding:.2rem;border-radius:4px;transition:all .3s ease}.close-btn:hover{background:var(--theme-bg-secondary);color:var(--theme-text-primary)}.performance-grid{display:grid;gap:.75rem;grid-template-columns:1fr}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--theme-bg-secondary);border-radius:8px;border:1px solid var(--theme-border-secondary)}.metric-label{font-size:.8rem;color:var(--theme-text-secondary)}.metric-value{font-size:.9rem;font-weight:600;text-align:right}.metric-value.good{color:#28a745}.metric-value.warning{color:#ffc107}.metric-value.error{color:#dc3545}.connection-indicator{display:flex;align-items:center;gap:.25rem;font-size:.8rem}.performance-footer{margin-top:1rem;padding-top:.5rem;border-top:1px solid var(--theme-border-secondary);text-align:center}.performance-footer small{color:var(--theme-text-tertiary);font-size:.7rem}.loading-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center}.loading-backdrop{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.loading-overlay .loading-content{position:relative;z-index:1;background:var(--theme-bg-card);border:1px solid var(--theme-border-primary);border-radius:20px;padding:2rem;box-shadow:var(--theme-shadow-lg);text-align:center;max-width:300px;width:90%}.loading-spinner-container{margin-bottom:1rem}.loading-overlay .loading-text{margin-bottom:1rem;font-size:1.1rem;color:var(--theme-text-primary)}.loading-overlay .loading-progress{margin-bottom:1rem}.progress-text{text-align:center;font-size:.8rem;color:var(--theme-text-secondary);margin-top:.25rem}.cancel-btn{background:var(--theme-bg-secondary);border:1px solid var(--theme-border-primary);color:var(--theme-text-secondary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.cancel-btn:hover{background:var(--theme-bg-tertiary);color:var(--theme-text-primary)}.lazy-error-container{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--theme-bg-secondary);border-radius:16px;border:1px solid #dc3545}.lazy-error-container .error-content{text-align:center;padding:2rem}.lazy-error-container .error-icon{font-size:3rem;margin-bottom:1rem}.lazy-error-container h3{color:#dc3545;margin-bottom:.5rem}.lazy-error-container p{color:var(--theme-text-secondary);margin-bottom:1rem}@media(max-width:768px){.performance-monitor{top:10px;right:10px;left:10px}.performance-overlay{min-width:auto;width:100%}.error-container{margin:1rem;padding:1.5rem}.error-actions{flex-direction:column}.loading-overlay .loading-content{margin:1rem;padding:1.5rem}}@media(max-width:480px){.performance-grid{grid-template-columns:1fr}.metric-item{flex-direction:column;align-items:flex-start;gap:.25rem}.metric-value{text-align:left}.error-icon{width:48px;height:48px;font-size:1.2rem}.loading-spinner-container .apple-spinner.large{width:50px;height:50px}}:root{--anim-duration-fast: .15s;--anim-duration-normal: .25s;--anim-duration-slow: .4s;--anim-duration-slower: .6s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.page-enter{animation:pageEnter var(--anim-duration-slow) var(--ease-out-expo)}.main-content>div{animation:pageEnter var(--anim-duration-slow) var(--ease-out-expo)}@keyframes cardHover{0%{transform:translateY(0) scale(1);box-shadow:var(--theme-shadow-primary)}to{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 28px #00000026}}@keyframes cardPress{0%{transform:scale(1)}50%{transform:scale(.98)}to{transform:scale(1)}}.card-animate,.status-card,.announcement-item,.course-preview{transition:transform var(--anim-duration-normal) var(--ease-out-expo),box-shadow var(--anim-duration-normal) var(--ease-out-expo)!important}.card-animate:hover,.status-card:hover,.announcement-item:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 28px #0000001f}.card-animate:active,.status-card:active{transform:scale(.98);transition-duration:var(--anim-duration-fast)}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);border-radius:50%;pointer-events:none}.ripple-effect:active:after{animation:ripple var(--anim-duration-slow) var(--ease-out-expo)}@keyframes popupEnter{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes popupExit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(4px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.popup-animate-enter{animation:popupEnter var(--anim-duration-normal) var(--ease-spring)}.popup-animate-exit{animation:popupExit var(--anim-duration-fast) var(--ease-smooth)}.status-card-popup-glass{animation:popupEnter var(--anim-duration-normal) var(--ease-spring)!important}.more-menu{animation:slideUp var(--anim-duration-slow) var(--ease-out-expo)!important}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-25%)}}.skeleton{background:linear-gradient(90deg,var(--theme-bg-tertiary) 0%,var(--theme-bg-secondary) 50%,var(--theme-bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.spinner-modern{width:24px;height:24px;border:3px solid var(--theme-border-secondary);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s var(--ease-smooth) infinite}.loading-dots-animate span{animation:bounce 1.4s var(--ease-out-quart) infinite}.loading-dots-animate span:nth-child(1){animation-delay:0s}.loading-dots-animate span:nth-child(2){animation-delay:.15s}.loading-dots-animate span:nth-child(3){animation-delay:.3s}@keyframes navItemEnter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.side-nav-item{transition:all var(--anim-duration-normal) var(--ease-out-expo)!important}.side-nav-item:hover{transform:translate(4px)}.side-nav-item.active{animation:navItemEnter var(--anim-duration-normal) var(--ease-out-expo)}.bottom-nav-tab:active{transform:translateZ(0) scale(.96)}.side-nav{transition:width var(--anim-duration-slow) var(--ease-out-expo)!important}.side-nav .brand-text,.side-nav .nav-label{transition:opacity var(--anim-duration-fast) var(--ease-smooth),width var(--anim-duration-normal) var(--ease-smooth)!important}@keyframes iconPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.icon-pop:hover{animation:iconPop var(--anim-duration-normal) var(--ease-spring)}.status-icon-container{transition:transform var(--anim-duration-normal) var(--ease-spring)!important}.status-card:hover .status-icon-container{transform:scale(1.1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-on-scroll{opacity:0;animation:fadeInUp var(--anim-duration-slow) var(--ease-out-expo) forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}button:not(.bottom-nav-tab),.apple-button,.preview-action-btn{transition:all var(--anim-duration-fast) var(--ease-out-expo)!important}button:not(.bottom-nav-tab):hover,.apple-button:hover,.preview-action-btn:hover{transform:translateY(-2px)}button:not(.bottom-nav-tab):active,.apple-button:active,.preview-action-btn:active{transform:translateY(0) scale(.98)}input,select,textarea{transition:border-color var(--anim-duration-fast) var(--ease-smooth),box-shadow var(--anim-duration-fast) var(--ease-smooth)!important}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #4a90e233}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--app-shell-sidebar-width: 244px;--app-shell-sidebar-collapsed-width: 76px;--app-shell-content-gutter: 2rem;--desktop-density-scale: .8;--desktop-density-block-compensation: 125dvh}@media(min-width:769px)and (max-width:1600px),(min-width:769px)and (max-height:800px){.app-layout{min-block-size:var(--desktop-density-block-compensation);zoom:var(--desktop-density-scale)}.app-layout .main-content{padding-inline:20px}.app-layout .main-content:has(.course-planner){padding-inline:20px}.app-layout .course-planner{inline-size:100%;margin-inline:0}.app-layout .main-content>:is(.dashboard.home-v2,.cafeteria-page,.calendar-page,.ul-page){inline-size:100%;max-inline-size:none;margin-inline:0}.app-layout .main-content>:is(.privacy-page,.terms-page){max-width:800px;margin-inline:auto}.app-layout .main-content>.dn-page .dn-shell{inline-size:100%}.app-layout .main-content:has(.course-planner){height:var(--desktop-density-block-compensation)}.app-layout .course-planner .planner-content,.app-layout .course-planner .planner-content.workspace-mode-schedule{height:calc(var(--desktop-density-block-compensation) - 79px)}.bottom-sheet-container,.curriculum-picker-dialog,.google-login-modal,.permission-guide-modal,.push-modal,.push-success-modal,.pwa-install-modal{zoom:var(--desktop-density-scale)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.15;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;overflow-x:hidden}@supports (text-size-adjust: 100%){html{text-size-adjust:100%}}body{margin:0;padding:0;font-family:var(--product-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;background-color:var(--theme-bg-primary);color:var(--theme-text-primary);transition:background-color .3s ease,color .3s ease}:root{--product-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang TC", "Noto Sans TC", "Segoe UI", sans-serif;--product-canvas: #ffffff;--product-surface: #ffffff;--product-surface-subtle: #f5f7f6;--product-ink: #13201d;--product-muted: #68736f;--product-border: #dfe6e3;--product-accent: #075f50;--product-accent-strong: #03483d;--product-accent-soft: #e6f3ef;--product-radius-sm: 12px;--product-radius-md: 18px;--product-radius-lg: 24px;--product-shadow-sm: 0 8px 24px rgba(7, 48, 40, .06);--product-shadow-lg: 0 24px 70px rgba(7, 48, 40, .14);--course-amber-bg: #fff1b8;--course-amber-border: #f3c846;--course-sky-bg: #d5ecfb;--course-sky-border: #75bce9;--course-mint-bg: #d4f0e6;--course-mint-border: #70cdb0;--course-coral-bg: #fbd8db;--course-coral-border: #ee8e96;--course-lavender-bg: #e7ddf7;--course-lavender-border: #b69be4;--course-slate-bg: #dce4ea;--course-slate-border: #8fa3b4;--primary-color: #00796b;--primary-light: #48a999;--primary-dark: #004c40;--primary-ultra-light: #b2dfdb;--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545;--info-color: #17a2b8;--disabled-color: #6c757d;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 50%;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--spring-easing: cubic-bezier(.175, .885, .32, 1.275);--smooth-easing: cubic-bezier(.25, .46, .45, .94);--apple-easing: cubic-bezier(.4, 0, .2, 1);--breakpoint-xs: 480px;--breakpoint-sm: 768px;--breakpoint-md: 1024px;--breakpoint-lg: 1200px;--breakpoint-xl: 1400px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 9999;--z-performance: 10000;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06)}:root,[data-theme=light]{--theme-bg-primary: #ffffff;--theme-bg-secondary: #ffffff;--theme-bg-tertiary: #f1f5f3;--theme-bg-card: #ffffff;--theme-bg-overlay: rgba(255, 255, 255, .9);--theme-bg-hover: rgba(0, 0, 0, .04);--theme-bg-active: rgba(0, 0, 0, .08);--theme-text-primary: #13201d;--theme-text-secondary: #68736f;--theme-text-tertiary: #89938f;--theme-text-disabled: #cccccc;--theme-text-inverse: #ffffff;--theme-text-on-primary: #ffffff;--theme-border-primary: #dfe6e3;--theme-border-secondary: #edf1ef;--theme-border-focus: var(--primary-color);--theme-border-error: var(--error-color);--theme-border-success: var(--success-color);--theme-shadow-primary: 0 2px 8px rgba(0, 0, 0, .1);--theme-shadow-secondary: 0 4px 16px rgba(0, 0, 0, .15);--theme-shadow-hover: 0 8px 24px rgba(0, 0, 0, .2);--theme-shadow-lg: 0 10px 40px rgba(0, 0, 0, .15);--theme-shadow-focus: 0 0 0 3px rgba(0, 121, 107, .1)}[data-theme=dark]{--theme-bg-primary: #08110f;--theme-bg-secondary: #111b18;--theme-bg-tertiary: #182521;--theme-bg-card: #111b18;--theme-bg-overlay: rgba(45, 45, 45, .9);--theme-bg-hover: rgba(255, 255, 255, .04);--theme-bg-active: rgba(255, 255, 255, .08);--theme-text-primary: #ffffff;--theme-text-secondary: #bdc8c4;--theme-text-tertiary: #899591;--theme-text-disabled: #666666;--theme-text-inverse: #1a1a1a;--theme-text-on-primary: #ffffff;--theme-border-primary: #293934;--theme-border-secondary: #1e2c28;--theme-border-focus: var(--primary-light);--theme-border-error: #ff6b6b;--theme-border-success: #51cf66;--theme-shadow-primary: 0 2px 8px rgba(0, 0, 0, .3);--theme-shadow-secondary: 0 4px 16px rgba(0, 0, 0, .4);--theme-shadow-hover: 0 8px 24px rgba(0, 0, 0, .5);--theme-shadow-lg: 0 10px 40px rgba(0, 0, 0, .6);--theme-shadow-focus: 0 0 0 3px rgba(72, 169, 153, .2);--product-canvas: #0D1614;--product-surface: #162220;--product-surface-subtle: #101B18;--product-ink: #EEF4F2;--product-muted: #8F9E9A;--product-border: #243531;--product-accent: #118471;--product-accent-strong: #17A08A;--product-accent-soft: #16302B;--product-item-bg: #1B2926}#root{background-color:var(--theme-bg-primary);color:var(--theme-text-primary);min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal);overflow-x:hidden}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease!important}h1,h2,h3,h4,h5,h6{color:var(--theme-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0;transition:color var(--transition-normal)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--theme-text-secondary);line-height:var(--line-height-relaxed);margin:0;transition:color var(--transition-normal)}small{font-size:var(--font-size-sm);color:var(--theme-text-tertiary)}a{color:var(--primary-color);text-decoration:none;transition:all var(--transition-normal);cursor:pointer}a:hover{color:var(--primary-dark);text-decoration:underline}a:focus{outline:2px solid var(--theme-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance:button;cursor:pointer}button:disabled,[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border:2px solid var(--theme-border-primary);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);transition:all var(--transition-normal);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--theme-border-focus);box-shadow:var(--theme-shadow-focus)}input:disabled,textarea:disabled,select:disabled{background-color:var(--theme-bg-hover);color:var(--theme-text-disabled);cursor:not-allowed}code{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:var(--font-size-sm);border:1px solid var(--theme-border-secondary)}pre{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border-primary);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}pre code{background:none;border:none;padding:0}ul,ol{color:var(--theme-text-secondary);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-xs);line-height:var(--line-height-relaxed)}table{border-collapse:collapse;border-spacing:0;width:100%;background-color:var(--theme-bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--theme-shadow-primary)}th,td{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--theme-border-secondary)}th{background-color:var(--theme-bg-tertiary);color:var(--theme-text-primary);font-weight:var(--font-weight-semibold)}tr:hover td{background-color:var(--theme-bg-hover)}img{max-width:100%;height:auto;border:0}svg{fill:currentColor}::selection{background-color:var(--primary-color);color:var(--theme-text-on-primary)}::-moz-selection{background-color:var(--primary-color);color:var(--theme-text-on-primary)}@supports (scrollbar-width: thin){*{scrollbar-width:thin}}@supports (scrollbar-color: auto){*{scrollbar-color:var(--primary-color) var(--theme-bg-secondary)}}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--theme-bg-secondary);border-radius:var(--radius-lg)}*::-webkit-scrollbar-thumb{background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));border-radius:var(--radius-lg);transition:all var(--transition-normal)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,var(--primary-dark),var(--primary-color))}*::-webkit-scrollbar-corner{background:var(--theme-bg-secondary)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--theme-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--theme-text-primary)}.text-secondary{color:var(--theme-text-secondary)}.text-tertiary{color:var(--theme-text-tertiary)}.bg-primary{background-color:var(--theme-bg-primary)}.bg-secondary{background-color:var(--theme-bg-secondary)}.bg-card{background-color:var(--theme-bg-card)}@media(max-width:767px){.hidden-mobile{display:none!important}}@media(min-width:768px){.hidden-desktop{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--theme-border-primary: #000000;--theme-text-secondary: var(--theme-text-primary)}[data-theme=dark]{--theme-border-primary: #ffffff}}@media print{*{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline;color:#000!important}a[href]:after{content:" (" attr(href) ")";font-size:.8em}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid black;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{page-break-after:avoid}@supports (orphans: 3){p,h2,h3{orphans:3}}@supports (widows: 3){p,h2,h3{widows:3}}}.ig-brand-icon{color:#e1306c;transition:opacity .2s ease,transform .2s ease}.ig-brand-icon:hover{opacity:.8;transform:scale(1.05)}[data-theme=dark] .ig-brand-icon{color:#f56091}
