@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+SC:wght@300;400;500;700&display=swap";.tool-back{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted);text-decoration:none;margin-bottom:8px}.tool-back:hover{color:var(--accent-1)}.tool-login-hint{padding:12px 16px;margin-bottom:16px;border-radius:10px;background:var(--accent-1-soft);border:1px solid var(--border-color);font-size:13px;color:var(--text-secondary)}.tool-login-hint a{color:var(--accent-1);text-decoration:none;font-weight:600}.tool-input-row{display:flex;gap:10px;margin-bottom:16px}.tool-input{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.tool-input:focus{border-color:var(--accent-1)}.tool-btn{padding:10px 22px;font-size:14px;white-space:nowrap}.tool-dl-actions{display:flex;gap:10px;flex-wrap:wrap}.tool-error{padding:10px 14px;margin-bottom:16px;border-radius:10px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#e04b4b;font-size:13px}.tool-card{display:flex;gap:18px;padding:18px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-color)}.tool-card-cover{width:180px;height:101px;flex-shrink:0;align-self:flex-start;border-radius:10px;overflow:hidden;background:var(--bg-elevated)}.tool-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.tool-card-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.tool-brand-icon{width:36px;height:36px}.tool-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.tool-card-title{font-size:17px;font-weight:600;margin:0;line-height:1.4}.tool-meta-grid{display:flex;gap:24px;flex-wrap:wrap}.tool-meta-item{display:flex;flex-direction:column;gap:2px;font-size:13px}.tool-meta-label{font-size:11px;color:var(--text-muted)}.tool-formats-label{font-size:12px;color:var(--text-muted);margin-bottom:8px}.tool-format-list{display:flex;flex-wrap:wrap;gap:8px}.tool-format-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border-color);font-size:12px;font-weight:500}.tool-format-chip em{font-style:normal;font-size:11px;color:var(--text-muted)}.tool-format-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tool-dl-progress{display:flex;align-items:center;gap:10px}.tool-dl-bar{flex:1;height:8px;border-radius:999px;background:var(--bg-elevated);overflow:hidden}.tool-dl-fill{height:100%;border-radius:999px;background:var(--progress-gradient)}.tool-dl-text{font-size:12px;color:var(--text-muted);white-space:nowrap}.tool-origin-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--accent-1);text-decoration:none}.tool-origin-link:hover{text-decoration:underline}.tool-disclaimer{margin:0;font-size:11px;color:var(--text-muted)}@media (max-width: 640px){.tool-main{padding-top:84px}.tool-card{flex-direction:column}.tool-card-cover{width:100%;height:auto;aspect-ratio:16 / 9}.tool-input-row{flex-direction:column}.tool-btn{width:100%}}.cd-page .tool-main{max-width:1440px}.cd-page .tool-header{margin-bottom:22px}.cd-toolbar,.cd-table-card{border:1px solid var(--border-color);border-radius:14px;background:var(--bg-card)}.cd-toolbar{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:10px 20px;padding:16px 18px;margin-bottom:16px}.cd-class-select{position:relative}.cd-class-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:border-color .2s ease}.cd-class-toggle:hover,.cd-class-select.is-open .cd-class-toggle{border-color:var(--accent-1-border)}.cd-class-name{font-weight:650}.cd-class-count{color:var(--text-muted);font-size:12px}.cd-class-caret{margin-left:auto;color:var(--text-muted);transition:transform .2s ease}.cd-class-select.is-open .cd-class-caret{transform:rotate(180deg)}.cd-class-options{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;min-width:220px;margin:0;padding:6px;list-style:none;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-elevated);box-shadow:0 14px 34px #0000002e}.cd-class-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer}.cd-class-option:hover{background:var(--accent-1-soft)}.cd-class-option.is-active{background:var(--accent-1-soft);color:var(--accent-1)}.cd-class-option.is-active .cd-class-name,.cd-class-option.is-active .cd-class-count{color:var(--accent-1)}.cd-import-hint{color:var(--text-muted);font-size:12px}.cd-actions{display:flex;align-items:center;gap:9px}.cd-search-label,.cd-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cd-search{width:min(260px,28vw);flex:0 1 260px;padding:9px 12px}.cd-import-btn,.cd-export-btn,.cd-edit-btn{white-space:nowrap}.cd-import-hint{grid-column:1 / -1;margin:0;line-height:1.6}.cd-toast{position:fixed;top:78px;left:50%;transform:translate(-50%);z-index:1500;display:flex;align-items:center;gap:10px;max-width:min(760px,calc(100vw - 32px));padding:11px 12px 11px 18px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);color:var(--text-primary);font-size:13px;line-height:1.6;box-shadow:0 14px 34px #0000002e;animation:cd-toast-in .26s ease-out}.cd-toast-success{border-color:var(--accent-1-border)}.cd-toast-error{border-color:var(--danger-border)}.cd-toast-icon{flex:none}.cd-toast-success .cd-toast-icon{color:var(--accent-1)}.cd-toast-error .cd-toast-icon{color:var(--danger)}.cd-toast-text{flex:1 1 auto;min-width:0}.cd-toast-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .2s ease,color .2s ease}.cd-toast-close:hover{background:var(--neutral-soft);color:var(--text-primary)}@keyframes cd-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.cd-table-card{overflow:hidden}.cd-table-scroll{overflow-x:auto}.cd-table{width:100%;min-width:820px;border-collapse:collapse;text-align:left}.cd-table th,.cd-table td{padding:13px 15px;border-bottom:1px solid var(--border-color);vertical-align:top;color:var(--text-primary);font-size:13px}.cd-table th{position:sticky;top:0;z-index:1;background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.cd-table tbody tr:last-child td{border-bottom:0}.cd-table tbody tr:hover{background:var(--accent-1-soft)}.cd-name{min-width:100px;font-weight:650}.cd-student-id{min-width:120px;font-variant-numeric:tabular-nums}.cd-member-pill,.cd-status-value{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:2px 8px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}.cd-member-pill.is-member,.cd-status-value.is-yes{border-color:var(--accent-1-border);background:var(--accent-1-soft);color:var(--accent-1)}.cd-member-pill.is-non-member,.cd-status-value.is-no{color:var(--text-muted)}.cd-member-pill.is-unset,.cd-status-value.is-unset{color:var(--text-muted);font-weight:500}.cd-status-list{display:grid;gap:5px;min-width:290px}.cd-status-line{display:flex;align-items:center;gap:7px;min-height:22px;white-space:nowrap}.cd-status-label,.cd-status-date{color:var(--text-secondary);font-size:12px}.cd-status-date{color:var(--text-muted)}.cd-status-unset{color:var(--text-muted);font-size:12px}.cd-row-action{width:1%;white-space:nowrap}.cd-row-actions{display:flex;align-items:center;gap:8px}.cd-edit-btn{padding:5px 12px;font-size:12px}.cd-clear-btn{padding:5px 12px;font-size:12px;color:var(--danger);border-color:var(--danger-border)}.cd-clear-btn:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger-hover)}.cd-clear-btn:disabled{color:var(--text-muted);border-color:var(--border-color);background:transparent;cursor:not-allowed;opacity:.65}.btn.cd-bulk-delete-btn{padding:5px 12px;font-size:12px;white-space:nowrap;color:var(--danger);border-color:var(--danger-border)}.btn.cd-bulk-delete-btn:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger-hover)}.btn.cd-bulk-delete-btn:disabled{color:var(--text-muted);border-color:var(--border-color);background:transparent;cursor:not-allowed;opacity:.65}.btn.cd-del-btn{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;width:34px;padding:0;color:var(--danger);border-color:var(--danger-border)}.btn.cd-del-btn:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger-hover)}.cd-state{padding:44px 20px;color:var(--text-muted);text-align:center;font-size:14px}.modal-sheet:has(.cd-edit-form){max-width:700px;max-height:90vh;overflow-y:auto}.cd-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.cd-edit-student{display:flex;align-items:center;gap:16px;grid-column:1 / -1;color:var(--text-muted);font-size:12px}.cd-edit-error{grid-column:1 / -1;margin:0!important;color:var(--danger);font-size:12px}.cd-edit-unset{grid-column:1 / -1;margin:0;color:var(--text-muted);font-size:12px;line-height:1.6}.cd-field{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px}.cd-control{width:100%;min-height:40px;flex:none;padding:8px 10px;font-size:13px}.cd-date-parts{display:flex;align-items:center;gap:8px}.cd-date-parts .cd-date-part{width:auto;flex:1 1 auto;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em}.cd-date-parts .cd-date-year{flex-grow:1.4}.cd-date-parts .cd-date-short{flex-grow:1}.cd-date-unit{flex:none;color:var(--text-muted);font-size:12px}.cd-date-hint{color:var(--danger);font-size:12px;line-height:1.4}.cd-edit-group{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:14px;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-primary)}.cd-edit-group h4{grid-column:1 / -1;margin:0;color:var(--text-primary);font-size:13px}.cd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 720px){.cd-toolbar{grid-template-columns:1fr}.cd-actions{flex-wrap:wrap}.cd-search{flex:1 1 160px;width:auto}}@media (max-width: 520px){.cd-page .tool-main{padding-right:12px;padding-left:12px}.cd-toolbar{padding:14px}.cd-edit-form,.cd-edit-group{grid-template-columns:1fr}.cd-edit-group h4,.cd-edit-student,.cd-edit-group{grid-column:1}}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--accent-1-soft) 1px,transparent 1px),linear-gradient(90deg,var(--accent-1-soft) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.auth-glow{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;animation:auth-glow-float 6s ease-in-out infinite alternate}.ag-1{width:500px;height:500px;top:-150px;left:-100px;background:radial-gradient(circle,var(--accent-1-soft),transparent 70%)}.ag-2{width:450px;height:450px;bottom:-100px;right:-80px;background:radial-gradient(circle,var(--glow-cyan),transparent 70%);animation-delay:-3s}@keyframes auth-glow-float{0%{transform:translate(0)}to{transform:translate(30px,-30px)}}.auth-container{position:relative;z-index:1;display:flex;width:100%;max-width:960px;min-height:auto;max-height:calc(100vh - 32px);margin:40px 24px 24px;border-radius:24px;border:1px solid var(--border-color);background:var(--bg-card);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);overflow:hidden;box-shadow:0 20px 60px #00000080;animation:auth-enter .6s ease-out}@keyframes auth-enter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-brand{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 32px;background:linear-gradient(160deg,var(--accent-1-soft) 0%,var(--accent-1-soft) 40%,var(--glow-cyan) 100%);position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;top:-30%;left:-20%;width:70%;height:70%;background:radial-gradient(circle,var(--accent-1-soft),transparent 70%);pointer-events:none;animation:auth-brand-glow 6s ease-in-out infinite alternate}.auth-brand:after{content:"";position:absolute;bottom:-20%;right:-15%;width:50%;height:50%;background:radial-gradient(circle,var(--glow-cyan),transparent 70%);pointer-events:none;animation:auth-brand-glow 8s ease-in-out infinite alternate-reverse}@keyframes auth-brand-glow{0%{transform:translate(0) scale(1);opacity:.6}to{transform:translate(20px,-20px) scale(1.1);opacity:1}}.auth-brand-content{position:relative;z-index:1;text-align:center;max-width:320px;padding-top:24px}.auth-brand-header{display:inline-flex;align-items:center;gap:16px;text-decoration:none;margin-bottom:24px;animation:auth-logo-float 4s ease-in-out infinite;transition:opacity .2s}.auth-brand-header:hover{opacity:.85}@keyframes auth-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.brand-logo-img{width:52px;height:52px;border-radius:14px;box-shadow:0 8px 32px var(--accent-1-border);transition:transform .3s ease,box-shadow .3s ease;display:block;flex-shrink:0}.auth-brand-header:hover .brand-logo-img{transform:scale(1.08);box-shadow:0 12px 40px var(--glow-accent-strong)}.brand-title-en{font-size:28px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent-1) 0%,var(--accent-1-light) 40%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.brand-title-cn{display:block;font-size:20px;font-weight:500;color:var(--text-secondary);letter-spacing:.15em;margin-top:4px}.auth-brand-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.auth-brand-quote{font-size:13px;color:var(--text-muted);font-style:italic;line-height:1.7;padding:10px 0;border-top:1px solid var(--accent-1-soft-strong);border-bottom:1px solid var(--accent-1-soft-strong);margin-bottom:12px}.auth-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);transition:color .2s}.auth-back-link:hover{color:var(--accent-1)}.auth-form-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 32px}.auth-form-card{width:100%;max-width:380px}.auth-form-header{margin-bottom:20px}.auth-tabs{display:flex;gap:0;margin-bottom:16px;background:#00000008;border-radius:12px;padding:4px;border:1px solid var(--border-color)}.auth-tab{flex:1;padding:10px 16px;border:none;border-radius:10px;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.auth-tab.active{background:var(--accent-1);color:var(--white);box-shadow:0 4px 12px var(--accent-1-border)}.auth-tab:disabled{cursor:default}.auth-form-title{font-size:26px;font-weight:700;letter-spacing:-.02em}.auth-form-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.auth-form-hint{font-size:14px;color:var(--text-secondary);line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:14px}.form-server-error{padding:10px 14px;border-radius:10px;background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);font-size:13px;line-height:1.5}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.form-input-wrap{position:relative;display:flex;align-items:center}.form-input-icon{position:absolute;left:14px;font-size:16px;pointer-events:none;opacity:.6;z-index:1}.form-input{width:100%;padding:12px 44px 12px 42px;background:#00000005;border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:all .3s ease}.form-input::placeholder{color:var(--text-muted);font-size:13px}.form-input:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px var(--accent-1-soft);background:var(--accent-1-soft)}.form-input.error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.pwd-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;padding:6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:2;line-height:0;border-radius:6px}.pwd-toggle:hover{color:var(--accent-1)}.pwd-toggle:focus-visible{outline:2px solid var(--accent-1);outline-offset:2px}.form-error{font-size:12px;color:var(--danger);padding-left:4px}.form-extras{display:flex;justify-content:flex-end;margin-top:-8px}.forgot-password-link{font-size:13px;color:var(--text-muted);transition:color .2s;text-decoration:none}.forgot-password-link:hover{color:var(--accent-1)}.auth-submit{width:100%;justify-content:center;padding:14px 28px;font-size:15px;margin-top:4px}.auth-switch{text-align:center;font-size:13px;color:var(--text-muted)}.auth-switch-btn{background:none;border:none;color:var(--accent-1);font-size:13px;font-weight:500;cursor:pointer;padding:0;margin-left:4px;transition:color .2s}.auth-switch-btn:hover{color:var(--accent-2)}.auth-success{text-align:center;padding:40px 0;animation:fade-up .4s ease}.success-icon{width:64px;height:64px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--accent-2),var(--accent-2-hover));font-size:28px;color:var(--white);box-shadow:0 8px 24px var(--glow-cyan-strong)}.auth-success h3{font-size:22px;font-weight:600;margin-bottom:8px}.auth-success p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.auth-container{flex-direction:column;max-width:480px;margin:16px}.auth-brand{padding:32px 24px}.auth-brand-content{max-width:100%}.brand-title-en{font-size:26px}.brand-title-cn{font-size:18px}.auth-form-wrap{padding:32px 24px}.auth-form-card{max-width:100%}.auth-brand-title,.auth-brand-desc,.auth-brand-quote{display:none}.auth-back-link{position:fixed;top:16px;left:16px;z-index:10;padding:8px 14px;margin:0;border-radius:999px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-size:14px;box-shadow:0 4px 16px #0000004d}.forgot-password-link{padding:6px 4px;margin:-6px -4px}.auth-switch-btn{padding:6px 4px;margin:-6px -4px -6px 0}}@media (max-width: 480px){.auth-container{margin:8px;border-radius:16px}.auth-brand,.auth-form-wrap{padding:24px 16px}}.tool-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.tool-page .navbar{opacity:1;transform:translateY(0)}.tool-main{max-width:720px;margin:0 auto;padding:100px 20px 60px}.tool-header{margin-bottom:24px}.tool-title{font-size:26px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tool-subtitle{margin:0;font-size:13px;color:var(--text-secondary)}.tool-cards{display:flex;flex-direction:column;gap:16px}.tool-card-link{display:flex;align-items:center;gap:16px;padding:20px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-color);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}.tool-card-link:hover{border-color:var(--accent-1);transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-1-soft)}.tool-card-icon{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-1-soft);color:var(--accent-1)}.tool-brand-icon{width:28px;height:28px}.tool-card-info{flex:1;min-width:0}.tool-card-name{font-size:17px;font-weight:700;margin:0 0 4px}.tool-card-desc{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.tool-card-arrow{color:var(--text-muted);font-size:18px}@media (max-width: 640px){.tool-main{padding-top:84px}}.app{position:relative;min-height:100vh}.scroll-reveal{opacity:0;transform:translateY(48px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--accent-1-soft) 1px,transparent 1px),linear-gradient(90deg,var(--accent-1-soft) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.bg-glow{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;opacity:0;transition:opacity 1.5s ease}.mounted .bg-glow{opacity:1}.glow-1{width:600px;height:600px;top:-200px;right:-100px;background:radial-gradient(circle,var(--accent-1-soft-strong),transparent 70%)}.glow-2{width:500px;height:500px;bottom:-150px;left:-100px;background:radial-gradient(circle,var(--glow-cyan),transparent 70%)}.glow-3{width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(253,121,168,.06),transparent 70%)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--bg-card);border-bottom:1px solid var(--border-color);opacity:0;transform:translateY(-20px);transition:opacity .8s ease,transform .8s ease}.mounted .navbar{opacity:1;transform:translateY(0)}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:10px;transition:opacity .2s}.nav-logo:hover{opacity:.8}.logo-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0}.logo-text{font-weight:600;font-size:16px;letter-spacing:-.02em}.nav-right{display:flex;align-items:center;gap:24px}.nav-links{display:flex;align-items:center;gap:32px}.nav-user{display:flex;align-items:center;gap:10px}.nav-user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;cursor:pointer;flex-shrink:0}.nav-user-avatar:hover{transform:scale(1.1);box-shadow:0 0 16px var(--glow-accent-strong)}.nav-avatar-img{width:100%;height:100%;object-fit:cover}.nav-avatar-letter{font-size:14px;font-weight:700;color:var(--white);line-height:1}.nav-user-name{font-size:13px;font-weight:500;color:var(--text-primary);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-logout-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted);font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .2s}.nav-logout-btn:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.nav-links a{font-size:14px;color:var(--text-secondary);transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent-1);transition:width .3s ease}.nav-links a:hover{color:var(--text-primary)}.nav-links a:hover:after{width:100%}.nav-item-active,.nav-links .nav-item-active,.nav-dropdown-trigger.nav-item-active{font-weight:700;color:var(--text-primary)}.nav-badge{position:absolute;top:-8px;right:-16px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);color:var(--white);font-size:10px;font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}.nav-dropdown{position:relative;padding-bottom:8px;margin-bottom:-8px}.category-dropdown{display:inline-block;align-self:flex-start;width:fit-content}.category-dropdown.just-picked .nav-dropdown-menu{opacity:0!important;visibility:hidden!important}.nav-dropdown-trigger{font-size:14px;color:var(--text-secondary);transition:color .2s;position:relative;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.nav-dropdown-trigger:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent-1);transition:width .3s ease}.nav-dropdown-trigger .arrow-down{font-size:10px;transition:transform .25s ease;display:inline-block}.nav-dropdown:hover .nav-dropdown-trigger{color:var(--text-primary)}.nav-dropdown:hover .nav-dropdown-trigger:after{width:100%}.nav-dropdown:hover .nav-dropdown-trigger .arrow-down{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(-8px) scale(.96);background:var(--bg-card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-color);border-radius:12px;padding:12px 6px 6px;min-width:130px;opacity:0;visibility:hidden;transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1),visibility .25s;box-shadow:0 12px 32px #0000001a;z-index:200;transition-delay:0s}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1);transition-delay:.1s}.nav-dropdown.just-picked .nav-dropdown-menu{opacity:0!important;visibility:hidden!important}.nav-dropdown-menu:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--border-color)}.nav-dropdown-menu:after{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--bg-card);z-index:1}.nav-dropdown-menu a{display:block;padding:9px 18px;border-radius:8px;font-size:14px;color:var(--text-secondary);text-decoration:none;transition:all .2s;white-space:nowrap}.nav-dropdown-menu a:hover{background:var(--accent-1-soft);color:var(--accent-1)}.nav-dropdown-menu a:after{display:none}.nav-login-btn{padding:7px 18px;border-radius:8px;background:linear-gradient(135deg,var(--accent-1),var(--accent-1-light));color:var(--white)!important;font-size:13px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 16px var(--accent-1-border)}.nav-login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--glow-accent-strong)!important}.nav-login-btn:after{display:none!important}.nav-hamburger{display:none;width:38px;height:38px;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;transition:background .2s,color .2s}.nav-hamburger:hover{background:var(--accent-1-soft);color:var(--text-primary)}.nav-drawer,.nav-drawer-overlay{display:none}@media (max-width: 768px){.nav-hamburger{display:flex;position:fixed;top:13px;right:24px;z-index:200}.nav-links,.nav-right{display:none}.nav-drawer{display:flex;position:fixed;top:0;right:0;height:100%;width:min(300px,80vw);z-index:160;flex-direction:column;gap:4px;padding:72px 20px 24px;background:var(--bg-card);border-left:1px solid var(--border-color);overflow-y:auto;transform:translate(100%);transition:transform .3s ease}.nav-drawer.open{transform:translate(0)}.nav-drawer-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}.nav-drawer-overlay.show{opacity:1;visibility:visible}.nav-drawer .nav-dropdown-trigger{display:block;width:100%;padding:12px 10px;font-size:15px;border-radius:8px}.nav-drawer .nav-dropdown-menu a{white-space:normal}.nav-drawer .arrow-down{display:none}.nav-drawer-user{margin-top:12px;padding-top:16px;border-top:1px solid var(--border-color)}.nav-drawer-user .nav-login-btn{display:block;text-align:center}.nav-dropdown-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);opacity:1;visibility:visible;display:none;min-width:160px;padding:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 12px 32px #00000059;z-index:60}.nav-dropdown.mobile-open .nav-dropdown-menu{display:block}.nav-dropdown.mobile-open .nav-dropdown-trigger .arrow-down,.nav-dropdown.mobile-open .category-btn .arrow-down{transform:rotate(180deg)}.nav-dropdown-menu:before,.nav-dropdown-menu:after{display:none}}.hero{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px 80px;text-align:center}.hero-content{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease;transition-delay:.3s}.mounted .hero-content{opacity:1;transform:translateY(0)}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border:1px solid var(--border-color);border-radius:100px;font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.08em;margin-bottom:32px;text-transform:uppercase}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero-title{margin-bottom:24px;line-height:1.1}.title-en{display:block;font-size:clamp(48px,10vw,96px);font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-1) 50%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.title-divider{display:none}.title-cn{display:block;font-size:clamp(32px,6vw,64px);font-weight:500;color:var(--text-secondary);margin-top:8px;letter-spacing:.15em}.hero-subtitle{font-size:clamp(16px,2vw,20px);color:var(--text-secondary);max-width:560px;margin:0 auto 40px;line-height:1.7}.subtitle-extra{color:var(--text-muted);font-size:.9em}.hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:12px;font-size:15px;font-weight:500;transition:all .3s ease;cursor:pointer}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:700;font-family:inherit;border-radius:10px;cursor:pointer;border:none;background:linear-gradient(135deg,var(--accent-1),var(--accent-1-light));color:#fff;box-shadow:0 2px 10px var(--accent-1-border);transition:all .2s;white-space:nowrap}.action-btn:hover:not(:disabled){color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px var(--glow-accent-strong)}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:none}.action-btn-secondary:hover:not(:disabled){border-color:var(--accent-1);color:var(--accent-1);box-shadow:none}.action-btn-danger{background:linear-gradient(135deg,var(--danger),var(--danger-hover));color:#fff;box-shadow:0 2px 10px var(--danger-soft-strong)}.action-btn-danger:hover:not(:disabled){color:#fff}.action-btn-sm{padding:6px 14px;font-size:12px;border-radius:8px}.btn-primary{background:linear-gradient(135deg,var(--accent-1),var(--accent-1-light));color:var(--white);border:none;box-shadow:0 4px 20px var(--accent-1-border)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--glow-accent-strong)}.btn-arrow{transition:transform .3s ease}.btn-primary:hover .btn-arrow{transform:translate(4px)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--accent-1);color:var(--text-primary);background:var(--accent-1-soft)}.hero-scroll{position:absolute;bottom:32px;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;transition:opacity 1s ease;transition-delay:1.5s}.mounted .hero-scroll{opacity:1}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent-1),transparent);animation:scroll-line 2s ease-in-out infinite}@keyframes scroll-line{0%{transform:scaleY(0);transform-origin:top;opacity:1}50%{transform:scaleY(1);transform-origin:top;opacity:1}51%{transform:scaleY(1);transform-origin:bottom;opacity:1}to{transform:scaleY(0);transform-origin:bottom;opacity:0}}.scroll-text{font-size:11px;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase}.section{position:relative;z-index:1;padding:120px 24px}.section-inner{max-width:var(--max-width);margin:0 auto}.section-header{text-align:center;margin-bottom:64px}.section-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--accent-1);letter-spacing:.15em;margin-bottom:16px;text-transform:uppercase}.section-title{font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:16px;letter-spacing:-.02em}.section-desc{font-size:16px;color:var(--text-secondary);max-width:540px;margin:0 auto;line-height:1.7}.about-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.about-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:40px 32px;transition:all .4s ease;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease,border-color .3s ease,box-shadow .3s ease;transition-delay:var(--delay, 0ms)}.mounted .about-card{opacity:1;transform:translateY(0)}.about-card:hover{border-color:var(--accent-1);box-shadow:0 8px 40px var(--glow-accent);transform:translateY(-4px)}.card-icon{font-size:32px;margin-bottom:20px}.about-card h3{font-size:20px;font-weight:600;margin-bottom:12px}.about-card p{font-size:14px;color:var(--text-secondary);line-height:1.7}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.project-card{position:relative;border-radius:16px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);transition:all .3s ease}.project-card:hover{border-color:var(--accent-2);box-shadow:0 8px 40px var(--glow-cyan);transform:translateY(-4px)}.project-card-bg{height:140px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));opacity:.08}.project-card-content{padding:28px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag{display:inline-block;padding:4px 12px;border-radius:6px;background:var(--accent-1-soft);color:var(--accent-1);font-size:12px;font-weight:500}.project-card-content h3{font-size:20px;font-weight:600;margin-bottom:10px}.project-card-content p,.project-card-content .project-card-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card-content .project-card-desc p{margin:0}.project-meta{display:flex;align-items:center;gap:8px}.meta-status{font-size:12px;font-weight:500;padding:4px 12px;border-radius:100px}.meta-status.active{background:var(--glow-cyan);color:var(--accent-2)}.meta-status.pending{background:#5c5c781a;color:var(--text-muted)}.contact-links{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:400px;margin:0 auto}.contact-item{display:flex;align-items:center;gap:16px;width:100%;padding:20px 24px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-color);transition:all .3s ease}.contact-item:hover{border-color:var(--accent-1);background:var(--accent-1-soft);transform:translateY(-2px)}.contact-item-text{cursor:default}.contact-custom-icon{width:18px;height:18px;border-radius:4px;object-fit:cover;flex-shrink:0}.contact-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-1-soft);border-radius:12px;flex-shrink:0}.contact-icon-svg{width:26px;height:26px;color:var(--accent-1)}.contact-item>div{display:flex;flex-direction:column;gap:2px}.contact-label{font-size:16px;font-weight:600;color:var(--text-primary)}.contact-desc{font-size:13px;color:var(--text-muted);line-height:1.5}.footer{position:relative;z-index:1;border-top:1px solid var(--border-color);padding:32px 24px}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer-copyright{font-size:13px;color:var(--text-muted)}.footer-copyright strong{color:var(--text-secondary)}.footer-motto{font-size:13px;color:var(--text-muted);letter-spacing:.08em}@media (max-width: 768px){.nav-right{gap:12px}.nav-user-name{display:none}.nav-links{gap:20px}.hero{padding:100px 20px 60px}.section{padding:80px 20px}.section-header{margin-bottom:40px}.about-cards,.project-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;text-align:center;gap:4px}.contact-links{width:100%}}@media (max-width: 480px){.nav-links a{font-size:13px}.hero-actions{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}.about-card{padding:28px 24px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay);display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.modal-sheet{background:var(--bg-card);border-radius:16px;padding:24px 28px 28px;max-width:400px;width:90%;animation:scaleIn .2s ease;box-shadow:0 4px 30px #0003}.modal-sheet h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.modal-sheet p{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.5}.modal-body{margin:16px 0 24px;display:flex;flex-direction:column;gap:14px}.modal-body .ai-provider-select{min-width:0}.modal-actions{display:flex;gap:12px}.modal-actions .btn{flex:1;padding:10px;font-size:14px;border-radius:8px;cursor:pointer;text-align:center;border:none;transition:all .2s}.modal-actions .btn-secondary{background:var(--neutral-soft);color:var(--text-secondary)}.modal-actions .btn-secondary:hover{background:var(--neutral-soft-hover)}.modal-actions .btn-danger{background:var(--danger);color:var(--white)}.modal-actions .btn-danger:hover{background:var(--danger-hover)}.modal-actions .btn-danger:disabled{opacity:.6;cursor:not-allowed}.modal-actions .btn-primary:disabled{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-color);box-shadow:none;opacity:.75;cursor:not-allowed}.modal-actions .btn-primary:disabled:hover{transform:none;box-shadow:none}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-cover{width:100%;height:200px;object-fit:contain;display:block;background:var(--bg-card);flex-shrink:0}.friend-links-grid{display:flex;flex-direction:column;gap:12px;max-width:560px;margin:0 auto}.friend-link-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:16px 20px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);text-decoration:none;transition:all .3s ease}.friend-link-card:hover{border-color:var(--accent-1);box-shadow:0 6px 24px var(--glow-accent);transform:translateY(-2px)}.friend-link-name{font-size:15px;font-weight:600;color:var(--text-primary)}.friend-link-desc{font-size:12px;color:var(--text-muted);line-height:1.5}:root{--bg-primary: #f8f9fa;--bg-card: #ffffff;--bg-elevated: #f5f5f8;--text-primary: #1a1a2e;--text-secondary: #3a3a4e;--text-muted: #4a4a5e;--accent-1: #6c5ce7;--accent-1-light: #8b7cf7;--accent-1-hover: #5a4bd6;--accent-1-soft: rgba(108, 92, 231, .1);--accent-1-soft-strong: rgba(108, 92, 231, .15);--accent-1-border: rgba(108, 92, 231, .3);--accent-2: #00cec9;--accent-2-hover: #00b894;--accent-2-soft: rgba(0, 206, 201, .15);--danger: #e74c3c;--danger-hover: #c0392b;--danger-soft: rgba(231, 76, 60, .1);--danger-soft-strong: rgba(231, 76, 60, .15);--danger-border: rgba(231, 76, 60, .3);--white: #ffffff;--border-color: #e2e2ef;--neutral-soft: #e8e8e8;--neutral-soft-hover: #d0d0d0;--overlay: rgba(0, 0, 0, .5);--glow-accent: rgba(108, 92, 231, .08);--glow-accent-strong: rgba(108, 92, 231, .4);--glow-cyan: rgba(0, 206, 201, .06);--glow-cyan-strong: rgba(0, 206, 201, .4);--progress-gradient: linear-gradient(90deg, #6c5ce7, #00cec9);--max-width: 1200px;--hljs-keyword: #d73a49;--hljs-title: #6f42c1;--hljs-const: #005cc5;--hljs-string: #032f62;--hljs-builtin: #e36209;--hljs-comment: #6a737d;--hljs-tag: #22863a;--hljs-bullet: #735c0f;--hljs-add: #22863a;--hljs-add-bg: #f0fff4;--hljs-del: #b31d28;--hljs-del-bg: #ffeef0;--hljs-text: #24292e}:root[data-theme=dark]{--bg-primary: #0f1014;--bg-card: #1a1b22;--bg-elevated: #23242e;--text-primary: #e8e8f0;--text-secondary: #b0b2c0;--text-muted: #7a7c8c;--accent-1: #7c6cf0;--accent-1-light: #9d8ffa;--accent-1-hover: #8a7bf5;--accent-1-soft: rgba(124, 108, 240, .2);--accent-1-soft-strong: rgba(124, 108, 240, .28);--accent-1-border: rgba(124, 108, 240, .45);--accent-2: #2ee6e0;--accent-2-hover: #3af0c0;--accent-2-soft: rgba(46, 230, 224, .22);--danger: #e0503f;--danger-hover: #ef6a55;--danger-soft: rgba(240, 106, 88, .18);--danger-soft-strong: rgba(240, 106, 88, .26);--danger-border: rgba(240, 106, 88, .45);--white: #ffffff;--border-color: #2e2f3a;--neutral-soft: #33343f;--neutral-soft-hover: #3d3e4b;--overlay: rgba(0, 0, 0, .6);--glow-accent: rgba(124, 108, 240, .15);--glow-accent-strong: rgba(124, 108, 240, .5);--glow-cyan: rgba(46, 230, 224, .1);--glow-cyan-strong: rgba(46, 230, 224, .5);--progress-gradient: linear-gradient(90deg, #7c6cf0, #2ee6e0);color-scheme:dark;--hljs-keyword: #ff7b72;--hljs-title: #d2a8ff;--hljs-const: #79c0ff;--hljs-string: #a5d6ff;--hljs-builtin: #ffa657;--hljs-comment: #8b949e;--hljs-tag: #7ee787;--hljs-bullet: #f2cc60;--hljs-add: #aff5b4;--hljs-add-bg: #033a16;--hljs-del: #ffdcd7;--hljs-del-bg: #67060c;--hljs-text: #c9d1d9}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-primary: #0f1014;--bg-card: #1a1b22;--bg-elevated: #23242e;--text-primary: #e8e8f0;--text-secondary: #b0b2c0;--text-muted: #7a7c8c;--accent-1: #7c6cf0;--accent-1-light: #9d8ffa;--accent-1-hover: #8a7bf5;--accent-1-soft: rgba(124, 108, 240, .2);--accent-1-soft-strong: rgba(124, 108, 240, .28);--accent-1-border: rgba(124, 108, 240, .45);--accent-2: #2ee6e0;--accent-2-hover: #3af0c0;--accent-2-soft: rgba(46, 230, 224, .22);--danger: #e0503f;--danger-hover: #ef6a55;--danger-soft: rgba(240, 106, 88, .18);--danger-soft-strong: rgba(240, 106, 88, .26);--danger-border: rgba(240, 106, 88, .45);--white: #ffffff;--border-color: #2e2f3a;--neutral-soft: #33343f;--neutral-soft-hover: #3d3e4b;--overlay: rgba(0, 0, 0, .6);--glow-accent: rgba(124, 108, 240, .15);--glow-accent-strong: rgba(124, 108, 240, .5);--glow-cyan: rgba(46, 230, 224, .1);--glow-cyan-strong: rgba(46, 230, 224, .5);--progress-gradient: linear-gradient(90deg, #7c6cf0, #2ee6e0);color-scheme:dark;--hljs-keyword: #ff7b72;--hljs-title: #d2a8ff;--hljs-const: #79c0ff;--hljs-string: #a5d6ff;--hljs-builtin: #ffa657;--hljs-comment: #8b949e;--hljs-tag: #7ee787;--hljs-bullet: #f2cc60;--hljs-add: #aff5b4;--hljs-add-bg: #033a16;--hljs-del: #ffdcd7;--hljs-del-bg: #67060c;--hljs-text: #c9d1d9}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:var(--accent-1);color:var(--white)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.katex{color:inherit}.markdown-body pre[data-lang]{position:relative;padding-top:44px}.markdown-body pre[data-lang]:before{content:attr(data-lang);position:absolute;top:12px;left:16px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-muted);text-transform:none;-webkit-user-select:none;user-select:none}.markdown-body code.hljs{background:none;color:var(--hljs-text)}.markdown-body .hljs-comment,.markdown-body .hljs-code,.markdown-body .hljs-formula{color:var(--hljs-comment);font-style:italic}.markdown-body .hljs-keyword,.markdown-body .hljs-doctag,.markdown-body .hljs-template-tag,.markdown-body .hljs-template-variable,.markdown-body .hljs-type,.markdown-body .hljs-variable.language_{color:var(--hljs-keyword)}.markdown-body .hljs-title,.markdown-body .hljs-title.class_,.markdown-body .hljs-title.class_.inherited__,.markdown-body .hljs-title.function_{color:var(--hljs-title)}.markdown-body .hljs-attr,.markdown-body .hljs-attribute,.markdown-body .hljs-literal,.markdown-body .hljs-meta,.markdown-body .hljs-number,.markdown-body .hljs-operator,.markdown-body .hljs-variable,.markdown-body .hljs-selector-attr,.markdown-body .hljs-selector-class,.markdown-body .hljs-selector-id{color:var(--hljs-const)}.markdown-body .hljs-regexp,.markdown-body .hljs-string,.markdown-body .hljs-meta .hljs-string{color:var(--hljs-string)}.markdown-body .hljs-built_in,.markdown-body .hljs-symbol{color:var(--hljs-builtin)}.markdown-body .hljs-name,.markdown-body .hljs-quote,.markdown-body .hljs-selector-tag,.markdown-body .hljs-selector-pseudo{color:var(--hljs-tag)}.markdown-body .hljs-section{color:var(--hljs-const);font-weight:700}.markdown-body .hljs-bullet{color:var(--hljs-bullet)}.markdown-body .hljs-subst{color:var(--hljs-text)}.markdown-body .hljs-emphasis{font-style:italic}.markdown-body .hljs-strong{font-weight:700}.markdown-body .hljs-addition{color:var(--hljs-add);background-color:var(--hljs-add-bg)}.markdown-body .hljs-deletion{color:var(--hljs-del);background-color:var(--hljs-del-bg)}.md-code-block{position:relative}.md-code-copy{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:12px;line-height:1;font-weight:500;font-family:inherit;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;opacity:0;transition:opacity .15s ease}.markdown-body .md-code-block:hover .md-code-copy,.md-code-copy:focus-visible{opacity:1}.md-code-copy:hover{color:var(--text-primary);border-color:var(--accent-1-border)}.md-code-copy.copied{color:var(--accent-2);border-color:var(--accent-2)}button{touch-action:manipulation}[data-golden="1"] .btn-primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#d4a400,#f0c23a);color:#3a2d00;border:none;box-shadow:0 4px 16px #d4a40066}[data-golden="1"] .btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(135deg,#f0c23a,#d4a400);border-radius:inherit;opacity:0;transition:opacity .35s ease;mix-blend-mode:screen}[data-golden="1"] .btn-primary:hover:before{opacity:1}[data-golden="1"] .btn-primary>*{position:relative;z-index:1}[data-golden="1"] .btn-primary:hover:after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:35%;z-index:1;background:linear-gradient(105deg,transparent,rgba(255,255,255,.9),transparent);transform:skew(-20deg);mix-blend-mode:screen;animation:golden-btn-shimmer 1.6s ease-in-out infinite}@keyframes golden-btn-shimmer{0%{left:-45%}to{left:110%}}.golden-magic{position:fixed;left:0;top:84px;z-index:950;width:260px;padding:16px 18px;border-radius:0 14px 14px 0;background:linear-gradient(135deg,#f0c23a,#d4a400);color:#3a2d00;box-shadow:0 8px 24px #d4a40073;display:flex;flex-direction:column;gap:10px;animation:golden-magic-in .6s cubic-bezier(.22,1,.36,1) both}.golden-magic-active{background:linear-gradient(135deg,#e8b400,#f6d158)}@keyframes golden-magic-in{0%{transform:translate(-110%);opacity:.3}to{transform:translate(0);opacity:1}}.golden-magic-exit{animation:golden-magic-out .9s ease forwards}@keyframes golden-magic-out{0%{transform:translate(0);opacity:1}40%{opacity:0}to{transform:translate(-110%);opacity:0}}.golden-magic-title{font-size:15px;font-weight:800;letter-spacing:.02em}.golden-magic-timer{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.06em}.golden-magic-text{font-size:12px;line-height:1.6;opacity:.9}.golden-magic-actions{display:flex;gap:10px;align-items:center}.golden-magic-confirm{padding:6px 14px;font-size:13px;background:#3a2d00;color:#f0c23a;border:none;border-radius:8px;cursor:pointer}.golden-magic-confirm:hover{background:#4a3a08}.golden-magic-cancel{border:none;background:transparent;color:#4a3300;font-size:12px;cursor:pointer;text-decoration:underline}@media (max-width: 768px){.markdown-body pre[data-lang]{padding-top:34px}.markdown-body pre[data-lang]:before{top:9px;left:12px;font-size:11px}.md-code-copy{top:8px;right:8px}.markdown-body pre{padding:14px 12px}.markdown-body pre code{font-size:13px;line-height:1.55}.markdown-body .katex{font-size:1.05em}.markdown-body .katex-display{margin:12px 0}.markdown-body pre,.markdown-body .katex-display{-webkit-overflow-scrolling:touch}}
