@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-color:#1a1a1a;--sidebar-bg:#222;--card-bg:#2a2a2a;--card-hover-bg:#333;--primary-purple:#7c3aed;--primary-purple-light:#8b5cf6;--primary-gradient:#7c3aed;--secondary-gradient:#ffffff0d;--text-main:#e5e5e5;--text-sub:#a3a3a3;--text-muted:#737373;--success:#e5e5e5;--success-glow:#ffffff26;--danger:#ef4444;--warning:#f59e0b;--glass-border:none;--glass-border-focus:1px solid #fff3;--radius-xl:24px;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--shadow-lg:0 20px 40px -15px #00000080;--shadow-glow:0 0 25px #ffffff0d;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);letter-spacing:-.01em;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}.app-layout{width:100%;min-height:100dvh;display:flex}.main-content{scroll-behavior:smooth;flex:1;margin-left:260px;padding:40px}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.main-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.tab-pane{animation:.5s cubic-bezier(.16,1,.3,1) forwards tabFadeIn}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}h2.tab-title{letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:24px;font-size:24px;font-weight:700;display:flex}h3.card-title{color:var(--text-main);align-items:center;gap:8px;margin-bottom:7px;font-size:18px;font-weight:600;display:flex}h2.tab-title svg,h3.card-title svg:not(.dropdown-icon){display:none!important}.grid-2-1{grid-template-columns:2.1fr 1fr;gap:24px;display:grid}.grid-1-1{grid-template-columns:1fr 1fr;gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;display:grid}.glass-card{background:var(--card-bg);border:var(--glass-border);border-radius:var(--radius-xl);transition:var(--transition);padding:24px;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0000004d}button,.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}button:not(:disabled):active,.btn:not(:disabled):active{transform:scale(.97)}.btn-primary{background:var(--primary-gradient);color:#fff}.btn-primary:hover{background:#6d28d9;transform:translateY(-2px)}.btn-secondary{color:var(--text-main);border:var(--glass-border);background:#ffffff0a}.btn-secondary:hover{color:#fff;background:#ffffff14}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-2px)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669;transform:translateY(-2px)}.tag-selector-wrapper{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.tag-chip{color:var(--text-sub);cursor:pointer;transition:var(--transition);background:#ffffff08;border:none;border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.tag-chip .nav-link:hover{background:#ffffff0a;border:1px solid #ffffff1a;transform:translate(4px)}.tag-chip:hover{color:var(--text-main);background:#ffffff14}.tag-chip.active{color:var(--text-main);background:#ffffff1a;border:none;font-weight:600}.tag-delete-btn{width:16px;height:16px;color:var(--text-sub);transition:var(--transition);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.tag-delete-btn:hover{color:var(--danger);background:#ef444433}.tag-add-btn{border:1px dashed var(--text-muted);background:0 0}.tag-add-btn:hover{border-color:var(--text-main);color:var(--text-main)}.timer-container{flex-direction:column;align-items:center;margin:24px 0;display:flex}.timer-display{font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text-main);font-family:Noto Sans KR,-apple-system,sans-serif;font-size:56px;font-weight:600}.timer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;margin-top:4px;font-size:12px}.graph-container-box{width:100%;height:280px;margin:16px 0;position:relative}.graph-placeholder{height:280px;color:var(--text-muted);border-radius:var(--radius-lg);border:1px dashed #ffffff0d;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.graph-placeholder i{opacity:.25;font-size:48px;animation:4s ease-in-out infinite floatEffect}@keyframes floatEffect{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.toggle-container{border:var(--glass-border);border-radius:var(--radius-md);background:#ffffff05;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px 20px;display:flex}.switch{width:46px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#334155;border-radius:34px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background:#64748b}input:checked+.slider:before{transform:translate(22px)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px;display:grid}.cal-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding-bottom:8px;font-size:11px;font-weight:700}.cal-day{aspect-ratio:1;border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;transition:var(--transition);background:#ffffff04;border:1px solid #ffffff05;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.cal-day:hover{background:#ffffff0d;border-color:#ffffff1a}.glass-select:focus{background:#ffffff0d;outline:none;border-color:#fff3!important}.cal-day.active{color:#fff;background:#ffffff26;font-weight:700}.cal-day.has-data:after{content:"";background:var(--success);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.cal-day.empty{cursor:default;background:0 0;border:none}.ranking-list{flex-direction:column;gap:12px;list-style:none;display:flex}.ranking-item{border:var(--glass-border);border-radius:var(--radius-md);transition:var(--transition);background:#ffffff04;align-items:center;padding:16px 20px;display:flex}.rank-badge{color:#0d111c;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-right:18px;font-size:13px;font-weight:800;display:flex}.rank-1{background:#eab308}.rank-2{background:#cbd5e1}.rank-3{color:#fff;background:#d97706}.rank-other{color:var(--text-sub);background:#ffffff14}.rank-info{flex:1}.rank-name{font-size:15px;font-weight:600}.rank-time{color:var(--success);font-size:15px;font-weight:700}.help-step-card{border-radius:var(--radius-lg);border:var(--glass-border);transition:var(--transition);background:#ffffff04;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.help-step-number{background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:flex}.help-step-content{flex:1}.help-step-content h4{color:var(--text-main);margin:0 0 10px;font-size:16px;font-weight:600}.help-step-content p{color:var(--text-sub);margin:0;font-size:14px;line-height:1.6}.faq-question-btn:hover{color:#fff!important}.circuit-diagram-container{border-radius:var(--radius-md);border:var(--glass-border);background:#1e1e1e;margin-top:16px;position:relative;overflow:hidden;box-shadow:0 15px 35px #0006}.circuit-img{opacity:.9;width:100%;max-width:550px;height:auto;margin:0 auto;display:block}.circuit-label{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;background:#000000b3;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;display:inline-flex;position:absolute;bottom:12px;left:12px}.code-block-container{border-radius:var(--radius-md);border:var(--glass-border);background:#1e1e1e;margin-top:16px;overflow:hidden;box-shadow:0 10px 30px #0000004d}.code-header{background:#ffffff08;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.code-lang{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.code-content{color:#c9d1d9;margin:0;padding:18px;font-family:Menlo,Consolas,Monaco,monospace;font-size:12.5px;line-height:1.6;overflow-x:auto}.history-list{max-height:220px;margin-top:8px;list-style:none;overflow-y:auto}.history-item{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.history-item:last-child{border-bottom:none}.login-screen{z-index:9999;background:#1e1e1e;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100dvh;animation:.8s fadeIn;display:flex;position:fixed;top:0;left:0}.login-card{text-align:center;width:90%;max-width:420px;padding:48px}.login-logo{width:80px;height:80px;margin-bottom:24px;animation:3.5s ease-in-out infinite floatAnimation}@keyframes floatAnimation{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(2deg)}}.login-title{letter-spacing:-.03em;color:var(--text-main);margin-bottom:8px;font-size:36px;font-weight:800}.login-subtitle{color:var(--text-sub);margin-bottom:24px;font-size:15px}.btn-google{color:#222;background:#fff;border-radius:100px;width:100%;padding:14px;font-size:15px;font-weight:600}.btn-google:not(:disabled):hover{background:#f8fafc;transform:translateY(-2px)}.btn-google img{width:18px;height:18px}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:10000;background:#0a0a0ad9;justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:fixed;top:0;left:0}.modal-content{border:var(--glass-border);border-radius:var(--radius-xl);text-align:center;background:#252526;width:90%;max-width:440px;padding:40px;animation:.4s cubic-bezier(.175,.885,.32,1.275) modalPop;box-shadow:0 30px 60px #0009}@keyframes modalPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (width<=1024px){.grid-2-1,.grid-1-1,.grid-3{grid-template-columns:1fr;gap:20px}.focus-tab-grid{flex-direction:column-reverse;display:flex}}@media (width<=768px){.app-layout{flex-direction:column;height:auto;overflow:visible}.main-content{height:auto;min-height:calc(100dvh - 70px);margin-left:0;padding:24px 20px 96px}h2.tab-title{margin-bottom:24px;font-size:24px}.glass-card{padding:20px}}.sidebar{background:var(--sidebar-bg);z-index:100;overscroll-behavior:none;border-right:1px solid #ffffff1a;flex-direction:column;justify-content:space-between;width:260px;height:100dvh;padding:32px 24px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.logo-area{color:var(--text-main);letter-spacing:-.03em;align-items:center;gap:12px;margin-bottom:48px;font-size:22px;font-weight:800;display:flex}.logo-icon-box{background:var(--primary-gradient);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex;box-shadow:0 8px 20px #7c3aed4d}.nav-menu{flex-direction:column;gap:8px;list-style:none;display:flex}.nav-item{border-radius:var(--radius-md);cursor:pointer;color:var(--text-sub);transition:var(--transition);align-items:center;gap:12px;padding:14px 18px;font-size:15px;font-weight:500;display:flex}.nav-item:hover{color:var(--text-main);background:#ffffff08}.nav-item.active{color:var(--text-main);background:#ffffff0d;font-weight:600}.nav-item.active i{color:var(--text-main)}.sidebar-footer{border-top:1px solid #ffffff0d;padding-top:24px}.user-profile-box{align-items:center;gap:12px;display:flex}.user-avatar{color:#fff;background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.user-info{flex-direction:column;max-width:150px;display:flex}.user-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.user-status{color:var(--text-muted);font-size:11px}@media (width<=768px){.sidebar{-webkit-backdrop-filter:blur(15px);background:#252526f2;border-top:1px solid #ffffff1a;border-right:none;flex-direction:row;align-items:center;width:100%;height:70px;padding:0 20px;position:fixed;top:auto;bottom:0;left:0}.logo-area,.sidebar-footer{display:none}.sidebar>div{width:100%}.nav-menu{flex-direction:row;justify-content:space-around;gap:0;width:100%}.nav-item{flex-direction:column;justify-content:center;gap:4px;width:60px;padding:8px 0;font-size:11px;background:0 0!important;border:none!important}}.summary-stats{border-radius:var(--radius-lg);border:var(--glass-border);background:#ffffff05;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;padding:18px;display:grid;box-shadow:inset 0 1px 1px #ffffff0d}.stat-item{border-radius:var(--radius-md);background:#ffffff04;border:1px solid #ffffff08;align-items:center;gap:14px;padding:14px 18px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.stat-item:hover{background:#ffffff08;border-color:#ffffff1a;transform:translateY(-2px)}.stat-icon-wrapper{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .3s;display:flex}.stat-icon-wrapper.today{background:#ffffff0d;border:1px solid #ffffff1a;padding:16px 20px}.stat-icon-wrapper.week{color:var(--success);background:#10b98126;border:1px solid #10b98133}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-sub);letter-spacing:-.01em;margin-bottom:4px;font-size:12px;font-weight:500}.stat-value{color:var(--text-main);letter-spacing:.02em;font-family:Outfit,sans-serif;font-size:18px;font-weight:700}.radar-chart-card{transition:var(--transition)}.radar-chart-card:hover{background:#ffffff05!important}.golden-hour-card{position:relative;background:#282828e6!important}.ai-golden-hour-card{grid-column:span 2;margin-top:12px}.golden-hour-content{gap:20px;margin-top:12px;display:flex}.golden-hour-left{border-radius:var(--radius-sm);background:#ffffff0d;border:none;flex-direction:column;gap:12px;min-width:220px;padding:20px;display:flex;position:relative}.golden-hour-right{border:var(--glass-border);background:#ffffff04;border-radius:16px;flex-direction:column;flex:1;gap:16px;padding:20px;font-size:13.5px;line-height:1.6;display:flex}.ai-session-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}@media (width<=1024px){.ai-golden-hour-card{grid-column:span 1}}@media (width<=768px){.golden-hour-content{flex-direction:column!important;gap:16px!important}.golden-hour-left{min-width:100%!important}}@media (width<=576px){.ai-session-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:1fr;gap:12px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-anim{animation:1s linear infinite spin}.ai-status-badge{letter-spacing:-.01em;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.ai-status-badge.live{color:var(--success);background:#10b9811f;border:1px solid #10b98133}.ai-status-badge.demo{color:var(--warning);background:#f59e0b1f;border:1px solid #f59e0b33}.privacy-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:20000;background:#04060ad9;justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:fixed;top:0;left:0}.privacy-modal-card{border:var(--glass-border);border-radius:var(--radius-xl);background:#18181b;flex-direction:column;width:90%;max-width:600px;max-height:80vh;animation:.4s cubic-bezier(.175,.885,.32,1.275) modalPop;display:flex;box-shadow:0 30px 60px #0009}.privacy-modal-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.privacy-modal-title{color:var(--text-main);margin:0;font-size:20px;font-weight:700}.privacy-modal-close-btn{color:var(--text-sub);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.privacy-modal-close-btn:hover{color:#fff;transform:scale(1.1)}.privacy-modal-body{color:var(--text-sub);flex:1;padding:24px 28px;font-size:13.5px;line-height:1.6;overflow-y:auto}.privacy-modal-body::-webkit-scrollbar{width:6px}.privacy-modal-body::-webkit-scrollbar-track{background:0 0}.privacy-modal-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.privacy-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff26}.privacy-modal-body h4{color:var(--text-main);margin-top:20px;margin-bottom:8px;font-size:14.5px;font-weight:700}.privacy-modal-body p{margin-bottom:12px}.privacy-modal-body ul{margin-bottom:12px;padding-left:20px}.privacy-modal-body li{margin-bottom:6px}.privacy-modal-footer{border-top:1px solid #ffffff0d;justify-content:flex-end;padding:16px 28px 24px;display:flex}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes bounce{0%,to{transform:translateY(-50%)scale(1)}50%{transform:translateY(-50%)scale(1.15)}}.summary-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=768px){.summary-stats-grid{grid-template-columns:repeat(2,1fr)}}.mobile-only-avatar{display:none!important}@media (width<=768px){.mobile-only-avatar{display:flex!important}}.mobile-only-settings{display:none!important}@media (width<=768px){.mobile-only-settings{display:flex!important}.settings-modal-sidebar{order:2;border-top:1px solid #ffffff14!important;border-right:none!important;flex-direction:row!important;width:100%!important;height:60px!important;padding:0 10px!important}.settings-modal-sidebar h2{display:none!important}.settings-modal-sidebar ul{justify-content:space-around;align-items:center;width:100%;flex-direction:row!important}.settings-modal-sidebar ul li{flex:1}.settings-modal-sidebar ul li button{justify-content:center!important;padding:8px!important}.settings-modal-sidebar ul li button span,.settings-modal-sidebar ul li button text{font-size:0;display:none!important}.settings-modal-content{order:1;padding:20px!important}.settings-modal-container{flex-direction:column!important}}
