@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.tool-card{-webkit-backdrop-filter:blur(30px)saturate(190%);transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-normal), border-color var(--transition-normal);cursor:pointer;text-align:left;background:linear-gradient(145deg,#ffffffd6 0%,#fff9 100%);border:1px solid #ffffffe0;border-radius:26px;flex-direction:column;padding:1.85rem;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -4px #0000000a,0 4px 10px -2px #00000005,inset 0 1px 1.5px #fffffff2,inset 0 -1px 1px #00000004}.tool-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff73 0%,#0000 100%);border-top-left-radius:26px;border-top-right-radius:26px;height:48%;position:absolute;top:0;left:0;right:0}.tool-card:hover{background:linear-gradient(145deg,#fffffff2 0%,#ffffffbd 100%);border-color:#fff;transform:translateY(-6px)scale(1.012);box-shadow:0 22px 48px -8px #00000014,0 8px 18px -4px #00000008,inset 0 1px 2px #fff}.tool-card:active{transform:translateY(-2px)scale(.99)}.tool-badge{z-index:2;color:var(--card-color,#0071e3);-webkit-backdrop-filter:blur(14px);letter-spacing:-.01em;background:#ffffffe6;border:1px solid #fffffff2;border-radius:9999px;padding:.3rem .8rem;font-size:.75rem;font-weight:700;position:absolute;top:1.25rem;right:1.25rem;box-shadow:0 2px 8px #0000000a}.tool-badge.badge-highlight{background:color-mix(in srgb, var(--card-color) 12%, #fff);border-color:color-mix(in srgb, var(--card-color) 30%, transparent)}.tool-badge.badge-dev{color:var(--text-tertiary);background:#0000000a;border-color:#0000000f}.tool-icon-wrapper{z-index:1;background:color-mix(in srgb, var(--card-color) 10%, #ffffffd9);width:58px;height:58px;color:var(--card-color);transition:all var(--transition-normal);border:1px solid #fffffff2;border-radius:18px;justify-content:center;align-items:center;margin-bottom:1.2rem;display:flex;position:relative;box-shadow:0 4px 16px #0000000a,inset 0 1px 1px #fffffff2}.tool-card:hover .tool-icon-wrapper{background:var(--card-color);color:#fff;box-shadow:0 8px 24px color-mix(in srgb, var(--card-color) 35%, transparent);transform:scale(1.08)rotate(2deg)}.tool-content{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.tool-category-label{text-transform:uppercase;letter-spacing:.04em;color:var(--card-color);margin-bottom:.35rem;font-size:.75rem;font-weight:700}.tool-title{color:var(--text-primary);letter-spacing:-.025em;word-break:keep-all;margin-bottom:.25rem;font-size:1.28rem;font-weight:700;line-height:1.35}.title-main{display:block}.title-sub{color:var(--text-secondary);margin-top:.15rem;font-size:.88rem;font-weight:500;display:block}.tool-subtitle{color:var(--text-secondary);margin-bottom:.6rem;font-size:.85rem;font-weight:600}.tool-desc{color:var(--text-secondary);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.92rem;line-height:1.58;display:-webkit-box;overflow:hidden}.tool-tags{flex-wrap:wrap;gap:.4rem;margin-top:auto;margin-bottom:1.2rem;display:flex}.tool-tag-pill{color:var(--text-secondary);background:#00000009;border:1px solid #0000000a;border-radius:9999px;padding:.2rem .55rem;font-size:.74rem;font-weight:600}.tool-footer{z-index:1;border-top:1px solid #0000000d;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:1rem;display:flex;position:relative}.launch-text{color:var(--text-primary);letter-spacing:-.01em;transition:color var(--transition-fast);font-size:.88rem;font-weight:600}.arrow-icon{color:var(--card-color);transition:transform var(--transition-normal)}.play-icon{fill:var(--card-color)}.tool-card:hover .arrow-icon{transform:translate(4px)}.tool-card.is-coming-soon{opacity:.85}.tool-card.is-coming-soon .launch-text,.tool-card.is-coming-soon .arrow-icon{color:var(--text-tertiary)}.modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(12px);background:#0f172a66;justify-content:center;align-items:center;padding:1.5rem;animation:.2s cubic-bezier(.16,1,.3,1) fadeIn;display:flex;position:fixed;inset:0}.modal-container{-webkit-backdrop-filter:blur(40px)saturate(200%);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--glass-shadow-float);background:linear-gradient(145deg,#fffffff5 0%,#ffffffe0 100%);border:1px solid #fffffff2;border-radius:30px;flex-direction:column;animation:.28s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;padding:1.6rem 2rem .8rem;display:flex}.modal-header-meta{align-items:center;gap:.6rem;display:flex}.modal-category{text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:800}.modal-badge{color:var(--text-secondary);background:#0000000d;border-radius:9999px;padding:.2rem .6rem;font-size:.74rem;font-weight:700}.modal-close-btn{width:34px;height:34px;color:var(--text-secondary);transition:all var(--transition-fast);background:#0000000d;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{color:var(--text-primary);background:#0000001a;transform:rotate(90deg)}.modal-title-row{padding:0 2rem 1.2rem}.modal-title{letter-spacing:-.03em;color:var(--text-primary);font-size:1.65rem;font-weight:800;line-height:1.25}.modal-subtitle{color:var(--text-secondary);margin-top:.35rem;font-size:.95rem;font-weight:500}.modal-tabs{border-bottom:1px solid #0000000f;gap:.5rem;padding:0 2rem 1rem;display:flex}.modal-tab{color:var(--text-secondary);transition:all var(--transition-fast);background:#00000009;border-radius:9999px;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;display:inline-flex}.modal-tab:hover{color:var(--text-primary);background:#00000012}.modal-tab.active{background:var(--text-primary);color:#fff;box-shadow:0 4px 12px #00000026}.modal-body{flex:1;padding:1.5rem 2rem;overflow-y:auto}.modal-section{margin-bottom:1.4rem}.section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.45rem;font-size:.82rem;font-weight:700}.modal-full-desc{color:var(--text-primary);font-size:1rem;line-height:1.65}.modal-features-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.modal-features-list li{color:var(--text-primary);align-items:flex-start;gap:.55rem;font-size:.94rem;line-height:1.5;display:flex}.feature-check{flex-shrink:0;margin-top:.2rem}.target-audience-box{color:var(--text-primary);padding:.45rem 1.1rem;font-size:.88rem;font-weight:600;display:inline-block}.modal-tags-list{flex-wrap:wrap;gap:.45rem;display:flex}.modal-tag-chip{color:var(--accent-color);background:#0071e314;border:1px solid #0071e326;border-radius:9999px;padding:.3rem .75rem;font-size:.8rem;font-weight:600}.ai-demo-box{background:#ffffffbf;border-radius:20px;flex-direction:column;gap:1rem;padding:1.2rem;display:flex}.chat-window{flex-direction:column;gap:.8rem;max-height:260px;padding-right:.4rem;display:flex;overflow-y:auto}.chat-bubble-row{display:flex}.chat-bubble-row.user{justify-content:flex-end}.chat-bubble-row.ai{justify-content:flex-start}.chat-bubble{border-radius:18px;max-width:82%;padding:.85rem 1.15rem;font-size:.92rem;line-height:1.55}.chat-bubble.user{color:#fff;background:linear-gradient(135deg,#0071e3 0%,#005bb5 100%);border-bottom-right-radius:4px}.chat-bubble.ai{color:var(--text-primary);background:#0000000a;border:1px solid #0000000d;border-bottom-left-radius:4px}.bubble-text{white-space:pre-wrap;word-break:break-word;font-family:inherit}.quick-prompts{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.quick-prompt-btn{color:var(--text-secondary);border-color:#00000014;padding:.3rem .75rem;font-size:.78rem;font-weight:600}.quick-prompt-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:#fff}.chat-input-bar{background:#fff;border:1px solid #0000001a;border-radius:9999px;gap:.5rem;padding:.35rem .5rem .35rem 1rem;display:flex}.chat-input-bar input{background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.92rem}.chat-send-btn{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.physics-demo-box{background:#ffffffbf;border-radius:20px;flex-direction:column;gap:1.2rem;padding:1.2rem;display:flex}.physics-canvas-wrapper{background:#fff;border:1px solid #00000014;border-radius:16px;overflow:hidden;box-shadow:inset 0 2px 6px #00000008}.physics-canvas{width:100%;height:240px;display:block}.physics-controls{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.control-slider{flex-direction:column;gap:.4rem;display:flex}.control-slider label{color:var(--text-secondary);font-size:.82rem}.control-slider input[type=range]{width:100%;accent-color:var(--accent-color)}.timer-demo-box{text-align:center;background:#ffffffbf;border-radius:20px;flex-direction:column;align-items:center;gap:1.4rem;padding:2rem 1.5rem;display:flex}.timer-display-huge{letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--text-primary);text-shadow:0 4px 16px #0000000f;font-size:4.2rem;font-weight:800}.timer-mode-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.timer-preset-btn{padding:.45rem 1rem;font-size:.84rem;font-weight:600}.timer-preset-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:#fff}.timer-actions{gap:.8rem;display:flex}.timer-ctrl-btn{padding:.7rem 1.5rem}.quiz-demo-box{background:#ffffffbf;border-radius:20px;flex-direction:column;gap:1.2rem;padding:1.6rem;display:flex}.quiz-question-badge{color:var(--accent-color);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.quiz-question-title{color:var(--text-primary);font-size:1.15rem;font-weight:700;line-height:1.4}.quiz-options-list{flex-direction:column;gap:.6rem;display:flex}.quiz-option-card{color:var(--text-primary);transition:all var(--transition-fast);text-align:left;background:#fff;border:1px solid #00000014;border-radius:16px;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;font-size:.94rem;font-weight:600;display:flex}.quiz-option-card:hover{border-color:var(--accent-color);background:#0071e308}.quiz-option-card.selected{border-color:var(--accent-color);color:var(--accent-color);background:#0071e314}.quiz-submit-btn{border-radius:16px;width:100%;padding:.85rem}.quiz-result-banner{border-radius:16px;align-items:flex-start;gap:.8rem;padding:1rem 1.2rem;font-size:.9rem;line-height:1.45;display:flex}.quiz-result-banner.correct{color:#065f46;background:#10b9811f;border:1px solid #10b9814d}.quiz-result-banner.wrong{color:#991b1b;background:#ef44441a;border:1px solid #ef444440}.regression-demo-box{background:#ffffffc7;border-radius:20px;flex-direction:column;gap:1rem;padding:1.2rem;display:flex}.regression-toolbar{flex-direction:column;gap:.6rem;display:flex}.regression-hint{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.hint-pill{color:#6366f1;background:#6366f11f;border-radius:9999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.regression-presets{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.preset-label{color:var(--text-tertiary);font-size:.76rem;font-weight:600}.preset-btn{color:var(--text-secondary);border-color:#00000014;padding:.3rem .75rem;font-size:.78rem;font-weight:600}.preset-btn:hover{color:#6366f1;background:#fff;border-color:#6366f1}.clear-btn{color:#ef4444;align-items:center;gap:.3rem;display:inline-flex}.clear-btn:hover{color:#dc2626;border-color:#ef4444}.fullscreen-lab-btn{color:#4f46e5;background:#6366f11a;border-color:#6366f140;align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.fullscreen-lab-btn:hover{color:#fff;background:#6366f1;border-color:#6366f1}.regression-canvas-wrapper{background:#fff;border:1px solid #00000014;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:inset 0 2px 6px #00000008}.regression-canvas{cursor:crosshair;width:100%;height:250px;display:block}.canvas-legend{color:var(--text-secondary);background:#f8fafce6;border-top:1px solid #0000000d;flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:.78rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:flex}.legend-color{border-radius:3px;width:12px;height:12px}.legend-color.dot-blue{background:#0071e3;border-radius:50%;box-shadow:0 0 0 2px #0071e333}.legend-color.line-orange{background:#ff9500;border-radius:2px;height:3px}.legend-color.line-purple{background:#6366f1;border-radius:2px;height:3px}.regression-metrics-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.metric-card{background:#fff;border:1px solid #0000000f;border-radius:14px;flex-direction:column;gap:.25rem;padding:.9rem 1.1rem;display:flex;box-shadow:0 2px 8px #00000005}.metric-header{justify-content:space-between;align-items:center;display:flex}.metric-title{color:var(--text-secondary);font-size:.78rem;font-weight:600}.metric-badge{color:#ff9500;background:#ff95001f;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.metric-badge.ai{color:#6366f1;background:#6366f11f}.metric-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:1.6rem;font-weight:800}.metric-sub{color:var(--text-tertiary);font-size:.76rem;font-weight:500}.regression-controls{background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;gap:.9rem;padding:1rem 1.2rem;display:flex}.controls-row{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.slider-label-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.slider-label-row strong{font-variant-numeric:tabular-nums;color:var(--text-primary)}.controls-actions{border-top:1px solid #0000000d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.6rem;display:flex}.auto-fit-btn{border-radius:9999px;gap:.4rem;padding:.5rem 1rem;font-size:.85rem}.auto-fit-btn:disabled{opacity:.5;cursor:not-allowed}.toggles-group{align-items:center;gap:1rem;display:flex}.toggle-label input[type=checkbox]{accent-color:#6366f1;cursor:pointer;width:15px;height:15px}.modal-footer{border-top:1px solid #0000000f;justify-content:flex-end;align-items:center;gap:.8rem;padding:1.2rem 2rem 1.6rem;display:flex}.modal-action-btn{align-items:center;gap:.5rem;display:inline-flex}.modal-dev-info{color:var(--text-secondary);padding:.5rem 1rem;font-size:.84rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=640px){.modal-container{border-radius:24px;max-height:96vh}.modal-header,.modal-title-row,.modal-body,.modal-footer,.modal-tabs{padding-left:1.25rem;padding-right:1.25rem}.physics-controls,.regression-metrics-grid,.controls-row{grid-template-columns:1fr}}.suggest-modal-container{-webkit-backdrop-filter:blur(40px)saturate(200%);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--glass-shadow-float);background:linear-gradient(145deg,#fffffff5 0%,#ffffffe6 100%);border:1px solid #fffffff2;border-radius:28px;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;overflow:hidden}.suggest-badge{color:var(--accent-color);background:#0071e314;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.suggest-header-text{padding:0 2rem 1.2rem}.suggest-title{letter-spacing:-.03em;color:var(--text-primary);font-size:1.45rem;font-weight:800}.suggest-subtitle{color:var(--text-secondary);margin-top:.35rem;font-size:.9rem;line-height:1.5}.suggest-form{flex-direction:column;gap:1.1rem;padding:0 2rem 1.8rem;display:flex;overflow-y:auto}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-primary);font-size:.84rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--text-primary);transition:all var(--transition-fast);background:#fff;border:1px solid #0000001a;border-radius:14px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.92rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #0071e326}.suggest-form-actions{justify-content:flex-end;gap:.8rem;margin-top:.6rem;display:flex}.suggest-success-box{text-align:center;flex-direction:column;align-items:center;gap:.9rem;padding:2.6rem 2rem 3rem;display:flex}.success-icon{color:#10b981}.suggest-success-box h3{color:var(--text-primary);font-size:1.25rem;font-weight:700}.suggest-success-box p{color:var(--text-secondary);max-width:420px;font-size:.92rem;line-height:1.5}.suggest-quick-copy-wrapper{padding:0 2rem 1.1rem}.suggest-quick-copy{background:#0071e30d;border:1px solid #0071e329;border-radius:16px;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem 1.1rem;display:flex}.quick-copy-info{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.quick-copy-icon{color:var(--accent-color);flex-shrink:0}.quick-copy-label{font-weight:500}.quick-copy-email{color:var(--accent-color);letter-spacing:-.01em;font-weight:700}.copy-btn{color:var(--accent-color);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#ffffffe6;border:1px solid #0071e340;border-radius:9999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.copy-btn:hover{border-color:var(--accent-color);background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0071e326}.copy-btn.copied{color:#fff;background:#10b981;border-color:#10b981}.copied-email-card{background:#10b98114;border:1px solid #10b9814d;border-radius:9999px;align-items:center;gap:.6rem;margin:.2rem 0;padding:.65rem 1.25rem;display:inline-flex}.copied-mail-icon{color:#10b981}.copied-email-text{color:var(--text-primary);font-size:.96rem;font-weight:700}.copied-status-tag{color:#10b981;background:#10b98126;border-radius:9999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.success-action-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;margin-top:.6rem;display:flex}.mailto-open-btn{text-decoration:none}.header{top:calc(1rem + env(safe-area-inset-top,0px));z-index:1000;-webkit-backdrop-filter:blur(32px)saturate(190%);width:92%;max-width:1040px;transition:all var(--transition-normal);background:linear-gradient(#ffffffe0 0%,#ffffffad 100%);border:1px solid #ffffffe6;border-radius:9999px;padding:.65rem 1.4rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 32px -4px #0000000d,0 4px 12px -2px #00000008,inset 0 1px 1.5px #fffffff2}.header-scrolled{background:linear-gradient(#fffffff0 0%,#ffffffd1 100%);padding:.55rem 1.4rem;box-shadow:0 16px 40px -4px #00000014,0 6px 16px -2px #0000000a,inset 0 1px 2px #fff}.header:hover{border-color:#fff}.header-container{justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo-container{transition:transform var(--transition-fast);border-radius:9999px;align-items:center;gap:.75rem;padding:.2rem .4rem;text-decoration:none;display:flex}.logo-container:active{transform:scale(.96)}.logo-badge{color:#fff;width:34px;height:34px;transition:transform var(--transition-normal);background:linear-gradient(135deg,#0071e3 0%,#7928ca 100%);border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #0071e359}.logo-container:hover .logo-badge{transform:rotate(-8deg)scale(1.08)}.logo-text-group{flex-direction:column;line-height:1.1;display:flex}.logo-brand{letter-spacing:.08em;color:var(--text-tertiary);text-transform:uppercase;font-size:.68rem;font-weight:700}.logo-text{letter-spacing:-.03em;color:var(--text-primary);background:linear-gradient(135deg,#1d1d1f 0%,#3a3a3c 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.18rem;font-weight:800}.desktop-nav{background:#00000006;border:1px solid #fff9;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .35rem;display:flex}.nav-link{color:var(--text-secondary);transition:all var(--transition-fast);letter-spacing:-.01em;border-radius:9999px;align-items:center;gap:.25rem;padding:.4rem .85rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--text-primary);background:#ffffffe6;box-shadow:0 2px 8px #0000000a}.nav-link:active{transform:scale(.96)}.link-ext-icon{opacity:.55}.header-actions{align-items:center;gap:.6rem;display:flex}.suggest-btn{color:var(--accent-color);transition:all var(--transition-fast);background:#0071e314;border:1px solid #0071e333;border-radius:9999px;align-items:center;gap:.4rem;padding:.42rem .95rem;font-size:.84rem;font-weight:600;display:inline-flex}.suggest-btn:hover{background:#0071e326;border-color:#0071e359;transform:translateY(-1px)}.mobile-burger-btn{width:38px;height:38px;color:var(--text-primary);border:1px solid var(--glass-border);background:#fffc;border-radius:50%;justify-content:center;align-items:center;display:none}.mobile-menu-overlay{z-index:999;-webkit-backdrop-filter:blur(8px);background:#00000040;justify-content:center;padding-top:5.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.mobile-menu{width:90%;max-width:420px;max-height:80vh;box-shadow:var(--glass-shadow-float);border-radius:28px;flex-direction:column;gap:.6rem;padding:1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) slideDown;display:flex;overflow-y:auto}.mobile-nav-link{text-align:left;color:var(--text-primary);transition:background var(--transition-fast);border-radius:14px;justify-content:space-between;align-items:center;padding:.85rem 1.1rem;font-size:1rem;font-weight:600;display:flex}.mobile-nav-link:hover,.mobile-nav-link:active{color:var(--accent-color);background:#0071e314}.mobile-divider{background:#0000000f;height:1px;margin:.4rem 0}.mobile-suggest-btn{border-radius:16px;width:100%;margin-top:.5rem;padding:.85rem;font-size:.95rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.desktop-nav{display:none}.mobile-burger-btn{display:flex}}.footer{-webkit-backdrop-filter:blur(20px);background:linear-gradient(#ffffff4d 0%,#ffffffb3 100%);border-top:1px solid #ffffffb3;margin-top:6rem;padding:5rem 1.5rem 3.5rem;position:relative}.footer-top-glow{background:linear-gradient(90deg,#0000,#0071e34d,#fffffff2,#7928ca4d,#0000);height:1px;position:absolute;top:-1px;left:15%;right:15%}.footer-container{flex-direction:column;gap:3.5rem;max-width:1120px;margin:0 auto;display:flex}.footer-brand-section{max-width:620px}.footer-logo-row{align-items:center;gap:.65rem;margin-bottom:.8rem;display:flex}.footer-badge{color:#fff;background:linear-gradient(135deg,#0071e3 0%,#7928ca 100%);border-radius:9px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.footer-brand-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.1rem;font-weight:800}.footer-brand-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.footer-links-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem;display:grid}.footer-link-col{flex-direction:column;gap:.75rem;display:flex}.footer-link-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.3rem;font-size:.88rem;font-weight:700}.footer-link{color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.35rem;font-size:.88rem;display:inline-flex}.footer-link:hover{color:var(--accent-color);transform:translate(2px)}.footer-info-text,.footer-email-copy-btn{color:var(--text-tertiary);font-size:.84rem}.footer-email-copy-btn{cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.4rem;padding:.2rem 0;font-family:inherit;display:inline-flex}.footer-email-copy-btn:hover{color:var(--accent-color)}.footer-copy-icon{opacity:.7}.footer-copied-icon{color:#10b981}.footer-scroll-top-btn{color:var(--text-secondary);align-self:flex-start;align-items:center;gap:.4rem;margin-top:.5rem;padding:.4rem .95rem;font-size:.82rem;font-weight:600;display:inline-flex}.footer-scroll-top-btn:hover{color:var(--accent-color);background:#fff}.footer-bottom-row{text-align:center;border-top:1px solid #0000000d;flex-direction:column;gap:.4rem;padding-top:2rem;display:flex}.copyright-text{color:var(--text-secondary);font-size:.88rem;font-weight:500}.footer-subtext{color:var(--text-tertiary);font-size:.8rem}@media (width<=768px){.footer{padding-top:4rem}.footer-links-grid{grid-template-columns:1fr;gap:2rem}}.home-container{min-height:calc(100vh - 150px);padding-top:110px}.hero-section{text-align:center;justify-content:center;align-items:center;padding:5.5rem 1.5rem 3.5rem;display:flex;position:relative}.hero-content{z-index:10;flex-direction:column;align-items:center;max-width:860px;display:flex;position:relative}.hero-badge{letter-spacing:.08em;color:var(--accent-color);background:#0071e314;border:1px solid #0071e333;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem 1.1rem;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #0071e31a}.hero-badge-icon{color:var(--accent-color)}.hero-title{letter-spacing:-.04em;color:var(--text-primary);margin-bottom:1.5rem;font-size:3.8rem;font-weight:800;line-height:1.15}.hero-title span{background:linear-gradient(135deg,#0071e3 0%,#7928ca 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.hero-affiliation-badge{-webkit-backdrop-filter:blur(20px)saturate(180%);transition:all var(--transition-normal);background:#ffffffb8;border:1px solid #0071e338;border-radius:9999px;justify-content:center;align-items:center;gap:.65rem;margin-bottom:1.6rem;padding:.6rem 1.45rem;display:inline-flex;box-shadow:0 6px 22px #0071e314,inset 0 1px 1.5px #fffffff2}.hero-affiliation-badge:hover{border-color:#0071e366;transform:translateY(-2px);box-shadow:0 10px 28px #0071e326}.hero-affiliation-icon{color:var(--accent-color);flex-shrink:0}.hero-affiliation-text{color:var(--text-primary);letter-spacing:-.02em;word-break:keep-all;font-size:1.05rem;font-weight:700;line-height:1.4}.hero-subtitle{color:var(--text-secondary);letter-spacing:-.015em;max-width:680px;margin:0 auto 2.2rem;font-size:1.25rem;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:3.5rem;display:flex}.hero-stats-bar{border-radius:24px;justify-content:space-around;align-items:center;width:100%;max-width:780px;padding:1.4rem 2rem;display:flex}.stat-item{flex-direction:column;align-items:center;gap:.2rem;display:flex}.stat-number{color:var(--text-primary);letter-spacing:-.03em;background:linear-gradient(135deg,#0071e3 0%,#30b0c7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.6rem;font-weight:800}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.stat-divider{background:#00000014;width:1px;height:36px}.featured-section,.projects-section,.suggest-banner-section{max-width:1200px;margin:0 auto;padding:3rem 1.5rem;scroll-margin-top:90px}.section-header{border-bottom:1px solid #0000000f;flex-direction:column;gap:.4rem;margin-bottom:2.2rem;padding-bottom:1rem;display:flex}.section-eyebrow{color:var(--accent-color);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.section-header h3{color:var(--text-primary);letter-spacing:-.03em;margin-top:.2rem;font-size:1.8rem;font-weight:800}.section-desc{color:var(--text-secondary);font-size:.95rem}.featured-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;display:grid}.filter-controls{flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;display:flex}.search-bar{-webkit-backdrop-filter:blur(24px)saturate(180%);width:100%;max-width:520px;transition:all var(--transition-fast);background:#fffc;border:1px solid #fffffff2;border-radius:9999px;align-items:center;padding:.75rem 1.4rem;display:flex;box-shadow:0 4px 20px #00000008,inset 0 1px 1.5px #fffffff2}.search-bar:focus-within{border-color:var(--accent-color);background:#fffffffa;transform:translateY(-1px);box-shadow:0 8px 30px #0071e31f,inset 0 1px 2px #fff}.search-icon{color:var(--text-tertiary);flex-shrink:0;margin-right:.8rem}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.95rem;font-weight:500}.search-bar input::placeholder{color:var(--text-tertiary)}.search-clear-btn{color:var(--text-tertiary);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:.2rem;display:flex}.search-clear-btn:hover{color:var(--text-primary);background:#0000000f}.category-tabs{scrollbar-width:none;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{color:var(--text-secondary);-webkit-backdrop-filter:blur(16px);transition:all var(--transition-fast);white-space:nowrap;background:#ffffffa6;border:1px solid #ffffffd9;border-radius:9999px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600;box-shadow:0 2px 8px #00000005}.category-tab:hover{color:var(--text-primary);background:#ffffffe6;transform:translateY(-1px)}.category-tab.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary);box-shadow:0 4px 14px #00000026}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;display:grid}.empty-state{text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:.8rem;padding:4.5rem 2rem;display:flex}.empty-icon{color:var(--text-tertiary);margin-bottom:.5rem}.empty-state h4{color:var(--text-primary);font-size:1.35rem;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:480px;margin-bottom:.8rem;font-size:.95rem}.suggest-banner{box-shadow:var(--glass-shadow);background:linear-gradient(135deg,#ffffffeb 0%,#f0f6ffd9 100%);border:1px solid #fffffff2;border-radius:30px;justify-content:space-between;align-items:center;gap:2rem;padding:3rem 3.5rem;display:flex}.suggest-banner-content{max-width:620px}.suggest-eyebrow{letter-spacing:.08em;color:var(--accent-color);text-transform:uppercase;font-size:.78rem;font-weight:800}.suggest-banner-content h3{color:var(--text-primary);letter-spacing:-.03em;margin:.4rem 0 .6rem;font-size:1.65rem;font-weight:800}.suggest-banner-content p{color:var(--text-secondary);font-size:.96rem;line-height:1.6}.suggest-action-btn{white-space:nowrap;flex-shrink:0;padding:.85rem 1.8rem}@media (width<=860px){.hero-title{font-size:2.8rem}.hero-affiliation-badge{margin-bottom:1.3rem;padding:.55rem 1.25rem}.hero-affiliation-text{font-size:.98rem}.hero-subtitle{font-size:1.1rem}.hero-stats-bar{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.stat-divider{display:none}.suggest-banner{flex-direction:column;align-items:flex-start;padding:2.2rem 1.8rem}.suggest-action-btn{width:100%}}@media (width<=580px){.hero-title{font-size:2.2rem}.hero-affiliation-badge{border-radius:16px;gap:.5rem;padding:.5rem 1rem}.hero-affiliation-text{font-size:.9rem}.featured-grid,.projects-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%}.hero-actions a{width:100%}}.lab-page-container{background:var(--bg-main);min-height:100vh;color:var(--text-primary);font-family:var(--font-family);box-sizing:border-box;flex-direction:column;padding:1.2rem 1.6rem 2rem;display:flex}.lab-header{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-soft);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.9rem 1.5rem;display:flex}.lab-header-left{align-items:center;gap:1.2rem;display:flex}.lab-back-btn{color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #00000014;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.lab-back-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:#fff;transform:translate(-2px)}.lab-title-group{flex-direction:column;gap:.2rem;display:flex}.lab-badge-pill{color:#6366f1;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;display:inline-flex}.lab-main-title{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:1.35rem;font-weight:800}.lab-header-right{align-items:center;gap:.5rem;display:flex}.lab-header-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#0000000a;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.45rem;padding:.55rem 1.15rem;font-size:.88rem;font-weight:600;display:inline-flex}.lab-header-tab:hover{color:var(--text-primary);background:#00000014}.lab-header-tab.active{background:var(--text-primary);color:#fff;box-shadow:0 4px 14px #00000029}.lab-workspace{flex:1;grid-template-columns:1fr 380px;gap:1.2rem;display:grid}.lab-canvas-section{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-soft);background:#ffffffd9;border-radius:24px;flex-direction:column;padding:1.2rem;display:flex}.canvas-header-toolbar{border-bottom:1px solid #0000000f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem;padding-bottom:.8rem;display:flex}.canvas-presets-bar{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.toolbar-label{color:var(--text-tertiary);margin-right:.2rem;font-size:.8rem;font-weight:700}.preset-chip{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#0000000a;border:1px solid #0000000f;border-radius:9999px;padding:.35rem .8rem;font-size:.8rem;font-weight:600}.preset-chip:hover{color:var(--accent-color);border-color:var(--accent-color);background:#fff;transform:translateY(-1px)}.outlier-chip:hover{color:#ef4444;border-color:#ef4444}.clear-chip{color:#ef4444;align-items:center;gap:.3rem;display:inline-flex}.clear-chip:hover{background:#ef444414;border-color:#ef4444}.canvas-view-toggles{align-items:center;gap:.9rem;display:flex}.toggle-item{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:inline-flex}.toggle-item input[type=checkbox]{accent-color:#6366f1;cursor:pointer;width:15px;height:15px}.canvas-container{background:#fff;border:1px solid #00000014;border-radius:20px;flex:1;min-height:440px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #00000008}.interactive-regression-canvas{cursor:crosshair;width:100%;height:100%;display:block}.canvas-floating-guide{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);pointer-events:none;background:#ffffffe6;border:1px solid #00000014;border-radius:9999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.78rem;display:flex;position:absolute;top:12px;right:14px;box-shadow:0 2px 10px #0000000d}.guide-icon{font-size:.9rem}.canvas-bottom-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:.8rem;padding:.6rem .4rem 0;font-size:.82rem;display:flex}.legend-entry{align-items:center;gap:.45rem;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-dot.blue{background:#0071e3;box-shadow:0 0 0 2px #0071e340}.legend-line{border-radius:2px;width:16px;height:3px}.legend-line.amber{background:#f59e0b}.legend-line.indigo{background:#6366f1}.legend-line.green{background:#10b981}.lab-control-panel{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-soft);background:#ffffffe0;border-radius:24px;flex-direction:column;gap:1.2rem;padding:1.4rem;display:flex}.panel-section-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .35rem;font-size:.95rem;font-weight:800}.panel-section-desc{color:var(--text-secondary);margin:0 0 1rem;font-size:.82rem;line-height:1.45}.metrics-dashboard{background:#fff;border:1px solid #0000000f;border-radius:18px;padding:1.1rem}.metrics-grid-2x2{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.6rem;display:grid}.metric-box{background:#f8fafce6;border:1px solid #0000000a;border-radius:14px;flex-direction:column;gap:.2rem;padding:.8rem 1rem;display:flex}.metric-box-label{color:var(--text-tertiary);text-transform:uppercase;font-size:.74rem;font-weight:700}.metric-box-val{letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.metric-box-val.highlight{color:#6366f1}.metric-box-sub{color:var(--text-tertiary);font-size:.72rem;font-weight:500}.control-mode-box{background:#fff;border:1px solid #0000000f;border-radius:18px;flex-direction:column;gap:.8rem;padding:1.2rem;display:flex}.sliders-vertical-group{flex-direction:column;gap:.9rem;display:flex}.lab-slider-group{flex-direction:column;gap:.35rem;display:flex}.slider-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.slider-val-badge{font-variant-numeric:tabular-nums;color:var(--text-primary);background:#0000000a;border-radius:6px;padding:.15rem .5rem;font-weight:800}.lab-slider-group input[type=range]{accent-color:#6366f1;cursor:pointer;width:100%}.lab-action-btn{cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.4rem;padding:.8rem 1.2rem;font-size:.86rem;font-weight:700;display:inline-flex}.lab-action-btn:disabled{opacity:.5;cursor:not-allowed}.gd-status-bar{background:#10b98114;border:1px solid #10b98133;border-radius:12px;justify-content:space-between;align-items:center;padding:.6rem .9rem;font-size:.78rem;display:flex}.status-item{flex-direction:column;gap:.1rem;display:flex}.status-label{color:#065f46;font-size:.7rem;font-weight:600}.status-val{color:#065f46;font-variant-numeric:tabular-nums;font-weight:800}.gd-warning-banner{color:#b91c1c;background:#ef44441a;border:1px solid #ef444440;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:.78rem;display:flex}.gd-action-buttons{align-items:center;gap:.5rem;display:flex}.gd-play-btn{color:#fff;cursor:pointer;transition:all var(--transition-fast);background:#10b981;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1rem;font-size:.84rem;font-weight:700;display:inline-flex}.gd-play-btn:hover{background:#059669}.gd-play-btn.running{background:#f59e0b}.gd-step-btn,.gd-reset-btn{cursor:pointer;border:1px solid #00000014;align-items:center;gap:.35rem;padding:.65rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.loss-canvas-container{background:#f8fafc;border:1px solid #0000000f;border-radius:14px;flex-direction:column;gap:.4rem;margin-top:.4rem;padding:.6rem;display:flex}.loss-canvas-title{color:var(--text-tertiary);text-transform:uppercase;font-size:.72rem;font-weight:700}.loss-mini-canvas{background:#fff;border-radius:8px;width:100%;height:100px;display:block}.challenge-result-card{text-align:center;background:#fffffff2;border:1px solid #6366f140;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.2rem;display:flex}.stars-row{gap:.3rem;font-size:1.5rem;display:flex}.star-icon{color:#cbd5e1}.star-icon.active{color:#f59e0b}.score-number{color:#6366f1;font-size:1.6rem;font-weight:800}.score-comment{color:var(--text-secondary);margin:0;font-size:.82rem}.edu-concept-card{background:#6366f10d;border:1px solid #6366f126;border-radius:18px;flex-direction:column;gap:.6rem;padding:1.1rem;display:flex}.concept-header{color:#4f46e5;align-items:center;gap:.4rem;font-size:.82rem;font-weight:800;display:flex}.concept-list{color:var(--text-secondary);flex-direction:column;gap:.4rem;margin:0;padding-left:1.2rem;font-size:.8rem;line-height:1.55;display:flex}.concept-list li strong{color:var(--text-primary)}.guide-tab-btn{color:#4f46e5;background:#6366f11a;border-color:#6366f133}.guide-tab-btn:hover{color:#fff;background:#6366f1}.gd-converged-banner{color:#065f46;background:#10b9811f;border:1px solid #10b9814d;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:.8rem;font-weight:700;animation:.3s ease-out fadeIn;display:flex}.lab-tutorial-backdrop{z-index:3000;-webkit-backdrop-filter:blur(14px);background:#0f172a80;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.lab-tutorial-modal{width:100%;max-width:640px;box-shadow:var(--glass-shadow-float);background:#fffffffa;border:1px solid #ffffffe6;border-radius:28px;flex-direction:column;animation:.25s ease-out scaleUp;display:flex;overflow:hidden}.tutorial-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:1.4rem 1.8rem 1rem;display:flex}.tutorial-title-row{align-items:center;gap:.6rem;display:flex}.tutorial-title-row h3{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800}.tutorial-icon{color:#6366f1}.tutorial-close-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.tutorial-close-btn:hover{color:var(--text-primary);background:#0000001a;transform:rotate(90deg)}.tutorial-nav-tabs{background:#f8fafccc;border-bottom:1px solid #0000000d;gap:.4rem;padding:.8rem 1.8rem;display:flex;overflow-x:auto}.tutorial-tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:9999px;padding:.45rem .9rem;font-size:.8rem;font-weight:600}.tutorial-tab-btn:hover{color:var(--text-primary);background:#0000000d}.tutorial-tab-btn.active{color:#fff;background:#6366f1;box-shadow:0 2px 8px #6366f14d}.tutorial-tab-body{min-height:220px;padding:1.5rem 1.8rem}.tutorial-card-content h4{color:var(--text-primary);margin:0 0 .8rem;font-size:1.05rem;font-weight:800}.tutorial-card-content p{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.6}.tutorial-highlight-box{background:#6366f10f;border:1px solid #6366f12e;border-radius:16px;padding:1rem 1.2rem;font-size:.86rem;line-height:1.6}.tutorial-highlight-box ul,.tutorial-highlight-box ol{flex-direction:column;gap:.4rem;margin:0;padding-left:1.2rem;display:flex}.tutorial-highlight-box p{margin:0}.tutorial-footer{border-top:1px solid #0000000f;justify-content:flex-end;padding:1rem 1.8rem 1.4rem;display:flex}.tool-action-tab{color:var(--text-secondary);background:#0000000a}.tool-action-tab:hover{color:var(--text-primary);background:#fff;border-color:#0000001f}.modal-inner-scroll{flex-direction:column;gap:1.2rem;max-height:520px;padding:1.2rem 1.8rem;display:flex;overflow-y:auto}.data-table-modal,.math-modal{max-width:680px}.manual-add-row{background:#f8fafce6;border:1px solid #0000000d;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.manual-add-label{color:var(--text-secondary);font-size:.82rem;font-weight:700}.manual-inputs{align-items:center;gap:.6rem;display:flex}.manual-inputs label{color:var(--text-secondary);align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.manual-inputs input[type=number]{text-align:center;background:#fff;border:1px solid #0000001f;border-radius:8px;width:60px;padding:.35rem .5rem;font-size:.84rem;font-weight:700}.manual-inputs button{border-radius:8px;gap:.3rem;padding:.4rem .8rem;font-size:.8rem}.data-points-table-wrapper{border:1px solid #00000014;border-radius:14px;max-height:240px;overflow:hidden auto}.data-points-table{border-collapse:collapse;text-align:center;width:100%;font-size:.84rem}.data-points-table thead{z-index:2;background:#f1f5f9;position:sticky;top:0}.data-points-table th{color:var(--text-tertiary);text-transform:uppercase;border-bottom:1px solid #0000000f;padding:.65rem .8rem;font-size:.76rem;font-weight:700}.data-points-table td{color:var(--text-primary);font-variant-numeric:tabular-nums;border-bottom:1px solid #0000000a;padding:.6rem .8rem}.data-points-table tbody tr:hover{background:#6366f108}.res-pos{color:#10b981;font-weight:700}.res-neg{color:#ef4444;font-weight:700}.table-del-btn{color:#94a3b8;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:.2rem}.table-del-btn:hover{color:#ef4444;background:#ef44441a}.empty-table-text{color:var(--text-tertiary);padding:1.8rem}.csv-io-section{background:#f8fafce6;border:1px solid #0000000d;border-radius:14px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.csv-io-header{justify-content:space-between;align-items:center;display:flex}.csv-io-title{color:var(--text-secondary);font-size:.82rem;font-weight:700}.export-btn{color:#4f46e5;background:#fff;border-color:#6366f140;gap:.3rem;padding:.25rem .7rem;font-size:.74rem;font-weight:600}.csv-textarea{box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #0000001f;border-radius:10px;width:100%;padding:.6rem .8rem;font-family:monospace;font-size:.82rem}.import-submit-btn{border-radius:8px;align-self:flex-end;gap:.35rem;padding:.45rem 1rem;font-size:.82rem}.math-steps-content{flex-direction:column;gap:1rem;display:flex}.math-step-card{background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;gap:.4rem;padding:1.1rem 1.3rem;display:flex;box-shadow:0 2px 6px #00000005}.math-step-card h5{color:#4f46e5;margin:0 0 .3rem;font-size:.92rem;font-weight:800}.math-formula{color:var(--text-primary);margin:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.88rem;line-height:1.5}.math-desc{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.math-result-equation{color:#312e81;text-align:center;background:#6366f114;border-radius:10px;margin-top:.5rem;padding:.7rem 1rem;font-size:.95rem}.math-verification-pill{color:#065f46;text-align:center;background:#10b9811a;border-radius:10px;margin-top:.4rem;padding:.6rem .9rem;font-size:.9rem}.math-empty-warning{text-align:center;color:#f59e0b;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1rem;display:flex}.anscombe-chip{color:#4f46e5;background:#6366f114;border-color:#6366f133}.anscombe-chip:hover{color:#fff;background:#6366f1;border-color:#6366f1}.anscombe-alert-banner{color:#3730a3;background:#6366f117;border:1px solid #6366f138;border-radius:12px;align-items:center;gap:.6rem;margin:.6rem 0 .2rem;padding:.65rem 1rem;font-size:.83rem;font-weight:600;animation:.3s fadeIn;display:flex}.residual-plot-subpanel{background:#fff;border:1px solid #00000014;border-radius:16px;margin-top:.8rem;padding:.9rem 1.1rem;box-shadow:0 2px 8px #00000008}.residual-plot-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.residual-title-group{align-items:center;gap:.45rem;display:flex}.residual-dot{background:#10b981;border-radius:50%;width:8px;height:8px}.residual-title-group h4{color:var(--text-primary);margin:0;font-size:.88rem;font-weight:700}.residual-meta{color:var(--text-secondary);align-items:center;gap:.4rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.78rem;display:flex}.meta-sep{color:#0003}.residual-canvas{border:1px solid #0000000f;border-radius:10px;width:100%;height:120px;display:block}.residual-hint{color:var(--text-tertiary);margin:.4rem 0 0;font-size:.76rem;line-height:1.4}.legend-line.pink-dash{background:#db2777;border-bottom:2px dashed #fff}.poly-metric-highlight{background:#db27770a!important;border-color:#db277740!important}.metric-box-val.pink{color:#db2777!important}.lr-quick-presets{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.quick-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600}.lr-chip{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#0000000a;border:1px solid #00000014;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.lr-chip:hover,.lr-chip.active{color:#fff;background:#10b981;border-color:#10b981}.lr-chip.danger:hover,.lr-chip.danger.active{color:#fff;background:#ef4444;border-color:#ef4444}.lr-chip.slow:hover,.lr-chip.slow.active{color:#fff;background:#f59e0b;border-color:#f59e0b}.momentum-control-box{background:#00000006;border:1px solid #00000012;border-radius:12px;margin-top:.8rem;padding:.85rem 1rem}.momentum-toggle-row{justify-content:space-between;align-items:center;display:flex}.momentum-label{color:var(--text-primary)}.momentum-badge{color:#4f46e5;background:#6366f11f;border-radius:9999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.momentum-beta-slider{flex-direction:column;gap:.35rem;margin-top:.6rem;display:flex}.slider-sub-header{color:var(--text-secondary);justify-content:space-between;font-size:.78rem;font-weight:600;display:flex}.momentum-tip{color:var(--text-tertiary);margin:.2rem 0 0;font-size:.74rem;line-height:1.35}@media (width<=1024px){.lab-workspace{grid-template-columns:1fr}}@media (width<=640px){.lab-page-container{padding:.8rem}.lab-header{flex-direction:column;align-items:stretch}.lab-header-right{padding-bottom:.3rem;overflow-x:auto}.canvas-container{min-height:320px}}.seating-page-container{background:var(--bg-main,linear-gradient(135deg, #f5f7fa 0%, #eef2f7 100%));min-height:100vh;color:var(--text-primary,#1d1d1f);font-family:var(--font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);box-sizing:border-box;flex-direction:column;padding:1rem 1.4rem 1.4rem;display:flex}.seating-page-container.fullscreen-mode{background:#fff;padding:0}.seating-header{border:1px solid var(--glass-border,#fff9);box-shadow:var(--glass-shadow-soft,0 8px 32px 0 #1f268712);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1.4rem;display:flex}.fullscreen-mode .seating-header{display:none}.seating-header-left{align-items:center;gap:1.2rem;display:flex}.seating-back-btn{color:var(--text-primary,#1d1d1f);cursor:pointer;background:#ffffffb3;border:1px solid #00000014;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.seating-back-btn:hover{color:#10b981;background:#fff;border-color:#10b981;transform:translate(-2px)}.seating-title-group{flex-direction:column;gap:.15rem;display:flex}.seating-badge-pill{color:#10b981;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;display:inline-flex}.seating-badge-icon{color:#10b981}.seating-main-title{color:var(--text-primary,#1d1d1f);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.25rem;font-weight:700;display:flex}.seating-main-title span{color:var(--text-secondary,#6e6e73);font-size:.9rem;font-weight:500}.seating-header-right{align-items:center;gap:.6rem;display:flex}.seating-action-btn{cursor:pointer;border-radius:12px;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.seating-frame-wrapper{border:1px solid #fffc;border-radius:20px;flex:1;width:100%;min-height:calc(100vh - 120px);display:flex;overflow:hidden;box-shadow:0 12px 36px #00000014}.fullscreen-mode .seating-frame-wrapper{border:none;border-radius:0;min-height:100vh}.seating-iframe{border:none;width:100%;height:100%;min-height:calc(100vh - 120px);display:block}.fullscreen-mode .seating-iframe{min-height:100vh}@media (width<=768px){.seating-page-container{padding:.6rem .6rem 1rem}.seating-header{gap:.6rem;padding:.6rem .8rem}.seating-main-title{font-size:1.05rem}.seating-main-title span,.btn-label-desktop{display:none}.seating-action-btn{padding:.45rem .65rem}}.timer-page-container{background:var(--bg-canvas,#f8f9fc);min-height:100vh;color:var(--text-primary,#1d1d1f);font-family:var(--font-family,-apple-system, BlinkMacSystemFont, "SF Pro Text", Pretendard, sans-serif);box-sizing:border-box;flex-direction:column;padding:1.2rem 1.6rem 2.5rem;transition:all .3s;display:flex;position:relative}.timer-page-container:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 15% 15%,#32ade626 0,#0000 40%),radial-gradient(at 85% 20%,#10b9811f 0,#0000 45%),radial-gradient(at 50% 85%,#0071e31a 0,#0000 50%);position:fixed;inset:0}.timer-page-container>*{z-index:1;position:relative}.timer-page-container.fullscreen-active{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);flex-direction:column;justify-content:space-between;height:100vh;min-height:100vh;padding:1rem 2rem;display:flex;overflow:hidden}.timer-page-container.fullscreen-active:before{background:radial-gradient(at 20% 20%,#38bdf833 0,#0000 50%),radial-gradient(at 80% 80%,#6366f126 0,#0000 50%)}.timer-page-container.fullscreen-active .glass-panel{color:#fff;background:#1e293bbf;border-color:#ffffff26;box-shadow:0 20px 50px #0000004d}.timer-page-container.fullscreen-active .glass-pill{color:#fff;background:#334155cc;border-color:#fff3}.timer-header{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.9rem 1.5rem;display:flex}.fullscreen-active .timer-header{background:#0f172a99;border-color:#ffffff1a;margin-bottom:.5rem;padding:.6rem 1.2rem}.timer-header-left{align-items:center;gap:1.2rem;display:flex}.timer-back-btn{color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #00000014;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.timer-back-btn:hover{color:#0284c7;background:#fff;border-color:#0284c7;transform:translate(-2px)}.fullscreen-active .timer-back-btn{color:#fff;background:#ffffff1a;border-color:#fff3}.fullscreen-active .timer-back-btn:hover{color:#38bdf8;background:#fff3}.timer-title-group{flex-direction:column;gap:.2rem;display:flex}.timer-badge-pill{color:#0284c7;letter-spacing:.06em;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:inline-flex}.fullscreen-active .timer-badge-pill{color:#38bdf8}.timer-main-title{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.3rem;font-weight:700;display:flex}.fullscreen-active .timer-main-title{color:#fff;font-size:1.15rem}.timer-main-title span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.fullscreen-active .timer-main-title span{color:#94a3b8}.version-pill{color:#0284c7;background:#0284c71f;border-radius:9999px;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.fullscreen-active .version-pill{color:#38bdf8;background:#38bdf833}.timer-header-right{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.timer-icon-btn{cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast);align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.85rem;font-weight:600;display:inline-flex}.fullscreen-active .timer-icon-btn{color:#f1f5f9;border-color:#ffffff26}.fullscreen-active .timer-icon-btn:hover{color:#fff;background:#ffffff26}.timer-icon-btn.active{color:#fff;background:#0284c7;border-color:#0284c7}.classroom-notice-card{border:1px solid var(--glass-border);background:linear-gradient(135deg,#ffffffd9 0%,#f0f9ffcc 100%);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.85rem 1.4rem;display:flex;position:relative}.fullscreen-active .classroom-notice-card{background:#1e293bd9;border-color:#38bdf84d;margin-bottom:.6rem;padding:.8rem 1.5rem}.notice-content-left{flex:1;align-items:center;gap:.85rem;display:flex}.notice-icon-box{color:#0284c7;background:#0284c71f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.fullscreen-active .notice-icon-box{color:#38bdf8;background:#38bdf833}.notice-text-wrapper{flex-direction:column;flex:1;gap:.15rem;display:flex}.notice-label{text-transform:uppercase;letter-spacing:.05em;color:#0284c7;font-size:.72rem;font-weight:700}.fullscreen-active .notice-label{color:#38bdf8}.notice-text{color:var(--text-primary);margin:0;font-size:1.02rem;font-weight:600;line-height:1.4}.fullscreen-active .notice-text{color:#f8fafc;font-size:1.15rem}.notice-input{color:#1d1d1f;background:#fff;border:1.5px solid #0284c7;border-radius:8px;outline:none;width:100%;padding:.4rem .8rem;font-family:inherit;font-size:1rem;font-weight:500}.notice-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.notice-edit-btn{align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.timer-mode-tabs{justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.2rem;display:flex}.fullscreen-active .timer-mode-tabs{margin-bottom:.5rem}.mode-tab-btn{color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-fast);background:#fff9;border-radius:9999px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.mode-tab-btn:hover{color:var(--text-primary);background:#ffffffe6;transform:translateY(-1px)}.mode-tab-btn.active{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 4px 16px #0284c759}.fullscreen-active .mode-tab-btn{color:#94a3b8;background:#1e293b99;border-color:#ffffff26}.fullscreen-active .mode-tab-btn.active{color:#fff;background:#0284c7;border-color:#38bdf8}.timer-workspace{flex:1;grid-template-columns:1fr 340px;align-items:start;gap:1.2rem;display:grid}.fullscreen-active .timer-workspace{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:1000px;margin:0 auto;display:flex}.timer-stage-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:28px;flex-direction:column;justify-content:center;align-items:center;padding:2.2rem 1.5rem;display:flex;position:relative;overflow:hidden}.fullscreen-active .timer-stage-card{box-shadow:none;background:0 0;border:none;width:100%;padding:.5rem}.clock-ring-container{justify-content:center;align-items:center;width:380px;height:380px;margin-bottom:1.8rem;display:flex;position:relative}.fullscreen-active .clock-ring-container{width:440px;height:440px;margin-bottom:1.2rem}@media (height>=800px) and (width>=1200px){.fullscreen-active .clock-ring-container{width:480px;height:480px}}.clock-svg{width:100%;height:100%;position:absolute;top:0;left:0;transform:rotate(-90deg)}.clock-track-circle{fill:none;stroke:#0000000d;stroke-width:10px}.fullscreen-active .clock-track-circle{stroke:#ffffff1a}.clock-progress-circle{fill:none;stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .35s,stroke .4s}.clock-inner-content{z-index:2;text-align:center;flex-direction:column;align-items:center;padding:1rem;display:flex;position:relative}.clock-status-tag{letter-spacing:.08em;text-transform:uppercase;color:#0284c7;background:#0284c71a;border-radius:9999px;align-items:center;gap:.35rem;margin-bottom:.6rem;padding:.25rem .8rem;font-size:.85rem;font-weight:700;display:inline-flex}.fullscreen-active .clock-status-tag{color:#38bdf8;background:#38bdf833}.clock-status-tag.break-mode{color:#10b981;background:#10b9811f}.clock-status-tag.urgent-mode{color:#ef4444;background:#ef444426;animation:1s infinite alternate pulseWarning}@keyframes pulseWarning{0%{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}.clock-digits-huge{font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text-primary);text-shadow:0 4px 16px #0000000d;margin-bottom:.6rem;font-size:4.8rem;font-weight:800;line-height:1}.fullscreen-active .clock-digits-huge{color:#fff;text-shadow:0 8px 30px #38bdf84d;font-size:6rem}.clock-sub-info{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;display:flex}.fullscreen-active .clock-sub-info{color:#94a3b8;font-size:1.05rem}.quick-adjust-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.fullscreen-active .quick-adjust-bar{margin-bottom:1.2rem}.quick-adj-btn{color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-fast);background:#ffffffb3;border-radius:9999px;padding:.35rem .8rem;font-size:.85rem;font-weight:700}.quick-adj-btn:hover{color:#0284c7;background:#fff;border-color:#0284c7;transform:translateY(-1px)}.fullscreen-active .quick-adj-btn{color:#cbd5e1;background:#1e293bb3;border-color:#ffffff26}.fullscreen-active .quick-adj-btn:hover{color:#38bdf8;background:#38bdf833;border-color:#38bdf8}.main-controls-bar{justify-content:center;align-items:center;gap:1rem;display:flex}.ctrl-btn-primary{color:#fff;cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:1px solid #fff6;border-radius:9999px;align-items:center;gap:.6rem;padding:.9rem 2.4rem;font-size:1.15rem;font-weight:700;display:inline-flex;box-shadow:0 10px 25px #0284c759}.ctrl-btn-primary:hover{background:linear-gradient(135deg,#0369a1 0%,#075985 100%);transform:translateY(-2px);box-shadow:0 14px 30px #0284c773}.ctrl-btn-primary.running{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 10px 25px #f59e0b59}.ctrl-btn-primary.running:hover{background:linear-gradient(135deg,#d97706 0%,#b45309 100%)}.ctrl-btn-secondary{color:var(--text-primary);background:var(--glass-bg-pill);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-fast);border-radius:9999px;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:1rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #0000000a}.ctrl-btn-secondary:hover{background:#fff;transform:translateY(-1.5px);box-shadow:0 6px 20px #00000014}.fullscreen-active .ctrl-btn-secondary{color:#fff;background:#334155b3;border-color:#fff3}.fullscreen-active .ctrl-btn-secondary:hover{background:#475569e6}.timer-sidebar{flex-direction:column;gap:1.2rem;display:flex}.fullscreen-active .timer-sidebar{display:none}.sidebar-panel{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.3rem}.panel-header-row{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.panel-title{color:var(--text-primary);align-items:center;gap:.45rem;margin:0;font-size:.95rem;font-weight:700;display:flex}.panel-badge{color:#0284c7;background:#0284c71a;border-radius:9999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.presets-grid{flex-direction:column;gap:.5rem;display:flex}.preset-chip-btn{cursor:pointer;transition:all var(--transition-fast);text-align:left;background:#fff9;border:1px solid #0000000f;border-radius:12px;justify-content:space-between;align-items:center;padding:.65rem .9rem;display:flex}.preset-chip-btn:hover{background:#fff;border-color:#0284c7;transform:translate(2px);box-shadow:0 4px 12px #0284c71f}.preset-chip-btn.active{background:#0284c714;border-color:#0284c7}.preset-chip-left{align-items:center;gap:.6rem;display:flex}.preset-chip-emoji{font-size:1.15rem}.preset-chip-title{color:var(--text-primary);font-size:.88rem;font-weight:600}.preset-chip-duration{color:#0284c7;background:#0284c714;border-radius:6px;padding:.2rem .55rem;font-size:.8rem;font-weight:700}.pomodoro-cycle-card{background:#0284c70f;border:1px solid #0284c726;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding:.8rem 1rem;display:flex}.pomo-dots-group{gap:.4rem;display:flex}.pomo-dot{background:0 0;border:1.5px solid #0284c7;border-radius:50%;width:14px;height:14px;transition:all .2s}.pomo-dot.filled{background:#0284c7;box-shadow:0 0 8px #0284c780}.stats-summary-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.stat-item-box{text-align:center;background:#fff9;border:1px solid #0000000f;border-radius:12px;padding:.8rem}.stat-num{color:#0284c7;margin-bottom:.2rem;font-size:1.4rem;font-weight:800;line-height:1.1}.stat-desc{color:var(--text-secondary);font-size:.75rem;font-weight:600}.laps-container{background:#ffffff80;border:1px solid #0000000f;border-radius:10px;max-height:220px;overflow-y:auto}.lap-row{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:.5rem .8rem;font-size:.85rem;display:flex}.lap-row:last-child{border-bottom:none}.lap-row.fastest{color:#10b981;font-weight:700}.lap-row.slowest{color:#ef4444;font-weight:700}.sound-settings-popover{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid var(--glass-border);width:320px;box-shadow:var(--glass-shadow-float);z-index:100;background:#fffffff2;border-radius:20px;flex-direction:column;gap:1rem;padding:1.2rem;display:flex;position:absolute;top:60px;right:1.5rem}.sound-option-row{flex-direction:column;gap:.4rem;display:flex}.sound-opt-label{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.sound-select-styled{width:100%;color:var(--text-primary);background:#fff;border:1px solid #0000001f;border-radius:8px;outline:none;padding:.5rem .8rem;font-family:inherit;font-size:.88rem;font-weight:500}.volume-slider-row{align-items:center;gap:.6rem;display:flex}.styled-slider{accent-color:#0284c7;cursor:pointer;flex:1}.timer-modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;background:#00000073;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.celebration-modal{text-align:center;border:1px solid var(--glass-border);width:100%;max-width:440px;box-shadow:var(--glass-shadow-float);background:#fffffff5;border-radius:28px;padding:2.2rem;animation:.35s cubic-bezier(.16,1,.3,1) modalPopIn}@keyframes modalPopIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.celebration-icon-box{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#38bdf8 100%);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 1.2rem;display:flex;box-shadow:0 10px 25px #0284c759}.celebration-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.celebration-desc{color:var(--text-secondary);margin-bottom:1.6rem;font-size:.95rem;line-height:1.5}.celebration-actions{justify-content:center;gap:.8rem;display:flex}.time-picker-grid{justify-content:center;align-items:center;gap:.8rem;margin:1.2rem 0;display:flex}.time-unit-box{flex-direction:column;align-items:center;gap:.3rem;display:flex}.time-num-input{text-align:center;color:#0284c7;background:#fff;border:1.5px solid #0000001f;border-radius:12px;outline:none;width:72px;height:58px;font-size:1.8rem;font-weight:800}.time-unit-label{color:var(--text-secondary);font-size:.75rem;font-weight:700}@media (width<=900px){.timer-workspace{grid-template-columns:1fr}.clock-ring-container{width:300px;height:300px}.clock-digits-huge{font-size:3.6rem}}.quiz-page-container{background:var(--bg-canvas,#f8f9fc);min-height:100vh;color:var(--text-primary,#1d1d1f);font-family:var(--font-family,-apple-system, BlinkMacSystemFont, "SF Pro Text", Pretendard, sans-serif);box-sizing:border-box;flex-direction:column;padding:1.2rem 1.6rem 2.5rem;transition:all .3s;display:flex;position:relative}.quiz-page-container:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 10% 12%,#ff2d551f 0,#0000 40%),radial-gradient(at 88% 15%,#0071e31f 0,#0000 45%),radial-gradient(at 50% 85%,#f59e0b14 0,#0000 50%);position:fixed;inset:0}.quiz-page-container>*{z-index:1;position:relative}.quiz-page-container.fullscreen-active{color:#fff;background:linear-gradient(135deg,#090d16 0%,#1e1b2e 100%);flex-direction:column;justify-content:space-between;height:100vh;min-height:100vh;padding:1rem 2rem;display:flex;overflow:hidden}.quiz-page-container.fullscreen-active:before{background:radial-gradient(at 20% 20%,#ff2d5538 0,#0000 50%),radial-gradient(at 80% 80%,#6366f12e 0,#0000 50%)}.quiz-page-container.fullscreen-active .glass-panel{color:#fff;background:#1e1b2ec7;border-color:#ffffff24;box-shadow:0 20px 50px #0006}.quiz-page-container.fullscreen-active .glass-pill{color:#fff;background:#2d2846d9;border-color:#fff3}.quiz-header{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.9rem 1.5rem;display:flex}.fullscreen-active .quiz-header{background:#141220a6;border-color:#ffffff1a;margin-bottom:.5rem;padding:.6rem 1.2rem}.quiz-header-left{align-items:center;gap:1.2rem;display:flex}.quiz-back-btn{color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #00000014;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.quiz-back-btn:hover{color:#ff2d55;background:#fff;border-color:#ff2d55;transform:translate(-2px)}.fullscreen-active .quiz-back-btn{color:#fff;background:#ffffff1a;border-color:#fff3}.quiz-title-group{flex-direction:column;gap:.2rem;display:flex}.quiz-badge-pill{color:#ff2d55;letter-spacing:.06em;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:inline-flex}.fullscreen-active .quiz-badge-pill{color:#ff4d6d}.quiz-main-title{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.3rem;font-weight:700;display:flex}.fullscreen-active .quiz-main-title{color:#fff;font-size:1.15rem}.quiz-main-title span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.fullscreen-active .quiz-main-title span{color:#94a3b8}.quiz-pin-badge{color:#ff2d55;cursor:pointer;transition:all var(--transition-fast);background:#ff2d551a;border:1.5px dashed #ff2d5566;border-radius:9999px;align-items:center;gap:.5rem;padding:.45rem 1.1rem;font-size:.95rem;font-weight:800;display:inline-flex}.quiz-pin-badge:hover{background:#ff2d5526;transform:scale(1.03)}.fullscreen-active .quiz-pin-badge{color:#ff758f;background:#ff2d5540;border-color:#ff758f80}.quiz-header-right{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lobby-workspace{grid-template-columns:1fr 360px;align-items:start;gap:1.4rem;display:grid}.lobby-main-col{flex-direction:column;gap:1.2rem;display:flex}.lobby-banner-card{border:1px solid var(--glass-border);background:linear-gradient(135deg,#ffffffe6 0%,#fff0f3d9 100%);border-radius:24px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 1.8rem;display:flex}.banner-left-info{flex-direction:column;gap:.4rem;display:flex}.banner-tag{color:#ff2d55;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:800}.banner-headline{color:var(--text-primary);margin:0;font-size:1.45rem;font-weight:800;line-height:1.3}.banner-desc{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.5}.quiz-sets-header{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:800;display:flex}.quiz-sets-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.quiz-set-card{border:1.5px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);cursor:pointer;transition:all var(--transition-normal);border-radius:20px;flex-direction:column;justify-content:space-between;gap:.9rem;padding:1.3rem;display:flex;position:relative;overflow:hidden}.quiz-set-card:hover{border-color:#ff2d55;transform:translateY(-3px);box-shadow:0 12px 30px #ff2d5526}.quiz-set-card.selected{background:linear-gradient(135deg,#fffffff2 0%,#fff0f5e6 100%);border-color:#ff2d55;box-shadow:0 10px 25px #ff2d5533}.quiz-set-card.selected:after{content:"";background:linear-gradient(90deg,#ff2d55 0%,#ff758f 100%);height:4px;position:absolute;top:0;left:0;right:0}.set-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.set-emoji-box{background:#ff2d5514;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;display:flex}.set-category-badge{color:#ff2d55;background:#ff2d551a;border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.set-card-middle h4{color:var(--text-primary);margin:0 0 .3rem;font-size:1.05rem;font-weight:700}.set-card-middle p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.4}.set-card-bottom{color:var(--text-secondary);border-top:1px solid #0000000d;justify-content:space-between;align-items:center;padding-top:.7rem;font-size:.8rem;font-weight:600;display:flex}.lobby-sidebar-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;gap:1.1rem;padding:1.4rem;display:flex}.room-pin-display-box{text-align:center;background:linear-gradient(135deg,#ff2d5514 0%,#0071e314 100%);border:1.5px dashed #ff2d554d;border-radius:18px;padding:1.1rem}.room-pin-label{color:#ff2d55;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:800}.room-pin-digits{letter-spacing:.12em;color:#ff2d55;font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:900}.participants-list-header{justify-content:space-between;align-items:center;display:flex}.participants-scroll-box{flex-wrap:wrap;gap:.5rem;max-height:230px;padding:.3rem 0;display:flex;overflow-y:auto}.student-avatar-chip{border:1px solid var(--glass-border);color:var(--text-primary);background:#fffc;border-radius:9999px;align-items:center;gap:.45rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;animation:.25s ease-out popInChip;display:inline-flex;box-shadow:0 2px 8px #0000000a}@keyframes popInChip{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.start-host-btn{color:#fff;cursor:pointer;width:100%;transition:all var(--transition-fast);background:linear-gradient(135deg,#ff2d55 0%,#e00034 100%);border:1px solid #ffffff4d;border-radius:16px;justify-content:center;align-items:center;gap:.6rem;padding:1rem;font-size:1.05rem;font-weight:800;display:flex;box-shadow:0 10px 25px #ff2d5559}.start-host-btn:hover{background:linear-gradient(135deg,#ff436b 0%,#ff2d55 100%);transform:translateY(-2px);box-shadow:0 14px 30px #ff2d5573}.arena-container{flex-direction:column;flex:1;gap:1.2rem;width:100%;max-width:1100px;margin:0 auto;display:flex}.arena-top-bar{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.4rem;display:flex}.fullscreen-active .arena-top-bar{background:#1e1b2ed9}.arena-q-indicator{align-items:center;gap:.6rem;display:flex}.q-step-badge{color:#ff2d55;background:#ff2d551a;border-radius:9999px;padding:.25rem .8rem;font-size:.95rem;font-weight:800}.fullscreen-active .q-step-badge{color:#ff758f;background:#ff2d5540}.arena-timer-pill{font-variant-numeric:tabular-nums;color:#ff2d55;background:#ff2d551a;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem 1rem;font-size:1.2rem;font-weight:800;display:inline-flex}.arena-timer-pill.urgent{color:#ef4444;background:#ef444433;animation:.8s infinite alternate pulseUrgent}@keyframes pulseUrgent{0%{transform:scale(1)}to{transform:scale(1.08)}}.arena-question-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);text-align:center;border-radius:28px;padding:2.2rem 2rem}.fullscreen-active .arena-question-card{background:#1e1b2ed9;padding:1.8rem}.question-prompt-text{color:var(--text-primary);margin:0;font-size:1.7rem;font-weight:800;line-height:1.4}.fullscreen-active .question-prompt-text{color:#fff;font-size:2rem}.options-arena-grid{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}@media (width<=768px){.options-arena-grid{grid-template-columns:1fr}}.arena-option-btn{cursor:pointer;transition:all var(--transition-fast);text-align:left;border:2px solid #0000;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 1.6rem;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #0000000a}.opt-theme-red{background:linear-gradient(135deg,#ff3b301f 0%,#ff2d5514 100%);border-color:#ff3b304d}.opt-theme-red:hover{background:linear-gradient(135deg,#ff3b3033 0%,#ff2d5526 100%);border-color:#ff3b30;transform:translateY(-2px)}.opt-theme-red.user-voted{border-color:#ff3b30;box-shadow:0 0 0 3px #ff3b3059}.opt-theme-blue{background:linear-gradient(135deg,#0071e31f 0%,#38bdf814 100%);border-color:#0071e34d}.opt-theme-blue:hover{background:linear-gradient(135deg,#0071e333 0%,#38bdf826 100%);border-color:#0071e3;transform:translateY(-2px)}.opt-theme-blue.user-voted{border-color:#0071e3;box-shadow:0 0 0 3px #0071e359}.opt-theme-yellow{background:linear-gradient(135deg,#f59e0b1f 0%,#fbbf2414 100%);border-color:#f59e0b4d}.opt-theme-yellow:hover{background:linear-gradient(135deg,#f59e0b33 0%,#fbbf2426 100%);border-color:#f59e0b;transform:translateY(-2px)}.opt-theme-yellow.user-voted{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b59}.opt-theme-green{background:linear-gradient(135deg,#10b9811f 0%,#34d39914 100%);border-color:#10b9814d}.opt-theme-green:hover{background:linear-gradient(135deg,#10b98133 0%,#34d39926 100%);border-color:#10b981;transform:translateY(-2px)}.opt-theme-green.user-voted{border-color:#10b981;box-shadow:0 0 0 3px #10b98159}.option-left-content{z-index:2;flex:1;align-items:center;gap:1rem;display:flex}.option-icon-label{width:44px;height:44px;color:var(--text-primary);background:#ffffffe6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:900;display:flex;box-shadow:0 2px 8px #00000014}.option-text-main{color:var(--text-primary);font-size:1.15rem;font-weight:700;line-height:1.4}.fullscreen-active .option-text-main{color:#fff}.option-vote-bar-fill{z-index:1;background:#ffffff4d;transition:width .6s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0}.opt-theme-green.is-correct-glow{background:linear-gradient(135deg,#10b98147 0%,#34d39933 100%);border:3px solid #10b981;box-shadow:0 0 25px #10b98166}.option-right-stats{z-index:2;flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.vote-count-num{color:var(--text-primary);font-size:1.25rem;font-weight:800}.fullscreen-active .vote-count-num{color:#fff}.vote-pct-text{color:var(--text-secondary);font-size:.8rem;font-weight:700}.explanation-card{background:#10b98114;border:1px solid #10b98140;border-radius:20px;flex-direction:column;gap:.4rem;padding:1.4rem 1.8rem;animation:.4s fadeIn;display:flex}.explanation-header{color:#059669;align-items:center;gap:.4rem;font-size:.85rem;font-weight:800;display:flex}.explanation-body{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:600;line-height:1.5}.fullscreen-active .explanation-body{color:#f1f5f9}.arena-footer-controls{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.5rem;display:flex}.fullscreen-active .arena-footer-controls{background:#1e1b2ed9}.arena-next-btn{cursor:pointer;transition:all var(--transition-fast);border-radius:9999px;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:1.05rem;font-weight:800;display:inline-flex}.leaderboard-stage{flex-direction:column;gap:1.2rem;width:100%;max-width:680px;margin:0 auto;display:flex}.leaderboard-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:26px;padding:1.8rem}.leaderboard-list{flex-direction:column;gap:.65rem;margin-top:1rem;display:flex}.rank-row-item{transition:all var(--transition-fast);background:#ffffffbf;border:1px solid #0000000d;border-radius:16px;justify-content:space-between;align-items:center;padding:.85rem 1.2rem;display:flex}.fullscreen-active .rank-row-item{background:#2d2846b3;border-color:#ffffff1a}.rank-row-item.rank-1{background:linear-gradient(135deg,#ffd7002e 0%,#ffeb821a 100%);border-color:#ffd70080;transform:scale(1.02)}.rank-badge-col{align-items:center;gap:.8rem;display:flex}.rank-number-box{width:32px;height:32px;color:var(--text-primary);background:#0000000f;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:flex}.rank-1 .rank-number-box{color:#fff;background:#f59e0b}.rank-name-text{color:var(--text-primary);font-size:1.05rem;font-weight:700}.fullscreen-active .rank-name-text{color:#fff}.rank-score-text{color:#ff2d55;font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:900}.podium-stage-container{text-align:center;flex-direction:column;align-items:center;gap:1.8rem;width:100%;max-width:800px;margin:0 auto;display:flex}.podium-display-row{justify-content:center;align-items:flex-end;gap:1.2rem;width:100%;margin:1.5rem 0 1rem;display:flex}.podium-pillar{max-width:200px;box-shadow:var(--glass-shadow-float);border:1px solid var(--glass-border);border-radius:24px 24px 12px 12px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;padding:1.5rem 1rem;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.podium-1st{background:linear-gradient(#ffd70059 0%,#f59e0b40 100%);border-color:#ffd70099;order:2;height:260px}.podium-2nd{background:linear-gradient(#c8d2dc59 0%,#94a3b840 100%);border-color:#c8d2dc99;order:1;height:200px}.podium-3rd{background:linear-gradient(#cd7f324d 0%,#b4530933 100%);border-color:#cd7f3280;order:3;height:160px}.podium-avatar-floating{filter:drop-shadow(0 4px 10px #00000026);margin-bottom:.4rem;font-size:2.8rem}.podium-winner-name{color:var(--text-primary);margin:0 0 .2rem;font-size:1.15rem;font-weight:800}.fullscreen-active .podium-winner-name{color:#fff}.podium-score-pill{color:#ff2d55;background:#ffffffd9;border-radius:9999px;padding:.2rem .65rem;font-size:.85rem;font-weight:800}.podium-number-badge{opacity:.4;margin-top:.5rem;font-size:2.2rem;font-weight:900}.quiz-creator-modal{border:1px solid var(--glass-border);width:100%;max-width:600px;box-shadow:var(--glass-shadow-float);background:#fffffffa;border-radius:28px;flex-direction:column;gap:1rem;padding:2rem;display:flex}.creator-field-row{flex-direction:column;gap:.35rem;display:flex}.creator-label{color:var(--text-secondary);font-size:.82rem;font-weight:700}.creator-input{border:1px solid #0000001f;border-radius:12px;outline:none;width:100%;padding:.65rem .9rem;font-family:inherit;font-size:.95rem}.creator-input:focus{border-color:#ff2d55}.sound-page-container{background:var(--bg-canvas,#f8f9fc);min-height:100vh;color:var(--text-primary,#1d1d1f);font-family:var(--font-family,-apple-system, BlinkMacSystemFont, "SF Pro Text", Pretendard, sans-serif);box-sizing:border-box;flex-direction:column;padding:1.2rem 1.6rem 2.5rem;transition:all .3s;display:flex;position:relative}.sound-page-container:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 12% 15%,#ff9f0a24 0,#0000 40%),radial-gradient(at 88% 18%,#ff2d551a 0,#0000 45%),radial-gradient(at 50% 85%,#0071e31a 0,#0000 50%);position:fixed;inset:0}.sound-page-container>*{z-index:1;position:relative}.sound-page-container.fullscreen-active{color:#fff;background:linear-gradient(135deg,#0d1117 0%,#161b22 100%);flex-direction:column;justify-content:space-between;height:100vh;min-height:100vh;padding:1rem 2rem;display:flex;overflow:hidden}.sound-page-container.fullscreen-active:before{background:radial-gradient(at 20% 20%,#ff9f0a38 0,#0000 50%),radial-gradient(at 80% 80%,#38bdf829 0,#0000 50%)}.sound-page-container.fullscreen-active .glass-panel{color:#fff;background:#161b22d9;border-color:#ffffff1f;box-shadow:0 20px 50px #00000073}.sound-page-container.fullscreen-active .glass-pill{color:#fff;background:#21262dd9;border-color:#ffffff2e}.sound-header{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.9rem 1.5rem;display:flex}.fullscreen-active .sound-header{background:#0d1117bf;border-color:#ffffff1a;margin-bottom:.5rem;padding:.6rem 1.2rem}.sound-header-left{align-items:center;gap:1.2rem;display:flex}.sound-back-btn{color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #00000014;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.sound-back-btn:hover{color:#ff9f0a;background:#fff;border-color:#ff9f0a;transform:translate(-2px)}.fullscreen-active .sound-back-btn{color:#fff;background:#ffffff1a;border-color:#fff3}.sound-title-group{flex-direction:column;gap:.2rem;display:flex}.sound-badge-pill{color:#ff9f0a;letter-spacing:.06em;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:inline-flex}.sound-main-title{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.3rem;font-weight:700;display:flex}.fullscreen-active .sound-main-title{color:#fff;font-size:1.15rem}.sound-main-title span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.fullscreen-active .sound-main-title span{color:#94a3b8}.sound-header-right{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.master-volume-box{border:1px solid var(--glass-border);background:#ffffffb3;border-radius:9999px;align-items:center;gap:.5rem;padding:.4rem .9rem;display:inline-flex}.fullscreen-active .master-volume-box{background:#21262dcc;border-color:#ffffff26}.volume-slider-sound{accent-color:#ff9f0a;cursor:pointer;width:90px}.sound-mode-tabs{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.2rem;display:flex}.sound-tab-btn{color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-fast);background:#fff9;border-radius:9999px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.sound-tab-btn:hover{color:var(--text-primary);background:#ffffffe6;transform:translateY(-1px)}.sound-tab-btn.active{color:#fff;background:#ff9f0a;border-color:#ff9f0a;box-shadow:0 4px 16px #ff9f0a59}.fullscreen-active .sound-tab-btn{color:#94a3b8;background:#21262db3;border-color:#ffffff26}.fullscreen-active .sound-tab-btn.active{color:#fff;background:#ff9f0a}.wave-lab-grid{grid-template-columns:1fr 340px;align-items:start;gap:1.2rem;display:grid}@media (width<=960px){.wave-lab-grid{grid-template-columns:1fr}}.oscilloscope-stage-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;gap:1.2rem;padding:1.5rem;display:flex}.scope-header-bar{justify-content:space-between;align-items:center;display:flex}.scope-title-badge{color:#ff9f0a;align-items:center;gap:.45rem;font-size:.85rem;font-weight:800;display:flex}.scope-canvas-wrapper{background:#0b0f19;border:1.5px solid #ff9f0a4d;border-radius:18px;width:100%;height:240px;position:relative;overflow:hidden;box-shadow:inset 0 2px 10px #000c,0 8px 24px #ff9f0a26}.scope-canvas{width:100%;height:100%;display:block}.scope-grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.scope-status-text{color:#ff9f0acc;font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:.75rem;font-weight:700;position:absolute;bottom:10px;right:14px}.wave-types-row{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}@media (width<=600px){.wave-types-row{grid-template-columns:repeat(2,1fr)}}.wave-type-card{cursor:pointer;transition:all var(--transition-fast);text-align:center;background:#ffffffb3;border:1.5px solid #00000014;border-radius:16px;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .6rem;display:flex}.wave-type-card:hover{background:#fff;border-color:#ff9f0a;transform:translateY(-2px);box-shadow:0 4px 12px #ff9f0a33}.wave-type-card.active{background:#ff9f0a1f;border-color:#ff9f0a;box-shadow:0 4px 16px #ff9f0a40}.wave-icon-box{font-size:1.4rem}.wave-title-text{color:var(--text-primary);font-size:.88rem;font-weight:700}.fullscreen-active .wave-title-text{color:#fff}.wave-desc-sub{color:var(--text-secondary);font-size:.72rem}.frequency-control-box{border:1px solid var(--glass-border);background:#ffffffa6;border-radius:18px;flex-direction:column;gap:.8rem;padding:1.2rem;display:flex}.fullscreen-active .frequency-control-box{background:#21262dbf}.freq-slider-header{justify-content:space-between;align-items:baseline;display:flex}.freq-digits-display{color:#ff9f0a;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:900}.freq-note-badge{color:var(--text-secondary);font-size:.82rem;font-weight:700}.freq-presets-chips{flex-wrap:wrap;gap:.4rem;display:flex}.freq-chip-btn{border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-fast);background:#fffc;border-radius:9999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.freq-chip-btn:hover{color:#fff;background:#ff9f0a;border-color:#ff9f0a}.beat-maker-container{flex-direction:column;gap:1.2rem;display:flex}.drum-machine-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;gap:1.2rem;padding:1.6rem;display:flex}.drum-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.drum-toolbar-left{align-items:center;gap:.8rem;display:flex}.bpm-control-group{border:1px solid var(--glass-border);background:#ffffffbf;border-radius:9999px;align-items:center;gap:.5rem;padding:.4rem .9rem;display:flex}.fullscreen-active .bpm-control-group{background:#21262dcc}.bpm-label{color:#ff9f0a;font-size:.85rem;font-weight:800}.bpm-slider{accent-color:#ff9f0a;cursor:pointer;width:100px}.sequencer-grid-wrapper{flex-direction:column;gap:.65rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.drum-track-row{align-items:center;gap:.6rem;display:flex}.drum-voice-label-btn{border:1px solid var(--glass-border);width:110px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:#fffc;border-radius:12px;flex-shrink:0;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.85rem;font-weight:700;display:flex}.drum-voice-label-btn:hover{background:#fff;border-color:#ff9f0a;transform:scale(1.02)}.fullscreen-active .drum-voice-label-btn{color:#fff;background:#21262dd9}.step-buttons-group{flex:1;gap:.35rem;display:flex}.step-btn{cursor:pointer;background:#fff9;border:1px solid #00000014;border-radius:8px;flex:1;min-width:32px;height:48px;transition:all .15s;position:relative}.step-btn:nth-child(4n+1){border-left:2px solid #ff9f0a66}.step-btn:hover{background:#fff;border-color:#ff9f0a;transform:translateY(-1px)}.fullscreen-active .step-btn{background:#21262d99;border-color:#ffffff1a}.step-btn.active{background:#ff9f0a;border-color:#ff9f0a;box-shadow:0 0 10px #ff9f0a80}.step-btn.current-step{z-index:2;transform:scale(1.05);box-shadow:0 0 12px #0071e3b3;border-color:#0071e3!important}.synth-piano-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;gap:1.2rem;padding:1.6rem;display:flex}.piano-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.piano-keys-deck{-webkit-user-select:none;user-select:none;background:#11141a;border-radius:16px;height:200px;padding:.5rem;display:flex;position:relative;overflow-x:auto;box-shadow:inset 0 3px 12px #000c,0 8px 25px #00000026}.piano-white-key{cursor:pointer;z-index:1;background:linear-gradient(#fff 0%,#f0f2f5 100%);border:1px solid #d1d5db;border-radius:0 0 6px 6px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:44px;height:100%;padding-bottom:.6rem;transition:background .1s,transform 80ms;display:flex;position:relative}.piano-white-key:active,.piano-white-key.is-playing{background:linear-gradient(#fef3c7 0%,#fde68a 100%);transform:translateY(2px);box-shadow:inset 0 2px 5px #f59e0b66}.key-note-label{color:#374151;font-size:.78rem;font-weight:800}.key-shortcut-hint{color:#9ca3af;margin-top:.15rem;font-size:.68rem;font-weight:700}.piano-black-key{z-index:2;cursor:pointer;background:linear-gradient(#374151 0%,#111827 100%);border-radius:0 0 4px 4px;flex-direction:column;justify-content:flex-end;align-items:center;width:28px;height:60%;padding-bottom:.4rem;transition:background .1s;display:flex;position:absolute;top:.5rem;box-shadow:0 4px 8px #0009}.piano-black-key:active,.piano-black-key.is-playing{background:linear-gradient(#b45309 0%,#78350f 100%)}.black-key-label{color:#fbbf24;font-size:.65rem;font-weight:800}.steam-guide-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.steam-card{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:18px;flex-direction:column;gap:.4rem;padding:1.2rem;display:flex}.steam-card-title{color:var(--text-primary);align-items:center;gap:.45rem;margin:0;font-size:.95rem;font-weight:800;display:flex}.fullscreen-active .steam-card-title{color:#fff}.steam-card-desc{color:var(--text-secondary);margin:0;font-size:.83rem;line-height:1.45}.science-lab-container{background-color:var(--bg-canvas,#f8f9fc);min-height:100vh;color:var(--text-primary,#1d1d1f);box-sizing:border-box;flex-direction:column;gap:16px;padding:16px 24px 32px;display:flex}.science-header{background:var(--glass-bg,#fffc);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border,#ffffffd9);box-shadow:var(--glass-shadow,0 10px 30px -5px #0000000a);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.header-left{align-items:center;gap:14px;display:flex}.back-btn{color:var(--text-secondary,#6e6e73);cursor:pointer;transition:all var(--transition-fast,.2s);background:#fff9;border:1px solid #0000000f;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.back-btn:hover{color:var(--accent-color,#0071e3);background:#fff;transform:translate(-2px)}.title-group{flex-direction:column;gap:2px;display:flex}.title-badge{letter-spacing:.06em;color:#10b981;background:#10b9811a;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.sparkle-icon{color:#10b981}.header-title{color:var(--text-primary,#1d1d1f);margin:0;font-size:18px;font-weight:700}.header-title strong{background:linear-gradient(135deg,#10b981 0%,#0284c7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.header-tabs{background:#0000000a;border-radius:14px;align-items:center;gap:6px;padding:4px;display:flex}.tab-btn{color:var(--text-secondary,#6e6e73);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--text-primary,#1d1d1f)}.tab-btn.active{color:#0284c7;background:#fff;box-shadow:0 2px 8px #00000014}.header-right{align-items:center;gap:8px;display:flex}.tool-icon-btn{width:36px;height:36px;color:var(--text-secondary,#6e6e73);cursor:pointer;background:#ffffffb3;border:1px solid #0000000f;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.tool-icon-btn:hover{color:var(--accent-color,#0071e3);background:#fff;transform:translateY(-1px)}.tool-icon-btn.active{color:#10b981;background:#10b9811f;border-color:#10b9814d}.guide-open-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#0071e3 100%);border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0284c74d}.guide-open-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0284c766}.celebration-banner{background:linear-gradient(135deg,#ecfdf5f2 0%,#d1fae5e6 100%);border:1px solid #10b9814d;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 20px;animation:.3s cubic-bezier(.16,1,.3,1) slideDown;display:flex;box-shadow:0 8px 24px #10b98126}.celebration-content{align-items:center;gap:14px;display:flex}.trophy-icon{color:#10b981}.celebration-content h3{color:#065f46;margin:0 0 2px;font-size:15px;font-weight:700}.celebration-content p{color:#047857;margin:0;font-size:13px}.celebration-close{color:#065f46;cursor:pointer;background:#ffffffb3;border:1px solid #10b98166;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.lab-workspace{flex:1;grid-template-columns:1fr 340px;gap:16px;min-height:520px;display:grid}.viewport-section{background:var(--glass-bg,#ffffffd9);border:1px solid var(--glass-border,#ffffffd9);box-shadow:var(--glass-shadow,0 10px 30px -5px #0000000a);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.viewport-toolbar{background:#ffffff80;border-bottom:1px solid #0000000d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.planet-selector{align-items:center;gap:8px;display:flex}.toolbar-label{color:var(--text-secondary,#6e6e73);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.planet-buttons{align-items:center;gap:4px;display:flex}.planet-btn{color:var(--text-secondary,#6e6e73);cursor:pointer;background:#ffffffb3;border:1px solid #0000000f;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.planet-btn .gravity-val{opacity:.65;font-size:10px}.planet-btn:hover{color:var(--text-primary,#1d1d1f);background:#fff}.planet-btn.active{color:#0284c7;background:#fff;border-color:#38bdf8;box-shadow:0 2px 6px #0284c726}.view-toggles{align-items:center;gap:12px;display:flex}.toggle-label{color:var(--text-secondary,#6e6e73);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.toggle-label input{accent-color:#0071e3;cursor:pointer}.canvas-wrapper{background:#fff;flex:1;justify-content:center;align-items:center;min-height:420px;display:flex;position:relative;overflow:hidden}.simulation-canvas{object-fit:contain;width:100%;height:100%;max-height:480px;display:block}.grab-canvas{cursor:grab}.grab-canvas:active{cursor:grabbing}.click-canvas{cursor:crosshair}.target-hit-toast{color:#065f46;background:#d1fae5f2;border:1px solid #10b98166;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;animation:.25s ease-out popIn;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #10b98133}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-10px)scale(.9)}to{opacity:1;transform:translate(-50%)scale(1)}}.playback-controls-bar{background:#ffffffb3;border-top:1px solid #0000000d;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.playback-left{align-items:center;gap:10px;display:flex}.play-pause-btn{cursor:pointer;border:1px solid #00000014;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.play-pause-btn.running{color:#ea580c;background:#fff}.play-pause-btn.paused{color:#fff;background:#0284c7;border-color:#0284c7}.launch-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#f97316 100%);border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #ef44444d}.launch-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ef444466}.reset-btn{color:var(--text-secondary,#6e6e73);cursor:pointer;background:#fffc;border:1px solid #0000000f;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.reset-btn:hover{color:var(--text-primary,#1d1d1f);background:#fff}.playback-speed{align-items:center;gap:6px;display:flex}.speed-label{color:var(--text-secondary,#6e6e73);font-size:12px;font-weight:600}.speed-pill{color:var(--text-secondary,#6e6e73);cursor:pointer;background:#0000000a;border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.speed-pill.active{color:#fff;background:#0284c7}.controls-sidebar{flex-direction:column;gap:14px;display:flex;overflow-y:auto}.controls-card{background:var(--glass-bg,#ffffffd9);border:1px solid var(--glass-border,#ffffffd9);box-shadow:var(--glass-shadow,0 10px 30px -5px #0000000a);border-radius:18px;flex-direction:column;gap:14px;padding:16px;display:flex}.card-title{color:var(--text-primary,#1d1d1f);border-bottom:1px solid #0000000f;align-items:center;gap:8px;margin:0;padding-bottom:8px;font-size:15px;font-weight:700;display:flex}.param-group{flex-direction:column;gap:6px;display:flex}.param-header{justify-content:space-between;align-items:center;display:flex}.param-header label{color:var(--text-secondary,#6e6e73);font-size:12px;font-weight:600}.param-value{color:#0284c7;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.param-group input[type=range]{accent-color:#0284c7;cursor:pointer;width:100%}.telemetry-box{background:#f8fafccc;border:1px solid #0000000a;border-radius:12px;padding:12px}.telemetry-title{color:#475569;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;font-weight:700;display:flex}.telemetry-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.telemetry-item{background:#fff;border:1px solid #0000000a;border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.item-label{color:#64748b;font-size:10px;font-weight:500}.item-value{color:#1e293b;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.item-value.highlight{color:#0284c7}.item-value.success{color:#10b981}.period-box{background:#f8fafce6;border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.period-item{justify-content:space-between;align-items:center;font-size:12px;display:flex}.period-item .label{color:#64748b}.period-item .val{color:#1e293b;font-weight:700}.period-item .val.highlight{color:#2563eb}.energy-monitor{background:#f8fafce6;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.energy-title{color:#0369a1;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.energy-bars{flex-direction:column;gap:8px;display:flex}.bar-group{flex-direction:column;gap:4px;display:flex}.bar-labels{color:#475569;justify-content:space-between;font-size:11px;display:flex}.progress-bg{background:#0000000f;border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:999px;height:100%;transition:width 50ms linear}.progress-fill.ek{background:linear-gradient(90deg,#f97316,#ef4444)}.progress-fill.ep{background:linear-gradient(90deg,#38bdf8,#2563eb)}.damping-presets{flex-direction:column;gap:6px;display:flex}.preset-title{color:#64748b;font-size:11px;font-weight:600}.preset-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.preset-btn{color:#475569;cursor:pointer;background:#fffc;border:1px solid #0000000f;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:600;transition:all .15s}.preset-btn:hover{color:#0284c7;background:#fff}.preset-btn.highlight-btn{color:#0284c7;background:#0284c71a;border-color:#0284c74d}.phase-presets{gap:6px;display:flex}.phase-presets .preset-btn{flex:1}.phase-presets .preset-btn.active{color:#fff;background:#0284c7;border-color:#0284c7}.hint-banner{color:#64748b;background:#f1f5f9cc;border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.4}.missions-list{flex-direction:column;gap:10px;display:flex}.mission-item{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:12px;flex-direction:column;gap:6px;padding:12px;transition:all .2s;display:flex}.mission-item:hover{border-color:#38bdf8;transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.mission-item.active{background:#f0f9ffcc;border-color:#0284c7;box-shadow:0 4px 12px #0284c71a}.mission-item-header{justify-content:space-between;align-items:center;display:flex}.mission-title{color:#1e293b;font-size:13px;font-weight:700}.mission-stars{gap:2px;display:flex}.star-filled{color:#f59e0b;fill:#f59e0b}.star-empty{color:#cbd5e1}.mission-desc{color:#64748b;margin:0;font-size:11px;line-height:1.4}.mission-active-details{margin-top:4px}.mission-hint-box{color:#92400e;background:#fef3c799;border:1px solid #f59e0b33;border-radius:6px;padding:6px 8px;font-size:11px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.guide-modal{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:680px;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.guide-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-title-wrap{align-items:center;gap:8px;display:flex}.modal-sparkle{color:#0284c7}.guide-modal-header h2{color:#1e293b;margin:0;font-size:17px;font-weight:700}.modal-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px}.modal-close-btn:hover{color:#1e293b}.guide-modal-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;gap:6px;padding:6px 16px 0;display:flex;overflow-x:auto}.gtab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.gtab-btn.active{color:#0284c7;background:#fff;border:1px solid #e2e8f0;border-bottom-color:#fff;margin-bottom:-1px}.guide-modal-body{padding:22px;overflow-y:auto}.guide-article h3{color:#1e293b;margin:0 0 8px;font-size:16px;font-weight:700}.guide-article p{color:#475569;margin:0 0 14px;font-size:14px;line-height:1.6}.formula-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px;display:flex}.formula-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.formula-name{color:#64748b;font-weight:500}.formula-row code{color:#0369a1;background:#0284c714;border-radius:6px;padding:2px 8px;font-family:SF Mono,Menlo,monospace;font-weight:700}.guide-article h4{color:#334155;margin:16px 0 6px;font-size:14px;font-weight:700}@media (width<=960px){.lab-workspace{grid-template-columns:1fr}.science-header{flex-direction:column;align-items:flex-start}.header-tabs{width:100%;overflow-x:auto}}:root{--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--bg-canvas:#f8f9fc;--accent-color:#0071e3;--accent-color-hover:#0077ed;--accent-glow:#0071e340;--edutech-purple:#7928ca;--edutech-emerald:#10b981;--edutech-amber:#f59e0b;--glass-bg:linear-gradient(135deg, #ffffffd6 0%, #ffffff9e 100%);--glass-bg-hover:linear-gradient(135deg, #fffffff0 0%, #ffffffbd 100%);--glass-bg-subtle:#ffffff73;--glass-bg-pill:#ffffffc7;--glass-border:#ffffffd9;--glass-border-subtle:#ffffff80;--glass-border-rim:#fffffff2;--glass-shadow:0 10px 30px -5px #0000000a, 0 20px 40px -10px #00000008, inset 0 1px 1px 0 #fffffff2, inset 0 -1px 1px 0 #00000005;--glass-shadow-hover:0 18px 45px -6px #00000014, 0 30px 60px -12px #0000000d, inset 0 1px 2px 0 #fff;--glass-shadow-float:0 20px 60px -15px #00000014, 0 35px 80px -20px #0000000a, inset 0 1px 1.5px 0 #fffffff2;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Pretendard Variable", Pretendard, "Inter", system-ui, sans-serif;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-normal:.35s cubic-bezier(.16, 1, .3, 1);--transition-slow:.5s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);color:var(--text-primary);overscroll-behavior-y:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-wrap:break-word;background-color:var(--bg-canvas);background-image:radial-gradient(at 12% 10%,#bee1ff99 0,#0000 45%),radial-gradient(at 88% 12%,#e1d7ff8c 0,#0000 45%),radial-gradient(at 15% 85%,#c3f8eb80 0,#0000 50%),radial-gradient(at 85% 85%,#ffe6d78c 0,#0000 48%),radial-gradient(#ffffffbf 0,#0000 60%);background-position:50%;background-size:100% 100%;background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{cursor:pointer;font-family:var(--font-family);background:0 0;border:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(32px)saturate(190%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:background var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);border-radius:24px;position:relative}.glass-pill{background:var(--glass-bg-pill);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--glass-border);transition:all var(--transition-fast);border-radius:9999px;box-shadow:0 4px 20px #0000000a,inset 0 1px 1px #ffffffe6}.glass-button,.glass-button-primary{-webkit-user-select:none;user-select:none;cursor:pointer;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.45rem;font-size:.95rem;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.glass-button{background:var(--glass-bg-pill);border:1px solid var(--glass-border);color:var(--text-primary);box-shadow:0 4px 14px #0000000a,inset 0 1px 1px #ffffffe6}.glass-button:hover{background:#fffffff2;transform:translateY(-1.5px);box-shadow:0 8px 24px #00000014,inset 0 1px 2px #fff}.glass-button:active{transform:scale(.97);box-shadow:0 2px 8px #0000000a}.glass-button-primary{color:#fff;background:linear-gradient(135deg,#0071e3 0%,#005bb5 100%);border:1px solid #ffffff59;box-shadow:0 6px 20px #0071e34d,inset 0 1px 1px #fff6}.glass-button-primary:hover{color:#fff;background:linear-gradient(135deg,#0077ed 0%,#06c 100%);transform:translateY(-2px);box-shadow:0 10px 28px #0071e366,inset 0 1px 2px #fff9}.glass-button-primary:active{transform:scale(.97);box-shadow:0 4px 12px #0071e340}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f padding-box padding-box;border:2px solid #0000;border-radius:100px}::-webkit-scrollbar-thumb:hover{background:#00000040 padding-box padding-box;border:2px solid #0000}::selection{color:var(--text-primary);background:#0071e333}.app-container{flex-direction:column;min-height:100vh;display:flex}
