:root{--void: #111422;--void-deep: #0c0f1a;--void-raised: #171b2b;--starlight: #f2f2f2;--comet: #8e99a6;--glass-low: rgba(255, 255, 255, .05);--glass-high: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .12);--gold: #ffb300;--deep-gold: #cc8d00;--green: #4caf50;--amber: #ffa000;--blue: #42a5f5;--red: #e53935;--paper-bg: #faf5e9;--paper-surface: #ffffff;--ink: #3e3228;--pencil: #8d8d8d;--paper-line: #e6ded0;--font-brand: "Orbitron", var(--font-display);--font-display: "Outfit", "Noto Sans JP", system-ui, sans-serif;--font-body: "Inter", "Noto Sans JP", system-ui, -apple-system, sans-serif;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--content-width: 560px;--shadow-float: 0 18px 48px rgba(0, 0, 0, .45);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--starlight);background-color:var(--void);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.25;margin:0 0 .4rem;letter-spacing:-.01em}h1{font-size:1.6rem}h2{font-size:1.05rem}h3{font-size:.98rem}p{margin:0 0 .75rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--comet);font-size:.9rem}.back-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;color:var(--starlight, #cbd5e1);padding:.4rem .85rem;border-radius:999px;background:var(--glass-low);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-decoration:none!important;transition:all .2s ease;margin-bottom:.75rem}.back-link:hover{color:#fff;border-color:#ffffff40;background:var(--glass-high);transform:translate(-2px);text-decoration:none!important}button{font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--gold);color:#241a00;cursor:pointer;transition:filter .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost,button.btn-ghost,.btn-ghost,.btn-secondary,.btn-cancel{background:#ffffff14!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}button.ghost:hover:not(:disabled),button.btn-ghost:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:#ffffff29!important;border-color:#ffffff59!important;color:#fff!important}button.danger,.btn-danger{color:#fff!important;border-color:transparent!important;background:var(--correction-red, #ff5252)!important}button.danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){filter:brightness(1.1)}button.block{width:100%}button.pill{border-radius:999px;background:linear-gradient(135deg,var(--gold),#ff8f00);color:#241a00;box-shadow:0 10px 24px #ffb30059}button.link-button,.link-button{background:none;border:none;padding:0;color:var(--gold);font-weight:500;cursor:pointer;width:fit-content}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:var(--glass-low);border:1px solid var(--glass-border);color:var(--starlight);padding:.35rem .6rem;font-size:1rem;line-height:1}.icon-button.is-active{background:#ffb30033;border-color:var(--gold);color:var(--gold)}input,textarea,select{font:inherit;width:100%;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#00000038;color:var(--starlight);transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #ffb30029}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--comet)}.toggle{flex-direction:row;align-items:center;gap:.45rem;white-space:nowrap}.toggle input{width:auto}.form-row,.course-form-row{display:flex;gap:.75rem;flex-wrap:wrap}.form-row>label,.course-form-row>label{flex:1 1 160px}.course-form,.upload-form{display:flex;flex-direction:column;gap:.9rem}.course-form>button[type=submit],.upload-form>button[type=submit]{align-self:flex-start}.app-shell{min-height:100vh}.app-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:#111422b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-border)}.app-topbar-home{display:flex;align-items:center;gap:.65rem;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.app-topbar-home:hover{text-decoration:none!important;opacity:.95;transform:translateY(-1px)}.app-topbar-logo{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(255,179,0,.3));transition:transform .25s cubic-bezier(.16,1,.3,1)}.app-topbar-home:hover .app-topbar-logo{transform:scale(1.08) rotate(3deg)}.app-topbar-brand-name{font-family:var(--font-brand);font-size:1.22rem;font-weight:800;letter-spacing:.04em;color:#fff;line-height:1;text-shadow:0 0 16px rgba(255,255,255,.2)}.app-topbar-account{display:flex;align-items:center;gap:.75rem}.credit-gauge{position:relative;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1)}.credit-gauge:hover{transform:scale(1.06)}.credit-gauge svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.credit-gauge-track{fill:none;stroke:var(--glass-high)}.credit-gauge-fill{fill:none;stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .4s ease}.credit-gauge-fill-extra{fill:none;stroke:#c084fc;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.credit-gauge-fill-depleted{fill:none;stroke:#d32f2f;stroke-linecap:round}.credit-gauge-fill-monthly{fill:none;stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .4s ease}.app-main{width:100%;min-width:0;min-height:calc(100vh - 56px);position:relative}.home-page,.course-page,.upload-page,.credits-page,.contact-page{max-width:860px;margin:0 auto;padding:1.5rem 1.25rem 6rem}.account-page{max-width:680px;margin:0 auto;padding:1.5rem 1.25rem 6rem}.app-main-inner{width:100%}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1.25rem 0}.page-header-sub{margin-bottom:.9rem;align-items:center}.page-header-actions{display:flex;gap:.5rem;align-items:center}.notice{padding:.7rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-low);font-size:.9rem;margin-bottom:1rem}.notice-error{border-color:#e5393573;background:#e539351a;color:#ffb4b0}.notice a{color:var(--gold)}.auth-error{color:#ff8b85;font-size:.875rem;margin:0}.page-state{text-align:center;padding:3rem 1.5rem;border:1px dashed var(--glass-border);border-radius:var(--radius);background:#ffffff05}.page-state-glyph{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#ffb30024;color:var(--gold);font-size:1.2rem;margin-bottom:.75rem}.page-state-error .page-state-glyph{background:#e5393526;color:#ff8b85}.page-state p{color:var(--comet)}.page-state-action{margin-top:1rem}.page-skeleton{display:flex;flex-direction:column;gap:.7rem;padding:.5rem 0}.skeleton{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--glass-low),var(--glass-high),var(--glass-low));background-size:200% 100%;animation:skeleton-pan 1.4s ease-in-out infinite}.skeleton-title{height:26px;width:42%;margin-bottom:.4rem}.skeleton-line{width:100%}.skeleton-line.short{width:62%}@keyframes skeleton-pan{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin,.animate-spin{animation:spin .85s linear infinite!important}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.glass-card{border-radius:var(--radius);background:var(--glass-low);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.glass-card+.glass-card{margin-top:.75rem}.feature-lock{position:relative;border-radius:var(--radius);overflow:hidden}.feature-lock-content{filter:blur(6px);opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}.feature-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;background:#11142259}.feature-lock-glyph{font-size:1.6rem;filter:grayscale(1) brightness(1.4)}.feature-lock-message{max-width:24rem;margin:0;color:var(--starlight);font-size:.9rem;font-weight:600}.glass-section-label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--comet);margin:1.75rem 0 .5rem}.glass-row{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.07);color:inherit;transition:background .18s ease;cursor:pointer}.glass-row:last-child{border-bottom:none}a.glass-row:hover,button.glass-row:hover,.glass-row:hover{background:var(--glass-high);text-decoration:none}.glass-row-icon{flex:none;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#ffb30029;color:var(--gold);font-size:1rem}.glass-row.is-danger .glass-row-icon{background:#e5393526!important;color:var(--correction-red, #ff5252)!important}.glass-row-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.glass-row-title{font-weight:500;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-row-sub{font-size:.78rem;color:var(--comet);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-row-chevron{flex:none;color:var(--comet)}.pill-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:999px;background:var(--glass-low);border:1px solid var(--glass-border);font-size:.82rem;white-space:nowrap}.home-page{padding-top:0}.galaxy-view{position:relative;width:100%;height:26vh;min-height:190px;max-height:320px;overflow:hidden;touch-action:none;margin:0 -16px;width:calc(100% + 32px)}.galaxy-view canvas{display:block;width:100%;height:100%}.galaxy-view-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 90% 70% at 50% 100%,rgba(17,20,34,.85) 0%,transparent 60%),linear-gradient(180deg,rgba(17,20,34,.35) 0%,transparent 25%)}.fun-fact-carousel{margin-top:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;display:flex;gap:.75rem;padding:.25rem .1rem .6rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fun-fact-carousel::-webkit-scrollbar{display:none}.fun-fact-slide{scroll-snap-align:center;flex:0 0 88%;max-width:360px}.fun-fact-slide-card{height:160px;display:flex;flex-direction:column;padding:.9rem 1rem;border-radius:var(--radius-lg);background:var(--glass-low);border:1px solid rgba(255,179,0,.3);box-shadow:0 0 24px #ffb30014}.fun-fact-slide-title{color:var(--gold);font-weight:700;font-size:.8rem;margin:0 0 .35rem}.fun-fact-slide-body{font-size:.85rem;color:var(--starlight);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1}.fun-fact-slide-foot{display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem;color:var(--comet)}.fun-fact-dots{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-bottom:.5rem}.fun-fact-dot{width:6px;height:6px;border-radius:999px;background:var(--comet);opacity:.5;transition:all .2s ease}.fun-fact-dot.is-active{width:18px;background:var(--gold);opacity:1;box-shadow:0 0 8px #ffb30099}.home-section-header{display:flex;align-items:center;justify-content:space-between;margin:1.25rem 0 .6rem}.home-section-header h2{margin:0}.home-section-header a{font-size:.85rem;color:var(--comet)}.home-section-header a:hover{color:var(--gold)}.record-fab-wrap{position:fixed;left:0;right:0;bottom:20px;display:flex;justify-content:center;pointer-events:none;z-index:30}.record-fab{pointer-events:auto;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem}.lecture-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.lecture-tile{display:flex;align-items:center;gap:.85rem;padding:.85rem;border-radius:var(--radius);background:var(--glass-low);border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.lecture-tile:hover{background:var(--glass-high);border-color:var(--glass-border);text-decoration:none}.lecture-tile-icon{flex:none;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--accent, var(--gold)) 20%,transparent);color:var(--accent, var(--gold));display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display)}.lecture-tile-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.lecture-tile-title{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lecture-tile-sub{font-size:.78rem;color:var(--comet);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lecture-tile-chevron{flex:none;color:var(--comet)}.course-tree{display:flex;flex-direction:column;gap:.35rem}.course-year-header{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;padding:.6rem .4rem;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--starlight)}.course-year-header:hover{background:var(--glass-low)}.course-year-caret{transition:transform .15s ease;color:var(--comet)}.course-year-caret.is-open{transform:rotate(90deg)}.course-term-header{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;padding:.5rem .5rem .5rem 1.5rem;font-weight:600;font-size:.88rem;color:var(--comet)}.course-term-header:hover{background:var(--glass-low)}.course-list{list-style:none;margin:0;padding:0 0 0 2.2rem;display:flex;flex-direction:column;gap:.25rem}.course-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--radius-sm)}.course-row:hover{background:var(--glass-low);text-decoration:none}.course-row-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--accent, var(--gold))}.course-fab-wrap{position:fixed;right:20px;bottom:24px;z-index:30}.course-hero{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 .75rem}.course-hero-icon{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent, var(--gold)) 22%,transparent);color:var(--accent, var(--gold));display:flex;align-items:center;justify-content:center;font-size:1.2rem}.topic-map-preview{position:relative;height:180px;border-radius:var(--radius-lg);background:var(--glass-low);border:1px solid var(--glass-border);overflow:hidden;display:flex;align-items:center;justify-content:center}.topic-map-preview-hint{position:absolute;left:.9rem;bottom:.9rem;padding:.4rem .8rem}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;padding:2.5rem 1.5rem;border-radius:var(--radius);border:2px dashed var(--glass-border);background:#ffffff05;cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone:hover,.dropzone:focus-visible{border-color:var(--gold);outline:none}.dropzone.is-dragging{border-color:var(--gold);background:#ffb30014}.dropzone.has-file{border-style:solid;border-color:var(--gold)}.upload-progress{display:flex;flex-direction:column;gap:.4rem;font-size:.88rem}.progress-track{height:8px;border-radius:999px;background:var(--glass-high);overflow:hidden}.progress-fill{height:100%;background:var(--gold);transition:width .2s ease}.lecture-viewer-root{min-height:100vh;background-color:var(--void);color:var(--starlight);position:relative}.lecture-hero-viewport{position:relative;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);height:calc(100vh - 56px);min-height:680px;max-height:1080px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background-color:#0c0f1a}.lecture-hero-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.hero-slit-container{display:flex;width:100%;height:100%}.hero-slit-item{flex:1;height:100%;position:relative;overflow:hidden;transition:flex .45s cubic-bezier(.16,1,.3,1),transform .4s ease;border-right:1px solid rgba(255,255,255,.15)}.hero-slit-item:last-child{border-right:none}.hero-slit-item:hover{flex:1.5}.hero-slit-img{width:100%;height:100%;object-fit:cover;filter:brightness(.82) contrast(1.08);transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s ease}.hero-slit-item:hover .hero-slit-img{transform:scale(1.08);filter:brightness(.95) contrast(1.05)}.hero-slit-topic-tag{position:absolute;bottom:5.5rem;left:1rem;right:1rem;padding:.5rem .9rem;background:#111422d1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:10px;border:1px solid rgba(255,255,255,.18);font-size:.85rem;font-weight:600;color:#fff;opacity:0;transform:translateY(12px);transition:all .3s cubic-bezier(.16,1,.3,1);text-align:center;pointer-events:none;box-shadow:0 4px 16px #0006}.hero-slit-item:hover .hero-slit-topic-tag{opacity:1;transform:translateY(0)}.hero-slit-skeleton-item{background:#ffffff05;position:relative;overflow:hidden}.hero-slit-skeleton-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff05,#ffffff12,#ffffff05);background-size:200% 100%;animation:skeleton-pan 1.6s ease-in-out infinite}.topic-image-placeholder{width:100%;height:100%;background:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:200% 100%;animation:skeleton-pan 1.6s ease-in-out infinite}.hero-cosmos-empty-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#cc8d0040,#111422f2 70%,#111422);position:relative}.hero-cosmos-orbit-ring{position:absolute;width:min(500px,80vw);height:min(500px,80vw);border-radius:50%;border:1px dashed rgba(255,179,0,.3);animation:rotateOrbit 60s linear infinite}@keyframes rotateOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-cosmos-orbit-icon{font-size:3rem;color:var(--gold);text-shadow:0 0 32px rgba(255,179,0,.6)}.hero-top-scrim{position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(to bottom,rgba(17,20,34,.95) 0%,rgba(17,20,34,.6) 50%,transparent 100%);pointer-events:none;z-index:2}.hero-bottom-scrim{position:absolute;bottom:0;left:0;right:0;height:480px;background:linear-gradient(to top,#111422 0%,color-mix(in srgb,var(--course-accent, #FFB300) 18%,rgba(17,20,34,.95)) 45%,color-mix(in srgb,var(--course-accent, #FFB300) 8%,rgba(17,20,34,.4)) 75%,transparent 100%);pointer-events:none;z-index:2}.lecture-hero-content{position:relative;z-index:10;width:100%;max-width:100%;margin:0;padding:2.5rem 3.5rem 3.5rem;height:100%;display:flex;flex-direction:column;justify-content:space-between}.lecture-hero-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lecture-hero-back-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--course-accent, #FFB300);font-weight:700;font-size:1.05rem;padding:.55rem 1.15rem;border-radius:999px;background:#111422bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);transition:all .25s cubic-bezier(.16,1,.3,1);text-decoration:none;box-shadow:0 4px 14px #0000004d}.lecture-hero-back-link:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translate(-4px);text-shadow:0 0 16px var(--course-accent, #FFB300);text-decoration:none!important}.lecture-hero-nav-actions{display:inline-flex;align-items:center;gap:.65rem}.lecture-credits-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 14px #00000040;-webkit-user-select:none;user-select:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.lecture-credits-chip:hover{background:#ffffff24;border-color:#ffffff4d}.lecture-credits-icon{font-size:15px!important;color:#ffffffd9;line-height:1}.lecture-credits-value{color:#ffffffeb;font-size:13px;font-weight:600;letter-spacing:-.2px;line-height:1;font-family:inherit}.lecture-hero-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#111422bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);color:var(--starlight);cursor:pointer;box-shadow:0 4px 14px #0000004d;transition:all .25s cubic-bezier(.16,1,.3,1)}.lecture-hero-edit-btn:hover{background:#ffffff26;border-color:#ffffff59;color:#fff;transform:scale(1.06)}.hero-edit-svg{width:18px;height:18px}.hero-back-chevron{font-size:1.4rem;line-height:1;margin-top:-2px}.hero-back-course-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.hero-topics-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.1rem;border-radius:999px;background:#111422bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:.88rem;font-weight:600;color:var(--starlight);border:1px solid rgba(255,255,255,.15)}.hero-badge-dot{width:7px;height:7px;border-radius:50%}.lecture-hero-main-info{display:flex;flex-direction:column;gap:1.1rem;max-width:1100px}.lecture-hero-meta{display:flex;align-items:center;gap:.75rem}.hero-datetime{display:inline-flex;align-items:center;gap:.5rem;color:var(--starlight);font-size:.92rem;font-weight:600;background:#111422a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.35rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);width:fit-content}.hero-meta-icon{width:15px;height:15px;color:#fff}.hero-meta-divider{opacity:.4}.lecture-hero-title{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.025em;text-shadow:0 4px 28px rgba(0,0,0,.8);margin:0}.lecture-hero-summary{font-size:1.15rem;line-height:1.65;color:#f2f2f2eb;text-shadow:0 2px 14px rgba(0,0,0,.7);max-width:950px;margin:0}.hero-scroll-hint{display:inline-flex;align-items:center;gap:.6rem;color:var(--comet);font-size:.88rem;font-weight:600;margin-top:.5rem;opacity:.75;transition:opacity .2s ease}.hero-scroll-hint:hover{opacity:1}.hero-scroll-arrow{width:16px;height:16px;animation:bounceSlow 2s infinite ease-in-out;color:var(--gold)}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.lecture-body-container{width:100%;max-width:1540px;margin:0 auto;padding:3.5rem 3rem 6rem}.lecture-content-flow{display:flex;flex-direction:column;gap:3rem}.lecture-split-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:3.5rem;align-items:start}@media(max-width:980px){.lecture-split-layout{grid-template-columns:1fr;gap:2.5rem}}.column-header{margin-bottom:1.5rem}.column-header h2{font-size:1.5rem;font-weight:700;color:var(--starlight);margin:0 0 .35rem}.column-subtitle{font-size:.92rem;color:var(--comet)}.action-nav-stack{display:flex;flex-direction:column;gap:1rem}.action-nav-card{background:#ffffff09;border:1px solid var(--glass-border);border-radius:18px;padding:1.25rem 1.6rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:all .25s cubic-bezier(.16,1,.3,1);cursor:pointer;text-decoration:none}.action-nav-card:hover{background:#ffffff14;border-color:#ffffff40;transform:translate(4px);box-shadow:var(--shadow-float);text-decoration:none}.action-nav-left{display:flex;align-items:center;gap:1.1rem}.action-nav-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-nav-svg{width:22px;height:22px}.action-nav-glyph{font-size:23px!important;line-height:1;display:flex;align-items:center;justify-content:center}.action-nav-glyph.action-nav-glyph-review{font-size:25px!important}.action-nav-glyph.action-nav-glyph-notes{font-size:21px!important}.action-nav-title{font-size:1.15rem;font-weight:700;color:var(--starlight);letter-spacing:-.01em}.action-nav-arrow{font-size:1.35rem;font-weight:700;transition:transform .2s ease;flex-shrink:0}.action-nav-card:hover .action-nav-arrow{transform:translate(4px)}.fun-fact-stack{display:flex;flex-direction:column;gap:1.5rem}@property --rainbow-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes rainbow-border-spin{0%{--rainbow-angle: 0deg}to{--rainbow-angle: 360deg}}.fun-fact-rainbow-wrapper{position:relative;border-radius:24px;padding:1.5px;isolation:isolate;background:conic-gradient(from var(--rainbow-angle, 0deg),rgba(255,45,85,.55) 0%,rgba(155,81,224,.55) 20%,rgba(45,156,219,.55) 40%,rgba(39,174,96,.55) 60%,rgba(242,201,76,.55) 80%,rgba(255,45,85,.55) 100%);animation:rainbow-border-spin 10s linear infinite;box-shadow:0 0 10px #9b51e026,0 0 20px #2d9cdb14;transition:box-shadow .3s ease}.fun-fact-rainbow-wrapper:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:26px;background:conic-gradient(from var(--rainbow-angle, 0deg),rgba(255,45,85,.45) 0%,rgba(155,81,224,.45) 20%,rgba(45,156,219,.45) 40%,rgba(39,174,96,.45) 60%,rgba(242,201,76,.45) 80%,rgba(255,45,85,.45) 100%);filter:blur(8px);opacity:.25;z-index:-1;pointer-events:none;animation:rainbow-border-spin 10s linear infinite;transition:opacity .3s ease,filter .3s ease}.fun-fact-rainbow-wrapper:hover:before{opacity:.45;filter:blur(10px)}.fun-fact-rainbow-wrapper .fun-fact-card{position:relative;z-index:1;border:none;background:#111422f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:22.5px;height:100%;margin:0;box-shadow:none}.fun-fact-card{padding:2.2rem;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#ffffff09;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:1.2rem}.fun-fact-title{text-align:center;font-size:1.3rem;font-weight:800;margin:0;letter-spacing:-.01em}.fun-fact-hook{font-weight:600;font-size:1.05rem;color:#fff;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.fun-fact-divider{height:1px;width:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.18) 50%,transparent 100%);margin:.25rem 0}.fun-fact-body{font-size:.95rem;color:#ffffffeb;line-height:1.7;margin:0;white-space:pre-wrap;word-break:break-word}.fun-fact-card-footer{padding-top:.85rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.fun-fact-sources-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--comet);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);outline:none;-webkit-user-select:none;user-select:none}.fun-fact-sources-toggle:hover,.fun-fact-sources-toggle.is-open{background:#ffb30024;border-color:#ffb30066;color:var(--gold)}.sources-toggle-icon{font-size:15px!important;line-height:1}.sources-toggle-count{font-size:.72rem;opacity:.85}.sources-toggle-chevron{font-size:16px!important;line-height:1}.fun-fact-sources-accordion-panel{margin-top:.75rem;padding:.5rem .75rem;border-radius:12px;background:#131525a6;border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:.35rem;animation:fadeIn .2s ease-out}.fun-fact-accordion-source-item{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .35rem;color:var(--gold);font-size:.78rem;font-weight:500;text-decoration:underline;text-underline-offset:2px;border-radius:6px;transition:all .15s ease}.fun-fact-accordion-source-item:hover{color:#fff;background:#ffb3001a;text-decoration:none!important}.source-item-link-icon{font-size:13px!important;line-height:1;flex-shrink:0}.source-item-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reaction-bar{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.reaction-icon-btn{background:transparent;border:none;padding:6px;border-radius:50%;color:#ffffff61;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);outline:none;line-height:1}.reaction-icon-btn:hover{color:#fff;background:#ffffff14;transform:scale(1.15)}.reaction-icon-btn.is-liked{color:#ff4d6d}.reaction-icon-btn.is-liked:hover{color:#f35;background:#ff4d6d1f}.reaction-icon-btn.is-disliked{color:var(--comet)}.reaction-icon-btn.is-disliked:hover{color:var(--starlight);background:#ffffff14}.fun-fact-empty-card{padding:3rem 2rem;border-radius:20px;border:1px dashed rgba(255,255,255,.15);text-align:center}.lecture-highlights-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-bottom:.5rem}.lecture-highlight-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1.15rem;border-radius:999px;background:var(--glass-low);border:1px solid var(--glass-border);color:var(--starlight);font-size:.88rem;font-weight:600;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:all .2s cubic-bezier(.16,1,.3,1)}.lecture-highlight-chip:hover{background:#ffb3001f;border-color:#ffb30066;color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px #ffb30026}.chip-icon-svg{width:16px;height:16px;color:var(--gold)}.chip-icon-glyph{font-size:15px!important;width:15px;height:15px;line-height:1;color:var(--gold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chip-count-badge{font-size:.78rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;background:#ffffff14;color:var(--comet)}.lecture-highlight-chip:hover .chip-count-badge{background:#ffb30040;color:var(--gold)}.lecture-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0c16d1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.lecture-modal-card{width:100%;max-width:660px;max-height:82vh;background:#151928f5;border:1px solid rgba(255,255,255,.15);border-radius:24px;box-shadow:0 24px 60px #000000b3;display:flex;flex-direction:column;overflow:hidden;animation:modalPopIn .25s cubic-bezier(.16,1,.3,1)}@keyframes modalPopIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.lecture-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.modal-title-row{display:flex;align-items:center;gap:.75rem}.modal-title-row h2{font-size:1.35rem;font-weight:700;color:var(--starlight);margin:0}.modal-count-badge{font-size:.82rem;font-weight:700;color:var(--gold);background:#ffb30026;padding:.2rem .6rem;border-radius:999px}.modal-close-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--comet);width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.modal-close-btn:hover{background:#ffffff26;color:#fff}.lecture-modal-body{padding:1.5rem 1.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.modal-empty-state{padding:3rem 1rem;text-align:center;color:var(--comet)}.modal-item-list{display:flex;flex-direction:column;gap:1rem}.announcements-segment-bar{height:42px;min-height:42px;padding:4px;border-radius:10px;background:#ffffff0a;border:1px solid var(--glass-border);display:flex;gap:4px;margin-bottom:.25rem;flex-shrink:0;box-sizing:border-box}.announcements-segment-tab{flex:1;height:100%;border:none;background:transparent;color:var(--comet);font-size:.82rem;font-weight:600;border-radius:7px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.announcements-segment-tab:hover{color:var(--starlight);background:#ffffff0d}.announcements-segment-tab.is-selected{background:#ffffff1f;color:var(--starlight);font-weight:700;box-shadow:0 1px 4px #00000040}.announcements-type-chips-row{display:flex;align-items:center;gap:.6rem;overflow-x:auto;padding:.35rem .25rem .85rem;margin-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.08);scrollbar-width:none;flex-shrink:0;min-height:44px;box-sizing:border-box}.announcements-type-chips-row::-webkit-scrollbar{display:none}.announcement-type-chip{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:32px;min-height:32px;padding:0 .85rem;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:var(--comet);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;line-height:1;box-sizing:border-box}.type-chip-icon{font-size:1.15rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--chip-color, var(--gold))}.announcement-type-chip:hover{background:#ffffff14;color:var(--starlight);border-color:#ffffff38}.announcement-type-chip.is-selected{background:color-mix(in srgb,var(--chip-color, var(--gold)) 18%,transparent);border-color:var(--chip-color, var(--gold));color:#fff;font-weight:700;box-shadow:0 0 10px color-mix(in srgb,var(--chip-color, var(--gold)) 28%,transparent)}.flutter-announcement-card{background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.95rem 1.15rem;display:flex;align-items:flex-start;gap:.85rem;transition:all .2s ease;margin-bottom:.65rem}.flutter-announcement-card:hover{background:#ffffff0d;border-color:#ffffff24}.flutter-announcement-card.is-completed{opacity:.55;background:#ffffff04;border-color:#ffffff0d}.announcement-leading-icon{width:38px;height:38px;min-width:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .2s ease}.announcement-leading-icon .material-symbols-outlined{font-size:1.25rem;line-height:1}.announcement-content-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.announcement-header-tags{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.05rem}.announcement-lecture-tag{font-size:.74rem;color:var(--gold);background:#ffb3001f;padding:.15rem .55rem;border-radius:999px;border:1px solid rgba(255,179,0,.25);font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-topic-tag{font-size:.76rem;color:var(--comet)}.announcement-tile-title{font-size:.96rem;font-weight:600;color:var(--starlight);margin:0;line-height:1.45;word-break:break-word}.announcement-tile-title.is-line-through{text-decoration:line-through;color:var(--comet)}.announcement-tile-desc{font-size:.86rem;color:var(--comet);margin:0;line-height:1.55;word-break:break-word}.announcement-tile-desc.is-line-through{text-decoration:line-through;opacity:.8}.announcement-meta-subrow{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--comet);opacity:.85;margin-top:.15rem;flex-wrap:wrap}.announcement-location-info{display:inline-flex;align-items:center;gap:.2rem}.location-mini-icon{font-size:.82rem;color:#ffffffbf;line-height:1}.announcement-action-area{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-top:.15rem}.announcement-square-check{width:28px;height:28px;min-width:28px;border-radius:8px;border:1.5px solid rgba(255,255,255,.22);background:#ffffff0a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.announcement-square-check .square-check-svg{width:16px;height:16px;color:#ffffff38;stroke-width:2.8;transition:all .2s ease}.announcement-square-check:hover{border-color:#4ade80;background:#4ade801f}.announcement-square-check:hover .square-check-svg{color:#4ade80bf;transform:scale(1.08)}.announcement-square-check.is-completed{background:#22c55e;border-color:#4ade80;box-shadow:0 0 10px #4ade8061}.announcement-square-check.is-completed .square-check-svg{color:#0b131f;stroke-width:3.5;transform:scale(1)}.announcement-square-check.is-completed:hover{background:#16a34a;border-color:#22c55e;box-shadow:0 0 14px #4ade808c}.announcement-extra-info{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--comet)}.extra-info-icon{width:14px;height:14px}.topics-vertical-list{display:flex;flex-direction:column;gap:1rem}.topic-vertical-tile{background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.topic-tile-upper{display:flex;gap:1.25rem}.topic-tile-thumbnail{width:130px;height:85px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#ffffff05}.topic-tile-thumbnail img{width:100%;height:100%;object-fit:cover}.topic-tile-info{display:flex;flex-direction:column;gap:.35rem;flex:1}.topic-number-gold-pill{font-size:.72rem;font-weight:800;color:var(--gold);background:#ffb30026;padding:.2rem .6rem;border-radius:6px;letter-spacing:.05em;display:inline-block}.topic-tile-title{font-size:1.05rem;font-weight:700;color:var(--starlight);margin:0}.topic-tile-summary{font-size:.88rem;color:var(--comet);line-height:1.5;margin:0}.topic-tile-divider{height:1px;background:#ffffff0f}.topic-tile-actions{display:flex;gap:.75rem;flex-wrap:wrap}.topic-action-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .85rem;border-radius:10px;background:#ffffff0a;border:1px solid var(--glass-border);color:var(--starlight);font-size:.82rem;font-weight:600;line-height:1.2;text-decoration:none!important;transition:all .2s ease}.topic-action-btn:hover,.topic-action-btn:focus,.topic-action-btn:active{background:#ffb3001f;border-color:#ffb30059;color:#fff;text-decoration:none!important}.topic-action-svg,.topic-action-glyph{font-size:.92rem;width:15px;height:15px;color:var(--gold);line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.topic-action-glyph.topic-action-glyph-review{font-size:1.02rem}.topic-action-glyph.topic-action-glyph-notes{font-size:.85rem}.keywords-grouped-flow{display:flex;flex-direction:column;gap:1.75rem}.keyword-topic-section{display:flex;flex-direction:column;gap:.85rem}.keyword-section-header{display:flex;align-items:center;gap:.65rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.keyword-section-badge{background:#ffb30026;border:1px solid rgba(255,179,0,.35);color:var(--gold);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:8px}.keyword-section-title{font-size:1.05rem;font-weight:700;color:var(--starlight)}.keyword-cards-stack{display:flex;flex-direction:column;gap:.75rem}.keyword-item-card{background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}.keyword-item-main-row{display:flex;align-items:center;justify-content:space-between}.keyword-item-word{font-size:1.05rem;font-weight:700;color:var(--starlight);margin:0}.keyword-item-actions{display:flex;align-items:center;gap:.6rem}.keyword-icon-btn{background:transparent;border:none;color:var(--comet);padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.keyword-icon-btn:hover{color:#fff}.keyword-icon-btn.is-saved{color:#4caf50}.keyword-action-svg{width:18px;height:18px}.keyword-action-svg.bookmark-filled{fill:#4caf50}.keyword-item-def{font-size:.9rem;color:#f2f2f2e0;line-height:1.55;margin:0}.keyword-card-editing{background:#ffffff0f;border:1px solid rgba(255,179,0,.4);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.keyword-edit-input{font-weight:700;font-size:1rem}.keyword-edit-textarea{font-size:.9rem;resize:vertical}.keyword-edit-actions{display:flex;justify-content:flex-end;gap:.75rem}.keyword-btn-cancel{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--comet);border-radius:8px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.keyword-btn-cancel:hover{color:#fff;border-color:#ffffff4d}.keyword-btn-save{padding:.45rem 1.25rem;font-size:.85rem}.lecture-edit-form{display:flex;flex-direction:column;gap:1.5rem}.edit-form-field{display:flex;flex-direction:column;gap:.55rem}.edit-form-label{font-size:.88rem;font-weight:700;color:var(--starlight)}.edit-select-wrapper{position:relative}.edit-select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--glass-low);cursor:pointer;width:100%}.edit-datetime-input{color-scheme:dark;width:100%}.edit-title-input{width:100%}.edit-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem}.edit-form-actions .keyword-btn-cancel{height:42px;padding:0 1.25rem;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}.edit-form-actions .edit-btn-submit{width:auto;height:42px;margin:0;padding:0 1.5rem;border-radius:12px;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center}.stripe-checkout-form{display:flex;flex-direction:column;gap:1.1rem}.stripe-checkout-actions{display:flex;justify-content:flex-end;gap:.85rem}.edit-course-selector-box{display:flex;align-items:center;justify-content:space-between;padding:.65rem .95rem;min-height:52px;box-sizing:border-box;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:12px;cursor:pointer;transition:all .2s ease}.edit-course-selector-box:hover{background:#ffffff12;border-color:#ffffff40}.selected-course-info{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1}.selected-course-icon-badge{width:36px;height:36px;border-radius:10px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected-course-icon-badge.unassigned-badge{background:#ffffff0d;color:var(--comet);border-color:#ffffff1a}.selected-course-text-col{display:flex;flex-direction:column;gap:.15rem;min-width:0}.selected-course-name{font-weight:600;color:var(--starlight);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-course-code{font-size:.78rem;color:var(--comet)}.unassigned-course-text{color:var(--comet);font-size:.92rem;font-weight:500}.selector-chevron{color:var(--comet);flex-shrink:0;margin-left:.75rem;transition:transform .2s ease,color .2s ease}.edit-course-selector-box:hover .selector-chevron{color:var(--starlight);transform:translate(2px)}.course-picker-flow{display:flex;flex-direction:column;gap:1rem}.course-picker-search-row{display:flex;align-items:center;gap:.75rem;width:100%}.course-picker-search-box{flex:1;height:44px;box-sizing:border-box;display:flex;align-items:center;gap:.65rem;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:12px;padding:0 .9rem;transition:all .2s ease}.course-picker-search-box:focus-within{border-color:var(--gold);background:#ffffff0f;box-shadow:0 0 0 2px #ffb30026}.picker-search-svg{width:18px;height:18px;color:var(--comet);flex-shrink:0}.course-picker-search-input{flex:1;background:transparent;border:none;color:var(--starlight);font-size:.92rem;outline:none;min-width:0}.course-picker-search-input::placeholder{color:var(--comet);opacity:.75}.picker-search-clear{background:transparent;border:none;color:var(--comet);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.picker-search-clear:hover{color:var(--starlight);background:#ffffff14}.course-picker-add-btn{width:44px;height:44px;box-sizing:border-box;border-radius:12px;background:#ffb3001f;border:1px solid rgba(255,179,0,.35);color:var(--gold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.course-picker-add-btn:hover{background:#ffb30038;border-color:var(--gold);transform:translateY(-1px);box-shadow:0 4px 12px #ffb30033}.course-picker-add-btn:active{transform:translateY(0)}.course-picker-list{display:flex;flex-direction:column;gap:.5rem;max-height:360px;overflow-y:auto;padding-right:4px}.course-picker-item{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;min-height:52px;box-sizing:border-box;border-radius:12px;background:#ffffff08;border:1px solid var(--glass-border);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.course-picker-item:hover{background:#ffffff0f;border-color:#fff3}.course-picker-item.is-selected{background:#ffb3001f;border-color:var(--gold);box-shadow:0 0 16px #ffb3001a}.picker-item-icon-wrap{width:38px;height:38px;border-radius:10px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.picker-item-icon-wrap.unassigned-wrap{background:#ffffff0d;color:var(--comet);border-color:#ffffff1a}.picker-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.picker-item-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.picker-item-title{font-size:.95rem;font-weight:600;color:var(--starlight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker-item-code{font-size:.78rem;color:var(--comet)}.picker-item-code-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--comet);font-size:.72rem;font-weight:600;flex-shrink:0}.picker-item-radio{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;transition:all .2s ease}.picker-item-radio.is-selected{border-color:var(--gold);background:var(--gold);color:#111422}.course-picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);margin-top:.25rem}.picker-btn-cancel{height:42px;padding:0 1.25rem;border-radius:12px;background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--comet);font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.picker-btn-cancel:hover{background:#ffffff0f;color:#fff;border-color:#ffffff4d}.picker-btn-confirm{height:42px;padding:0 1.5rem;border-radius:12px;background:var(--gold);color:#111422;border:none;font-size:.9rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 3px 12px #ffb30040;margin:0;width:auto}.picker-btn-confirm:hover:not(:disabled){background:#ffc107;transform:translateY(-1px);box-shadow:0 5px 18px #ffb30059}.picker-btn-confirm:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.course-edit-form{display:flex;flex-direction:column;gap:1.25rem}.course-edit-divider{height:1px;width:100%;margin:.15rem 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 12%,rgba(255,255,255,.12) 88%,transparent);border:none}.course-edit-error-banner{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:10px;background:#ef535026;border:1px solid rgba(239,83,80,.4);color:#ff8a80;font-size:.85rem;font-weight:500}.course-edit-error-icon{flex-shrink:0;color:#ef5350}.course-edit-field{display:flex;flex-direction:column;gap:.6rem}.course-edit-field-header{display:flex;justify-content:space-between;align-items:center}.course-edit-field-label{display:flex;align-items:center;gap:.45rem;font-size:.84rem;font-weight:700;color:var(--starlight);letter-spacing:.02em}.course-edit-label-icon{opacity:.85}.course-edit-color-hex,.course-edit-icon-name{font-family:monospace;font-size:.72rem;color:var(--comet);background:#ffffff0d;padding:.15rem .45rem;border-radius:6px;border:1px solid var(--glass-border)}.course-preview-card{display:flex;align-items:center;gap:1rem;padding:.95rem 1.15rem;border-radius:16px;border:1.5px solid;transition:all .25s cubic-bezier(.16,1,.3,1);cursor:text}.course-preview-badge{width:52px;height:52px;border-radius:14px;border:1px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s ease}.course-preview-input-wrap{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;border-bottom:1.5px solid rgba(255,255,255,.15);padding-bottom:4px;transition:border-color .2s ease}.course-preview-card:focus-within .course-preview-input-wrap{border-color:currentColor}.course-preview-title-input{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:inherit;font-size:1.15rem;font-weight:700;color:var(--starlight)}.course-preview-title-input::placeholder{color:#ffffff4d;font-weight:500;font-size:1rem}.course-preview-hint{color:var(--comet);opacity:.7;flex-shrink:0}.course-color-picker-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.course-color-dot{width:38px;height:38px;min-width:38px;min-height:38px;box-sizing:border-box;flex-shrink:0;border-radius:50%;border:2px solid rgba(255,255,255,.18);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;outline:none;padding:0;margin:0;line-height:0;transition:all .2s cubic-bezier(.16,1,.3,1)}.course-color-dot:hover{transform:scale(1.08);border-color:#fff9}.course-color-dot.is-selected{border:2px solid #ffffff;transform:scale(1.08);box-shadow:0 0 14px currentColor,inset 0 0 0 1px #00000040}.course-color-dot.is-custom{position:relative}.course-color-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;pointer-events:none;flex-shrink:0}.course-custom-color-btn{width:38px;height:38px;min-width:38px;min-height:38px;box-sizing:border-box;flex-shrink:0;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(from 0deg,#ff4d4d,#ffbf00,#2bd97c,#00d4ff,#8b5cf6,#ff4081,#ff4d4d);border:2px solid rgba(255,255,255,.3);color:#fff;box-shadow:0 2px 8px #0006;transition:all .2s ease;padding:0;outline:none}.course-custom-color-btn:hover{transform:scale(1.08);border-color:#fff;box-shadow:0 0 12px #fff6}.custom-color-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a0c16d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:modalFadeIn .2s ease-out}.custom-color-dialog-card{width:100%;max-width:420px;background:#1e203c;border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 24px 60px #000000bf;display:flex;flex-direction:column;overflow:hidden;animation:modalPopIn .25s cubic-bezier(.16,1,.3,1)}.custom-color-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.4rem;border-bottom:1px solid var(--glass-border)}.custom-color-dialog-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--starlight)}.custom-color-dialog-body{padding:1.4rem;display:flex;flex-direction:column;gap:1.25rem}.custom-color-preview-wrap{display:flex;justify-content:center;margin-bottom:.25rem}.custom-color-preview-circle{width:80px;height:80px;border-radius:50%;border:3px solid #ffffff;transition:background-color .1s ease,box-shadow .1s ease}.custom-color-slider-field{display:flex;flex-direction:column;gap:.45rem}.custom-color-slider-label{font-size:.8rem;font-weight:600;color:var(--comet)}.custom-color-hue-track-wrap{height:14px;border-radius:7px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);display:flex;align-items:center;position:relative;box-shadow:inset 0 1px 3px #0006}.custom-color-lightness-track-wrap{height:14px;border-radius:7px;display:flex;align-items:center;position:relative;box-shadow:inset 0 1px 3px #0006;transition:background .1s ease}.custom-color-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;outline:none;margin:0;cursor:pointer}.custom-color-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.35);box-shadow:0 2px 6px #0009;cursor:pointer;transition:transform .12s ease}.custom-color-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.35);box-shadow:0 2px 6px #0009;cursor:pointer}.custom-color-slider:hover::-webkit-slider-thumb,.custom-color-slider:active::-webkit-slider-thumb{transform:scale(1.15)}.custom-color-hex-field{display:flex;flex-direction:column;gap:.45rem}.custom-color-hex-input-wrap{display:flex;align-items:center;gap:.45rem;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:12px;padding:.6rem .85rem;transition:border-color .2s ease}.custom-color-hex-input-wrap:focus-within{border-color:#ffb300;box-shadow:0 0 0 1px #ffb300}.custom-color-hex-icon{color:var(--comet);flex-shrink:0}.custom-color-hex-input{background:transparent;border:none;outline:none;font-family:monospace;font-size:.95rem;font-weight:700;color:var(--starlight);width:100%;text-transform:uppercase;letter-spacing:.05em}.custom-color-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.4rem;border-top:1px solid var(--glass-border);background:#00000026}.course-category-tabs-scroll{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.course-category-tab{display:flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:24px;font-size:.8rem;font-weight:600;border:1px solid var(--glass-border);background:#ffffff0a;color:var(--comet);cursor:pointer;white-space:nowrap;transition:all .15s ease;outline:none}.course-category-tab:hover{color:var(--starlight);background:#ffffff14}.course-category-tab.is-active{font-weight:700;transform:scale(1.02);box-shadow:0 2px 10px #00000059}.course-category-icon-glyph{opacity:.95}.course-icon-grid-box{background:#ffffff06;border:1px solid var(--glass-border);border-radius:14px;padding:.75rem;max-height:185px;overflow-y:auto;scrollbar-width:thin}.course-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.55rem;justify-items:center}.course-icon-tile{width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:var(--comet);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);outline:none;padding:0}.course-icon-tile:hover{color:var(--starlight);background:#ffffff14;border-color:#ffffff40;transform:translateY(-2px)}.course-icon-tile.is-selected{border-width:1.5px;transform:scale(1.08)}.course-edit-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}@media(max-width:480px){.course-edit-two-col{grid-template-columns:1fr}}.course-edit-input,.course-edit-textarea{width:100%;box-sizing:border-box;background:#ffffff09;border:1px solid var(--glass-border);border-radius:10px;padding:.6rem .85rem;font-size:.88rem;color:var(--starlight);outline:none;transition:all .2s ease;font-family:inherit}.course-edit-input:focus,.course-edit-textarea:focus{border-color:#ffffff4d;background:#ffffff0f;box-shadow:0 0 0 2px #ffffff0f}.course-edit-textarea{resize:vertical;min-height:70px;line-height:1.5}.course-more-accordion{border:1px solid var(--glass-border);border-radius:14px;overflow:hidden;background:#ffffff04;transition:border-color .2s ease}.course-more-accordion.is-expanded{border-color:#ffffff24}.course-more-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s ease}.course-more-toggle:hover{background:#ffffff0a}.course-more-toggle-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600}.course-more-chevron{color:var(--comet);display:flex;align-items:center}.course-more-body{padding:1rem;border-top:1px solid var(--glass-border);display:flex;flex-direction:column;gap:.9rem;background:#00000026}.course-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:.85rem;border-top:1px solid var(--glass-border)}.course-btn-cancel{padding:.6rem 1.2rem;border-radius:10px;border:1px solid var(--glass-border);background:transparent;color:var(--comet);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s ease}.course-btn-cancel:hover:not(:disabled){color:var(--starlight);background:#ffffff0f}.course-btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.4rem;border-radius:10px;border:1px solid;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.course-btn-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.course-btn-submit:disabled{opacity:.45;cursor:not-allowed}.course-btn-spinner{animation:spin 1s linear infinite}.ai-disclaimer{text-align:center!important;font-size:.8rem;color:var(--comet);margin:3.5rem auto 0;width:100%;display:block}.lecture-overlay-backdrop{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center}.lecture-overlay-card{width:100%;max-width:420px;padding:1.75rem;border-radius:var(--radius-lg);background:#111422f0;border:1px solid var(--glass-border);box-shadow:var(--shadow-float);text-align:center}.lecture-overlay-card.is-error{border-color:#e5393566}.lecture-overlay-icon{width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;background:#ffb30029;color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.8rem}.lecture-overlay-card.is-error .lecture-overlay-icon{background:#e5393529;color:#ff8b85}.lecture-overlay-card button{margin-top:1.25rem}.pipeline-progress-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);background:var(--glass-low);border:1px solid var(--glass-border);margin-bottom:1rem}.progress-ring-track{fill:none;stroke:var(--glass-high)}.progress-ring-fill{fill:none;stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .4s ease}.progress-ring-text{fill:var(--starlight);font-family:var(--font-display);font-size:14px;font-weight:600}.pipeline-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.pipeline-step{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--comet);padding:.15rem 0}.pipeline-step-glyph{width:1.1rem;text-align:center;font-size:.85rem}.pipeline-step.is-completed{color:var(--starlight)}.pipeline-step.is-completed .pipeline-step-glyph{color:var(--green)}.pipeline-step.is-current{color:var(--starlight);font-weight:600}.pipeline-step.is-current .pipeline-step-glyph{color:var(--gold);animation:pulse 1.4s ease-in-out infinite}.pipeline-step.is-failed,.pipeline-step.is-error{color:#ff8b85}.pipeline-step.is-cancelled{text-decoration:line-through;opacity:.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.pipeline-step.is-current .pipeline-step-glyph{animation:none}}.pv-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;overflow:hidden;background:var(--paper-bg);color:var(--ink);color-scheme:light;font-family:var(--font-body);--pv-accent: var(--gold);--pv-type: var(--gold)}.pv-root:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--pv-accent) 12%,transparent) 0%,color-mix(in srgb,var(--pv-accent) 3%,transparent) 18%,transparent 42%)}.pv-root>*{position:relative;z-index:1}.pv-split{flex:1 1 auto;min-height:0;display:flex;align-items:stretch;z-index:auto}.pv-column{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.pv-root.is-gold,.tsheet.is-gold{--pv-accent: var(--deep-gold)}.pv-root button{font:inherit;white-space:nowrap}.pv-top{flex:0 0 auto;padding:8px 16px 0}.pv-top-row{display:flex;align-items:center;gap:8px;min-height:40px}.pv-title{flex:1 1 auto;min-width:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-tool-row{display:flex;align-items:center;gap:2px;min-height:36px}.pv-tool-spacer{flex:1 1 auto}.pv-counter{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--pencil);white-space:nowrap;padding-left:8px}.pv-icon-btn{flex:0 0 auto;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.pv-icon-btn:hover:not(:disabled){background:#3e322814;filter:none}.pv-icon-btn.is-active{color:var(--pv-accent);background:color-mix(in srgb,var(--pv-accent) 15%,transparent)}.pv-icon-btn.is-saved{color:var(--star-gold, #fbc02d)}.pv-icon-btn:disabled{opacity:.3;cursor:default}.pv-divider{width:1px;height:18px;margin:0 6px;background:#3e322824;flex:0 0 auto}.pv-root .pv-save-btn{color:#3e322857;transition:all .2s cubic-bezier(.16,1,.3,1)}.pv-root .pv-save-btn:hover{color:var(--ink);background:#3e322814}.pv-root .pv-save-btn.is-saved{color:var(--star-gold, #fbc02d)}.pv-root .pv-save-btn.is-saved:hover{color:var(--star-gold, #fbc02d);background:#fbc02d1f}.pv-root .reaction-icon-btn{color:#3e322857}.pv-root .reaction-icon-btn:hover{color:var(--ink);background:#3e322814}.pv-root .reaction-icon-btn.is-liked{color:#e8425f}.pv-root .reaction-icon-btn.is-disliked{color:var(--ink)}.rcv-progress{display:flex;align-items:center;gap:10px;padding:10px 2px 8px}.rcv-progress-group{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:3px}.rcv-seg{flex:1 1 0;min-width:0;height:3px;padding:0;border:none;border-radius:999px;background:#3e322824;cursor:pointer;position:relative;transition:background .2s ease,height .2s ease,box-shadow .2s ease,flex-grow .25s cubic-bezier(.16,1,.3,1)}.rcv-seg:after{content:"";position:absolute;left:0;right:0;top:-10px;bottom:-10px}.rcv-seg:hover{background:#3e32284d;filter:none}.rcv-seg.is-done{background:color-mix(in srgb,var(--pv-accent) 55%,transparent)}.rcv-seg.is-current{flex-grow:1.7;height:4px;background:var(--pv-accent);box-shadow:0 1px 8px color-mix(in srgb,var(--pv-accent) 65%,transparent)}.rcv-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vw,20px);padding:2px 14px 4px;touch-action:pan-y}.pv-nav-btn{flex:0 0 auto;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid rgba(62,50,40,.1);background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px #3e32281f;transition:transform .18s ease,background .18s ease,opacity .18s ease}.pv-nav-btn:hover:not(:disabled){background:#fff;transform:scale(1.07);filter:none}.pv-nav-btn:disabled{opacity:0;pointer-events:none}.rcv-stack{--rcv-card-h: clamp(300px, calc(100dvh - 226px) , 780px);position:relative;flex:0 0 auto;height:var(--rcv-card-h);width:min(calc(var(--rcv-card-h) * .66),calc(100vw - 124px));max-width:100%;flex-shrink:1}.rcv-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 88%}.rcv-layer.is-leaving{pointer-events:none;will-change:transform,opacity}.rcv-stack[data-dir=next] .is-leaving{z-index:2;animation:rcv-leave-next .38s cubic-bezier(.4,0,.2,1) forwards}.rcv-stack[data-dir=next] .is-entering{z-index:1;animation:rcv-enter-next .38s cubic-bezier(.16,1,.3,1)}.rcv-stack[data-dir=prev] .is-leaving{z-index:1;animation:rcv-leave-prev .38s cubic-bezier(.4,0,.2,1) forwards}.rcv-stack[data-dir=prev] .is-entering{z-index:2;animation:rcv-enter-prev .38s cubic-bezier(.16,1,.3,1)}@keyframes rcv-leave-next{0%{transform:none;opacity:1}55%{opacity:1}to{transform:translate(-64%) rotate(-7deg) scale(.92);opacity:0}}@keyframes rcv-enter-next{0%{transform:translateY(16px) scale(.9);opacity:.3}}@keyframes rcv-leave-prev{to{transform:translateY(16px) scale(.9);opacity:0}}@keyframes rcv-enter-prev{0%{transform:translate(-64%) rotate(-7deg) scale(.92);opacity:0}45%{opacity:1}}@media(prefers-reduced-motion:reduce){.rcv-layer{animation:none!important}}.rcv-card{position:relative;height:100%;width:100%;border-radius:24px;padding:10px;background-color:#efe6d4;background-size:cover;background-position:center;box-shadow:0 26px 60px #3e322833,0 6px 14px #3e32281f}.rcv-card.is-plain{padding:0;background:var(--paper-surface);border:1.5px solid rgba(62,50,40,.08)}.rcv-paper{position:relative;height:100%;width:100%;border-radius:16px;overflow:hidden;background:#fffffff0}.rcv-card.is-plain .rcv-paper{border-radius:23px;background:var(--paper-surface)}.rcv-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;padding:26px 22px 62px;scrollbar-width:thin;scrollbar-color:rgba(62,50,40,.22) transparent;overscroll-behavior:contain}.rcv-scroll::-webkit-scrollbar{width:6px}.rcv-scroll::-webkit-scrollbar-thumb{background:#3e322833;border-radius:999px}.rcv-scroll::-webkit-scrollbar-track{background:transparent}.rcv-hero-emoji{font-size:3rem;line-height:1;text-align:center;margin:2px 0 20px;-webkit-user-select:none;user-select:none}.rcv-card-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.4;text-align:center;color:var(--ink);margin:0 0 16px;letter-spacing:-.01em}.rcv-blocks{display:flex;flex-direction:column;gap:12px}.rcv-blocks .rc-block{color:var(--ink);font-size:.94rem;line-height:1.62}.rcv-blocks .rc-block p{margin:0 0 .55em}.rcv-blocks .rc-block>*:last-child{margin-bottom:0}.rcv-blocks .rc-block-paragraph{text-align:center}.rcv-blocks .rc-block-list,.rcv-blocks .rc-block-quote,.rcv-blocks .rc-block-callout,.rcv-blocks .rc-block-code{text-align:left}.rcv-blocks .rc-block-list ul,.rcv-blocks .rc-block-list ol{margin:0;padding-left:1.15rem}.rcv-blocks .rc-block-list li{margin-bottom:.3em}.rcv-blocks .rc-block-list li::marker{color:var(--pv-accent)}.rcv-blocks .rc-block-quote{border-left:3px solid var(--pv-accent);padding:2px 0 2px 14px;font-style:italic;color:#574636}.rcv-blocks .rc-block-callout{position:relative;padding:12px 14px 12px 40px;border-radius:14px;border:1px solid}.rcv-blocks .rc-block-callout:before{content:"💡";position:absolute;left:13px;top:11px;font-size:.95rem;line-height:1.5}.rcv-blocks .rc-callout-info{background:color-mix(in srgb,var(--pv-accent) 12%,transparent);border-color:color-mix(in srgb,var(--pv-accent) 40%,transparent)}.rcv-blocks .rc-callout-warning{background:#e0a1001f;border-color:#e0a10066}.rcv-blocks .rc-callout-warning:before{content:"⚠️"}.rcv-blocks .rc-callout-error{background:#e5484d1f;border-color:#e5484d66}.rcv-blocks .rc-callout-error:before{content:"⛔"}.rcv-blocks .rc-block-code{background:#3e32280d;border:1px solid rgba(62,50,40,.1);border-radius:12px;padding:12px 14px}.rcv-blocks .rc-block-code pre{margin:0;padding:0;background:none;overflow-x:auto}.rcv-blocks code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;color:#b48a26;background:#ffb3001f;padding:.08em .32em;border-radius:4px}.rcv-blocks pre code{background:none;padding:0;line-height:1.5}.rcv-code-explanation{margin:10px 0 0;font-style:italic;font-size:.85rem;color:var(--pencil)}.rcv-foot{position:absolute;left:0;right:0;bottom:0;pointer-events:none;display:flex;align-items:center;gap:10px;padding:28px 16px 13px;background:linear-gradient(to bottom,#fff0,color-mix(in srgb,var(--pv-type) 8%,rgba(255,255,255,.7)),color-mix(in srgb,var(--pv-type) 18%,rgba(255,255,255,.95)) 70%,color-mix(in srgb,var(--pv-type) 28%,#ffffff))}.rcv-foot:before,.rcv-foot:after{content:"";flex:1 1 0;height:1px;background:color-mix(in srgb,var(--pv-type) 45%,transparent)}.rcv-type-label{flex:0 0 auto;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--pv-type) 82%,#3e3228);white-space:nowrap}.rcv-card.is-cover{padding:0;overflow:hidden}.rcv-cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;overflow:hidden;display:flex;align-items:flex-end}.rcv-cover-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.pv-cover-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffe0b2,#fff8e1)}.rcv-cover-band{position:relative;width:100%;padding:18px 20px;background:#ffffffbd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center;font-family:var(--font-display);font-weight:700;font-size:1.15rem;line-height:1.35;color:#191510;text-shadow:0 0 4px #fff,0 0 10px #fff}.rcv-cover-kicker{display:block;font-family:var(--font-body);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--pv-accent) 78%,#3e3228);margin-bottom:6px;text-shadow:none}.pv-hint{flex:0 0 auto;text-align:center;font-size:.72rem;color:var(--pencil);margin:0;padding:2px 16px 12px}.pv-panel{flex:0 0 auto;min-width:0;display:flex;flex-direction:column;background:var(--paper-bg);border-right:1px solid var(--paper-line);animation:pv-panel-in .28s cubic-bezier(.16,1,.3,1)}@keyframes pv-panel-in{0%{opacity:0;transform:translate(-28px)}}@media(prefers-reduced-motion:reduce){.pv-panel{animation:none}}@media(max-width:900px){.pv-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:4;height:min(74vh,640px);border-right:none;border-top:1px solid var(--paper-line);border-radius:20px 20px 0 0;box-shadow:0 -18px 44px #3e32283d;animation:pv-panel-up .28s cubic-bezier(.16,1,.3,1)}@keyframes pv-panel-up{0%{transform:translateY(100%)}}}.pv-scrim{display:none}@media(max-width:900px){.pv-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;border:none;border-radius:0;padding:0;background:#3e322842;cursor:default;animation:pv-fade .2s ease-out}}@keyframes pv-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.pv-scrim{animation:none}}.pv-list-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;border:none;border-radius:0;padding:0;background:#3e322842;cursor:default;animation:pv-fade .2s ease-out}@media(prefers-reduced-motion:reduce){.pv-list-scrim{animation:none}}.pv-list-overlay{position:fixed;top:0;bottom:0;left:0;z-index:9;width:min(340px,86vw);display:flex;flex-direction:column;background:var(--paper-bg);border-right:1px solid var(--paper-line);box-shadow:20px 0 48px #3e32282e;animation:pv-list-in .24s cubic-bezier(.16,1,.3,1)}@keyframes pv-list-in{0%{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.pv-list-overlay{animation:none}}@media(max-width:900px){.pv-list-overlay{top:auto;left:0;right:0;bottom:0;width:auto;height:min(74vh,640px);border-right:none;border-top:1px solid var(--paper-line);border-radius:20px 20px 0 0;box-shadow:0 -18px 44px #3e32283d;animation:pv-panel-up .28s cubic-bezier(.16,1,.3,1)}}.pv-drawer-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:12px 10px 10px 18px;border-bottom:1px solid var(--paper-line)}.pv-drawer-title{flex:1 1 auto;min-width:0;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-drawer-scroll{flex:1 1 auto;overflow-y:auto;padding:14px 16px 36px;scrollbar-width:thin;scrollbar-color:rgba(62,50,40,.22) transparent}.pv-drawer-group+.pv-drawer-group{margin-top:22px}.pv-drawer-group-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:.8rem;font-weight:700;color:var(--ink)}.pv-drawer-group-title:before{content:"";flex:0 0 auto;width:4px;height:14px;border-radius:2px;background:var(--pv-accent)}.pv-tile{display:flex;width:100%;align-items:center;gap:10px;text-align:left;padding:9px 10px;margin-bottom:6px;border-radius:12px;border:1px solid rgba(62,50,40,.08);background:var(--paper-surface);color:var(--ink);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.pv-tile:hover:not(:disabled){border-color:color-mix(in srgb,var(--pv-accent) 45%,transparent);transform:translate(2px);filter:none}.pv-tile.is-current{border-color:var(--pv-accent);background:color-mix(in srgb,var(--pv-accent) 8%,#ffffff);box-shadow:0 3px 12px color-mix(in srgb,var(--pv-accent) 26%,transparent)}.pv-tile-emoji{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:1rem;background:color-mix(in srgb,var(--pv-type) 18%,transparent)}.pv-tile-text{flex:1 1 auto;min-width:0}.pv-tile-label{display:block;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--pv-type) 80%,#3e3228);margin-bottom:1px}.pv-tile-title{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.82rem;font-weight:500;line-height:1.35;color:var(--ink);white-space:normal}.pv-tile-cover{position:relative;display:block;width:100%;height:74px;padding:0;margin-bottom:8px;border-radius:12px;border:1px solid rgba(62,50,40,.08);overflow:hidden;background:#efe6d4;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.pv-tile-cover:hover{border-color:color-mix(in srgb,var(--pv-accent) 45%,transparent);filter:none}.pv-tile-cover.is-current{border-color:var(--pv-accent);box-shadow:0 3px 12px color-mix(in srgb,var(--pv-accent) 26%,transparent)}.pv-tile-cover img,.pv-tile-cover .pv-cover-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.pv-tile-cover-band{position:absolute;left:0;right:0;bottom:0;padding:5px 8px;background:#ffffffc7;font-size:.7rem;font-weight:700;color:#191510;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-root .annotation-toolbar,.pv-root .annotation-note-editor{background:var(--paper-surface);border-color:#3e32281f;box-shadow:0 18px 44px #3e32283d;color:var(--ink)}.pv-root .annotation-toolbar-row button{color:var(--ink);background:none}.pv-root .annotation-toolbar-row button:hover:not(:disabled){background:#3e322812}.pv-root .annotation-toolbar-row button.is-active{background:#3e322812;color:var(--deep-gold)}.pv-root .annotation-toolbar-sub{border-top-color:var(--paper-line)}.pv-root .annotation-toolbar-divider{background:var(--paper-line)}.pv-root .annotation-swatch{box-shadow:inset 0 0 0 1px #3e322826}.pv-root .annotation-color-grid button.is-active{border-color:var(--ink)}.pv-root .annotation-note-anchor{color:var(--pencil)}.pv-root .annotation-note-editor textarea{background:#fff;border:1px solid var(--paper-line);color:var(--ink);border-radius:10px}.pv-root .annotation-note-editor textarea:focus{border-color:var(--pv-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pv-accent) 18%,transparent);outline:none}.pv-root .annotation-note-actions button.ghost{background:#3e32280f;border-color:var(--paper-line);color:var(--ink)}.pv-root .annotation-note-actions button.ghost:hover:not(:disabled){background:#3e32281c}.pv-root .annotation-note-actions button.danger{color:#c0392f;background:#e5484d1a;border-color:#e5484d59}.pv-center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--pencil)}@media(max-width:640px){.rcv-stack{--rcv-card-h: clamp(280px, calc(100dvh - 210px) , 720px);width:min(calc(var(--rcv-card-h) * .66),calc(100vw - 24px))}.pv-nav-btn{position:absolute;top:50%;z-index:2;width:36px;height:36px;transform:translateY(-50%);background:#ffffffd1;opacity:.9}.pv-nav-btn:first-of-type{left:6px}.pv-nav-btn:last-of-type{right:6px}.pv-nav-btn:hover:not(:disabled){transform:translateY(-50%) scale(1.07)}.rcv-scroll{padding:22px 18px 58px}}.dnv-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(62,50,40,.22) transparent}.dnv-scroll::-webkit-scrollbar{width:8px}.dnv-scroll::-webkit-scrollbar-thumb{background:#3e322833;border-radius:999px}.dnv-scroll::-webkit-scrollbar-track{background:transparent}.dnv-sheet{max-width:720px;margin:0 auto;padding:8px 24px 64px}.dnv-hero{border-radius:16px;overflow:hidden;margin-bottom:18px;height:clamp(150px,24vh,240px);background:#efe6d4;box-shadow:0 10px 28px #3e322824}.dnv-hero img,.dnv-hero .topic-image{display:block;width:100%;height:100%;object-fit:cover}.dnv-title{font-family:var(--font-display);font-size:1.55rem;font-weight:700;line-height:1.3;letter-spacing:-.015em;color:var(--ink);margin:0;text-shadow:0 0 10px color-mix(in srgb,var(--pv-accent) 32%,transparent),0 0 22px color-mix(in srgb,var(--pv-accent) 14%,transparent)}.dnv-summary{margin:14px 0 0;font-size:.95rem;font-style:italic;line-height:1.6;color:var(--pencil)}.dnv-summary p:last-child{margin-bottom:0}.dnv-prose{margin-top:26px;color:var(--ink);font-size:1rem;line-height:1.75}.dnv-prose>*:first-child{margin-top:0}.dnv-prose>*:last-child{margin-bottom:0}.dnv-prose p{margin:0 0 1em}.dnv-prose h1,.dnv-prose h2,.dnv-prose h3,.dnv-prose h4{font-family:var(--font-display);color:var(--ink);line-height:1.35;margin:1.9em 0 .6em}.dnv-prose h1{font-size:1.4rem}.dnv-prose h2{font-size:1.18rem;padding-bottom:.35em;border-bottom:1px solid color-mix(in srgb,var(--pv-accent) 26%,transparent)}.dnv-prose h3{font-size:1.05rem}.dnv-prose h4{font-size:.97rem;color:color-mix(in srgb,var(--pv-accent) 70%,#3e3228)}.dnv-prose ul,.dnv-prose ol{margin:0 0 1em;padding-left:1.35rem}.dnv-prose li{margin-bottom:.4em}.dnv-prose li::marker{color:var(--pv-accent)}.dnv-prose blockquote{margin:1.2em 0;padding:14px 18px;border-radius:12px;border-left:3px solid var(--pv-accent);background:color-mix(in srgb,var(--pv-accent) 8%,transparent);color:var(--pencil);font-style:italic}.dnv-prose blockquote p:last-child{margin-bottom:0}.dnv-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;color:#b48a26;background:#ffb3001f;padding:.1em .35em;border-radius:4px}.dnv-prose pre{margin:1.2em 0;padding:16px;border-radius:12px;background:#3e32280d;border:1px solid rgba(62,50,40,.1);overflow-x:auto}.dnv-prose pre code{background:none;padding:0;line-height:1.55}.dnv-prose hr{border:none;border-top:1px solid var(--paper-line);margin:2em 0}.dnv-prose a{color:color-mix(in srgb,var(--pv-accent) 78%,#3e3228);text-decoration:underline;text-underline-offset:2px}.dnv-prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.92rem}.dnv-prose th,.dnv-prose td{border:1px solid var(--paper-line);padding:8px 10px;text-align:left}.dnv-prose th{background:color-mix(in srgb,var(--pv-accent) 10%,transparent);font-weight:700}.dnv-prose img{max-width:100%;border-radius:12px}.dnv-disclaimer{margin:20px 0 0;text-align:center;font-size:.7rem;color:color-mix(in srgb,var(--pencil) 75%,transparent)}.dnv-adjacent{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:92px;padding:0 16px;margin:0;border:none;border-radius:14px;overflow:hidden;background:var(--paper-bg);color:#0000008c;font-size:.92rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.dnv-adjacent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 26px #3e322824;filter:none}.dnv-adjacent img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.35}.dnv-adjacent:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--paper-bg) 35%,transparent) 45%,var(--paper-bg) 100%)}.dnv-adjacent.is-prev:after{background:linear-gradient(to top,transparent 0%,color-mix(in srgb,var(--paper-bg) 35%,transparent) 45%,var(--paper-bg) 100%)}.dnv-adjacent-label{position:relative;z-index:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:-1px -1px 1px rgba(255,255,255,.9),1px -1px 1px rgba(255,255,255,.9),1px 1px 1px rgba(255,255,255,.9),-1px 1px 1px rgba(255,255,255,.9)}.dnv-adjacent-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px 0 0;font-size:.7rem;color:var(--pencil)}.dnv-adjacent-hint.is-top{margin:0 0 14px}.dnv-adjacent-chevron{color:var(--pv-accent);display:inline-flex}.pv-tile-badge{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:var(--pv-accent);background:color-mix(in srgb,var(--pv-accent) 14%,transparent)}.pv-tile.is-stacked{align-items:flex-start}.pv-tile-summary{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;font-size:.74rem;line-height:1.4;color:var(--pencil);white-space:normal}@media(max-width:640px){.dnv-sheet{padding:8px 16px 56px}.dnv-title{font-size:1.32rem}}.deep-note-page{min-height:100vh;margin:0 -16px -96px;padding:.75rem 16px 32px;background:var(--paper-bg);color:var(--ink)}.deep-note-body h1{font-size:1.5rem}.deep-note-summary{color:var(--pencil);font-style:italic;padding-bottom:1rem;border-bottom:1px solid var(--paper-line);margin-bottom:1.25rem}.deep-note-body h2{font-size:1.15rem;margin-top:1.6rem}.deep-note-body h3{margin-top:1.3rem}.deep-note-body ul,.deep-note-body ol{padding-left:1.3rem}.tsv-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(62,50,40,.22) transparent}.tsv-scroll::-webkit-scrollbar{width:8px}.tsv-scroll::-webkit-scrollbar-thumb{background:#3e322833;border-radius:999px}.tsv-scroll::-webkit-scrollbar-track{background:transparent}.tsv-sheet{max-width:720px;margin:0 auto;padding:10px 24px 40px}.tsv-status{text-align:center;color:var(--pencil);font-size:.9rem;padding:48px 0;margin:0}.tsv-topic-head{display:flex;align-items:center;gap:10px;margin:18px 0 6px;padding:7px 12px;border-radius:8px;background:color-mix(in srgb,var(--seg) 10%,transparent);border:1px solid color-mix(in srgb,var(--seg) 35%,transparent);scroll-margin-top:16px}.tsv-topic-head:first-child{margin-top:4px}.tsv-topic-bar{flex:0 0 auto;width:3.5px;height:16px;border-radius:2px;background:var(--seg)}.tsv-topic-label{flex:0 0 auto;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--seg)}.tsv-topic-title{flex:1 1 auto;min-width:0;font-size:.82rem;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsv-line{display:flex;align-items:flex-start;gap:16px;padding:10px 8px;border:1px solid transparent;border-radius:8px;scroll-margin:40vh 0;transition:background .25s ease,border-color .25s ease}.tsv-line.is-seekable{cursor:pointer}.tsv-line.is-seekable:hover{background:#3e32280a}.tsv-time{flex:0 0 auto;min-width:3.1rem;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.6;color:color-mix(in srgb,var(--pv-accent) 82%,#3e3228)}.tsv-text{flex:1 1 auto;min-width:0;font-size:.9rem;line-height:1.6;color:var(--ink)}.tsv-line.is-aside .tsv-text{color:var(--pencil);font-style:italic}.tsv-line.is-active{background:color-mix(in srgb,var(--pv-accent) 12%,transparent);border-color:color-mix(in srgb,var(--pv-accent) 40%,transparent)}.tsv-line.is-active .tsv-text{font-weight:600}.tsv-line.is-cited{background:color-mix(in srgb,var(--pv-accent) 12%,transparent);border-left:3px solid color-mix(in srgb,var(--pv-accent) 60%,transparent);border-radius:0 8px 8px 0}.tsv-player{flex:0 0 auto;background:var(--paper-surface);border-top:1.5px solid var(--paper-line);box-shadow:0 -4px 14px #3e32280f}.tsv-player-main{max-width:720px;margin:0 auto;padding:10px 24px 18px}.tsv-player-status{margin:0;padding:18px 0;text-align:center;font-size:.82rem;color:var(--pencil)}.tsv-inner{display:flex;align-items:center;gap:8px;width:100%;max-width:720px;margin:0 auto;padding:0 24px;min-width:0}.tsv-topic-current{display:flex;align-items:center;width:100%;padding:7px 0;border:none;border-radius:0;border-bottom:1px solid var(--paper-line);background:color-mix(in srgb,var(--seg) 10%,transparent);color:var(--ink);cursor:pointer;text-align:left;transition:background .2s ease}.tsv-topic-current:hover{background:color-mix(in srgb,var(--seg) 16%,transparent);filter:none}.tsv-topic-chip{flex:0 0 auto;min-width:22px;height:18px;padding:0 7px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--seg);background:color-mix(in srgb,var(--seg) 18%,transparent)}.tsv-topic-chip.is-solid{color:#fff;background:var(--seg)}.tsv-topic-current-title{flex:1 1 auto;min-width:0;font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsv-topic-menu{background:var(--paper-bg);border-top:1px solid var(--paper-line);animation:tsv-menu-in .2s ease-out}@keyframes tsv-menu-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.tsv-topic-menu{animation:none}}.tsv-topic-menu-head{display:flex;align-items:center;padding:9px 0;background:var(--paper-surface);border-bottom:1px solid var(--paper-line);font-size:.76rem;font-weight:700;color:var(--ink)}.tsv-topic-menu-head svg{color:var(--pv-accent)}.tsv-topic-menu-list{max-width:720px;margin:0 auto;max-height:240px;overflow-y:auto;padding:6px 16px 10px;scrollbar-width:thin;scrollbar-color:rgba(62,50,40,.22) transparent}.tsv-topic-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:none;color:var(--ink);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease}.tsv-topic-menu-item:hover{background:color-mix(in srgb,var(--seg) 10%,transparent);filter:none}.tsv-topic-menu-item.is-current{background:color-mix(in srgb,var(--seg) 12%,transparent);border-color:color-mix(in srgb,var(--seg) 40%,transparent)}.tsv-topic-menu-title{flex:1 1 auto;min-width:0;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsv-bar{position:relative;height:20px;cursor:pointer;touch-action:none;outline:none}.tsv-bar:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--pv-accent) 45%,transparent);border-radius:6px}.tsv-seg{position:absolute;top:50%;height:4.5px;transform:translateY(-50%);border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--seg) 22%,var(--paper-line))}.tsv-seg-fill{display:block;height:100%;border-radius:999px;background:var(--seg)}.tsv-knob{position:absolute;top:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;transform:translateY(-50%);background:var(--pv-accent);box-shadow:0 0 0 3px var(--paper-surface),0 2px 6px #3e322847;pointer-events:none}.tsv-times{display:flex;justify-content:space-between;padding:0 2px;font-size:.7rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--pencil)}.tsv-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.tsv-ctrl{width:34px;height:34px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--pv-accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,transform .18s ease}.tsv-ctrl:hover:not(:disabled){background:color-mix(in srgb,var(--pv-accent) 12%,transparent);transform:scale(1.08);filter:none}.tsv-ctrl:disabled{opacity:.3;cursor:default}.tsv-play{width:48px;height:48px;padding:0;margin:0 4px;border:none;border-radius:50%;background:var(--pv-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px color-mix(in srgb,var(--pv-accent) 40%,transparent);transition:transform .18s ease}.tsv-play:hover{transform:scale(1.05);filter:none}.tsv-speed{position:relative;margin-right:4px}.tsv-speed-btn{min-width:46px;padding:5px 9px;border-radius:999px;border:1px solid var(--paper-line);background:var(--paper-bg);color:var(--ink);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.tsv-speed-btn:hover,.tsv-speed-btn.is-active{border-color:color-mix(in srgb,var(--pv-accent) 50%,transparent);color:var(--pv-accent);filter:none}.tsv-speed-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:5;display:flex;flex-direction:column;padding:4px;border-radius:12px;border:1px solid var(--paper-line);background:var(--paper-surface);box-shadow:0 14px 34px #3e322833}.tsv-speed-menu button{padding:6px 14px;border:none;border-radius:8px;background:none;color:var(--ink);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer}.tsv-speed-menu button:hover{background:#3e322812;filter:none}.tsv-speed-menu button.is-current{color:var(--pv-accent);font-weight:700}@media(max-width:640px){.tsv-sheet{padding:10px 16px 32px}.tsv-player-main{padding-left:16px;padding-right:16px}.tsv-inner{padding:0 16px}.tsv-controls{gap:6px}}.tsheet{flex-basis:min(440px,40vw)}.tsheet .pv-top{padding:6px 10px 0;border-bottom:1px solid var(--paper-line)}.tsheet .pv-top-row{min-height:36px}.tsheet .pv-title{font-size:.88rem}.tsv-sheet.is-narrow{max-width:none;padding:8px 14px 24px}.tsv-sheet.is-narrow .tsv-line{gap:10px;padding:8px 6px}.tsv-sheet.is-narrow .tsv-text{font-size:.85rem}.tsv-sheet.is-narrow .tsv-time{min-width:2.8rem;font-size:.74rem}.tsv-player.is-compact .tsv-player-main{max-width:none;padding:8px 14px 14px}.tsv-player.is-compact .tsv-inner{max-width:none;padding:0 14px}.tsv-player.is-compact .tsv-topic-menu-list{max-width:none;max-height:180px}.tsv-player.is-compact .tsv-controls{gap:4px}.tsv-player.is-compact .tsv-play{width:42px;height:42px}.annotation-mark{background:none;color:inherit;border-radius:2px;cursor:pointer;text-decoration-skip-ink:none}.annotation-note-marker{display:inline-block;width:.7em;height:.7em;margin-left:.15em;vertical-align:baseline;cursor:pointer}.annotation-note-marker:after{content:"";display:block;width:100%;height:100%;border-radius:2px 2px 2px 0;background:#c5a059}.annotation-toolbar,.annotation-note-editor{position:fixed;z-index:80;background:var(--void-raised);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-float);padding:.4rem;animation:pop-in .12s ease-out}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 4px))}}@media(prefers-reduced-motion:reduce){.annotation-toolbar,.annotation-note-editor{animation:none}}.annotation-toolbar-row{display:flex;align-items:center;gap:.2rem}.annotation-toolbar-row button{background:none;border:none;color:var(--starlight);font-size:.85rem;font-weight:500;padding:.4rem .6rem;display:inline-flex;align-items:center;gap:.35rem}.annotation-toolbar-row button:hover:not(:disabled){background:var(--glass-high);filter:none}.annotation-toolbar-row button.is-active{background:var(--glass-high);color:var(--gold)}.annotation-toolbar-sub{border-top:1px solid var(--glass-border);margin-top:.35rem;padding-top:.35rem}.annotation-toolbar-divider{width:1px;height:20px;background:var(--glass-border);margin:0 .3rem}.annotation-swatch{width:14px;height:14px;border-radius:4px;display:inline-block}.hl-preview{font-weight:700;font-size:.9rem;padding:.05rem .15rem}.hl-preview-marker{background:color-mix(in srgb,var(--hl) 55%,transparent);border-radius:3px;color:#111}.hl-preview-line{text-decoration:underline solid var(--hl);text-decoration-thickness:2px;text-underline-offset:3px}.hl-preview-wave{text-decoration:underline wavy var(--hl);text-decoration-thickness:2px;text-underline-offset:3px}.annotation-color-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:.25rem;padding:.4rem .2rem .2rem}.annotation-color-grid button{width:20px;height:20px;border-radius:5px;padding:0;border:2px solid transparent}.annotation-color-grid button.is-active{border-color:var(--starlight)}.annotation-note-editor{width:300px;padding:.8rem;display:flex;flex-direction:column;gap:.55rem}.annotation-note-anchor{margin:0;font-size:.8rem;color:var(--comet);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.annotation-note-actions{display:flex;justify-content:flex-end;gap:.4rem}.annotation-note-actions button{font-size:.85rem;padding:.4rem .75rem}.tm-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:var(--void-deep);display:flex;flex-direction:column}.tm-header{flex-shrink:0;z-index:10;background:#0b0f19;border-bottom:1px solid var(--glass-border);box-shadow:0 4px 20px #00000073;display:flex;flex-direction:column}.tm-header-bar{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;gap:.75rem}.tm-header-left,.tm-header-right{display:flex;align-items:center;min-width:140px}.tm-header-right{justify-content:flex-end}.tm-header-center{flex:1;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.tm-mode-title{margin:0;font-size:.95rem;font-weight:800;letter-spacing:.02em;color:var(--starlight);white-space:nowrap}.tm-mode-subtitle{margin:.15rem 0 0;font-size:.78rem;color:var(--comet);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-header-chips{display:flex;justify-content:center;padding:0 1rem .65rem;background:transparent}.tm-canvas-shell{flex:1;position:relative;min-height:0;overflow:hidden}.tm-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.tm-svg{display:block;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.04),transparent 70%),var(--void-deep);cursor:grab;touch-action:none}.tm-svg:active{cursor:grabbing}.tm-back-btn{display:inline-flex;align-items:center;gap:.35rem;max-width:260px;padding:.45rem .85rem;border-radius:999px;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--starlight);font-size:.82rem;font-weight:600;text-decoration:none!important;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.tm-back-btn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-back-btn:hover{text-decoration:none!important;background:#ffffff1f;border-color:#ffffff4d;box-shadow:0 0 16px #ffffff2e;color:#fff}.tm-app-bar-actions{display:flex;align-items:center;gap:.5rem}.tm-rebuild-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:999px;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--starlight);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease}.tm-rebuild-btn:hover{background:#ffffff1a}.tm-zoom-btn{width:34px;height:34px;padding:0;border-radius:50%;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--starlight);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.tm-zoom-btn svg{display:block;width:18px;height:18px;stroke:currentColor}.tm-zoom-btn:hover{background:#ffffff1f}.tm-lecture-chips{display:flex;gap:.4rem;overflow-x:auto;max-width:100%;padding:.2rem .4rem;scrollbar-width:none}.tm-lecture-chips::-webkit-scrollbar{display:none}.tm-lecture-chip{flex:0 0 auto;padding:.35rem .8rem;border-radius:999px;border:1.2px solid rgba(255,255,255,.18);background:#ffffff0a;color:var(--starlight);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.tm-lecture-chip:hover{background:#ffffff14}.tm-lecture-chip.is-selected{background:var(--starlight);border-color:var(--starlight);color:var(--void-deep)}@media(max-width:680px){.tm-header-left,.tm-header-right{min-width:auto}.tm-rebuild-label{display:none}.tm-header-center{padding:0 .25rem}.tm-mode-title{font-size:.88rem}.tm-mode-subtitle{font-size:.74rem}}.tm-skeleton-canvas{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.04),transparent 70%),var(--void-deep)}.tm-skeleton-nodes{position:relative;width:360px;height:280px;max-width:90vw;max-height:50vh}.tm-skeleton-orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px dashed rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.tm-skeleton-orbit.orbit-1{width:170px;height:170px}.tm-skeleton-orbit.orbit-2{width:300px;height:300px}.tm-skeleton-node{position:absolute;border-radius:50%!important}.tm-skeleton-node.node-center{width:58px;height:58px;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffff14}.tm-skeleton-node.node-1{width:38px;height:38px;top:14%;left:18%;background:#ffffff0f}.tm-skeleton-node.node-2{width:44px;height:44px;top:22%;right:14%;background:#ffffff0f}.tm-skeleton-node.node-3{width:36px;height:36px;bottom:16%;left:24%;background:#ffffff0f}.tm-skeleton-node.node-4{width:42px;height:42px;bottom:10%;right:20%;background:#ffffff0f}.tm-stale-notice{position:absolute;left:1rem;bottom:1rem;z-index:1;max-width:min(360px,calc(100vw - 2rem));margin:0;padding:.55rem .85rem;border-radius:var(--radius-sm);background:#0c0f1ae6;border:1px solid var(--glass-border);font-size:.8rem;color:var(--comet)}.tm-cluster-blob{cursor:pointer;transition:fill .2s ease,stroke .2s ease}.tm-edge{stroke:var(--comet);transition:stroke-opacity .2s ease}.tm-edge-arrow{fill:var(--comet);transition:fill-opacity .2s ease}.tm-ghost-edge{stroke:var(--comet);fill:none;transition:stroke-opacity .2s ease}.tm-edge-label-bg{fill:var(--void-deep)}.tm-edge-label-text{fill:var(--starlight);font-family:var(--font-body);font-weight:600}.tm-cluster-center-label-bg{fill:#0c0f1ad9}.tm-cluster-outside-label-bg{fill:#0c0f1ae0;stroke-width:1;stroke-opacity:.5}.tm-node{cursor:pointer}.tm-node-glow{fill:none;stroke:#ffffff59;stroke-width:4}.tm-node-circle{transition:fill-opacity .2s ease}.tm-node-circle.is-ghost{transition:stroke-opacity .2s ease}.tm-node-label{fill:var(--starlight);font-family:var(--font-body);font-weight:600;pointer-events:none;transition:fill-opacity .2s ease}.tm-node-label.is-ghost{font-style:italic;font-weight:400}.tm-canvas-shell .adaptive-sheet-portal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50}.tm-canvas-shell .adaptive-sheet-container{position:absolute;top:0;bottom:0;left:0;box-shadow:10px 0 36px #00000073}@media(max-width:900px){.tm-canvas-shell .adaptive-sheet-container{top:auto;bottom:0;left:0;right:0;height:min(85%,620px);box-shadow:0 -10px 36px #00000073}}.topicmap-detail-sheet .adaptive-sheet-body{padding:1.4rem 1.5rem 2rem}.tmds-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.tmds-breadcrumb{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--gold)}.tmds-close-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:4px;color:var(--comet, #8e99a6);cursor:pointer;transition:color .15s ease;flex-shrink:0}.tmds-close-btn:hover{color:#fff}.tmds-title{margin:0 0 .6rem;font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--starlight)}.tmds-summary{margin:0 0 .9rem;font-size:.86rem;line-height:1.55;color:var(--comet)}.tmds-summary.is-placeholder{font-style:italic;opacity:.7}.tmds-go-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:46px;padding:.6rem 1rem;border:none;border-radius:23px;background:linear-gradient(135deg,var(--gold),#ffd700);color:#14161f;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 6px 18px #ffb30040}.tmds-section{margin-top:1.4rem}.tmds-section-label{margin:0 0 .5rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--comet)}.tmds-cluster-name{margin:0;font-size:.9rem;font-weight:600;color:var(--starlight)}.tmds-cluster-name.is-placeholder{font-style:italic;color:var(--comet);opacity:.75}.tmds-related-empty{margin:0;font-size:.82rem;font-style:italic;color:var(--comet);opacity:.75}.tmds-related-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.tmds-related-item{display:flex;align-items:flex-start;gap:.5rem}.tmds-related-arrow{flex:0 0 auto;margin-top:2px;color:var(--gold)}.tmds-related-text{display:flex;flex-direction:column;gap:.1rem}.tmds-related-title{font-size:.86rem;font-weight:600;color:var(--starlight)}.tmds-related-relation{font-size:.76rem;color:var(--comet)}.dot,.course-color-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.account-header{display:flex;align-items:center;gap:1rem;margin:.5rem 0 1.25rem}.account-top-header{margin-bottom:1.5rem}.account-user-row{display:flex;align-items:center;gap:1.2rem;margin:.5rem 0 1.4rem}.account-avatar-wrapper{position:relative;cursor:pointer;border-radius:50%;display:inline-flex;transition:transform .18s ease}.account-avatar-wrapper:hover{transform:scale(1.04)}.account-avatar-edit-badge{position:absolute;right:0;bottom:0;background:var(--star-gold, #fbc02d);width:22px;height:22px;border-radius:50%;border:2px solid var(--universe-void, #0e111a);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006}.account-name-block{flex:1;min-width:0}.account-name-display-row{display:flex;align-items:center;gap:.75rem}.account-display-name{margin:0;font-size:1.45rem;font-weight:700;color:#f2f2f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-edit-name-btn{background:transparent;border:none;color:var(--comet, #8e99a6);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.account-edit-name-btn:hover{color:#f2f2f2}.account-inline-name-edit{display:flex;align-items:center;gap:.5rem}.account-name-input{flex:1;background:#ffffff14;border:1px solid var(--star-gold, #fbc02d);border-radius:8px;padding:.4rem .65rem;font-size:1.15rem;font-weight:600;color:#fff;outline:none}.account-icon-btn{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.account-icon-btn.is-save{color:var(--growth-green, #4caf50)}.account-icon-btn.is-cancel{color:var(--comet, #8e99a6)}.credit-card-interactive{display:block;text-decoration:none;padding:1.1rem 1.25rem;border-radius:var(--radius);background:var(--glass-low);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .18s ease;cursor:pointer}.credit-card-interactive:hover{background:var(--glass-high);text-decoration:none}.credit-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.credit-card-title-group{display:flex;align-items:center;gap:.6rem}.credit-card-icon-pill{width:28px;height:28px;border-radius:50%;background:#fbc02d26;display:flex;align-items:center;justify-content:center}.credit-card-title{color:#f2f2f2;font-size:.95rem;font-weight:600;letter-spacing:.02em}.credit-card-value-group{display:flex;align-items:baseline;gap:.2rem}.credit-card-bold-val{color:var(--star-gold, #fbc02d);font-size:1.15rem;font-weight:700}.credit-card-denom-val{color:var(--comet, #8e99a6);font-size:.88rem;font-weight:500}.credit-card-loading-val{color:var(--comet, #8e99a6);font-size:.85rem;font-weight:500;animation:creditTextPulse 1.5s infinite ease-in-out}@keyframes creditTextPulse{0%,to{opacity:.6}50%{opacity:1}}.credit-card-chevron{color:var(--comet, #8e99a6);margin-left:.25rem;transform:translateY(2px)}.credit-dual-track{position:relative;height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden;margin-top:.85rem}.credit-bar-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff0d,#ffffff2e,#ffffff0d);background-size:200% 100%;animation:creditBarPulse 1.6s infinite linear;border-radius:999px}@keyframes creditBarPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.credit-bar-depleted{height:100%;width:3%;background:linear-gradient(90deg,#ff5252,#d32f2f);border-radius:999px}.credit-bar-extra{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#c084fc,#a855f7);box-shadow:0 1px 6px #a855f766;border-radius:999px;transition:width .3s ease}.credit-bar-monthly{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#ffb300,#ff8f00);box-shadow:0 1px 6px #ffb30073;border-radius:999px;transition:width .3s ease}.account-preview-tile{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;text-decoration:none;transition:background .18s ease;cursor:pointer}.account-preview-tile:hover{background:var(--glass-high);text-decoration:none}.account-preview-tile-body{flex:1;min-width:0}.account-preview-tag{display:flex;align-items:center;gap:.4rem;color:var(--star-gold, #fbc02d);font-size:.7rem;font-weight:700;letter-spacing:.1em}.account-preview-desc{margin:.35rem 0 0;font-size:.88rem;line-height:1.4;color:#f2f2f2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.account-preview-desc:empty:before,.account-preview-tile:has(.account-preview-desc:empty) .account-preview-desc{color:var(--comet, #8e99a6)}.section-label-icon{margin-right:.35rem}.glass-divider{height:1px;background:#ffffff12;width:100%}.is-interactive-button{width:100%;text-align:left;background:transparent;border:none;font:inherit;cursor:pointer;color:inherit;display:flex;align-items:center;transition:background .18s ease}.is-interactive-button:hover{background:var(--glass-high);text-decoration:none}.account-badge-new{background:var(--correction-red, #ff5252);color:#fff;font-size:.65rem;font-weight:800;padding:.15rem .45rem;border-radius:999px;letter-spacing:.05em;margin-left:auto;margin-right:.5rem}.account-footer-version{text-align:center;color:var(--comet, #8e99a6);font-size:.78rem;letter-spacing:.06em;margin:2.5rem 0 1rem;opacity:.65}.account-page .credit-card-interactive,.account-page .account-preview-tile,.account-page .glass-row{transition:background .18s ease;cursor:pointer}.account-page .glass-row{border-bottom:none}.account-page .credit-card-interactive:hover,.account-page .account-preview-tile:hover,.account-page .glass-row:hover,.account-page a.glass-row:hover,.account-page button.glass-row:hover{background:var(--glass-high)!important;text-decoration:none;transform:none!important}.profile-detail-top-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.profile-detail-edit-action{display:flex;align-items:center;gap:.4rem;background:transparent;border:none;color:var(--star-gold, #fbc02d);font-size:.9rem;font-weight:600;cursor:pointer;padding:.4rem .6rem;border-radius:6px;transition:background .15s ease}.profile-detail-edit-action:hover{background:#fbc02d1f}.profile-detail-item{padding:1.25rem 1.35rem}.profile-detail-label{display:flex;align-items:center;gap:.45rem;color:var(--star-gold, #fbc02d);font-size:.72rem;font-weight:700;letter-spacing:.1em}.profile-detail-content{margin:.65rem 0 0;font-size:.92rem;line-height:1.55}.profile-detail-content.is-placeholder{color:var(--comet, #8e99a6);opacity:.7}.profile-detail-content.has-content{color:#f2f2f2}.activity-page-hero{display:flex;align-items:center;gap:1rem;margin:1.25rem 0}.activity-page-hero-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-filter-bar{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:.5rem}.activity-filter-pill{padding:.35rem .85rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-low);color:var(--starlight, #cbd5e1);font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.activity-filter-pill:hover{background:var(--glass-high)}.activity-filter-pill.is-active{background:var(--star-gold, #fbc02d);color:#0d0f18;border-color:var(--star-gold, #fbc02d);font-weight:700}.activity-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4.5rem 1.5rem;text-align:center}.activity-empty-icon{color:var(--comet, #8e99a6);opacity:.4;margin-bottom:.75rem}.activity-trash-banner{display:flex;align-items:center;gap:.75rem;background:#e539351a;border:1px solid rgba(229,57,53,.25);border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;color:#f2f2f2;font-size:.85rem;line-height:1.4}.activity-trash-banner-icon{color:var(--correction-red, #ff5252);flex-shrink:0}.activity-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.activity-card{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem 1.15rem;display:flex;align-items:flex-start;gap:1rem;transition:all .2s ease;text-decoration:none!important;color:inherit!important}.activity-card:hover{background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-1px)}.activity-card-clickable{cursor:pointer}.activity-card-left-icon{width:40px;height:40px;border-radius:10px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--comet, #8e99a6)}.activity-card-body{flex:1;min-width:0}.activity-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.activity-type-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .55rem;border-radius:6px;background:#fbc02d26;color:var(--star-gold, #fbc02d);display:inline-flex;align-items:center;gap:.3rem}.activity-type-badge.badge-todo{background:#ff980026;color:#ff9800}.activity-type-badge.badge-event{background:#2196f326;color:#2196f3}.activity-type-badge.badge-info{background:#4caf5026;color:#4caf50}.activity-type-badge.badge-hint{background:#9c27b026;color:#ba68c8}.activity-card-title{font-size:.96rem;font-weight:600;color:#fff;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card-snippet{font-size:.85rem;color:var(--comet, #8e99a6);line-height:1.45;margin:.3rem 0 .4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-card-meta{font-size:.75rem;color:#ffffff59;display:flex;align-items:center;gap:.6rem}.activity-card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:.5rem}.activity-action-btn{background:transparent!important;border:none!important;padding:.4rem!important;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:var(--comet, #8e99a6)}.activity-action-btn:hover{background:#ffffff1a!important;color:#fff}.activity-action-btn.active-gold{color:var(--star-gold, #fbc02d)}.activity-action-btn.active-red{color:var(--correction-red, #ff5252)}.activity-action-btn.active-blue{color:#2196f3}.activity-undo-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:#ffffff14!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .15s}.activity-undo-chip:hover{background:#ffffff2e!important;border-color:#ffffff59!important}.adaptive-sheet-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end}.adaptive-sheet-portal.interactive-side{pointer-events:none}.adaptive-sheet-portal.interactive-side .adaptive-sheet-container{pointer-events:auto}.adaptive-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:sheet-fade-in .22s ease-out}.adaptive-sheet-portal.has-no-scrim .adaptive-sheet-scrim{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}@media(min-width:901px){.adaptive-sheet-portal.interactive-side .adaptive-sheet-scrim{display:none}}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}.adaptive-sheet-container{position:fixed;top:0;right:0;bottom:0;width:var(--sheet-width, min(450px, 92vw));background:#111422;border-left:1px solid var(--glass-border);display:flex;flex-direction:column;z-index:1001;box-shadow:-14px 0 44px #000000a6;animation:sheet-slide-right .26s cubic-bezier(.16,1,.3,1)}.adaptive-sheet-container.is-left{right:auto;left:0;border-left:none;border-right:1px solid var(--glass-border);box-shadow:14px 0 44px #000000a6;animation:sheet-slide-left .26s cubic-bezier(.16,1,.3,1)}@keyframes sheet-slide-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheet-slide-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.adaptive-sheet-grab-bar{display:none}.adaptive-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;padding:1.35rem 1.5rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08);gap:1rem}.adaptive-sheet-title{margin:0;font-size:1.22rem;font-weight:700;color:#fff}.adaptive-sheet-subtitle{margin:.25rem 0 0;font-size:.84rem;color:var(--comet, #8e99a6);line-height:1.4}.adaptive-sheet-close-btn{background:transparent;border:none;color:var(--comet, #8e99a6);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.adaptive-sheet-close-btn:hover{color:#fff}.adaptive-sheet-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem 2rem}@media(max-width:900px){.adaptive-sheet-container{top:auto;left:0;right:0;bottom:0;width:100%;height:min(85vh,660px);border-left:none;border-top:1px solid var(--glass-border);border-radius:20px 20px 0 0;box-shadow:0 -16px 44px #000000a6;animation:sheet-slide-bottom .26s cubic-bezier(.16,1,.3,1)}.adaptive-sheet-container.is-left{border-right:none;border-top:1px solid var(--glass-border);box-shadow:0 -16px 44px #000000a6;animation:sheet-slide-bottom .26s cubic-bezier(.16,1,.3,1)}@keyframes sheet-slide-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.adaptive-sheet-grab-bar{display:flex;justify-content:center;padding:.65rem 0 .2rem}.adaptive-sheet-grab-handle{width:36px;height:4px;border-radius:999px;background:#ffffff40}}.sheet-form{display:flex;flex-direction:column;gap:1.1rem}.sheet-form-field{display:flex;flex-direction:column;gap:.35rem}.sheet-field-label{font-size:.85rem;font-weight:600;color:#f2f2f2}.sheet-field-hint{margin:0 0 .25rem;font-size:.78rem;color:var(--comet, #8e99a6)}.sheet-input,.sheet-textarea{width:100%;padding:.65rem .85rem;background:#ffffff12;border:1px solid var(--glass-border);border-radius:8px;color:#fff;font-family:inherit;font-size:.9rem;box-sizing:border-box;outline:none;transition:border-color .15s ease}.sheet-input:focus,.sheet-textarea:focus{border-color:var(--star-gold, #fbc02d)}.sheet-actions{display:flex;justify-content:flex-end;gap:.75rem}.sheet-section-title{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--star-gold, #fbc02d);margin-bottom:.65rem}.avatar-sheet-preview-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}.avatar-sheet-preview-circle{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0006}.avatar-sheet-preview-img{width:78%;height:78%;object-fit:contain}.avatar-tab-bar{display:flex;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:12px;padding:3px;margin-bottom:1.25rem}.avatar-tab-btn{flex:1;padding:.5rem .75rem;border-radius:9px;border:1px solid transparent;background:transparent!important;color:var(--comet, #8E99A6)!important;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.4rem}.avatar-tab-btn:hover{color:#fff!important}.avatar-tab-btn.is-active{background:#fbc02d33!important;border-color:var(--star-gold, #fbc02d)!important;color:var(--star-gold, #fbc02d)!important;font-weight:700}.avatar-substyle-bar{display:flex;gap:.5rem;margin-bottom:1rem}.avatar-substyle-chip{flex:1;padding:.45rem .5rem;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff0a!important;color:var(--starlight, #cbd5e1)!important;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center}.avatar-substyle-chip:hover{background:#ffffff1a!important}.avatar-substyle-chip.is-active{background:var(--star-gold, #fbc02d)!important;border-color:var(--star-gold, #fbc02d)!important;color:#121422!important;font-weight:700}.avatar-gradient-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;margin-bottom:1.5rem;padding:.25rem}.avatar-gradient-circle{aspect-ratio:1;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;position:relative;box-shadow:0 2px 6px #0000004d;overflow:hidden}.avatar-gradient-circle:hover{transform:scale(1.08)}.avatar-gradient-circle.is-selected{border:2.5px solid #ffffff!important;box-shadow:0 0 14px #ffffffbf,0 4px 10px #00000080;transform:scale(1.1);z-index:2}.avatar-check-badge{width:22px;height:22px;border-radius:50%;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0006;flex-shrink:0}.avatar-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.avatar-preset-btn{aspect-ratio:1;border-radius:14px;background:#ffffff0d;border:1px solid var(--glass-border);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;transition:all .15s ease;position:relative}.avatar-preset-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.avatar-preset-btn.is-selected{background:#fbc02d26!important;border-color:var(--star-gold, #fbc02d)!important;border-width:2px!important}.avatar-preset-badge{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:var(--star-gold, #fbc02d);color:#121422;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006}.avatar-preset-btn-img{width:80%;height:80%;object-fit:contain}.avatar-sheet-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.language-options-list{display:flex;flex-direction:column;gap:.5rem}.language-option-row{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.1rem;border-radius:10px;background:#ffffff0d;border:1px solid var(--glass-border);cursor:pointer;color:inherit;transition:all .15s ease}.language-option-row:hover{background:#ffffff1a}.language-option-row.is-selected{border-color:var(--star-gold, #fbc02d);background:#fbc02d1a}.language-option-text{display:flex;flex-direction:column;gap:.15rem;text-align:left}.language-native-name{font-size:.95rem;font-weight:600;color:#fff}.language-english-name{font-size:.8rem;color:var(--comet, #8e99a6)}.language-option-check{color:var(--star-gold, #fbc02d)}.sheet-success-box{padding:1.25rem;background:#4caf501f;border:1px solid rgba(76,175,80,.3);border-radius:10px;text-align:center}.auth-success{color:var(--growth-green, #4caf50);background:#4caf501f;padding:.6rem .85rem;border-radius:8px;margin:0 0 1rem;font-size:.85rem}.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.05rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-low);flex-wrap:wrap}.plan-row-name{font-family:var(--font-display);font-weight:600}.credit-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.credit-history-list li{display:grid;grid-template-columns:9rem 1fr auto;gap:1rem;align-items:center;padding:.6rem .2rem;border-bottom:1px solid var(--glass-border);font-size:.88rem}.credit-history-list li:last-child{border-bottom:none}.credit-history-time{color:var(--comet);font-variant-numeric:tabular-nums}.credit-history-delta{font-variant-numeric:tabular-nums;font-weight:600}.credit-history-positive .credit-history-delta{color:var(--green)}.auth-cosmos-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:3rem 1.25rem;background:radial-gradient(circle at 50% -10%,#cc8d0038,#111422eb 55%,#111422),#111422;position:relative;overflow-x:hidden}.auth-cosmos-glow{position:absolute;top:-150px;left:50%;transform:translate(-50%);width:min(800px,140vw);height:550px;background:radial-gradient(ellipse at center,#cc8d0029,#11142200 70%);pointer-events:none;z-index:1}.auth-top-actions{position:absolute;top:1.5rem;right:1.5rem;z-index:20}.language-header-container{position:relative}.language-header-btn{display:flex;align-items:center;gap:.45rem;height:38px;padding:0 .85rem;border-radius:999px;background:var(--glass-low);border:1px solid var(--glass-border);color:var(--starlight);font-size:.85rem;font-weight:600;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .2s ease}.language-header-btn:hover{background:var(--glass-high);border-color:#ffffff40}.language-header-btn .language-icon{width:18px;height:18px;color:var(--comet)}.language-current-code{letter-spacing:.05em}.language-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:130px;background:#171b2bf2;border:1px solid var(--glass-border);border-radius:14px;padding:.4rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:.25rem;z-index:30;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.language-option{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:8px;background:none;border:none;color:var(--comet);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s;width:100%;text-align:left}.language-option:hover{color:var(--starlight);background:#ffffff14}.language-option.is-active{color:var(--gold);font-weight:700;background:#ffb3001a}.lang-check{color:var(--gold);font-size:.85rem}.auth-top-nav{position:absolute;top:1.5rem;left:1.5rem;z-index:10}.auth-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--comet);font-size:.9rem;font-weight:500;padding:.4rem .8rem;border-radius:var(--radius-sm);background:var(--glass-low);border:1px solid var(--glass-border);transition:all .2s ease}.auth-back-link svg{width:16px;height:16px}.auth-back-link:hover{color:var(--starlight);border-color:#ffffff40;background:var(--glass-high)}.auth-cosmos-container{width:100%;max-width:440px;margin:auto;position:relative;z-index:2}.auth-cosmos-header{text-align:center;margin-bottom:1.75rem}.auth-glow-icon-wrap{display:flex;justify-content:center;margin-bottom:1.25rem}.auth-glow-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--gold) 0%,var(--deep-gold) 100%);box-shadow:0 0 28px #ffb30059;display:flex;align-items:center;justify-content:center;color:#fff}.auth-glow-icon.danger{background:linear-gradient(135deg,#ef5350,#c62828);box-shadow:0 0 32px #ef535073}.auth-glow-icon svg{width:34px;height:34px}.auth-cosmos-title{font-size:1.7rem;font-weight:700;color:var(--starlight);margin:0 0 .5rem;letter-spacing:-.01em}.auth-cosmos-subtitle{font-size:.95rem;color:var(--comet);margin:0;line-height:1.45}.auth-glass-card{background:#ffffff0a;border:1px solid var(--glass-border);border-radius:24px;padding:2rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-float)}.auth-form-body{display:flex;flex-direction:column;gap:1.1rem}.auth-input-group{display:flex;flex-direction:column;gap:.4rem}.auth-input-label{font-size:.88rem;font-weight:600;color:var(--comet)}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:1rem;width:20px;height:20px;color:var(--comet);pointer-events:none;display:flex;align-items:center;justify-content:center}.auth-input-icon svg{width:100%;height:100%}.auth-input-control{width:100%;height:52px;padding:0 1rem 0 3rem;font-size:.95rem;color:var(--starlight);background:#ffffff0d;border:1px solid var(--glass-border);border-radius:14px;outline:none;font-family:inherit;transition:all .2s ease}.auth-input-control:focus{border-color:var(--gold);background:#ffffff14;box-shadow:0 0 0 1px var(--gold)}.auth-input-control::placeholder{color:#8e99a699}.auth-input-toggle{position:absolute;right:.75rem;background:none;border:none;color:var(--comet);padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s}.auth-input-toggle:hover{color:var(--starlight)}.auth-input-toggle svg{width:20px;height:20px}.auth-input-help{font-size:.78rem;color:var(--comet);margin-top:.15rem}.auth-row-actions{display:flex;justify-content:flex-end;margin-top:-.4rem}.auth-text-link{font-size:.88rem;font-weight:600;color:var(--comet);transition:color .2s;background:none;border:none;padding:0;cursor:pointer}.auth-text-link:hover{color:var(--gold)}.auth-submit-btn{width:100%;height:52px;background:var(--gold);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:0 4px 14px #ffb30040;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){background:var(--deep-gold);transform:translateY(-1px);box-shadow:0 6px 20px #ffb30059}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-checkbox-wrap{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:.75rem!important;font-size:.88rem;color:var(--starlight);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.4;width:100%}.auth-checkbox-wrap input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;width:18px!important;height:18px!important;margin:2px 0 0!important;padding:0!important;border:1.5px solid var(--glass-border);border-radius:4px;background:#ffffff0d;cursor:pointer;position:relative;flex-shrink:0!important;display:inline-block;box-sizing:border-box!important;transition:all .2s}.auth-checkbox-wrap input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}.auth-checkbox-wrap input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-checkbox-label{flex:1;text-align:left}.auth-checkbox-label a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}.app-error-box{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:14px;background:#e539351f;border:1px solid rgba(229,57,53,.35);color:#ff8a80;font-size:.88rem;line-height:1.4}.app-error-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px}.app-error-content{flex:1}.app-error-action{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem;color:#ff5252}.app-error-message{color:#ffebee}.social-signin-btn{width:100%;height:52px;background:var(--glass-low);border:1px solid var(--glass-border);border-radius:14px;color:var(--starlight);font-size:.95rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .2s ease}.social-signin-btn:hover:not(:disabled){background:var(--glass-high);border-color:#ffffff40;transform:translateY(-1px)}.social-signin-btn:disabled{opacity:.5;cursor:not-allowed}.social-signin-btn .social-icon{width:20px;height:20px;flex-shrink:0}.social-signin-btn .apple-icon{width:22px;height:22px}.auth-divider{display:flex;align-items:center;gap:1rem;margin:.25rem 0}.auth-divider-line{flex:1;height:1px;background:var(--glass-border)}.auth-divider-text{font-size:.82rem;color:var(--comet);text-transform:lowercase}.password-strength-meter{display:flex;flex-direction:column;gap:.5rem;padding-top:.35rem}.strength-bar-row{display:flex;align-items:center;gap:.75rem}.strength-segments{display:flex;gap:6px;flex:1}.strength-segment{height:4px;flex:1;border-radius:2px;transition:background-color .2s ease}.strength-label{font-size:.78rem;font-weight:700;min-width:44px;text-align:right}.strength-reqs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem}.strength-req-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--comet);transition:color .2s}.strength-req-item.is-met{color:var(--starlight)}.strength-req-item .req-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--comet)}.strength-req-item.is-met .req-icon{color:var(--green)}.strength-req-item .req-icon svg{width:100%;height:100%}.auth-cosmos-footer{margin-top:1.5rem;text-align:center;font-size:.95rem;color:var(--comet)}.auth-cosmos-footer a{color:var(--gold);font-weight:700;margin-left:.35rem;transition:opacity .2s}.auth-cosmos-footer a:hover{text-decoration:underline}.onboarding-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1.25rem;background-color:var(--void)}.onboarding-card{width:100%;max-width:480px;padding:2.25rem;border-radius:24px;border:1px solid var(--glass-border);background:#ffffff0a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-float)}.onboarding-steps{display:flex;gap:.5rem;margin-bottom:1.75rem}.onboarding-step-dot{height:4px;flex:1;border-radius:999px;background:var(--glass-high);transition:background .3s}.onboarding-step-dot.is-done{background:var(--gold)}.onboarding-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.modal{border:1px solid var(--glass-border);border-radius:var(--radius);padding:0;width:min(560px,92vw);background:var(--void-raised);color:var(--starlight);box-shadow:var(--shadow-float)}.modal::backdrop{background:#06080fb3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--glass-border)}.modal-header h2{margin:0;font-size:1.1rem}.modal-close{background:none;border:none;color:var(--comet);font-size:1.35rem;line-height:1;padding:.15rem .4rem}.modal-close:hover{color:var(--starlight)}.modal-body{padding:1.25rem;max-height:74vh;overflow-y:auto}.courses-page-container{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 6rem;display:flex;flex-direction:column;gap:2rem}.courses-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.courses-page-title{font-size:2rem;font-weight:800;color:var(--starlight);margin:0}.courses-create-btn{padding:.55rem 1.35rem;font-size:.9rem;font-weight:700}.courses-empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1.5rem;background:#ffffff05;border:1px dashed rgba(255,255,255,.12);border-radius:20px;text-align:center}.courses-empty-icon-wrap{width:68px;height:68px;border-radius:20px;background:#ffb3001a;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.courses-empty-svg{width:36px;height:36px;color:var(--gold)}.courses-empty-title{font-size:1.25rem;font-weight:700;color:var(--starlight);margin:0 0 .5rem}.courses-empty-desc{font-size:.92rem;color:var(--comet);max-width:420px;margin:0 0 1.5rem;line-height:1.5}.courses-empty-btn{padding:.6rem 1.5rem}.courses-tree-flow{display:flex;flex-direction:column;gap:1.75rem}.courses-year-section{display:flex;flex-direction:column;gap:.85rem}.courses-year-header-row,.courses-term-header-row{display:flex;align-items:center}.courses-folder-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff05;border:1px solid transparent;border-radius:10px;padding:.4rem .65rem .4rem .4rem;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);outline:none}.courses-folder-toggle-btn:hover{background:#ffffff0f;border-color:#ffffff14}.courses-year-folder-btn:hover .courses-year-label{color:var(--starlight)}.courses-year-folder-icon{color:var(--gold, #FFB300);flex-shrink:0}.courses-year-label{font-size:1.15rem;font-weight:800;color:var(--starlight);letter-spacing:-.01em}.courses-term-folder-icon{color:var(--comet);flex-shrink:0}.courses-term-label{font-size:.95rem;font-weight:700;color:var(--comet)}.courses-folder-toggle-btn:hover .courses-term-label{color:var(--starlight)}.courses-folder-chevron{color:var(--comet);opacity:.75;transition:transform .2s cubic-bezier(.16,1,.3,1),color .15s ease;flex-shrink:0}.courses-folder-toggle-btn:hover .courses-folder-chevron{opacity:1;color:var(--starlight)}.courses-year-body{display:flex;flex-direction:column;gap:1.5rem;padding-left:.5rem}.courses-term-section{display:flex;flex-direction:column;gap:.75rem;padding-left:.25rem}.courses-card-grid-4x3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.course-card-4x3{aspect-ratio:4 / 3;min-height:195px;position:relative;overflow:visible;border-radius:20px;border:1.5px solid rgba(255,255,255,.1);padding:1.2rem 1.25rem;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:start;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;box-shadow:0 8px 24px -4px #00000073;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),border-color .28s ease}.course-card-4x3.is-menu-open{z-index:35}.course-card-4x3:hover{transform:translateY(-4px) scale(1.01);border-color:var(--course-color, rgba(255, 179, 0, .6));box-shadow:0 16px 36px -4px #0009,0 0 24px -4px var(--course-color, rgba(255, 179, 0, .3))}.course-card-bg-watermark-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:1}.course-card-watermark{position:absolute;left:-40px;bottom:-60px;opacity:.11;transform:rotate(-10deg);pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1),filter .4s ease}.course-card-4x3:hover .course-card-watermark{opacity:.2;transform:rotate(-2deg) scale(1.06);filter:drop-shadow(0 0 20px currentColor)}.course-card-badge{display:none}.course-card-menu-wrap{grid-column:2;grid-row:1;justify-self:end;position:relative;z-index:5}.course-card-menu-btn{width:34px;height:34px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--comet);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;outline:none;padding:0}.course-card-menu-btn:hover,.course-card-menu-btn.is-active{background:#ffffff24;color:var(--starlight);border-color:#ffffff4d}.course-card-dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:#14182afa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 16px 40px #000000d9,0 0 0 1px #ffffff14;padding:.35rem;min-width:140px;display:flex;flex-direction:column;gap:.2rem;animation:modalPopIn .18s cubic-bezier(.16,1,.3,1)}.course-dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .8rem;border-radius:8px;background:transparent;border:none;font-size:.84rem;font-weight:600;color:var(--starlight);cursor:pointer;text-align:left;transition:all .15s ease}.course-dropdown-item:hover{background:#ffffff14;color:#fff}.course-dropdown-item.is-delete{color:#ef5350}.course-dropdown-item.is-delete:hover{background:#ef535029;color:#ff8a80}.course-card-info{grid-column:1 / -1;grid-row:2;justify-self:end;align-self:end;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:.45rem;position:relative;z-index:2;width:100%;margin-top:1rem}.course-card-code-pill{display:inline-block;font-family:monospace;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:6px;border:1px solid;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.course-card-title{font-size:1.25rem;font-weight:800;color:var(--starlight);margin:0;line-height:1.35;text-align:right;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;text-shadow:0 2px 10px rgba(0,0,0,.7);transition:color .18s ease}.course-card-4x3:hover .course-card-title{color:#fff}@media(max-width:640px){.courses-card-grid-4x3{grid-template-columns:1fr;gap:.55rem}.course-card-4x3{aspect-ratio:auto;min-height:unset;border-radius:12px;padding:.75rem 1rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.85rem;background:#ffffff09!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:none;position:relative;overflow:visible}.course-card-4x3:hover{transform:translateY(-1px);border-color:var(--course-color, rgba(255, 179, 0, .5))!important;box-shadow:0 4px 16px #0000004d}.course-card-watermark{display:none!important}.course-card-badge{grid-column:auto;grid-row:auto;display:flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border-radius:10px;border:1px solid;flex-shrink:0}.course-card-info{grid-column:auto;grid-row:auto;flex:1;min-width:0;text-align:left;align-items:flex-start;justify-self:auto;align-self:auto;gap:.15rem;margin-top:0}.course-card-title{font-size:.95rem;font-weight:600;text-align:left;line-height:1.35;-webkit-line-clamp:2}.course-card-code-pill{font-size:.68rem;padding:.1rem .4rem}.course-card-menu-wrap{grid-column:auto;grid-row:auto;justify-self:auto;flex-shrink:0;margin-left:.25rem;position:relative}.course-card-menu-btn{width:32px;height:32px}.courses-fab{bottom:1.5rem;right:1.5rem;padding:.72rem 1.25rem;font-size:.88rem}}.courses-fab{position:fixed;bottom:2.25rem;right:2.5rem;z-index:50;display:inline-flex;align-items:center;gap:.5rem;background:var(--gold, #FFB300);color:#111422;border:none;border-radius:9999px;padding:.85rem 1.5rem;font-size:.94rem;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #ffb30073,0 2px 8px #00000073;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),filter .2s ease;-webkit-user-select:none;user-select:none}.courses-fab:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.08);box-shadow:0 12px 32px #ffb30099,0 4px 12px #00000080}.courses-fab:active{transform:translateY(0) scale(.97)}.course-detail-root{position:relative;min-height:calc(100vh - 56px);background:#111422;margin-top:-56px;padding-top:56px}.course-detail-top-gradient{position:absolute;top:0;left:0;right:0;height:560px;background:linear-gradient(to bottom,#111422 0%,rgba(17,20,34,.65) 8%,var(--course-accent, transparent) 26%,var(--course-accent, transparent) 56%,rgba(17,20,34,.6) 82%,#111422 100%);pointer-events:none;z-index:0;opacity:.17}.course-detail-watermark-wrap{position:absolute;top:0;left:0;right:0;height:600px;overflow:hidden;pointer-events:none;z-index:0}.course-detail-watermark-icon{position:absolute;right:clamp(-100px,calc(50% - 700px),1vw);top:clamp(-130px,-8vw,-40px);opacity:.038;transform:rotate(-10deg);pointer-events:none;filter:drop-shadow(0 3px 12px rgba(0,0,0,.65));transition:opacity .5s ease}.course-detail-watermark-glyph{font-size:clamp(220px,44vw,700px)!important;width:clamp(220px,44vw,700px)!important;height:clamp(220px,44vw,700px)!important}.course-detail-watermark-glyph svg{width:100%!important;height:100%!important}@media(max-width:1200px){.course-detail-watermark-icon{right:-60px;top:-70px;opacity:.032}}@media(max-width:768px){.course-detail-watermark-icon{right:-60px;top:-30px;opacity:.026}}.course-detail-content{position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:2rem 1.5rem 6rem;display:flex;flex-direction:column;gap:1.5rem}.course-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}.course-nav-term-year{font-size:.95rem;font-weight:600;color:var(--comet, #A0A5C0);letter-spacing:.01em}.course-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--course-accent, var(--gold));font-weight:700;font-size:1rem;padding:.45rem 1rem;border-radius:999px;background:#111422bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);text-decoration:none!important;transition:all .2s ease}.course-back-link:hover{background:#ffffff1f;transform:translate(-3px);text-decoration:none!important}.course-back-chevron{font-size:1.3rem;line-height:1}.course-meta-row{display:flex;align-items:center;justify-content:space-between}.course-meta-left{display:flex;align-items:center;gap:.85rem}.course-meta-code{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:.03em}.course-meta-professor{font-size:.95rem;font-weight:600;color:var(--comet, #A0A5C0)}.course-title-row{display:flex;align-items:center;gap:1rem}.course-title-icon-box{width:48px;height:48px;border-radius:14px;border:1.5px solid transparent;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.course-main-title{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;color:#fff;margin:0;flex:1;letter-spacing:-.02em}.course-edit-circle-btn{width:44px;height:44px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:var(--starlight);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;outline:none}.course-edit-circle-btn:hover{background:#ffffff24;color:#fff;transform:scale(1.08)}.course-edit-svg{width:22px;height:22px}.course-action-cards-row{display:flex;gap:.85rem;align-items:center}.course-announcement-card{flex:1;display:flex;align-items:center;gap:.85rem;padding:.85rem 1.25rem;border-radius:16px;background:#ffffff09;border:1px solid var(--glass-border);cursor:pointer;transition:all .2s ease}.course-announcement-card:hover{background:#ffffff0f;border-color:#ffb3004d}.course-announcement-icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0}.announcement-card-svg{width:20px;height:20px}.course-announcement-text{flex:1;font-size:.92rem;font-weight:600;color:var(--starlight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-announcement-badge{font-size:.75rem;font-weight:800;padding:.2rem .55rem;border-radius:999px;background:#ffb30033;color:var(--gold)}.course-details-icon-btn{width:54px;height:48px;border-radius:16px;background:#ffffff09;border:1px solid var(--glass-border);color:var(--starlight);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.course-details-icon-btn:hover{background:#ffffff14;color:#fff}.course-dns-svg{width:20px;height:20px}.course-topicmap-section{display:flex;flex-direction:column;gap:.65rem}.course-section-heading{font-size:1.1rem;font-weight:800;color:var(--starlight);letter-spacing:-.01em}.course-topicmap-preview-card{position:relative;height:220px;border-radius:16px;background:#ffffff07;border:1px solid rgba(255,255,255,.09);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.course-topicmap-preview-card:hover{border-color:var(--course-accent, var(--gold));transform:translateY(-2px);box-shadow:0 8px 24px #0006}.course-topicmap-preview-card .tm-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.course-topicmap-preview-card .tm-svg{cursor:pointer}.course-topicmap-svg{width:100%;height:100%;display:block}.topicmap-svg-label{font-family:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 2px 6px rgba(0,0,0,.9)}.topicmap-expand-badge{position:absolute;top:.85rem;right:.85rem;z-index:5;width:32px;height:32px;border-radius:50%;background:#111422b3;border:1px solid rgba(255,255,255,.14);color:var(--comet);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .2s ease;pointer-events:none}.course-topicmap-preview-card:hover .topicmap-expand-badge{background:#ffffff29;color:#fff;transform:scale(1.08)}.course-lectures-section{display:flex;flex-direction:column;gap:1rem}.course-lectures-header{display:flex;align-items:center;justify-content:space-between}.course-upload-btn{padding:.5rem 1.25rem;font-size:.88rem}.course-lectures-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:16px;text-align:center}.lectures-empty-title{font-size:1.1rem;font-weight:700;color:var(--starlight);margin:0 0 .4rem}.lectures-empty-desc{font-size:.88rem;color:var(--comet);margin:0}.course-lectures-list{display:flex;flex-direction:column;gap:.65rem}.lecture-tile-wrapper{position:relative;display:flex;align-items:center;background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:16px;transition:all .2s ease}.lecture-tile-wrapper:hover{background:#ffffff0f;border-color:var(--course-accent, var(--gold));transform:translateY(-1px)}.lecture-tile-card{flex:1;display:flex;align-items:center;gap:1rem;padding:.85rem 1.15rem;text-decoration:none;min-width:0}a.lecture-tile-card:hover{text-decoration:none}.lecture-tile-thumb-box{width:48px;height:48px;border-radius:12px;overflow:hidden;background:#ffb3001a;border:1px solid rgba(255,179,0,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lecture-tile-thumb-img{width:100%;height:100%;object-fit:cover}.lecture-tile-fallback-icon{color:var(--course-accent, var(--gold));display:flex;align-items:center;justify-content:center}.tile-svg{width:22px;height:22px}.lecture-tile-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.lecture-tile-title-row{display:flex;align-items:center;gap:.5rem}.lecture-tile-title{font-size:.98rem;font-weight:700;color:var(--starlight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lecture-tile-meta-row{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--comet)}.tile-time-svg{width:13px;height:13px}.lecture-tile-code{font-weight:700;color:var(--course-accent, var(--gold));margin-left:.4rem}.lecture-tile-wrapper.is-menu-open{z-index:35}.lecture-tile-menu-wrap{position:relative;padding-right:.85rem;flex-shrink:0}.lecture-tile-dropdown{position:absolute;right:.85rem;top:calc(100% + 4px);z-index:60}.course-details-flow{display:flex;flex-direction:column;gap:1.5rem}.course-details-rows{display:flex;flex-direction:column;gap:.85rem}.course-details-row{display:flex;align-items:center;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.details-row-icon{flex-shrink:0;margin-right:.85rem;color:var(--gold)}.details-row-label{flex:2;font-size:.88rem;color:var(--comet)}.details-row-value{flex:3;font-size:.95rem;font-weight:600;color:var(--starlight);text-align:right}.course-details-summary-section{display:flex;flex-direction:column;gap:.4rem}.details-summary-label{font-size:.85rem;font-weight:700;color:var(--comet)}.details-summary-text{font-size:.92rem;line-height:1.6;color:var(--starlight);margin:0}@media(max-width:480px){.app-main-inner{padding:0 12px 96px}h1{font-size:1.4rem}}.credits-page-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.6rem}.credits-page-head .back-link{margin-bottom:0}.credits-refresh-btn{border:none;background:transparent;color:var(--star-gold, #fbc02d);padding:6px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease,filter .2s ease}.credits-refresh-btn:hover:not(:disabled){transform:scale(1.12);filter:brightness(1.2)}.credits-refresh-btn:disabled{opacity:.4;cursor:default}.credits-error{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3.5rem 1rem;text-align:center;color:var(--comet)}.credits-card{padding:1.25rem 1.35rem;margin-bottom:1.25rem}.credits-card-skeleton{height:180px}.credits-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.credits-card-title{min-width:0;color:var(--starlight);font-size:.95rem;font-weight:600}.credits-balance-value{min-width:0;font-variant-numeric:tabular-nums}.credits-balance-value .is-gold{color:var(--gold);font-size:1.15rem;font-weight:700}.credits-balance-value .is-depleted{color:#ff5252;font-size:1.15rem;font-weight:700}.credits-balance-value .is-extra{color:#c084fc;font-size:1.15rem;font-weight:700}.credits-balance-denom{color:var(--comet);font-size:.88rem;font-weight:500}.credits-dual-track{position:relative;height:10px;border-radius:999px;background:#ffffff1a;overflow:hidden;margin:.9rem 0 .75rem}.credits-bar-extra,.credits-bar-monthly,.credits-bar-depleted{position:absolute;inset:0 auto 0 0;height:100%;border-radius:999px;transition:width .3s ease}.credits-bar-extra{background:linear-gradient(90deg,#c084fc,#a855f7)}.credits-bar-monthly{background:linear-gradient(90deg,#ffb300,#ff8f00)}.credits-bar-depleted{width:3%;background:linear-gradient(90deg,#ff5252,#d32f2f)}.credits-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.credits-buy-link{color:var(--gold);font-size:.82rem;font-weight:600}.credits-noplan-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;overflow:hidden;padding:1.25rem 1.35rem;margin-bottom:1.25rem;border-radius:var(--radius);background:linear-gradient(135deg,#ffb3002e,#111422d9 75%);border:1.2px solid rgba(255,179,0,.45);box-shadow:0 0 20px #ffb30026;text-decoration:none;color:var(--starlight)}.credits-noplan-card:hover{text-decoration:none;filter:brightness(1.05)}.credits-noplan-icon,.credits-noplan-img{position:absolute;bottom:-45px;right:-25px;width:250px;height:250px;object-fit:contain;color:var(--gold);opacity:.15;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.credits-noplan-title{position:relative;z-index:1;font-size:1rem;font-weight:700;color:#f2f2f2}.credits-noplan-subtitle{position:relative;z-index:1;font-size:.85rem;line-height:1.4;color:var(--comet);max-width:32rem}.credits-noplan-button{position:relative;z-index:1;display:block;width:100%;margin-top:.9rem;padding:.75rem;border-radius:12px;border:1.2px solid rgba(255,179,0,.7);background:#ffb30033;color:#fff;font-weight:700;font-size:.88rem;text-align:center;text-decoration:none;transition:all .2s ease}.credits-noplan-card:hover .credits-noplan-button,.credits-noplan-button:hover{text-decoration:none;background:#ffb30052;border-color:#ffb300;box-shadow:0 0 18px #ffb30073,0 0 4px #ffb300cc;color:#fff}.credits-plan-card{position:relative;overflow:hidden;padding:1.25rem 1.35rem;margin-bottom:1.25rem;border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--plan-accent) 22%,transparent),#111422d9 75%);border:1.4px solid var(--plan-accent);box-shadow:0 0 24px color-mix(in srgb,var(--plan-accent) 25%,transparent)}.credits-plan-card.is-premium{background:linear-gradient(120deg,#090a14,#131026 45%,#1e1036 78%,#121e3b);border-width:1.6px;box-shadow:0 0 30px #a855f766,0 0 40px #06b6d43d}.credits-plan-card.is-standard{background:linear-gradient(135deg,#140a0f,#240e18 40%,#38141f 75%,#4a1a18);border-width:1.6px;box-shadow:0 0 28px #e11d4859,0 0 40px #f59e0b38}.credits-plan-icon,.credits-plan-img{position:absolute;bottom:-55px;right:-30px;width:250px;height:250px;object-fit:contain;color:var(--plan-accent);opacity:.15;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.credits-plan-card.is-premium .credits-plan-icon,.credits-plan-card.is-premium .credits-plan-img{opacity:.32}.credits-plan-card.is-standard .credits-plan-icon,.credits-plan-card.is-standard .credits-plan-img{opacity:.26}.credits-plan-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;position:relative}.credits-plan-label{color:var(--comet);font-size:.8rem;font-weight:600;letter-spacing:.03em}.credits-plan-badge{padding:.2rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--plan-accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--plan-accent) 55%,transparent);color:var(--plan-accent);font-size:.66rem;font-weight:700;letter-spacing:.04em}.credits-plan-name{position:relative;margin:.55rem 0 0;color:#fff;font-size:1.5rem;font-weight:900;letter-spacing:.02em;text-shadow:0 0 6px var(--plan-accent),0 0 14px color-mix(in srgb,var(--plan-accent) 85%,transparent)}.credits-plan-credits{position:relative;margin:.4rem 0 0;color:var(--starlight);font-size:.85rem}.credits-plan-reset,.credits-plan-pending{position:relative;margin:.25rem 0 0;color:var(--comet);font-size:.76rem}.credits-plan-button{position:relative;display:block;width:100%;margin-top:1.1rem;padding:.75rem;border-radius:12px;border:1.2px solid color-mix(in srgb,var(--plan-accent) 70%,transparent);background:color-mix(in srgb,var(--plan-accent) 22%,rgba(255,255,255,.04));color:#fff;font-weight:700;font-size:.88rem;text-align:center;text-decoration:none;transition:all .2s ease}.credits-plan-button:hover{text-decoration:none;background:color-mix(in srgb,var(--plan-accent) 36%,transparent);border-color:var(--plan-accent);box-shadow:0 0 18px color-mix(in srgb,var(--plan-accent) 50%,transparent),0 0 4px var(--plan-accent);color:#fff}.credits-history-loading{padding:1rem 0}.credits-history-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:0}.credits-history-list>li{border-bottom:1px solid rgba(255,255,255,.06);padding:.2rem 0}.credits-history-list>li:last-child{border-bottom:none}.credits-history-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.55rem .65rem;border-radius:8px;transition:background .15s ease}.credits-history-row:hover{background:#ffffff0d}.credits-history-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2e2ec14;color:#e2e2ec}.credits-history-icon.is-positive{background:#4caf501f;color:var(--green)}.credits-history-text{display:flex;flex-direction:column;min-width:0}.credits-history-time{color:#fff;font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credits-history-date{font-size:.72rem}.credits-history-delta{font-variant-numeric:tabular-nums;font-weight:700;font-size:.85rem;color:#e2e2ec}.credits-history-delta.is-positive{color:var(--green)}.credits-history-reset{display:flex;align-items:center;gap:.6rem;padding:.35rem 0}.credits-history-reset-line{flex:1 1 auto;height:1px;background:var(--glass-border)}.credits-history-reset-label{flex:0 0 auto;color:var(--comet);font-size:.7rem;font-weight:600;letter-spacing:.02em}.credits-history-more{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin-top:.9rem;padding:.55rem;border:none;background:none;color:var(--gold);font-size:.82rem;font-weight:600}.credits-history-more:hover{filter:brightness(1.15)}.plans-page{position:relative;width:100%;max-width:none;margin:0;padding:1.5rem 0 6rem;overflow-x:clip}.plans-top-gradient{position:absolute;top:0;left:0;right:0;height:520px;background:linear-gradient(90deg,#f59e0b47,#f59e0b2e 14%,#06b6d42e 36%,#f43f5e2e 64%,#a855f742 86%,#a855f74d);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.72) 18%,rgba(0,0,0,.3) 48%,rgba(0,0,0,.05) 75%,transparent 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.72) 18%,rgba(0,0,0,.3) 48%,rgba(0,0,0,.05) 75%,transparent 100%);filter:blur(32px);pointer-events:none;z-index:0;opacity:.62}.plans-page-inner{position:relative;z-index:1;width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(1.25rem,3.5vw,3rem)}.plans-title{font-size:2rem;margin-bottom:.2rem}.plans-tagline{color:var(--starlight);font-size:.98rem;font-weight:500;margin:0 0 2rem}.plans-cards-section{width:100%;overflow:visible}.plans-card-row{display:grid;grid-template-columns:var(--plans-grid-columns);gap:clamp(.6rem,1.4vw,1.1rem);align-items:stretch;margin-bottom:2rem;width:100%}.plans-row-label-spacer{min-width:0}.plans-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:310px;padding:1.35rem 1.25rem;border-radius:22px;border:1.4px solid color-mix(in srgb,var(--plan-accent) 45%,transparent);background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--plan-accent) 26%,transparent),transparent 70%),linear-gradient(170deg,color-mix(in srgb,var(--plan-accent) 12%,var(--void-raised)),var(--void-deep) 80%);box-shadow:0 18px 40px #00000073,0 0 26px color-mix(in srgb,var(--plan-accent) 22%,transparent);transition:transform .22s ease,box-shadow .22s ease}.plans-card:hover{transform:translateY(-3px);box-shadow:0 24px 52px #00000080,0 0 34px color-mix(in srgb,var(--plan-accent) 34%,transparent)}.plans-card-bg-fixed{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:300px;height:300px;object-fit:contain;opacity:.52;pointer-events:none;filter:saturate(1.15);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 36%,transparent 70%);mask-image:linear-gradient(to bottom,#000 0%,#000 36%,transparent 70%);z-index:1;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s ease}.plans-card:hover .plans-card-bg-fixed{transform:translate(-50%) scale(1.06);opacity:.65}.plans-card.is-premium .plans-card-bg-fixed{opacity:.62}.plans-card.is-standard .plans-card-bg-fixed{opacity:.56}.plans-effect-solar-corona{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;z-index:1}.solar-corona-glow{position:absolute;top:-15%;right:-25%;width:130%;height:95%;border-radius:50%;filter:blur(28px);pointer-events:none;background:radial-gradient(circle at 60% 40%,rgba(245,158,11,.26) 0%,rgba(225,29,72,.16) 50%,transparent 75%);animation:solarCoronaPulse 4.5s ease-in-out infinite alternate}@keyframes solarCoronaPulse{0%{transform:scale(.95);opacity:.75}to{transform:scale(1.08);opacity:1}}.solar-ember{position:absolute;border-radius:50%;background:#ffd54f;box-shadow:0 0 8px #f59e0b,0 0 14px #ffd54f;opacity:0;animation:solarEmberFloat 4s ease-in-out infinite}.ember-1{width:3px;height:3px;top:25%;right:20%;animation-delay:0s;animation-duration:3.8s}.ember-2{width:2px;height:2px;top:45%;right:35%;animation-delay:1.2s;animation-duration:4.2s}.ember-3{width:3.5px;height:3.5px;top:15%;right:40%;animation-delay:2.1s;animation-duration:3.6s}.ember-4{width:2.5px;height:2.5px;top:60%;right:18%;animation-delay:.7s;animation-duration:4.5s}.ember-5{width:2px;height:2px;top:35%;right:15%;animation-delay:2.8s;animation-duration:3.9s}@keyframes solarEmberFloat{0%{transform:translateY(0) scale(.8);opacity:0}30%{opacity:.85}70%{opacity:.6}to{transform:translateY(-30px) scale(1.2);opacity:0}}.plans-effect-cosmic{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;z-index:1}.cosmic-nebula{position:absolute;border-radius:50%;filter:blur(28px);pointer-events:none}.nebula-violet{top:-10%;right:-20%;width:120%;height:80%;background:radial-gradient(circle,rgba(168,85,247,.32) 0%,rgba(99,102,241,.18) 50%,transparent 75%);animation:cosmicNebulaPulse 5s ease-in-out infinite alternate}.nebula-cyan{top:15%;left:-20%;width:90%;height:70%;background:radial-gradient(circle,rgba(6,182,212,.22) 0%,rgba(56,189,248,.12) 50%,transparent 75%);animation:cosmicNebulaPulse 6s ease-in-out infinite alternate-reverse}@keyframes cosmicNebulaPulse{0%{transform:scale(.92) rotate(0);opacity:.75}to{transform:scale(1.08) rotate(4deg);opacity:1}}.cosmic-holographic-sweep{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.03) 42%,rgba(103,232,249,.14) 47%,rgba(244,114,182,.16) 50%,rgba(192,132,252,.14) 53%,rgba(255,255,255,.04) 58%,transparent 65%);transform:translate(-100%) translateY(-100%) rotate(25deg);animation:holographicSweep 5.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes holographicSweep{0%{transform:translate(-120%) translateY(-120%) rotate(25deg)}32%{transform:translate(120%) translateY(120%) rotate(25deg)}to{transform:translate(120%) translateY(120%) rotate(25deg)}}.cosmic-star{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 6px #a855f7,0 0 12px #38bdf8;opacity:.2;animation:cosmicStarTwinkle 3.2s ease-in-out infinite alternate}.star-1{width:2.5px;height:2.5px;top:18%;right:25%;animation-delay:.3s}.star-2{width:2px;height:2px;top:38%;right:16%;animation-delay:1.1s}.star-3{width:3px;height:3px;top:12%;right:42%;animation-delay:2.2s}.star-4{width:1.5px;height:1.5px;top:52%;right:30%;animation-delay:.7s}.star-5{width:2.5px;height:2.5px;top:28%;left:22%;animation-delay:1.8s}.star-6{width:2px;height:2px;top:68%;right:22%;animation-delay:2.6s}@keyframes cosmicStarTwinkle{0%{opacity:.15;transform:scale(.8)}50%{opacity:.95;transform:scale(1.3)}to{opacity:.2;transform:scale(.9)}}.plans-card.is-premium{border-color:#c084fc;border-width:1.8px;background:radial-gradient(120% 80% at 50% 0%,rgba(168,85,247,.4),transparent 70%),linear-gradient(170deg,#1e1036,#131026 55%,#090a14);box-shadow:0 18px 44px #00000080,0 0 32px #a855f773,0 0 48px #06b6d440}.plans-card.is-standard{border-color:#fb7185;border-width:1.8px;background:radial-gradient(120% 80% at 50% 0%,rgba(225,29,72,.36),transparent 70%),linear-gradient(170deg,#38141f,#240e18 55%,#140a0f);box-shadow:0 18px 44px #00000080,0 0 30px #e11d4866,0 0 46px #f59e0b38}.plans-card.is-current{border-width:2px}.plans-card-body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;width:100%}.plans-card-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem;width:100%}.plans-card-name{margin:0;font-family:var(--font-display);font-size:1.6rem;font-weight:900;letter-spacing:.01em;color:#fff;text-shadow:0 0 8px var(--plan-accent),0 0 18px color-mix(in srgb,var(--plan-accent) 75%,transparent),0 0 30px color-mix(in srgb,var(--plan-accent) 45%,transparent)}.plans-card-price{margin:0 0 .5rem;display:flex;align-items:baseline;gap:.15rem}.plans-card-price-amount{color:#fff;font-size:1.9rem;font-weight:900;line-height:1}.plans-card-price-unit{color:var(--comet);font-size:.85rem;font-weight:600}.plans-card-action{width:100%;display:flex;justify-content:center;min-height:42px;align-items:center}.plans-action-btn{width:100%;padding:.72rem .6rem;border-radius:12px;border:1.1px solid color-mix(in srgb,var(--plan-accent) 60%,transparent);background:color-mix(in srgb,var(--plan-accent) 20%,transparent);color:#fff;font-weight:800;font-size:.88rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .2s ease}.plans-action-btn:hover:not(:disabled){background:color-mix(in srgb,var(--plan-accent) 34%,transparent);filter:none}.plans-action-btn.is-upgrade{background:linear-gradient(135deg,color-mix(in srgb,var(--plan-accent) 85%,#fff) 0%,var(--plan-accent) 55%,color-mix(in srgb,var(--plan-accent) 70%,#000) 100%);border:1.2px solid rgba(255,255,255,.45);box-shadow:0 4px 18px color-mix(in srgb,var(--plan-accent) 52%,transparent),0 0 10px #ffffff2e;color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.35)}.plans-action-btn.is-upgrade:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 26px color-mix(in srgb,var(--plan-accent) 70%,transparent),0 0 16px #ffffff4d;filter:brightness(1.06)}.plans-action-btn.is-upgrade.is-premium-upgrade{background:linear-gradient(135deg,#f43f5e,#a855f7,#6366f1);border:1.2px solid rgba(255,255,255,.55);box-shadow:0 4px 22px #a855f799,0 0 14px #f43f5e66}.plans-action-btn.is-upgrade.is-premium-upgrade:hover:not(:disabled){box-shadow:0 6px 30px #a855f7bf,0 0 20px #f43f5e8c;filter:brightness(1.08)}.plans-badge{display:inline-block;padding:.45rem 1rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em}.plans-badge.is-current{background:color-mix(in srgb,var(--plan-accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--plan-accent) 60%,transparent);color:var(--plan-accent)}.plans-badge.is-pending{background:#ffffff14;border:1px solid var(--glass-border);color:var(--comet)}.plans-ios-only{font-size:.78rem;color:var(--comet);font-style:italic}.plans-compare{display:grid;gap:0 clamp(.6rem,1.4vw,1.1rem);margin-bottom:2.5rem}.plans-compare-cell.is-plan-head,.plans-plan-head-cell{display:none}.plans-plan-head-cell{flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.1rem .6rem .85rem;border-bottom:1px solid var(--glass-border)}.plans-table-plan-icon{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--plan-accent) 60%,transparent))}.plans-table-plan-name{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:#fff;text-shadow:0 0 10px color-mix(in srgb,var(--plan-accent) 65%,transparent)}.plans-table-head-title{font-size:.8rem;font-weight:700;color:var(--comet);text-transform:uppercase;letter-spacing:.05em}.plans-card-credits-compact{display:none}.plans-compare-cell{display:flex;align-items:center;justify-content:center;padding:1.35rem .9rem;border-bottom:1px solid var(--glass-border)}.plans-compare-label{justify-content:flex-start;text-align:left;font-size:.88rem;color:var(--starlight)}.plans-compare-cell.is-head{border-bottom-width:1px;padding-top:1.55rem;padding-bottom:1.55rem}.plans-compare-label.is-head{font-weight:700}.plans-credits-cell{flex-direction:column;gap:.15rem;text-align:center}.plans-credits-amount{color:var(--plan-accent);font-size:1.35rem;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}.plans-credits-unit{color:var(--starlight);font-size:.74rem;font-weight:600}.plans-credits-estimate{color:var(--comet);font-size:.72rem}.plans-check-cell{color:#8e99a68c}.plans-check-cell.is-included{color:var(--plan-accent)}.plans-disclaimer{color:var(--comet);font-size:.78rem;line-height:1.6;max-width:54rem;margin:0 auto 1rem}.plans-legal-links{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.78rem;color:var(--comet);margin:0}.plans-legal-links a{color:var(--comet);text-decoration:underline}.plans-legal-links a:hover{color:var(--starlight)}.plans-table-scroll{width:100%;overflow-x:auto;overflow-y:visible;padding:.5rem .5rem 1.4rem;margin:0 -.5rem;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;-webkit-overflow-scrolling:touch}@media(min-width:960px){.plans-table-scroll{overflow:visible;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}.plans-table-scroll::-webkit-scrollbar{height:6px}.plans-table-scroll::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:999px}.plans-table-scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--nebula-purple) 60%,transparent)}.plans-table-scroll::-webkit-scrollbar-track{background:transparent}@media(max-width:960px){.plans-row-label-spacer{display:none}.plans-card-row{grid-template-columns:repeat(4,1fr)!important;gap:clamp(.45rem,1.2vw,.75rem);margin-bottom:2rem}.plans-card{min-height:270px;padding:1.1rem .65rem 1.15rem;border-radius:18px}.plans-card-bg-fixed{width:220px;height:220px;top:-15px;opacity:.46}.plans-card:hover .plans-card-bg-fixed{transform:translate(-50%) scale(1.04)}.plans-card-name{font-size:clamp(1.15rem,2vw,1.4rem)}.plans-card-price-amount{font-size:clamp(1.25rem,2.2vw,1.6rem)}.plans-card-price-unit{font-size:.75rem}.plans-action-btn{padding:.58rem .4rem;font-size:clamp(.74rem,1.1vw,.82rem);white-space:nowrap}.plans-badge{font-size:.72rem;padding:.35rem .5rem;white-space:nowrap}.plans-compare{min-width:760px}.plans-compare-cell.is-plan-head,.plans-plan-head-cell{display:flex}}@media(max-width:640px){.plans-card-row{display:flex!important;flex-direction:column;gap:.85rem}.plans-card{min-height:unset;height:auto;padding:1rem 1.2rem;border-radius:18px;justify-content:stretch}.plans-card-body{flex-direction:row;align-items:center;justify-content:space-between;text-align:left;width:100%;gap:.85rem}.plans-card-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.15rem;min-width:0}.plans-card-name{font-size:1.25rem;line-height:1.2;text-align:left}.plans-card-price{margin:0;align-items:baseline;gap:.25rem}.plans-card-price-amount{font-size:1.35rem}.plans-card-price-unit{font-size:.82rem}.plans-card-credits-compact{display:inline-flex;align-items:center;gap:.35rem;margin-top:.15rem;padding:.2rem .55rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--starlight);font-size:.74rem;font-weight:600;line-height:1;letter-spacing:.01em}.plans-card-action{width:auto;min-width:120px;max-width:155px;flex-shrink:0;margin-left:auto;justify-content:flex-end}.plans-action-btn{padding:.64rem .85rem;font-size:.82rem;border-radius:10px;width:100%}.plans-badge{padding:.44rem .75rem;font-size:.76rem;border-radius:999px}.plans-card-bg-fixed{width:130px;height:130px;top:50%;left:auto;right:15%;transform:translateY(-50%);opacity:.22;-webkit-mask-image:radial-gradient(circle at center,#000 30%,transparent 75%);mask-image:radial-gradient(circle at center,#000 30%,transparent 75%)}.plans-card:hover .plans-card-bg-fixed{transform:translateY(-50%) scale(1.08);opacity:.32}.solar-corona-glow{top:-40%;right:5%;width:90%;height:180%;filter:blur(24px)}.plans-compare{min-width:680px}}.purchase-credits-page{position:relative;width:100%;max-width:none;margin:0;padding:1.5rem 0 6rem;overflow-x:clip}.purchase-credits-inner{position:relative;z-index:1;width:100%;max-width:1100px;margin:0 auto;padding:0 clamp(1.25rem,3.5vw,2.5rem)}.purchase-credits-top-gradient{position:absolute;top:0;left:0;right:0;height:520px;background:radial-gradient(70% 60% at 50% 0%,rgba(168,85,247,.22) 0%,rgba(147,51,234,.14) 32%,rgba(126,34,206,.05) 60%,transparent 90%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.65) 24%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.04) 80%,transparent 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.65) 24%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.04) 80%,transparent 100%);filter:blur(36px);pointer-events:none;z-index:0;opacity:.58}.purchase-credits-head,.purchase-credits-title-row,.purchase-credits-grid,.purchase-credits-info,.purchase-credits-footer{position:relative;z-index:1}.purchase-credits-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.purchase-credits-head .back-link{margin-bottom:0}.purchase-credits-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}.purchase-credits-title{margin:0 0 .4rem;font-size:1.85rem;font-weight:800;color:#f2f2f2;letter-spacing:-.02em}.purchase-credits-subtitle{margin:0;font-size:.9rem;color:var(--comet);max-width:34rem;line-height:1.5}.purchase-credits-badge{display:inline-flex;flex-direction:column;align-items:flex-end;gap:.25rem;padding:.6rem .95rem;border-radius:14px;background:#1f1135bf;border:1px solid rgba(168,85,247,.45);box-shadow:0 0 18px #a855f726;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.purchase-credits-badge-label{font-size:.7rem;color:var(--comet);font-weight:600;letter-spacing:.02em}.purchase-credits-badge-val{display:inline-flex;align-items:center;gap:.4rem;color:#f2f2f2;font-size:.95rem;font-weight:700}.purchase-credits-empty{padding:3rem 1rem;text-align:center;color:var(--comet)}.purchase-credits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:880px;margin:0 auto 3rem;width:100%}@media(max-width:768px){.purchase-credits-grid{gap:.85rem}}@media(max-width:520px){.purchase-credits-grid{gap:.45rem}.purchase-credit-card{padding:.45rem;border-radius:14px}.purchase-credit-card-illustration{padding:.2rem;border-radius:10px}.purchase-credit-card-amount{padding:.45rem .1rem .35rem;gap:.2rem}.purchase-credit-amount-star{width:13px!important;height:13px!important}.purchase-credit-amount-num{font-size:.9rem}.purchase-credit-amount-unit{font-size:.65rem}.purchase-credit-card-btn{height:32px;font-size:.78rem;border-radius:8px;padding:0 .35rem}}.purchase-credit-card{display:flex;flex-direction:column;align-items:stretch;background:linear-gradient(180deg,#2b1445bf,#160d29e0);border:1.2px solid rgba(168,85,247,.5);border-radius:18px;box-shadow:0 0 18px #a855f72e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:.85rem;min-width:0;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,border-color .25s ease}.purchase-credit-card:hover{transform:translateY(-4px);border-color:#c084fcbf;box-shadow:0 0 28px #a855f761,0 10px 24px #0006}.purchase-credit-card-illustration{width:100%;aspect-ratio:1 / 1;background:#1e10358c;border:1px solid rgba(168,85,247,.22);border-radius:14px;padding:.5rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.purchase-credit-card-amount{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem .25rem .65rem;color:#f2f2f2}.purchase-credit-amount-num{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.purchase-credit-amount-unit{font-size:.78rem;color:var(--comet);font-weight:600}.purchase-credit-card-btn{width:100%;height:40px;padding:0 .75rem;border-radius:12px;border:none;background:#a855f7;color:#fff;font-size:.95rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.purchase-credit-card-btn:hover:not(:disabled){background:#c084fc;box-shadow:0 0 18px #c084fc8c,0 0 4px #c084fc;transform:translateY(-1px)}.purchase-credit-card-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.purchase-btn-loading{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem}.purchase-credits-footer{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);text-align:center}.purchase-credits-disclosure{margin:0;max-width:42rem;font-size:.82rem;line-height:1.55;color:var(--comet)}.purchase-credits-links{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;font-size:.78rem}.purchase-credits-links a{display:inline-flex;align-items:center;gap:.25rem;color:var(--comet);text-decoration:underline;text-decoration-color:#fff3;transition:color .15s ease}.purchase-credits-links a:hover{color:var(--starlight);text-decoration-color:var(--starlight)}.purchase-credits-dot{color:var(--comet);opacity:.4}.upload-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#04070fb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:3vh 3.5vw;animation:uploadModalFadeIn .2s cubic-bezier(.16,1,.3,1)}.upload-modal-container{width:100%;max-width:880px;height:90vh;max-height:840px;display:flex;flex-direction:column;animation:uploadModalZoomIn .25s cubic-bezier(.16,1,.3,1)}.upload-modal-card{flex:1;min-height:0;display:flex;flex-direction:column;background:linear-gradient(165deg,#13192b,#0c101d);border:1px solid rgba(255,255,255,.14);border-radius:20px;box-shadow:0 30px 80px #000c,0 0 0 1px #ffffff0d;overflow:hidden}.upload-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.4rem 1.75rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff04;flex-shrink:0}.upload-modal-title{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.01em;margin:0 0 .25rem}.upload-modal-subtitle{font-size:.85rem;color:var(--comet);margin:0;line-height:1.4}.upload-modal-close-btn{background:transparent;border:none;padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--comet, #8e99a6);cursor:pointer;transition:all .15s ease;flex-shrink:0;margin-left:1rem}.upload-modal-close-btn svg{width:26px!important;height:26px!important;min-width:26px;min-height:26px}.upload-modal-close-btn:hover:not(:disabled){color:#fff;transform:scale(1.1);background:#ffffff14}.upload-modal-form{display:flex;flex-direction:column;flex:1;min-height:0}.upload-modal-body{flex:1;overflow-y:auto;padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.upload-form-group{display:flex;flex-direction:column;gap:0}.upload-form-label{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--starlight)}.upload-required-badge{color:#ff5252;font-size:.85rem}.upload-course-selector-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border-radius:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.09);cursor:pointer;transition:all .2s ease;text-align:left;color:inherit;width:100%}.upload-course-selector-box:hover:not(:disabled){background:#ffffff0f;border-color:#fff3;transform:translateY(-1px)}.upload-course-selector-box.is-empty{border-style:dashed;border-color:#ffffff26}.upload-course-selector-left{display:flex;align-items:center;gap:.85rem;min-width:0}.upload-course-icon-badge{width:36px;height:36px;border-radius:10px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-course-glyph{font-size:20px}.upload-course-text{display:flex;flex-direction:column;min-width:0}.upload-course-title{font-size:.95rem;font-weight:600;color:var(--starlight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-course-code{font-size:.78rem;color:var(--comet)}.upload-course-selector-right{display:flex;align-items:center;gap:.35rem;color:var(--gold);font-size:.85rem;font-weight:600;flex-shrink:0}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:155px;padding:1.6rem 1.5rem;border-radius:14px;background:#ffffff06;border:1.5px dashed rgba(255,255,255,.15);cursor:pointer;transition:all .2s ease;text-align:center}.upload-dropzone:hover{background:#ffb3000a;border-color:#ffb30066}.upload-dropzone.is-dragging{background:#ffb3001a;border-color:var(--gold);transform:scale(1.01)}.upload-dropzone.has-file{border-style:solid;border-color:#ffb30066;background:#ffb30008}.upload-dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:.45rem}.upload-dropzone-cloud-icon{width:48px;height:48px;border-radius:50%;background:#ffb3001f;color:var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:.35rem}.upload-dropzone-prompt{font-size:.95rem;font-weight:600;color:var(--starlight)}.upload-dropzone-formats{font-size:.8rem;color:var(--comet)}.upload-dropzone-file-card{display:flex;align-items:center;gap:1rem;width:100%;max-width:500px;padding:.85rem 1.1rem;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);text-align:left}.upload-dropzone-file-icon{width:42px;height:42px;border-radius:10px;background:#ffb30026;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-dropzone-file-details{display:flex;flex-direction:column;min-width:0;gap:.2rem}.upload-dropzone-filename{font-size:.95rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-dropzone-filesize{font-size:.78rem;color:var(--comet)}.upload-dropzone-change-hint{color:var(--gold);text-decoration:underline}.upload-text-input{width:100%;padding:.75rem 1rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.92rem;transition:all .2s ease;outline:none}.upload-text-input:focus{border-color:#ffb30099;background:#ffffff0f;box-shadow:0 0 0 3px #ffb30026}.upload-language-selector-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.09);cursor:pointer;transition:all .2s ease;text-align:left;color:inherit;width:100%}.upload-language-selector-row:hover:not(:disabled){background:#ffffff0f;border-color:#fff3;transform:translateY(-1px)}.upload-language-selector-left{display:flex;align-items:center;gap:.75rem}.upload-language-icon-wrap{width:32px;height:32px;border-radius:8px;background:#ffffff0f;color:var(--comet);display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-language-text{display:flex;flex-direction:column}.upload-language-title{font-size:.8rem;color:var(--comet)}.upload-language-value{font-size:.92rem;font-weight:600;color:var(--starlight)}.upload-language-chevron{color:var(--comet);flex-shrink:0}.upload-progress-container{display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1rem;border-radius:10px;background:#ffb30014;border:1px solid rgba(255,179,0,.25)}.upload-progress-header{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--gold)}.upload-progress-track{width:100%;height:6px;border-radius:999px;background:#ffffff1a;overflow:hidden}.upload-progress-bar{height:100%;background:linear-gradient(90deg,#ffb300,#ff8f00);border-radius:999px;transition:width .3s ease}.upload-notice-error{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:10px;background:#ff52521a;border:1px solid rgba(255,82,82,.3);color:#ff8a80;font-size:.84rem}.upload-notice-icon{flex-shrink:0}.upload-notice-link{background:none;border:none;color:#fff;font-weight:600;text-decoration:underline;cursor:pointer;padding:0;margin-left:auto;font-size:.84rem}.upload-error-banner{padding:.65rem .9rem;border-radius:8px;background:#ff525226;border:1px solid rgba(255,82,82,.35);color:#ff8a80;font-size:.82rem}.upload-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;padding:1rem 1.75rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);background:#0e1220d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-shrink:0;margin-top:auto}.upload-cancel-btn{padding:.65rem 1.25rem;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--starlight);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.upload-cancel-btn:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;color:#fff}.upload-submit-btn{padding:.65rem 1.5rem;border-radius:10px;background:linear-gradient(135deg,#ffb300,#ff8f00);border:1px solid rgba(255,179,0,.5);color:#0d1117;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #ffb3004d}.upload-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffca28,#ffa000);box-shadow:0 6px 20px #ffb30073;transform:translateY(-1px)}.upload-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@keyframes uploadModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes uploadModalZoomIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:640px){.upload-modal-backdrop{padding:1.5vh 2vw}.upload-modal-container{height:96vh}.upload-modal-header{padding:1.1rem 1.25rem .9rem}.upload-modal-body{padding:1.1rem 1.25rem 1.5rem}.app-topbar-upload-label{display:none}.app-topbar-upload-btn{padding:.42rem;border-radius:50%}}
