:root{--bg-color: #0b1120;--text-main: #f8fafc;--text-muted: #64748b;--accent-color: #10b981;--card-bg: rgba(30, 41, 59, .4);--card-border: rgba(255, 255, 255, .05);--card-hover-bg: rgba(30, 41, 59, .8);--card-hover-border: rgba(16, 185, 129, .4)}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-color);background-image:radial-gradient(circle at 10% 20%,rgba(16,185,129,.05),transparent 30%),radial-gradient(circle at 90% 80%,rgba(14,165,233,.04),transparent 30%)}.header{height:5vh;display:flex;align-items:center;padding:0 4rem}.logo{font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:1px;background:linear-gradient(90deg,#fff,#a7f3d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.main{height:90vh;display:flex;justify-content:center;align-items:center;padding:2rem}.grid-container{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;width:100%;max-width:800px;aspect-ratio:1 / 1;max-height:100%}.menu-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;color:var(--text-main);transition:all .4s cubic-bezier(.4,0,.2,1);gap:1.2rem}.menu-item.active{cursor:pointer}.menu-item.active:hover{transform:translateY(-8px) scale(1.02);background:var(--card-hover-bg);border-color:var(--card-hover-border);box-shadow:0 15px 35px #0006,0 0 25px #10b98126,inset 0 0 15px #ffffff05}.menu-item.active:hover .icon-container{transform:scale(1.15)}.menu-item.inactive{cursor:not-allowed;opacity:.4;background:#0f172a33}.icon-container{width:60px;height:60px;display:flex;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.icon-container svg{width:100%;height:100%}.menu-item .title{font-size:1.15rem;font-weight:500;letter-spacing:.5px}.icon-active svg{fill:none;stroke:var(--accent-color);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(16,185,129,.6))}.icon-inactive svg{fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.footer{height:5vh;display:flex;justify-content:flex-end;align-items:center;padding:0 4rem}.email-link{color:var(--text-muted);text-decoration:none;font-size:.9rem;font-family:Outfit,sans-serif;transition:color .3s ease;letter-spacing:.5px}.email-link:hover{color:var(--text-main);text-shadow:0 0 8px rgba(255,255,255,.3)}@media(max-width:800px){.grid-container{grid-gap:1rem}.icon-container{width:45px;height:45px}.menu-item .title{font-size:1rem}.header,.footer{padding:0 2rem}.main{padding:1rem}}@media(max-width:480px){.grid-container{grid-gap:.6rem}.icon-container{width:32px;height:32px}.menu-item .title{font-size:.75rem;letter-spacing:0}.header,.footer{padding:0 1rem}.main{padding:.6rem}.logo{font-size:1.1rem}.menu-item{gap:.6rem;border-radius:14px}}:root{--bg-color: #0b1120;--sidebar-bg: rgba(15, 23, 42, .6);--text-main: #f8fafc;--text-muted: #64748b;--accent-color: #10b981;--up-color: #ef4444;--down-color: #3b82f6;--card-bg: rgba(30, 41, 59, .4);--card-border: rgba(255, 255, 255, .05)}.stock-container{display:flex;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-color);background-image:radial-gradient(circle at 10% 20%,rgba(16,185,129,.03),transparent 40%),radial-gradient(circle at 90% 80%,rgba(14,165,233,.03),transparent 40%)}.sidebar{width:250px;background:var(--sidebar-bg);border-right:1px solid var(--card-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{height:80px;display:flex;align-items:center;padding:0 2rem;border-bottom:1px solid var(--card-border)}.sidebar-header .logo{font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.5px;background:linear-gradient(90deg,#fff,#a7f3d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:filter .3s ease}.sidebar-header .logo:hover{filter:drop-shadow(0 0 10px rgba(16,185,129,.4))}.nav-menu{list-style:none;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:.8rem}.nav-menu li{list-style:none}.nav-item{display:flex;align-items:center;padding:1rem 1.5rem;border-radius:12px;cursor:pointer;color:var(--text-muted);font-weight:500;text-decoration:none;transition:all .3s ease}.nav-item:hover{background:#ffffff0d;color:var(--text-main);transform:translate(5px)}.nav-item.active{background:#10b9811a;color:var(--accent-color);box-shadow:inset 4px 0 0 var(--accent-color)}.main-content{flex:1;padding:2.5rem 3.5rem;overflow-y:auto}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.view-container{animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.view-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}.view-title-row .view-title{margin-bottom:0}.view-title{font-size:2rem;font-weight:700;margin-bottom:2.5rem;letter-spacing:-.5px}.market-status-badge{font-size:.75rem;font-weight:600;padding:.3rem .8rem;border-radius:999px;letter-spacing:.3px}.status-regular{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-pre,.status-after{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.status-closed{background:#64748b26;color:var(--text-muted);border:1px solid rgba(100,116,139,.2)}.ovtm-label{font-size:.8rem;font-weight:500;color:#fbbf24;margin-left:.8rem}.ovtm-notice{font-size:.9rem;color:#fbbf24;margin:-1.5rem 0 1.5rem;opacity:.8}.indices-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3.5rem}.index-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:2rem 2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease}.index-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000004d}.index-card .title{font-size:1.1rem;color:var(--text-muted);margin-bottom:.8rem;font-weight:500}.index-card .value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;font-family:Outfit,sans-serif}.index-card .change{font-size:1.1rem;font-weight:500}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.table-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:1px;overflow:hidden}.stock-table{width:100%;border-collapse:collapse}.stock-table th,.stock-table td{padding:1.2rem 1.8rem;text-align:left}.stock-table th{background:#0f172a66;color:var(--text-muted);font-weight:500;font-size:.95rem;border-bottom:1px solid var(--card-border)}.stock-table td{border-bottom:1px solid rgba(255,255,255,.02);font-size:1.05rem}.stock-table tr:last-child td{border-bottom:none}.stock-table tr{transition:background-color .2s ease}.stock-table tr:hover td{background:#ffffff08}.stock-table .name{font-weight:700}.stock-table .code{color:var(--text-muted);font-size:.85rem;margin-left:.5rem;font-family:Outfit,sans-serif}.issue-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.issue-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .25s ease,box-shadow .25s ease}.issue-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.issue-card-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}.issue-rank{font-family:Outfit,sans-serif;font-size:.85rem;font-weight:700;color:var(--accent-color);min-width:28px}.issue-name-wrap{flex:1;display:flex;flex-direction:column;gap:.2rem}.issue-rate{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700}.issue-card-body{display:flex;flex-direction:column;gap:.7rem}.issue-stat{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.issue-stat .label{color:var(--text-muted)}.issue-stat .val{font-weight:600;font-family:Outfit,sans-serif}.up{color:var(--up-color)!important}.down{color:var(--down-color)!important}.flat{color:var(--text-muted)!important}.account-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem}.summary-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:.6rem}.summary-card .label{font-size:.9rem;color:var(--text-muted);font-weight:500}.summary-card .value{font-size:1.4rem;font-weight:700;font-family:Outfit,sans-serif}.sidebar-footer{margin-top:auto;padding:1.5rem;border-top:1px solid var(--card-border);display:flex;flex-direction:column;gap:.8rem}.user-info{display:flex;align-items:center;gap:.8rem}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-size:.95rem;font-weight:600;color:var(--text-main);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{width:100%;padding:.7rem;background:#ffffff0d;border:1px solid var(--card-border);border-radius:8px;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-color);background-image:radial-gradient(circle at 20% 30%,rgba(16,185,129,.05),transparent 50%),radial-gradient(circle at 80% 70%,rgba(14,165,233,.05),transparent 50%)}.login-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:24px;padding:3.5rem 3rem;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:420px}.login-logo{font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;background:linear-gradient(90deg,#fff,#a7f3d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2rem}.login-title{font-size:1.8rem;font-weight:700;margin-bottom:.8rem}.login-desc{color:var(--text-muted);font-size:1rem;line-height:1.7;margin-bottom:2.5rem}.kakao-btn{display:flex;align-items:center;justify-content:center;gap:.8rem;width:100%;padding:1rem 1.5rem;background:#fee500;color:#3c1e1e;border:none;border-radius:12px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s ease}.kakao-btn:hover{background:#f5dc00;transform:translateY(-2px);box-shadow:0 8px 20px #fee50040}.trading-control-bar{display:flex;align-items:center;gap:2rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:1.2rem 2rem;margin-bottom:2rem;flex-wrap:wrap}.trading-toggle-wrap{display:flex;align-items:center;gap:.8rem}.trading-label{font-size:.95rem;font-weight:600;color:var(--text-muted)}.toggle-switch{position:relative;width:52px;height:28px;border-radius:999px;border:none;background:#64748b4d;cursor:pointer;transition:background .3s ease;padding:0}.toggle-switch.on{background:var(--accent-color)}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .3s ease;display:block}.toggle-switch.on .toggle-thumb{transform:translate(24px)}.trading-status-text{font-weight:700;font-size:.95rem;color:var(--text-muted)}.trading-status-text.on{color:var(--accent-color)}.trading-today-profit,.trading-risk-info{display:flex;align-items:center;gap:.6rem;font-size:.95rem}.trading-today-profit .label,.trading-risk-info .label{color:var(--text-muted)}.trading-today-profit .value,.trading-risk-info .value{font-weight:700;font-family:Outfit,sans-serif}.account-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--card-border);padding-bottom:0}.account-tab-btn{padding:.7rem 1.4rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-1px}.account-tab-btn:hover{color:var(--text-main)}.account-tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color);font-weight:700}.auto-trading-tab{display:flex;flex-direction:column;gap:1.5rem}.algo-info-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem 2rem}.algo-name{font-size:1.1rem;font-weight:700;margin-bottom:.4rem}.algo-desc{font-size:.9rem;color:var(--text-muted);line-height:1.6}.algo-off-notice{margin-top:.8rem;font-size:.85rem;color:#fbbf24}.risk-info-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem 2rem}.risk-title{font-size:1rem;font-weight:700;color:var(--text-main);margin-bottom:1rem}.risk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem 2rem}.risk-item{display:flex;flex-direction:column;gap:.3rem}.risk-item .label{font-size:.82rem;color:var(--text-muted)}.risk-item .value{font-size:1rem;font-weight:600;font-family:Outfit,sans-serif;color:var(--text-main)}.watch-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}.watch-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:1.2rem 1.5rem}.watch-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}.watch-name-wrap{display:flex;flex-direction:column;gap:.2rem}.signal-badge{font-size:.78rem;font-weight:700;padding:.25rem .7rem;border-radius:999px}.slot-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.1rem .5rem;border-radius:6px;letter-spacing:.03em;width:fit-content}.position-bar-wrap{margin-bottom:.8rem;display:flex;flex-direction:column;gap:.3rem}.position-bar-label{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted)}.position-bar-track{height:6px;background:#ffffff14;border-radius:999px;overflow:hidden}.position-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:999px;transition:width .4s ease}.watch-chart{margin-bottom:.6rem}.chart-placeholder{height:80px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.chart-legend{display:flex;gap:1rem;font-size:.75rem;margin-top:.3rem}.watch-indicators{display:flex;gap:1rem;font-size:.82rem;color:var(--text-muted);flex-wrap:wrap}.watch-indicators b{color:var(--text-main)}.trading-log-box{background:#0f172a99;border:1px solid var(--card-border);border-radius:16px;overflow:hidden}.log-header{padding:.8rem 1.5rem;font-size:.85rem;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--card-border)}.log-body{padding:1rem 1.5rem;max-height:200px;overflow-y:auto;font-family:monospace;font-size:.82rem;line-height:1.8}.log-line{color:#94a3b8}.trade-history-tab{display:flex;flex-direction:column;gap:1rem}.history-summary{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--text-muted);padding:0 .2rem}.trade-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.82rem;font-weight:700}.trade-badge.buy{background:#10b98126;color:#10b981}.trade-badge.sell{background:#ef444426;color:#ef4444}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;flex-shrink:0}.hamburger span{display:block;width:22px;height:2px;background:var(--text-main);border-radius:2px;transition:transform .25s ease,opacity .25s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}@media(max-width:768px){.stock-container{flex-direction:column;height:auto;min-height:100vh;overflow:auto}.sidebar{position:relative;width:100%;border-right:none;border-bottom:1px solid var(--card-border);flex-direction:column;height:auto;z-index:100}.sidebar-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 1.2rem;border-bottom:none;width:100%;box-sizing:border-box}.sidebar-header .logo{font-size:1rem;white-space:nowrap}.hamburger{display:flex}.nav-menu{display:none;flex-direction:column;width:100%;padding:.5rem 0;background:var(--sidebar-bg);border-top:1px solid var(--card-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-menu.open{display:flex}.nav-menu li{width:100%}.nav-item{display:block;padding:.85rem 1.5rem;white-space:nowrap;font-size:.95rem;border-radius:0;min-height:44px;display:flex;align-items:center}.nav-item:hover{transform:none;background:#ffffff0a}.nav-item.active{box-shadow:inset 4px 0 0 var(--accent-color);background:#10b98114}.nav-overlay{display:block}.sidebar-footer{flex-direction:row;align-items:center;gap:.8rem;padding:.6rem 1.2rem;border-top:1px solid var(--card-border)}.sidebar-footer .user-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.user-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:auto;padding:.4rem .9rem;font-size:.82rem;min-height:36px;flex-shrink:0}.main-content{padding:1.2rem 1rem;overflow-y:visible;height:auto}.view-title{font-size:1.3rem;margin-bottom:1.2rem}.view-title-row{margin-bottom:1.2rem;gap:.6rem}.view-title-row .view-title{margin-bottom:0}.indices-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.index-card .value{font-size:1.8rem}.section-title{font-size:1.1rem;margin-bottom:.8rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.stock-table{min-width:540px}.stock-table th,.stock-table td{padding:.75rem .8rem;font-size:.85rem}.issue-cards-grid{grid-template-columns:1fr}.account-summary{grid-template-columns:repeat(2,1fr);gap:.8rem}.summary-card{padding:1rem 1.2rem}}@media(max-width:480px){.main-content{padding:1rem .8rem}.view-title{font-size:1.1rem}.account-summary{grid-template-columns:1fr 1fr;gap:.6rem}.summary-card{padding:.8rem 1rem}.summary-card .label{font-size:.72rem}.summary-card .value{font-size:1.1rem}.stock-table{min-width:480px}.stock-table th,.stock-table td{padding:.6rem;font-size:.8rem}.watch-cards{grid-template-columns:1fr}.trading-control-bar{flex-wrap:wrap;gap:.8rem}.account-tabs{gap:.3rem}.account-tab-btn{padding:.5rem .8rem;font-size:.8rem}.log-body{font-size:.78rem}.algo-info-card,.risk-info-card{padding:1rem}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans KR,Outfit,sans-serif;background-color:#0b1120;color:#f8fafc}
