body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}html.home-page,html.home-page body{height:100%;overflow:hidden;background-color:#e4eaee}html.home-page #__next{height:100%}.app{position:relative;min-height:100vh;display:flex;flex-direction:column}.app--home{position:fixed;inset:0;z-index:0;width:100%;height:100%;min-height:0;background:#e6f0f8;overflow:hidden}.site-home-link{position:fixed;top:.75rem;left:1rem;z-index:50;display:inline-flex;align-items:center;margin:0;padding:.15rem 0;font-family:Sora,Noto Sans SC,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.04em;color:#1a2a33;text-decoration:none;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.site-home-link:hover{color:#2f6f78;border-bottom-color:#2f6f78}.home-hero{--home-ink:#1a2a38;--home-muted:#4a6275;--home-accent:#1f9ae5;position:relative;flex:1 1;width:100%;height:100%;min-height:0;display:flex;align-items:center;overflow:hidden;color:var(--home-ink);font-family:Noto Sans SC,Sora,sans-serif;margin-bottom:0}.home-hero__atmosphere{position:absolute;inset:0;bottom:-2px;height:calc(100% + 2px);pointer-events:none;overflow:hidden;background:radial-gradient(120% 80% at 12% 18%,rgba(196,224,236,.75),transparent 55%),radial-gradient(90% 70% at 88% 72%,rgba(176,198,218,.55),transparent 50%),linear-gradient(160deg,#eef5fb,#e4eaee 48%,#dce9f4)}.home-hero__mesh{position:absolute;inset:-20%;z-index:0;background:conic-gradient(from 210deg at 35% 40%,rgba(31,154,229,.1),transparent 35%,rgba(47,111,120,.06) 55%,transparent 75%);animation:home-mesh-drift 18s ease-in-out infinite alternate;filter:blur(48px)}.home-hero__orb{position:absolute;z-index:0;border-radius:50%;filter:blur(2px);opacity:.45}.home-hero__orb--a{width:min(48vw,420px);height:min(48vw,420px);right:-6%;top:12%;background:radial-gradient(circle at 35% 35%,rgba(158,196,200,.85),transparent 68%);animation:home-orb-float 12s ease-in-out infinite alternate}.home-hero__orb--b{width:min(36vw,300px);height:min(36vw,300px);left:-4%;bottom:8%;background:radial-gradient(circle at 60% 40%,rgba(138,160,180,.75),transparent 70%);animation:home-orb-float 15s ease-in-out infinite alternate-reverse}.home-hero__canvas{position:absolute;inset:0;bottom:-2px;height:calc(100% + 2px);z-index:1;display:block;width:100%;opacity:.88}.home-hero__grid{position:absolute;inset:0;z-index:2;background-image:linear-gradient(rgba(26,42,56,.035) 1px,transparent 0),linear-gradient(90deg,rgba(26,42,56,.035) 1px,transparent 0);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 40% 42%,#000 22%,transparent 88%);mask-image:radial-gradient(ellipse at 40% 42%,#000 22%,transparent 88%)}.home-hero__content{position:relative;z-index:1;width:min(920px,100% - 3rem);margin:0 auto;padding:2rem 0}.home-hero__brand{margin:0;font-family:Sora,Noto Sans SC,sans-serif;font-size:clamp(3.2rem,10vw,6.5rem);font-weight:700;line-height:.95;letter-spacing:-.03em;opacity:0;transform:translateY(18px);animation:home-rise .9s cubic-bezier(.22,1,.36,1) .08s forwards}.home-hero__title{margin:1.15rem 0 0;font-family:Sora,Noto Sans SC,sans-serif;font-size:clamp(1.15rem,2.6vw,1.55rem);font-weight:500;letter-spacing:.08em;animation:home-rise .85s cubic-bezier(.22,1,.36,1) .22s forwards}.home-hero__lede,.home-hero__title{color:var(--home-muted);opacity:0;transform:translateY(14px)}.home-hero__lede{margin:.85rem 0 0;max-width:28rem;font-size:1rem;line-height:1.65;animation:home-rise .85s cubic-bezier(.22,1,.36,1) .34s forwards}.home-hero__cta{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin-top:2.75rem;opacity:0;transform:translateY(14px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .48s forwards}.home-hero__link{display:inline-flex;flex-direction:column;gap:.2rem;min-width:6.5rem;text-decoration:none;color:inherit;padding-bottom:.35rem;border-bottom:1px solid rgba(20,32,41,.18);transition:color .25s ease,border-color .25s ease,transform .25s ease}.home-hero__link:focus-visible,.home-hero__link:hover{color:var(--home-accent);border-bottom-color:var(--home-accent);transform:translateY(-2px);outline:none}.home-hero__link-label{font-family:Sora,Noto Sans SC,sans-serif;font-size:1.05rem;font-weight:600;letter-spacing:.02em}.home-hero__link-hint{font-size:.8rem;color:var(--home-muted);transition:color .25s ease}.home-hero__link:focus-visible .home-hero__link-hint,.home-hero__link:hover .home-hero__link-hint{color:var(--home-accent)}@keyframes home-rise{to{opacity:1;transform:translateY(0)}}@keyframes home-mesh-drift{0%{transform:translateZ(0) rotate(0deg)}to{transform:translate3d(3%,-2%,0) rotate(8deg)}}@keyframes home-orb-float{0%{transform:translateZ(0)}to{transform:translate3d(-18px,22px,0)}}@media(max-width:640px){.home-hero__content{width:min(100%,100% - 2rem);padding:1.5rem 0}.home-hero__cta{flex-direction:column;gap:.85rem;margin-top:2rem}.home-hero__link{width:100%;flex-direction:row;align-items:baseline;justify-content:space-between;gap:1rem}}.header{background-color:#f8f9fa;color:#333;padding:2rem;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem}.header p{font-size:1.1rem;color:#666}.main{flex:1 1;padding:0;max-width:1280px;margin:0 auto;width:100%;box-sizing:border-box}@media(max-width:640px){.main{max-width:100%}}.main--home{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main--home,.main--interview{padding:0;max-width:none;margin:0}.app--interview{background:#e4eaee}.canvas-container{flex:1 1;width:100%;height:600px;overflow:hidden;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.project-card-link{text-decoration:none;color:inherit}.project-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.project-card .project-card-image{width:100%;height:200px;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.project-card .project-card-content{padding:1.5rem}.project-card .project-card-content h3{margin-bottom:.5rem;font-size:1.2rem}.project-card .project-card-content p{color:#666;margin-bottom:1rem}.about-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 8px rgba(0,0,0,.1)}.about-content h2{margin-bottom:1.5rem;color:#333}.about-content p{margin-bottom:1rem;line-height:1.6;color:#666}.footer{background-color:#282c34;color:#fff;padding:1.5rem;text-align:center;margin-top:auto}.footer p{font-size:.9rem;color:#ccc}.interview-page{--home-ink:#142029;--home-muted:#4a5b66;--home-accent:#2f6f78;position:relative;min-height:100vh;min-height:100dvh;margin:0;padding:1.25rem 0 3rem;color:var(--home-ink);font-family:Noto Sans SC,Sora,sans-serif;background:#e4eaee}.interview-page__atmosphere{position:absolute;inset:0 0 auto;height:min(560px,75vh);pointer-events:none;overflow:hidden;background:radial-gradient(110% 70% at 8% 0,rgba(180,210,214,.55),transparent 55%),radial-gradient(80% 60% at 100% 30%,rgba(156,176,196,.4),transparent 50%),linear-gradient(180deg,#e8eef2,#d7dee4 55%,transparent)}.interview-page__mesh{position:absolute;inset:-15%;background:conic-gradient(from 200deg at 30% 20%,rgba(47,111,120,.1),transparent 40%,rgba(20,32,41,.06) 60%,transparent 80%);filter:blur(36px);animation:home-mesh-drift 18s ease-in-out infinite alternate}.interview-page__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,32,41,.04) 1px,transparent 0),linear-gradient(90deg,rgba(20,32,41,.04) 1px,transparent 0);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0,#000 15%,transparent 70%)}.interview-page__inner{position:relative;z-index:1;width:min(820px,100% - 2.5rem);margin:0 auto;padding-top:0}.interview-page__header{margin-bottom:1.75rem;opacity:0;transform:translateY(14px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .06s forwards}.interview-page__home{display:inline-block;margin:0 0 1rem;font-family:Sora,Noto Sans SC,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.04em;color:var(--home-ink);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.interview-page__home:hover{color:var(--home-accent);border-bottom-color:var(--home-accent)}.interview-page__eyebrow{margin:0;font-family:Sora,Noto Sans SC,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--home-accent)}.interview-page__title{margin:.55rem 0 0;font-family:Sora,Noto Sans SC,sans-serif;font-size:clamp(2.1rem,5vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.interview-page__lede{margin:.75rem 0 0;max-width:26rem;font-size:.98rem;line-height:1.65;color:var(--home-muted)}.interview-tabs{display:flex;flex-wrap:nowrap;gap:.25rem 1.35rem;overflow-x:auto;margin-bottom:1.75rem;padding-bottom:.85rem;border-bottom:1px solid rgba(20,32,41,.12);scrollbar-width:none;opacity:0;transform:translateY(12px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .18s forwards}.interview-tabs::-webkit-scrollbar{display:none}.interview-tabs__btn{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:.35rem 0;font-family:Sora,Noto Sans SC,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.02em;color:var(--home-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .25s ease,border-color .25s ease}.interview-tabs__btn:focus-visible,.interview-tabs__btn:hover{color:var(--home-accent);outline:none}.interview-tabs__btn.is-active{color:var(--home-ink);border-bottom-color:var(--home-accent)}.interview-list{opacity:0;transform:translateY(12px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .3s forwards}.interview-list__meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.interview-list__meta h2{margin:0;font-family:Sora,Noto Sans SC,sans-serif;font-size:1.05rem;font-weight:600;letter-spacing:.02em}.interview-list__meta span{font-size:.85rem;color:var(--home-muted)}.interview-list__items{list-style:none;margin:0;padding:0}.interview-row{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem 0;text-decoration:none;color:inherit;border-bottom:1px solid rgba(20,32,41,.1);transition:color .25s ease,transform .25s ease,border-color .25s ease}.interview-row:focus-visible,.interview-row:hover{color:var(--home-accent);border-bottom-color:rgba(47,111,120,.35);transform:translateX(4px);outline:none}.interview-row__title{font-family:Sora,Noto Sans SC,sans-serif;font-size:1.05rem;font-weight:600;letter-spacing:.01em}.interview-row__excerpt{font-size:.9rem;line-height:1.6;color:var(--home-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.interview-row:focus-visible .interview-row__excerpt,.interview-row:hover .interview-row__excerpt{color:var(--home-accent)}.interview-list__empty{margin:2rem 0 0;color:var(--home-muted)}.interview-content{max-width:800px;margin:0 auto 40px;padding:20px;background-color:hsla(0,0%,100%,.55);border:1px solid rgba(20,32,41,.08)}.interview-content h1{color:var(--home-accent,#2f6f78);margin-bottom:30px;text-align:center}.interview-content h2{color:#142029;margin-top:40px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(47,111,120,.35)}.interview-content h3{color:#142029;margin-top:30px;margin-bottom:15px}.interview-content p{margin-bottom:15px;line-height:1.6;color:#4a5b66}.interview-content ul{margin-bottom:20px;padding-left:20px}.interview-content li{margin-bottom:8px;line-height:1.5;color:#4a5b66}.interview-content table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14px}.interview-content td,.interview-content th{border:1px solid #d5dde4;padding:10px;text-align:left}.interview-content th{background-color:rgba(47,111,120,.08);font-weight:700}.interview-content tr:nth-child(2n){background-color:rgba(20,32,41,.03)}.interview-detail-container{max-width:1000px;margin:0 auto;padding:20px}.back-button{position:-webkit-sticky;position:sticky;top:0;z-index:100;margin-bottom:20px;padding:10px 0}.back-link{display:inline-block;padding:10px 20px;background-color:#61dafb;color:#fff;text-decoration:none;border-radius:4px;transition:all .3s ease}.back-link:hover{background-color:#4dafd6;transform:translateY(-2px);box-shadow:0 2px 4px rgba(97,218,251,.3)}.detail-container{display:flex;gap:30px}@media(max-width:768px){.detail-container{flex-direction:column}}.detail-container .toc-container{flex:0 0 250px;position:-webkit-sticky;position:sticky;top:20px;align-self:flex-start;max-height:calc(100vh - 40px);background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}@media(max-width:768px){.detail-container .toc-container{display:none}}.detail-container .toc-container .toc-header{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #61dafb}.detail-container .toc-container .toc-header h3{margin:0;color:#61dafb;font-size:18px}.detail-container .toc-container .toc-header .toc-toggle{background:none;border:none;color:#61dafb;font-size:14px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.detail-container .toc-container .toc-header .toc-toggle:hover{transform:scale(1.1)}.detail-container .toc-container .toc-content{padding:20px;max-height:600px;overflow-y:auto}@media(max-width:768px){.detail-container .toc-container .toc-content{max-height:200px}}.detail-container .toc-container .toc-content ul{list-style:none;padding:0;margin:0}.detail-container .toc-container .toc-content li{margin-bottom:8px}.detail-container .toc-container .toc-content li.toc-level-1{margin-bottom:12px}.detail-container .toc-container .toc-content li.toc-level-2{margin-left:15px}.detail-container .toc-container .toc-content li.toc-level-3{margin-left:30px;font-size:14px}.detail-container .toc-container .toc-content li a{color:#333;text-decoration:none;display:block;padding:5px 0;transition:all .3s ease;border-radius:4px}.detail-container .toc-container .toc-content li a:hover{color:#61dafb;padding-left:8px;background-color:rgba(97,218,251,.1)}.detail-container .detail-content{flex:1 1;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:30px;overflow-x:auto}.detail-content h1{color:#61dafb;margin-bottom:30px;text-align:center}.detail-content h2{color:#282c34;margin-top:40px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #61dafb}.detail-content h3{color:#333;margin-top:30px;margin-bottom:15px}.detail-content p{margin-bottom:15px;line-height:1.6;color:#555}.detail-content ul{margin-bottom:20px;padding-left:20px}.detail-content li{margin-bottom:8px;line-height:1.5;color:#555}.detail-content table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14px}.detail-content td,.detail-content th{border:1px solid #ddd;padding:8px;text-align:left;vertical-align:top}.detail-content th{background-color:#f2f2f2;font-weight:700}.detail-content tr:nth-child(2n){background-color:#f9f9f9}.interview-main{display:flex;gap:30px;max-width:1200px;margin:0 auto;padding:0 20px}.interview-toc{flex:0 0 250px;background-color:#f8f9fa;padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);position:-webkit-sticky;position:sticky;top:20px;max-height:calc(100vh - 100px);overflow-y:auto}.interview-toc h3{margin-top:0;margin-bottom:15px;color:#61dafb;font-size:18px;border-bottom:2px solid #61dafb;padding-bottom:10px}.toc-list{list-style:none;padding:0;margin:0}.toc-item{margin-bottom:8px}.toc-item.level-1{margin-bottom:12px}.toc-item.level-2{margin-left:15px}.toc-item.level-3{margin-left:30px;font-size:14px}.toc-link{color:#333;text-decoration:none;display:block;padding:5px 0;transition:all .3s ease;border-radius:4px}.toc-link:hover{color:#61dafb;padding-left:8px;background-color:rgba(97,218,251,.1)}.interview-content{flex:1 1;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:30px}@media(max-width:768px){.interview-page{margin:0;padding:1rem 0 2.5rem}.interview-page__inner{width:min(100%,100% - 1.5rem)}.interview-detail-container{padding:10px}.detail-content{padding:20px}.interview-main{flex-direction:column}.interview-toc{flex:none;position:static;margin-bottom:20px;max-height:200px;overflow-y:auto}.interview-content{padding:20px}.toc-item.level-2{margin-left:10px}.toc-item.level-3{margin-left:20px;font-size:13px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background-color:#fafafa}.resume-container{max-width:1000px;margin:0 auto;padding:1.5rem 1.4rem 1.75rem;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.05);border-radius:12px}@media(max-width:768px){.resume-container{padding:1.25rem 1rem 1.5rem;border-radius:0}}.resume-container section{margin-bottom:1.55rem}.resume-container section h2{font-size:1.25rem;font-weight:600;color:#1a2b3c;margin-bottom:.7rem;padding-bottom:.35rem;border-bottom:2px solid #eaeef2}.resume-container section:last-child{margin-bottom:0}.resume-page{position:relative;max-width:1000px;margin:0 auto}.resume-page .resume-container{max-width:none;margin:0}.resume-header{border-bottom:2px solid #eaeef2;padding-bottom:1rem;margin-bottom:1.35rem;padding-right:7rem}@media(max-width:480px){.resume-header{padding-right:0;padding-top:2.75rem}}.resume-header h1{font-size:2.4rem;font-weight:700;color:#1a2b3c;margin-bottom:.35rem}@media(max-width:480px){.resume-header h1{font-size:2rem}}.resume-header .subtitle{font-size:1.05rem;color:#1f9ae5;font-weight:600;margin-bottom:.55rem}.resume-header .position-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0}.resume-header .position-tags span{display:inline-block;padding:.18rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500;color:#1a5f8a;background:linear-gradient(135deg,#e8f5fc,#f0f4f8);border:1px solid #cfe6f5}.resume-header .contact-line{margin-top:.7rem;font-size:.9rem;color:#6b7b8c}.resume-header .contact-line a{color:#1f9ae5;text-decoration:none}.resume-header .contact-line a:hover{color:#47abe8}.resume-export-btn{position:absolute;top:1.85rem;right:1.4rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:6.5rem;padding:.45rem 1rem;border:1px solid #1f9ae5;border-radius:8px;background:#fff;color:#1f9ae5;font-size:.9rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s,border-color .2s,opacity .2s}@media(max-width:768px){.resume-export-btn{top:1.5rem;right:1rem}}.resume-export-btn:hover:not(:disabled){color:#fff;background:#1f9ae5;border-color:#1f9ae5}.resume-export-btn.is-loading,.resume-export-btn:disabled{opacity:.85;cursor:wait;color:#1f9ae5;background:#eaf6fd;border-color:#1f9ae5}.resume-export-btn__spinner{width:14px;height:14px;border:2px solid rgba(31,154,229,.25);border-top-color:#1f9ae5;border-radius:50%;animation:resume-export-spin .7s linear infinite}@keyframes resume-export-spin{to{transform:rotate(1turn)}}.position-desc,.summary-body{font-size:1.02rem;line-height:1.7;color:#1f2d3a}.summary-body p{margin:0 0 .5rem}.summary-body p:last-child{margin-bottom:0}.resume-container .skills-block{margin-bottom:.7rem}.resume-container .skills-block:last-child{margin-bottom:0}.resume-container .skills-label{font-size:.78rem;font-weight:600;color:#6b7b8c;margin:0 0 .35rem;letter-spacing:.02em}.resume-container .skills-grid{display:flex;flex-wrap:wrap;gap:.45rem}.resume-container .skill-tag{background:#e9f0f9;color:#1e3a5f;padding:.28rem .75rem;border-radius:30px;font-size:.82rem;font-weight:500;transition:background .2s,transform .2s}.resume-container .skill-tag:hover{background:#d0e0f0;transform:translateY(-1px)}.resume-container .skill-tag--primary{background:#e3f3fc;color:#0d5f8c;border:1px solid #b7dff5;font-weight:600}.resume-container .skill-tag--muted{background:#f3f5f8;color:#5a6b7a}.resume-container .projects-list{display:flex;flex-direction:column;gap:.95rem}.resume-container .project-card{background:#fff;border:1px solid #e0e7ed;border-radius:10px;padding:1rem 1.15rem;box-shadow:0 2px 8px rgba(0,0,0,.02);overflow:visible;transition:box-shadow .2s}.resume-container .project-card:hover{transform:none;box-shadow:0 6px 16px rgba(0,20,40,.06)}.resume-container .project-card h3{font-size:1.1rem;font-weight:600;color:#0b2a41;margin-bottom:.25rem}.resume-container .project-card .project-meta{font-size:.8rem;color:#1a5f8a;margin-bottom:.55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#eef6fb;padding:.15rem .65rem;display:inline-block;border-radius:20px}.resume-container .project-card .project-intro{font-size:.9rem;line-height:1.55;color:#4a5b6c;margin:0 0 .5rem}.resume-container .project-card ul{list-style:disc;padding-left:1.2rem;color:#2d3e50;margin:0}.resume-container .project-card ul li{margin-bottom:.28rem;font-size:.9rem;line-height:1.5}.resume-container .experience-list{display:flex;flex-direction:column;gap:1rem}.resume-container .experience-item{border-left:3px solid #1f9ae5;padding-left:1rem}.resume-container .experience-item h3{font-size:1.05rem;font-weight:600;color:#0b2a41}.resume-container .experience-item .date{font-size:.82rem;color:#6b7b8c;margin:.15rem 0 .35rem}.resume-container .experience-item .role-summary{font-size:.9rem;color:#3a4b5e;margin:0 0 .35rem;line-height:1.5}.resume-container .experience-item p{color:#3a4b5e}.resume-container .experience-item ul{list-style:disc;padding-left:1.2rem;color:#2d3e50;margin:0}.resume-container .experience-item ul li{margin-bottom:.28rem;font-size:.9rem;line-height:1.5}.resume-container .education-section .experience-item{border-left-color:#94a8b8}.stock-page{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:1280px;margin:0 auto;padding:.75rem .85rem 1.5rem;box-sizing:border-box}.stock-hero{background:#fff;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.08);overflow:hidden;margin-bottom:12px}.stock-hero__top{display:flex;justify-content:flex-end;padding:.75rem 1.25rem 0}.stock-auth-bar{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#888}.stock-auth-bar__user{color:#1f9ae5}.stock-auth-bar__guest{color:#999}.stock-login-mask{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);padding:1rem}.stock-login-modal{width:min(380px,100%);background:#fff;border-radius:10px;padding:1.25rem 1.35rem;box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:.75rem}.stock-login-modal h3{margin:0;font-size:1.1rem}.stock-login-modal label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#555}.stock-login-modal input{border:1px solid #ddd;border-radius:6px;padding:.55rem .7rem;font-size:.95rem}.stock-login-modal__hint{margin:0;color:#888;font-size:.85rem;line-height:1.45}.stock-hero__loading{margin:0;padding:1.25rem;color:#888;text-align:center}.stock-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:#fff;border-radius:8px;padding:1rem 1.25rem;box-shadow:0 4px 8px rgba(0,0,0,.08)}.stock-page__header h1{margin-bottom:.35rem;font-size:1.5rem}.stock-page__header p{color:#666;font-size:.92rem}.stock-page__header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.stock-status{font-size:.9rem;padding:.35rem .75rem;border-radius:999px}.stock-status.is-online{background:#e8f7ef;color:#1f8b4c}.stock-status.is-offline{background:#fdeeee;color:#d93025}.stock-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.stock-overview--merged{display:flex;align-items:stretch;gap:0}.stock-overview--merged .stock-overview__stats{flex:1 1;display:flex;flex-wrap:wrap;align-items:center;gap:0;min-width:0}.stock-overview--merged .stock-overview__actions{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;flex-shrink:0}.stock-overview--merged .stock-overview__card{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:.35rem .5rem;width:auto;flex:0 0 auto;white-space:nowrap;background:transparent;box-shadow:none;border-radius:0;padding:.75rem 1.25rem;border:none}.stock-overview--merged .stock-overview__card span{display:inline;font-size:.82rem;color:#888;margin-bottom:0;flex-shrink:0}.stock-overview--merged .stock-overview__card strong{font-size:1.1rem}.stock-overview__card{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 4px 8px rgba(0,0,0,.08)}.stock-overview__card span{display:block;color:#666;margin-bottom:.5rem}.stock-overview__card strong{font-size:1.4rem}.stock-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 4px 8px rgba(0,0,0,.08)}.stock-section__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.stock-section__header h2{font-size:1.3rem;margin:0}.stock-section__title{display:flex;align-items:baseline;gap:.75rem}.stock-list{display:grid;grid-gap:1.25rem;gap:1.25rem;padding:1rem;background:#f5f7fa;border-radius:10px}.stock-card{background:#fff;border:1px solid #e4e8ee;border-radius:10px;padding:1rem 1.1rem;box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.06);min-width:0;overflow:hidden;box-sizing:border-box}.stock-card.has-signal--sell{border-color:#ffc9c9;box-shadow:0 1px 2px rgba(207,45,45,.06),0 4px 12px rgba(207,45,45,.1)}.stock-card.has-signal--buy{border-color:#b7eb8f;box-shadow:0 1px 2px rgba(31,139,76,.06),0 4px 12px rgba(31,139,76,.1)}.stock-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:0}.stock-card__header-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;flex-shrink:0;align-self:stretch}.stock-card__header-actions .stock-card__actions{justify-content:flex-end}.stock-card__header-actions .stock-card__actions .stock-btn{padding:.4rem .75rem;font-size:.85rem;min-width:3.5rem}.stock-card__top{display:flex;justify-content:space-between;align-items:stretch;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0;min-width:0}.stock-card__top h3{font-size:1.1rem;margin-bottom:.25rem}.stock-card__intro{flex:1 1;min-width:0}.stock-signal{margin-bottom:.75rem;padding:.5rem .75rem;border-radius:6px;font-size:.9rem;font-weight:600}.stock-signal--sell{background:#fff1f0;color:#cf2d2d;border:1px solid #ffccc7}.stock-signal--buy{background:#e8f7ef;color:#1f8b4c;border:1px solid #b7eb8f}.stock-trade-form{margin-top:1rem;padding-top:1rem;border-top:1px dashed #ececec}.stock-trade-form__title{font-weight:600;margin-bottom:.75rem;color:#333}.stock-trades{margin-top:1rem;padding-top:.75rem;border-top:1px solid #f5f5f5}.stock-trades__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.stock-trades__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.stock-trades__chart-toggle,.stock-trades__compare,.stock-trades__toggle{font-size:.85rem;flex-shrink:0;text-decoration:none}.stock-trades h4{font-size:.9rem;color:#666;margin:0}.stock-trades ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}.stock-trades li{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;font-size:.9rem;color:#555;border-radius:6px;padding:.35rem .5rem;margin:0 -.5rem;transition:background-color .15s ease}.stock-trades li.is-deleting,.stock-trades li:hover{background-color:#fff5f5}.stock-trades__qty{min-width:7.5rem}.stock-trades__time{color:#999}.stock-trades__chart{position:relative;width:100%;margin-top:.25rem}.stock-trades__chart canvas{display:block;width:100%;cursor:crosshair}.stock-trades__chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.35rem;font-size:.8rem;align-items:center}.stock-trades__chart-ref{color:#fa8c16;letter-spacing:.02em}.stock-trades__compare-calc{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;color:#666}.stock-trades__compare-calc input{width:5.5rem;border:1px solid #ddd;border-radius:4px;padding:.15rem .4rem;font-size:.8rem;color:#333;background:#fff}.stock-trades__compare-calc input:focus{outline:none;border-color:#1f9ae5}.stock-trades__compare-calc .is-down,.stock-trades__compare-calc .is-flat,.stock-trades__compare-calc .is-up{min-width:3.5rem;font-weight:600}.stock-trades__compare-calc-hint{min-width:3.5rem;color:#bbb}.stock-trades__chart-filter{display:inline-flex;align-items:center;gap:.35rem;color:#666;cursor:default}.stock-trades__chart-filter select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;border:1px solid #ddd;border-radius:4px;padding:.1rem .25rem;font-size:.8rem;color:#333;background:#fff;cursor:pointer}.stock-trades__chart-shown{color:#999}.stock-trades__chart-count{position:relative;color:#999;cursor:default}.stock-trades__chart-count:hover:after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 6px);white-space:nowrap;padding:.3rem .5rem;border-radius:4px;background:rgba(50,50,50,.9);color:#fff;font-size:.75rem;z-index:3;pointer-events:none}.stock-trades__chart-tip{position:absolute;z-index:2;min-width:110px;padding:.4rem .55rem;border-radius:6px;background:hsla(0,0%,100%,.96);border:1px solid #e8e8e8;box-shadow:0 4px 12px rgba(0,0,0,.08);font-size:.8rem;color:#555;pointer-events:none;line-height:1.45}.stock-trades__delete{margin-left:auto;font-size:.85rem}.stock-card__quote{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.75rem,1fr));grid-gap:.7rem .85rem;gap:.7rem .85rem;margin-top:.75rem;margin-bottom:0;padding-bottom:0;border-bottom:none;width:100%;min-width:0}.stock-card__quote>div{min-width:0}.stock-card__quote>div>span{display:block;color:#888;font-size:.82rem;margin-bottom:.25rem;line-height:1.35}.stock-card__quote>div strong{display:block;font-size:.98rem;word-break:break-word;line-height:1.35}.stock-card__next-nodes{min-width:0;grid-column:span 2}.stock-card__next-nodes .stock-card__next-nodes-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem .85rem;font-size:.98rem;font-weight:600}.stock-panel{margin-top:.75rem;padding:.9rem;border-radius:8px}.stock-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.stock-panel__toggle{font-size:.85rem;flex-shrink:0}.stock-panel h4{font-size:.95rem;margin:0;color:#444}.stock-panel--position{background:#fafafa;border:1px solid #f0f0f0}.stock-panel--t{background:#f3faff;border:1px solid #d6effc}.stock-overview__card--t{border:1px solid #d6effc;background:#f8fcff}.stock-overview--merged .stock-overview__card--t{border:none;background:transparent}.stock-card__code{color:#888;font-size:.9rem}.stock-card__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.stock-card__metrics span{display:block;color:#888;font-size:.85rem;margin-bottom:.25rem}.stock-form,.stock-form__grid,.stock-inline-form{margin-bottom:1rem}.stock-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem}.stock-form__grid label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:#555}.stock-form__grid input{border:1px solid #d9d9d9;border-radius:6px;padding:.6rem .75rem;font-size:1rem}.stock-inline-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.stock-inline-form input{min-width:220px;border:1px solid #d9d9d9;border-radius:6px;padding:.6rem .75rem;font-size:1rem}.stock-form__actions{display:flex;gap:.75rem;flex-wrap:wrap}.stock-form__hint{margin:0 0 .75rem;color:#888;font-size:.85rem}.stock-alert,.stock-empty,.stock-form__error{margin:.75rem 0}.stock-alert,.stock-form__error{color:#d93025;background:#fff1f0;border:1px solid #ffccc7;border-radius:6px;padding:.75rem 1rem}.stock-empty{color:#888}.stock-btn{border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:6px;padding:.55rem 1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}.stock-btn:hover{border-color:#1f9ae5;color:#1f9ae5}.stock-btn--primary{background:#1f9ae5;border-color:#1f9ae5;color:#fff}.stock-btn--primary:hover{background:#47abe8;border-color:#47abe8;color:#fff}.stock-btn--ghost{background:#fafafa;border-color:#e8e8e8;color:#555;font-size:.9rem;padding:.45rem .85rem}.stock-btn--ghost:hover{background:#f0f8fd;border-color:#1f9ae5;color:#1f9ae5;z-index:1;position:relative}.stock-btn--danger{border-color:#f5b5b0;color:#d93025}.stock-btn--danger:hover{background:#fff1f0;border-color:#d93025;color:#d93025}.stock-link-btn{border:none;background:transparent;color:#1f9ae5;cursor:pointer;padding:0}.stock-link-btn:hover{color:#47abe8}.stock-link-btn--danger{color:#d93025}.stock-link-btn--danger:hover{color:#ff7875}.stock-table-wrap{overflow-x:auto}.stock-table{width:100%;border-collapse:collapse}.stock-table td,.stock-table th{padding:.75rem;border-bottom:1px solid #f0f0f0;text-align:left;white-space:nowrap}.stock-table th{color:#666;font-weight:600;background:#fafafa}.is-up{color:#cf2d2d}.is-down{color:#1f8b4c}.is-flat{color:#666}.stock-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.stock-tab{border:1px solid #d9d9d9;background:#fff;border-radius:999px;padding:.45rem .9rem;cursor:pointer}.stock-tab.is-active{color:#1f9ae5;border-color:#1f9ae5;box-shadow:inset 0 -2px 0 #1f9ae5}.stock-chart-wrap{position:relative;width:100%;margin:.5rem 0 1rem;border:1px solid #e8edf3;border-radius:10px;overflow:hidden;background:#fff}.stock-chart{display:block;width:100%;height:420px;background:#fff}.stock-chart-tooltip{position:absolute;display:flex;gap:.65rem;align-items:center;padding:.35rem .65rem;border-radius:6px;background:hsla(0,0%,100%,.96);border:1px solid #e8edf3;box-shadow:0 4px 12px rgba(15,23,42,.08);font-size:.82rem;color:#555;pointer-events:none;white-space:nowrap;transform:translateX(-50%);z-index:2}.kline-page .kline-panel{padding:1.25rem}.kline-page .kline-toolbar,.kline-stats{margin-bottom:.75rem}.kline-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.65rem 1rem;gap:.65rem 1rem;padding:.85rem 1rem;background:#fafbfc;border:1px solid #eef2f6;border-radius:8px}.kline-stats__item{min-width:0}.kline-stats__item span{display:block;color:#888;font-size:.78rem;margin-bottom:.2rem}.kline-stats__item strong{font-size:.92rem;font-weight:600;word-break:break-all}.kline-table-fold{margin-top:.5rem}.kline-table-fold summary{cursor:pointer;color:#1f9ae5;font-size:.9rem;margin-bottom:.75rem;list-style:none}.kline-table-fold summary::-webkit-details-marker{display:none}.kline-table-fold summary:hover{color:#47abe8}.stock-kline-summary{display:flex;gap:1.5rem;flex-wrap:wrap;color:#555;margin-bottom:1rem}.compare-page .compare-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem}.compare-page .compare-summary em{font-style:normal;font-size:.95rem;margin-left:.35rem}.compare-page .compare-section__desc{color:#666;font-size:.9rem;margin:-.5rem 0 1rem}.compare-page h2{font-size:1.15rem;margin-bottom:.75rem}.compare-predict__card{display:grid;grid-template-columns:auto 1fr;grid-gap:1rem 1.25rem;gap:1rem 1.25rem;padding:1rem 1.25rem;border-radius:10px;border:1px solid #d6effc;background:#f8fcff}.compare-predict__card--sell{border-color:#ffd6d6;background:snow}.compare-predict__card--buy{border-color:#b7eb8f;background:#f6ffed}.compare-predict__card.is-triggered{box-shadow:0 0 0 2px rgba(31,154,229,.12)}.compare-predict__badge{grid-row:span 2;align-self:start;font-size:.8rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:#e6f4fc;color:#1f9ae5;white-space:nowrap}.is-triggered .compare-predict__badge{background:#1f9ae5;color:#fff}.compare-predict__main strong{display:block;font-size:1.05rem;margin-bottom:.35rem}.compare-predict__main p{color:#666;font-size:.9rem;margin:0}.compare-predict__metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.75rem;gap:.75rem;padding-top:.75rem;border-top:1px dashed #e8e8e8}.compare-predict__metrics span{display:block;color:#888;font-size:.82rem;margin-bottom:.2rem}.compare-section__desc{color:#888;font-size:.88rem;margin:.35rem 0 0}.compare-section__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.compare-section__head h2{margin:0}.compare-filters{display:flex;gap:.35rem;flex-wrap:wrap}.compare-filter{border:1px solid #e8e8e8;background:#fafafa;color:#666;border-radius:999px;padding:.3rem .75rem;font-size:.85rem;cursor:pointer}.compare-filter.is-active{background:#e6f4fc}.compare-filter.is-active,.compare-filter:hover{border-color:#1f9ae5;color:#1f9ae5}.compare-table-wrap{overflow-x:auto}.compare-table{width:100%;border-collapse:collapse;font-size:.92rem}.compare-table td,.compare-table th{padding:.7rem .65rem;border-bottom:1px solid #f0f0f0;text-align:left;white-space:nowrap}.compare-table th{color:#888;font-weight:500;font-size:.82rem;background:#fafafa}.compare-table__group td{background:#f5f7fa;color:#666;font-weight:600;font-size:.85rem}.compare-table__row{cursor:pointer;transition:background-color .15s ease}.compare-table__row.is-expanded,.compare-table__row:hover{background:#f8fcff}.compare-table__toggle{color:#1f9ae5;font-size:.85rem}.compare-table__status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8rem}.compare-table__status--complete{background:#e8f7ef;color:#1f8b4c}.compare-table__status--open{background:#e6f4fc;color:#1f9ae5}.compare-table__status--sell_only{background:#fff7e6;color:#d48806}.compare-table__detail-row td{padding:.75rem .65rem 1rem;background:#fafbfc}.compare-cycle-detail{display:flex;flex-direction:column;gap:.75rem}.compare-cycle-detail__sells{display:flex;flex-direction:column;gap:.5rem;flex:1 1}.compare-cycle-detail__empty{color:#888;font-size:.88rem}.compare-cycle-detail__fold{border:1px dashed #f5b5b0;background:#fff;color:#cf2d2d;border-radius:6px;padding:.45rem .75rem;cursor:pointer;font-size:.85rem;align-self:flex-start}.compare-cycle-detail__fold:hover{border-color:#cf2d2d;background:#fff1f0}.compare-node--benchmark{border-color:#ffccc7;box-shadow:0 0 0 1px rgba(207,45,45,.12)}.compare-node--addon{opacity:.92}.compare-node--continuation{border-style:dashed}.compare-node__badge{font-size:.72rem;font-weight:600;margin-bottom:.15rem}.compare-node--buy .compare-node__badge{color:#cf2d2d}.compare-node--continuation .compare-node__badge{color:#888}.compare-node__ref{font-size:.8rem;color:#888;margin-top:.2rem}.compare-timeline-toggle{border:none;background:transparent;color:#1f9ae5;cursor:pointer;padding:0;font-size:.95rem}.compare-timeline-toggle:hover{color:#47abe8}.compare-rounds{display:flex;flex-direction:column;gap:1rem}.compare-rounds__group{background:#f5f7fa;color:#666;font-weight:600;font-size:.85rem;padding:.55rem .75rem;border-radius:6px}.compare-round{border:1px solid #e8edf3;border-radius:10px;padding:1rem;background:#fafbfc}.compare-round--open{border-color:#91d5ff;background:#f8fcff}.compare-round__head{justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.compare-round__head,.compare-round__title{display:flex;align-items:center;flex-wrap:wrap}.compare-round__title{gap:.45rem}.compare-round__tag{font-size:.82rem;font-weight:600;color:#1f9ae5;background:#e6f4fc;padding:.2rem .55rem;border-radius:4px}.compare-round__meta{font-size:.82rem;color:#888}.compare-round__profit{font-weight:600;font-size:.95rem}.compare-round__flow{display:flex;flex-direction:column;gap:.65rem}.compare-round__flow--columns{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:.75rem .5rem;gap:.75rem .5rem;align-items:stretch}.compare-round__col{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.65rem;border-radius:8px;background:#fff;border:1px solid #eef2f6}.compare-round__col--buy{border-color:#ffe2e0;background:snow}.compare-round__col--sell{border-color:#d9f0e3;background:#f7fcf9}.compare-round__col-label{font-size:.82rem;font-weight:600}.compare-round__col--buy .compare-round__col-label{color:#cf2d2d}.compare-round__col--sell .compare-round__col-label{color:#1f8b4c}.compare-round__bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-width:4.5rem;padding:.25rem .15rem;color:#888;font-size:.78rem;align-self:center}.compare-round__bridge--muted,.compare-round__bridge--pending{color:#999}.compare-round__bridge-arrow{width:100%;max-width:3.5rem;height:2px;background:linear-gradient(90deg,#ffccc7,#1f9ae5,#b7eb8f);position:relative;border-radius:1px}.compare-round__bridge-arrow:after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);border:4px solid transparent;border-left-color:#1f8b4c}.compare-round__bridge-metrics{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center}.compare-round__bridge-metrics strong{font-size:.9rem;font-weight:700}.compare-round__bridge-metrics span{font-size:.78rem;font-weight:600}.compare-round__lane{display:flex;gap:.75rem;align-items:flex-start}.compare-round__lane-label{flex-shrink:0;width:2.5rem;font-size:.82rem;font-weight:600;padding-top:.45rem}.compare-round__lane--buy .compare-round__lane-label{color:#cf2d2d}.compare-round__lane--sell .compare-round__lane-label{color:#1f8b4c}.compare-round__nodes{display:flex;flex-direction:column;gap:.5rem;flex:1 1}.compare-round__nodes--sell .compare-node--continuation{margin-left:.75rem}.compare-node{border-radius:8px;padding:.55rem .75rem;min-width:0}.compare-node--buy{background:#fff1f0;border:1px solid #ffccc7}.compare-node--sell{background:#e8f7ef;border:1px solid #b7eb8f}.compare-node__price{font-weight:700;font-size:1rem}.compare-node__meta{font-size:.82rem;color:#666;margin-top:.15rem}.compare-node__profit{font-size:.85rem;font-weight:600;margin-top:.25rem}.compare-round__pending{padding:.55rem .65rem;color:#888;font-size:.85rem;font-style:italic;border:1px dashed #d9d9d9;border-radius:8px;background:#fff}@media(max-width:720px){.compare-round__flow--columns{grid-template-columns:1fr}.compare-round__bridge{flex-direction:row;min-width:0;padding:.15rem 0;gap:.5rem}.compare-round__bridge-arrow{width:2px;height:1.75rem;max-width:none;background:linear-gradient(180deg,#ffccc7,#1f9ae5,#b7eb8f)}.compare-round__bridge-arrow:after{right:auto;left:50%;top:auto;bottom:-2px;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f8b4c}.compare-round__bridge-metrics{flex-direction:row;gap:.45rem}}.compare-open-hint{margin:0 0 .75rem;padding:.45rem .75rem;font-size:.88rem;color:#1f9ae5;background:#f0f8fd;border-radius:6px;border:1px solid #d6effc}.compare-timeline{position:relative}.compare-timeline--fifo{border:1px solid #eef2f6;border-radius:8px;background:#fafbfc;padding:.65rem .75rem}.compare-timeline__columns-head{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid #eef2f6;font-size:.82rem;font-weight:600}.compare-timeline__columns-head span:first-child{color:#cf2d2d}.compare-timeline__columns-head span:last-child{color:#1f8b4c}.compare-timeline__lane-rows{display:flex;flex-direction:column;gap:.35rem}.compare-timeline__lane-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;align-items:start}.compare-timeline__lane{min-width:0;position:relative;padding-left:.95rem}.compare-timeline__lane:before{content:"";position:absolute;left:.18rem;top:.3rem;bottom:.3rem;width:2px;background:#e8e8e8}.compare-timeline__lane--buy:empty,.compare-timeline__lane--sell:empty{padding-left:0}.compare-timeline__lane--buy:empty:before,.compare-timeline__lane--sell:empty:before{display:none}.compare-timeline__entry{display:flex;gap:.5rem;align-items:flex-start;position:relative}.compare-timeline__entry.is-continuation{margin-left:.35rem}.compare-timeline__entry-body{display:flex;flex-direction:column;gap:.2rem;flex:1 1;min-width:0}.compare-timeline__pending{margin-top:.15rem;padding:.35rem .55rem;color:#888;font-size:.82rem;font-style:italic}.compare-timeline__empty{margin:0;color:#999;font-size:.88rem}.compare-timeline__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:.7rem;margin-left:-.95rem;position:relative;z-index:1}.compare-timeline__dot.is-buy{background:#cf2d2d;box-shadow:0 0 0 2px #fff1f0}.compare-timeline__dot.is-sell{background:#1f8b4c;box-shadow:0 0 0 2px #e8f7ef}.compare-timeline__card{display:flex;flex-wrap:wrap;gap:.3rem .55rem;align-items:center;padding:.4rem .6rem;border-radius:6px;font-size:.88rem;width:100%}.compare-timeline__card.is-buy{background:#fff1f0;border:1px solid #ffccc7}.compare-timeline__card.is-sell{background:#e8f7ef;border:1px solid #b7eb8f}.compare-timeline__card strong{font-size:.9rem}.compare-timeline__ref-bar{display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:center;font-size:.78rem;color:#888}.compare-timeline__item{margin-bottom:.75rem}.compare-timeline__link{display:flex;gap:.75rem;align-items:center;margin:0 0 .35rem 1.5rem;font-size:.82rem;color:#888}.compare-timeline__delta{color:#1f9ae5;font-weight:600}.compare-timeline__time{color:#888;font-size:.82rem}@media(max-width:640px){.compare-timeline__columns-head,.compare-timeline__lane-row{grid-template-columns:1fr;gap:.35rem}.compare-timeline__columns-head span:last-child{display:none}}@media(max-width:768px){.stock-page{padding:.55rem .6rem 1.25rem}.stock-page__header,.stock-section__header{flex-direction:column;align-items:flex-start}.stock-page__header-actions{width:100%;flex-wrap:wrap}.stock-section{padding:1rem .85rem}.stock-hero{border-radius:10px}.stock-overview--merged{flex-direction:column}.stock-overview--merged .stock-overview__stats{flex-wrap:wrap}.stock-overview--merged .stock-overview__card{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - .5rem);min-width:0;white-space:normal;flex-wrap:wrap;padding:.65rem .85rem}.stock-overview--merged .stock-overview__actions{justify-content:stretch;padding:.65rem .85rem .85rem;gap:.5rem}.stock-overview--merged .stock-overview__actions .stock-btn{flex:1 1}.stock-card{padding:.85rem .8rem}.stock-card__top{flex-direction:column;align-items:stretch;gap:.75rem}.stock-card__header-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.stock-card__header-actions .stock-card__actions{justify-content:flex-end}.stock-card__quote{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .6rem}.stock-card__next-nodes{grid-column:1/-1}.stock-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-form__grid{grid-template-columns:1fr}.stock-trades li{gap:.55rem .85rem}.stock-trades__qty{min-width:0}.stock-trades__header{flex-wrap:wrap;gap:.45rem}.stock-trades__compare-calc{margin-left:0;width:100%;flex-wrap:wrap}.stock-list{padding:.75rem}}@media(max-width:480px){.stock-overview--merged .stock-overview__card{flex:1 1 100%;padding:.55rem .75rem}.stock-overview--merged .stock-overview__card strong{font-size:1rem}.stock-card__quote{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-card__quote>div>span{font-size:.75rem}.stock-card__quote>div strong{font-size:.9rem}.stock-section__header .stock-btn{width:100%}}@media(min-width:1024px){.stock-page{padding:1rem 1.25rem 1.75rem}.stock-card__quote{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}}.ledger-section .compare-section__desc{margin-top:.25rem}.ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:.15rem 0 .35rem;background:linear-gradient(#fff 70%,hsla(0,0%,100%,.92))}.ledger-summary__card{border:1px solid #eef2f6;border-radius:8px;background:#fafbfc;padding:.75rem .9rem}.ledger-summary__card span{display:block;color:#888;font-size:.82rem;margin-bottom:.35rem}.ledger-summary__card strong{font-size:1.15rem;font-weight:700;color:#222}.ledger-summary__card--avg{border-color:#91d5ff;background:#f0f8fd}.ledger-summary__card--avg strong{font-size:1.55rem;color:#1f9ae5}.ledger-summary__card--cut strong.is-ledger-good{color:#1f8b4c}.ledger-summary__card--cut strong.is-ledger-bad{color:#cf2d2d}.ledger-form{margin-bottom:1rem;padding:.85rem;border:1px solid #eef2f6;border-radius:8px;background:#fff}.ledger-form__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;align-items:end}.ledger-form__grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:#666}.ledger-form__grid input,.ledger-form__grid select{border:1px solid #d9d9d9;border-radius:6px;padding:.45rem .55rem;font-size:.92rem;color:#222;background:#fff}.ledger-form__submit{display:flex;align-items:flex-end}.ledger-table-wrap{overflow-x:auto;border:1px solid #eef2f6;border-radius:8px}.ledger-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}.ledger-table td,.ledger-table th{padding:.65rem .7rem;text-align:left;white-space:nowrap;border-bottom:1px solid #f0f0f0}.ledger-table th{color:#666;font-weight:600;font-size:.82rem;background:#fafafa}.ledger-table tbody tr:last-child td{border-bottom:none}.ledger-row{transition:background-color .15s ease}.ledger-row:hover td{background:#f5f9fc}.ledger-row td:first-child{border-left:3px solid transparent}.ledger-row--buy td:first-child{border-left-color:#1f9ae5}.ledger-row--sell td:first-child{border-left-color:#fa8c16}.ledger-row.is-latest .ledger-avg--down,.ledger-row.is-latest .ledger-avg--up,.ledger-row.is-latest td:nth-child(8){font-weight:700}.ledger-avg--down{color:#cf2d2d}.is-ledger-good,.ledger-avg--up{color:#1f8b4c}.is-ledger-bad{color:#cf2d2d}.ledger-footnote{margin:.75rem 0 0;color:#999;font-size:.82rem;line-height:1.5}@media(max-width:960px){.ledger-form__grid,.ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ledger-form__grid,.ledger-summary{grid-template-columns:1fr}}.company-ai{margin:.75rem 0 1rem}.company-ai--compact{margin-top:0;margin-bottom:.85rem}.company-ai__toolbar{display:flex;align-items:center;gap:.75rem}.company-ai__trigger{color:#1f9ae5}.company-ai__trigger:hover{color:#47abe8}.company-ai__refresh{color:#888;font-size:.85rem}.company-ai__panel{margin-top:.65rem;padding:.85rem 1rem;border-radius:8px;background:#f8fcff;border:1px solid #d6effc}.company-ai__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.company-ai__head strong{font-size:1rem;color:#222}.company-ai__code{margin-left:.4rem;color:#888;font-weight:500;font-size:.85rem}.company-ai__meta{color:#999;font-size:.8rem}.company-ai__summary{margin:0 0 .75rem;color:#333;font-size:.95rem;line-height:1.55}.company-ai__block{margin-bottom:.7rem}.company-ai__block h5{margin:0 0 .3rem;font-size:.82rem;font-weight:600;color:#1f9ae5}.company-ai__block p,.company-ai__block ul{margin:0;color:#444;font-size:.9rem;line-height:1.55}.company-ai__block ul{padding-left:1.1rem}.company-ai__disclaimer{margin:.5rem 0 0;color:#999;font-size:.78rem}.company-ai__loading{margin:0;color:#888;font-size:.9rem}.ai-page{width:100%;max-width:820px;margin:0 auto;padding:.75rem .85rem 2rem;display:flex;flex-direction:column;gap:.85rem}.ai-toolbar{display:flex;justify-content:flex-end;padding:.15rem .1rem}.ai-card{background:#fff;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.06);padding:1.1rem 1.2rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.ai-card h2{margin:0;font-size:1.05rem}.ai-card h3{margin:0 0 .5rem;font-size:1rem}.ai-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ai-usage__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.ai-usage__block{border:1px solid #eef2f6;border-radius:8px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.45rem;background:#fafcfe}.ai-usage__block h3{margin:0 0 .15rem;font-size:.92rem;color:#333}.ai-usage__row{display:flex;justify-content:space-between;gap:.75rem;font-size:.88rem;color:#666}.ai-usage__row strong{color:#222;font-weight:600;text-align:right}@media(max-width:720px){.ai-usage__grid{grid-template-columns:1fr}}.ai-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#555}.ai-field input,.ai-field select,.ai-field textarea{border:1px solid #ddd;border-radius:8px;padding:.6rem .75rem;font-size:.95rem;font-family:inherit;background:#fff}.ai-field textarea{resize:vertical;min-height:72px}.ai-field--inline{flex:1 1;min-width:110px}.ai-field--voice select{min-width:14rem;max-width:min(22rem,100%)}.ai-field--inline-row{flex:1 1;min-width:0;flex-direction:row;align-items:center;gap:.45rem;white-space:nowrap}.ai-field--inline-row span{flex-shrink:0;color:#666}.ai-field--inline-row select{flex:1 1;min-width:0;padding:.45rem .6rem}.ai-row{display:flex;flex-wrap:wrap;gap:.75rem}.ai-row--controls{flex-wrap:nowrap;align-items:center;gap:1rem}@media(max-width:560px){.ai-row--controls{flex-wrap:wrap}.ai-row--controls .ai-field--inline-row{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - .5rem);min-width:140px}}.ai-prefs{position:relative;align-self:flex-start;max-width:100%}.ai-prefs__trigger{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;border:1px solid #e5e9ef;border-radius:999px;background:#f5f7fa;color:#333;padding:.45rem .85rem .45rem .7rem;font-size:.88rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-prefs__trigger.is-open,.ai-prefs__trigger:hover{background:#eef3f8;border-color:#d5dde8}.ai-prefs__icon{flex-shrink:0;color:#5a6b7d}.ai-prefs__trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-prefs__chevron{width:.4rem;height:.4rem;border-right:1.5px solid #7a8796;border-bottom:1.5px solid #7a8796;transform:rotate(45deg);margin-top:-.15rem;flex-shrink:0}.ai-prefs__panel{position:absolute;top:calc(100% + .45rem);left:0;z-index:30;width:min(22.5rem,100vw - 2rem);background:#fff;border:1px solid #e8edf3;border-radius:14px;box-shadow:0 12px 36px rgba(20,40,70,.14);padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.9rem}.ai-prefs__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ai-prefs__head strong{font-size:.98rem;color:#222}.ai-prefs__switch{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:#666;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-prefs__switch input{position:absolute;opacity:0;pointer-events:none}.ai-prefs__switch-ui{width:2.2rem;height:1.25rem;border-radius:999px;background:#d8dee6;position:relative;transition:background .15s ease}.ai-prefs__switch-ui:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .15s ease}.ai-prefs__switch input:checked+.ai-prefs__switch-ui{background:#1f9ae5}.ai-prefs__switch input:checked+.ai-prefs__switch-ui:after{transform:translateX(.95rem)}.ai-prefs__section{display:flex;flex-direction:column;gap:.45rem}.ai-prefs__section.is-disabled{opacity:.5;pointer-events:none}.ai-prefs__label{margin:0;font-size:.82rem;color:#777}.ai-prefs__chips{display:flex;flex-wrap:wrap;gap:.4rem}.ai-prefs__chip{border:1px solid #e5e9ef;background:#f7f9fb;color:#444;border-radius:8px;padding:.4rem .75rem;font-size:.86rem;font-family:inherit;cursor:pointer}.ai-prefs__chip.is-active{background:#e8f5fc;border-color:#1f9ae5;color:#1678b8}.ai-prefs__aspects{display:flex;flex-wrap:wrap;gap:.35rem}.ai-prefs__aspect{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-width:3.1rem;padding:.4rem .3rem .35rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#666;font-size:.72rem;font-family:inherit;cursor:pointer}.ai-prefs__aspect:hover{background:#f5f7fa}.ai-prefs__aspect.is-active{background:#eef6fb;border-color:#cfe6f5;color:#1678b8}.ai-prefs__aspect.is-active .ai-prefs__aspect-box{border-color:#1f9ae5;background:rgba(31,154,229,.08)}.ai-prefs__aspect-box{display:block;border:1.5px solid #9aa8b8;border-radius:2px;background:#fff}.ai-prefs__select-wrap select{width:100%;border:1px solid #ddd;border-radius:8px;padding:.55rem .7rem;font-size:.92rem;font-family:inherit;background:#fff}.ai-prefs__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.ai-prefs__voice-field{grid-column:1/-1}.ai-prefs__hint{margin:.15rem 0 0;font-size:.78rem;line-height:1.45}.ai-cast{gap:.65rem;padding:.85rem .95rem;border:1px solid #e8edf3;border-radius:10px;background:#fafcfe}.ai-cast,.ai-cast__head{display:flex;flex-direction:column}.ai-cast__head{gap:.2rem}.ai-cast__head h3{margin:0;font-size:.95rem}.ai-cast__head .ai-muted{margin:0;font-size:.8rem}.ai-cast__list{display:flex;flex-direction:column;gap:.55rem}.ai-cast__row{flex-direction:row;align-items:center;gap:.65rem}.ai-cast__row select{flex:1 1;min-width:0}.ai-cast__name{flex:0 0 4.5rem;font-weight:600;color:#333}.ai-cast__empty{margin:0;font-size:.84rem}.ai-btn{align-self:flex-start;border:none;border-radius:8px;padding:.65rem 1.15rem;font-size:.95rem;cursor:pointer}.ai-btn:disabled{opacity:.65;cursor:not-allowed}.ai-btn--primary{background:#1f9ae5;color:#fff}.ai-btn--primary:hover:not(:disabled){background:#47abe8}.ai-link,.ai-link-btn{color:#1f9ae5;background:none;border:none;padding:0;cursor:pointer;font-size:.9rem;text-decoration:none}.ai-link-btn:hover,.ai-link:hover{color:#47abe8}.ai-alert{background:#fff1f0;color:#a8071a;border:1px solid #ffccc7;border-radius:8px;padding:.7rem .9rem;font-size:.9rem}.ai-muted{margin:0;color:#888;font-size:.88rem}.ai-skills{display:flex;flex-direction:column;gap:.55rem;padding:.75rem .85rem;background:#f7fafc;border-radius:8px;border:1px solid #eef2f6}.ai-skills__head{justify-content:space-between;gap:.75rem}.ai-skills__head,.ai-skills__head-actions{display:flex;align-items:center;flex-wrap:wrap}.ai-skills__head-actions{gap:.85rem}.ai-skills__label{font-size:.9rem;color:#555;font-weight:500}.ai-skills__chips{display:flex;flex-wrap:wrap;gap:.45rem}.ai-skill-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;border:1px solid #d9e6f2;background:#fff;font-size:.86rem;color:#444;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-skill-chip input{margin:0;accent-color:#1f9ae5}.ai-skill-chip.is-active{border-color:#1f9ae5;color:#1f9ae5;background:#eef7fd}.ai-skill-chip__tag{font-style:normal;font-size:.72rem;color:#888;border:1px solid #e0e0e0;border-radius:4px;padding:0 .25rem}.ai-skills__manage{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem;border-top:1px dashed #e0e8f0}.ai-skills__manage h3,.ai-skills__manage h4{margin:0;font-size:.95rem}.ai-skills__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ai-skills__list li{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.55rem .65rem;background:#fff;border-radius:8px;border:1px solid #eef2f6}.ai-skills__list li strong{display:block;font-size:.9rem;color:#222}.ai-skills__list li span{display:block;margin-top:.2rem;font-size:.82rem;color:#777;line-height:1.4}.ai-skills__list-actions{display:flex;flex-shrink:0;gap:.65rem}.ai-skills__form{gap:.65rem;border-radius:8px;border:1px solid #eef2f6}.ai-skills__form,.ai-skills__pending{display:flex;flex-direction:column;padding:.75rem;background:#fff}.ai-skills__pending{gap:.55rem;border-radius:8px;border:1px solid #cfe6f7}.ai-skills__pending-item{display:flex;gap:.55rem;align-items:flex-start;cursor:pointer;width:100%}.ai-skills__pending-item input{margin-top:.25rem;accent-color:#1f9ae5}.ai-skills__pending-item .ai-skill-chip__tag{margin-left:.35rem}.ai-skills__pending-actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.ai-skills code{font-size:.85em;color:#1f9ae5}.ai-script,.ai-script-json{border-top:1px solid #f0f0f0;padding-top:.75rem}.ai-script-json{display:flex;flex-direction:column;gap:.65rem}.ai-script-json h3,.ai-script-json h4{margin:0}.ai-script-json h3{font-size:1rem}.ai-script-json h4{font-size:.95rem;color:#222}.ai-script-json code{font-size:.85em;color:#1f9ae5}.ai-script-json__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ai-script-json__tabs{display:flex;gap:.35rem;padding:.15rem;background:#f0f4f8;border-radius:8px}.ai-script-json__tab{border:none;background:transparent;color:#666;padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.88rem}.ai-script-json__tab.is-active{background:#fff;color:#1f9ae5;box-shadow:0 1px 2px rgba(0,0,0,.06)}.ai-script-json__tab:hover:not(.is-active){color:#1f9ae5}.ai-script-json__preview{display:flex;flex-direction:column;gap:.55rem}.ai-script-json__final{padding:.65rem .75rem;background:#f7fafc;border-radius:8px;border:1px solid #eef2f6}.ai-script-json__final strong{display:block;font-size:.86rem;color:#555;margin-bottom:.35rem}.ai-script-json__final p{margin:0;font-size:.9rem;color:#333;line-height:1.5;white-space:pre-wrap}.ai-script-json__editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.45;min-height:280px}.ai-script-json__actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.ai-script-json__use{gap:.55rem;padding:.75rem .85rem;background:#f7fafc;border-radius:8px;border:1px solid #eef2f6}.ai-scenes,.ai-script-json__use{display:flex;flex-direction:column}.ai-scenes{list-style:none;margin:0;padding:0;gap:.65rem}.ai-scenes li{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem;background:#f7fafc;border-radius:8px;font-size:.9rem}.ai-scenes li strong{color:#1f9ae5}.ai-scenes li em,.ai-scenes li small{color:#777;font-style:normal}.ai-job{display:flex;flex-direction:column;gap:.5rem}.ai-status--queued,.ai-status--running{color:#1f9ae5}.ai-status--succeeded{color:#389e0d}.ai-status--failed{color:#cf1322}.ai-player{display:flex;flex-direction:column;gap:.5rem}.ai-player video{width:100%;max-height:420px;background:#000;border-radius:8px}.ai-player__actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.ai-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.ai-recent li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.65rem .75rem;background:#fafafa;border-radius:8px}.ai-recent li>div:first-child{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ai-recent li>div:first-child span{color:#666;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-recent__actions{display:flex;flex-direction:row;flex-shrink:0;align-items:center;gap:.65rem}@media(max-width:640px){.ai-page{padding:.5rem .65rem 1.5rem}}.crypto-page{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:1280px;margin:0 auto;padding:.75rem .85rem 1.5rem;box-sizing:border-box}.crypto-page__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border-radius:8px;padding:.65rem 1.1rem;box-shadow:0 4px 8px rgba(0,0,0,.08)}.crypto-page__header h1{margin:0;font-size:clamp(1.15rem,2.2vw,1.35rem);line-height:1.3}.crypto-page__header-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.crypto-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;padding:.45rem .9rem;background:#1f9ae5;color:#fff;font-size:.9rem;text-decoration:none;cursor:pointer;transition:background .2s ease;white-space:nowrap;min-height:2.25rem}.crypto-btn:hover{background:#47abe8}.crypto-btn--ghost{background:#fff;color:#1f9ae5;border:1px solid #1f9ae5}.crypto-btn--ghost:hover{background:rgba(31,154,229,.06);color:#47abe8;border-color:#47abe8}.crypto-alert{background:#fff5f5;color:#c0392b;border:1px solid #f5c6cb;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.crypto-section{background:#fff;border-radius:8px;padding:1rem 1.25rem 1.15rem;box-shadow:0 4px 8px rgba(0,0,0,.08);min-width:0}.crypto-section__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;flex-wrap:wrap}.crypto-section__head h2{margin:0;font-size:clamp(1.05rem,2vw,1.15rem)}.crypto-detail-symbol{color:#888;font-size:.92rem;font-weight:500}.crypto-global-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.65rem}.crypto-card{background:#f7fbfe;border:1px solid rgba(31,154,229,.12);border-radius:8px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}.crypto-card__label{color:#888;font-size:.82rem}.crypto-card__value{font-size:clamp(1rem,2.2vw,1.15rem);color:#222;font-weight:650;word-break:break-all}.crypto-hint{margin:0 0 .65rem;color:#999;font-size:.8rem;line-height:1.45}.crypto-hint--tight{margin-bottom:.45rem}.crypto-tabs{display:inline-flex;gap:.35rem;flex-wrap:wrap;max-width:100%}.crypto-tabs__item{border:none;background:transparent;color:#666;padding:.25rem .55rem;font-size:.88rem;cursor:pointer;position:relative;border-radius:4px;white-space:nowrap;min-height:2rem}.crypto-tabs__item:hover{color:#1f9ae5}.crypto-tabs__item.is-active{color:#1f9ae5;font-weight:600}.crypto-tabs__item.is-active:after{content:"";position:absolute;left:.4rem;right:.4rem;bottom:0;height:2px;background:#1f9ae5;border-radius:1px}.crypto-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.3fr);grid-gap:.85rem;gap:.85rem;align-items:start}.crypto-detail-panel,.crypto-list-panel{min-width:0}.crypto-list-switch{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem;background:#f3f6f9;border-radius:8px;flex-shrink:0}.crypto-list-switch__item{border:none;background:transparent;color:#666;padding:.28rem .7rem;font-size:.92rem;line-height:1.3;border-radius:6px;cursor:pointer;white-space:nowrap;min-height:2rem}.crypto-list-switch__item:hover{color:#1f9ae5}.crypto-list-switch__item.is-active{background:#fff;color:#1f9ae5;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.06)}.crypto-new-tag{display:inline-block;margin-left:.35rem;padding:.05rem .3rem;border-radius:3px;background:rgba(31,154,229,.12);color:#1f9ae5;font-size:.68rem;font-weight:500;vertical-align:middle;line-height:1.3}.crypto-muted{color:#999;font-size:.85rem}.crypto-search{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem}.crypto-search__input{flex:1 1;min-width:0;height:2.25rem;padding:0 .75rem;border:1px solid #e4e8ee;border-radius:8px;background:#fff;color:#222;font-size:.9rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.crypto-search__input::placeholder{color:#aaa}.crypto-search__input:focus{border-color:#1f9ae5;box-shadow:0 0 0 3px rgba(31,154,229,.15)}.crypto-search__clear{flex-shrink:0;border:none;background:transparent;color:#1f9ae5;font-size:.85rem;cursor:pointer;padding:.25rem .35rem;border-radius:4px}.crypto-search__clear:hover{color:#47abe8;background:rgba(31,154,229,.08)}.crypto-coin-cell__badge{display:inline-block;margin-left:.35rem;padding:.05rem .28rem;border-radius:3px;background:rgba(31,154,229,.1);color:#1f9ae5;font-size:.68rem;font-weight:500;vertical-align:middle}.crypto-table-wrap{overflow:auto;max-height:min(70vh,720px);-webkit-overflow-scrolling:touch}.crypto-table{width:100%;border-collapse:collapse;font-size:.9rem}.crypto-table td,.crypto-table th{padding:.55rem .4rem;text-align:left;border-bottom:1px solid #f0f0f0;white-space:nowrap}.crypto-table th{color:#888;font-weight:500;position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:1}.crypto-table tbody tr{cursor:pointer;transition:background .15s ease}.crypto-table tbody tr:hover{background:rgba(31,154,229,.05)}.crypto-table tbody tr.is-active{background:rgba(31,154,229,.1)}.crypto-table .is-up{color:#cf2d2d}.crypto-table .is-down{color:#1f8b4c}.crypto-table .is-flat{color:#888}.crypto-table__empty{text-align:center!important;color:#999;padding:1.5rem .5rem!important}.crypto-coin-cell{display:flex;align-items:center;gap:.55rem}.crypto-coin-cell img{border-radius:50%;flex-shrink:0}.crypto-coin-cell__name{font-weight:600;color:#222}.crypto-coin-cell__symbol{color:#999;font-size:.78rem}.crypto-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-bottom:.9rem}.crypto-detail-metrics>div{background:#fafafa;border-radius:8px;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}.crypto-detail-metrics>div span{color:#888;font-size:.8rem}.crypto-detail-metrics>div strong{font-size:1rem;color:#222;font-weight:650;word-break:break-word}.crypto-detail-metrics .is-up{color:#cf2d2d}.crypto-detail-metrics .is-down{color:#1f8b4c}.crypto-intro{margin-bottom:.9rem;padding:.85rem .95rem;background:#f7fbfe;border-radius:8px;border:1px solid rgba(31,154,229,.12)}.crypto-intro h3{margin:0 0 .45rem;font-size:.95rem}.crypto-intro p{margin:0;color:#555;font-size:.9rem;line-height:1.65}.crypto-intro__link{display:inline-block;margin-top:.55rem;color:#1f9ae5;text-decoration:none;font-size:.88rem}.crypto-intro__link:hover{color:#47abe8}.crypto-chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin:.55rem 0 .25rem;max-width:100%;overflow:hidden}.crypto-chart-toolbar .crypto-tabs{flex:1 1;min-width:0;width:auto}.crypto-chart-toolbar .crypto-tabs__item{padding:.2rem .45rem;font-size:.82rem}.crypto-chart-toolbar .crypto-chart-value-switch{flex-shrink:0}.crypto-chart-toolbar .crypto-chart-value-switch .crypto-list-switch__item{padding:.2rem .55rem;font-size:.82rem;min-height:1.7rem}.crypto-chart-toolbar .crypto-chart-value-switch .crypto-list-switch__item:disabled{opacity:.45;cursor:not-allowed;color:#999}.crypto-chart-toolbar .crypto-chart-value-switch .crypto-list-switch__item:disabled:hover{color:#999}.crypto-chart{position:relative;width:100%;min-height:280px}.crypto-chart__canvas{display:block;width:100%;max-width:100%;border-radius:6px;border:1px solid #f0f0f0;touch-action:none}.crypto-chart__empty,.crypto-chart__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#999;font-size:.92rem;background:hsla(0,0%,100%,.72);z-index:2;border-radius:6px}.crypto-chart__tooltip{position:absolute;z-index:3;pointer-events:none;background:hsla(0,0%,100%,.96);border:1px solid #e8e8e8;border-radius:6px;padding:.45rem .6rem;font-size:.78rem;line-height:1.45;color:#444;box-shadow:0 4px 12px rgba(0,0,0,.08);min-width:120px;max-width:min(200px,100% - 1rem)}.crypto-chart__tooltip .is-up{color:#cf2d2d}.crypto-chart__tooltip .is-down{color:#1f8b4c}@media(max-width:1024px){.crypto-layout{grid-template-columns:minmax(260px,.95fr) minmax(300px,1.2fr);gap:.75rem}.crypto-global-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.crypto-section{padding:.9rem 1rem 1rem}.crypto-table-wrap{max-height:min(55vh,560px)}}@media(max-width:900px){.crypto-layout{grid-template-columns:1fr}.crypto-list-panel .crypto-table-wrap{max-height:min(42vh,420px)}}@media(max-width:640px){.crypto-page{padding:.55rem .6rem 1.25rem;gap:.65rem}.crypto-page__header{flex-direction:column;align-items:stretch;padding:.55rem .75rem}.crypto-page__header-actions{width:100%}.crypto-page__header-actions .crypto-btn{flex:1 1}.crypto-section{padding:.8rem .75rem .9rem;border-radius:10px}.crypto-section__head{gap:.5rem;margin-bottom:.65rem}.crypto-global-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.crypto-card{padding:.6rem .7rem}.crypto-card__value{font-size:1rem}.crypto-hint{font-size:.75rem}.crypto-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:.15rem}.crypto-chart-toolbar{margin:.4rem 0 .2rem;flex-wrap:wrap;gap:.4rem}.crypto-chart-toolbar .crypto-tabs{width:100%;flex:1 1 100%}.crypto-chart-toolbar .crypto-chart-value-switch{margin-left:auto}.crypto-list-switch{width:100%}.crypto-list-switch .crypto-list-switch__item{flex:1 1;text-align:center}.crypto-chart-toolbar .crypto-list-switch{width:auto}.crypto-chart-toolbar .crypto-list-switch .crypto-list-switch__item{flex:none}.crypto-table{font-size:.82rem}.crypto-table td,.crypto-table th{padding:.5rem .3rem}.crypto-table td:nth-child(4),.crypto-table th:nth-child(4){display:none}.crypto-table-wrap{max-height:min(48vh,380px)}.crypto-coin-cell{gap:.4rem}.crypto-coin-cell img{width:20px;height:20px}.crypto-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.crypto-detail-metrics>div{padding:.55rem .65rem}.crypto-detail-metrics>div strong{font-size:.92rem}.crypto-intro{padding:.7rem .75rem}.crypto-intro p{font-size:.85rem}.crypto-chart{min-height:260px}.crypto-chart__tooltip{font-size:.72rem;padding:.35rem .5rem}}@media(max-width:380px){.crypto-global-cards{gap:.4rem}.crypto-table td:first-child,.crypto-table th:first-child{display:none}}@media(min-width:1280px){.crypto-page{padding:1rem 1.5rem 2rem}.crypto-layout{grid-template-columns:minmax(340px,.85fr) minmax(420px,1.35fr);gap:1rem}}.particles-page{--p-ink:#e8eef2;--p-muted:rgba(232,238,242,.55);--p-accent:#6eb4b8;--p-panel:rgba(20,32,41,.72);--p-line:rgba(232,238,242,.14);position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;font-family:Noto Sans SC,Sora,sans-serif;color:var(--p-ink);background:#142029}.particles-page__canvas{width:100%;height:100%}.particles-page__header{position:absolute;top:1.25rem;left:1.25rem;z-index:20;pointer-events:none;opacity:0;transform:translateY(10px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .06s forwards}.particles-page__brand{display:inline-block;pointer-events:auto;margin:0 0 .85rem;font-family:Sora,Noto Sans SC,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.04em;color:rgba(232,238,242,.88);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.particles-page__brand:hover{color:#6eb4b8;border-bottom-color:#6eb4b8}.particles-page__eyebrow{margin:0;font-family:Sora,Noto Sans SC,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--p-accent)}.particles-page__title{margin:.35rem 0 0;font-family:Sora,Noto Sans SC,sans-serif;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700;letter-spacing:-.02em}.particles-page__lede{margin:.35rem 0 0;font-size:.85rem;color:var(--p-muted)}.particles-search{position:absolute;top:1.25rem;right:1.25rem;z-index:30;width:min(360px,100% - 2.5rem);opacity:0;transform:translateY(10px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .18s forwards}.particles-search__row{display:flex;gap:.65rem;align-items:center;padding-bottom:.55rem;border-bottom:1px solid var(--p-line);background:transparent}.particles-search__input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--p-ink);font-family:inherit;font-size:.92rem;outline:none}.particles-search__input::placeholder{color:var(--p-muted)}.particles-search__clear{border:0;background:transparent;color:var(--p-muted);font-family:Sora,Noto Sans SC,sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;padding:.2rem 0;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.particles-search__clear:hover{color:var(--p-accent);border-bottom-color:var(--p-accent)}.particles-search__results{margin-top:.65rem;max-height:220px;overflow-y:auto;background:var(--p-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--p-line)}.particles-search__empty{padding:.9rem 1rem;font-size:.85rem;color:var(--p-muted);text-align:center}.particles-search__item{display:block;width:100%;border:0;border-bottom:1px solid var(--p-line);background:transparent;color:inherit;text-align:left;padding:.75rem 1rem;cursor:pointer;transition:background .2s ease}.particles-search__item:last-child{border-bottom:0}.particles-search__item:hover{background:rgba(110,180,184,.1)}.particles-search__name{display:block;font-family:Sora,Noto Sans SC,sans-serif;font-size:.92rem;font-weight:600;color:var(--p-accent)}.particles-search__meta{display:block;margin-top:.15rem;font-size:.78rem;color:var(--p-muted)}.particles-controls{position:absolute;left:1.25rem;bottom:1.25rem;z-index:30;display:flex;flex-wrap:wrap;gap:1.25rem 1.75rem;opacity:0;transform:translateY(10px);animation:home-rise .85s cubic-bezier(.22,1,.36,1) .3s forwards}.particles-controls__field{display:flex;flex-direction:column;gap:.35rem}.particles-controls__label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--p-muted);font-family:Sora,Noto Sans SC,sans-serif}.particles-controls__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px solid var(--p-line);border-radius:0;background:transparent;color:var(--p-ink);font-family:inherit;font-size:.9rem;padding:.25rem 1.2rem .35rem 0;cursor:pointer;outline:none;min-width:7.5rem;transition:border-color .25s ease}.particles-controls__select:focus-visible,.particles-controls__select:hover{border-bottom-color:var(--p-accent)}.particles-controls__select option{background:#142029;color:#e8eef2}.particles-info{position:absolute;top:5.5rem;right:1.25rem;z-index:40;width:min(300px,100% - 2.5rem);padding:1.1rem 1.15rem 1.2rem;background:var(--p-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--p-line);opacity:0;transform:translateY(10px);animation:home-rise .5s cubic-bezier(.22,1,.36,1) forwards}.particles-info__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--p-line)}.particles-info__title{margin:0;font-family:Sora,Noto Sans SC,sans-serif;font-size:1.05rem;font-weight:600;color:var(--p-accent)}.particles-info__close{border:0;background:transparent;color:var(--p-muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:0;transition:color .25s ease}.particles-info__close:hover{color:var(--p-ink)}.particles-info__row{margin-bottom:.85rem}.particles-info__row:last-child{margin-bottom:0}.particles-info__label{display:block;margin-bottom:.2rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--p-muted);font-family:Sora,Noto Sans SC,sans-serif}.particles-info__value{font-size:.92rem;font-weight:500}.particles-info__bar{margin-top:.4rem;height:2px;background:rgba(232,238,242,.12);overflow:hidden}.particles-info__bar-fill{height:100%;background:var(--p-accent)}.particles-tooltip{position:fixed;z-index:50;pointer-events:none;padding:.55rem .75rem;background:var(--p-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--p-line);font-size:.82rem}.particles-tooltip__name{font-family:Sora,Noto Sans SC,sans-serif;font-weight:600;color:var(--p-accent);margin-bottom:.2rem}.particles-tooltip__meta{color:var(--p-muted);font-size:.75rem;line-height:1.45}.particles-hint{position:absolute;right:1.25rem;bottom:1.25rem;z-index:20;font-size:.78rem;color:var(--p-muted);opacity:0;animation:home-rise .85s cubic-bezier(.22,1,.36,1) .42s forwards}.site-home-link--on-dark{color:rgba(232,238,242,.88)}.site-home-link--on-dark:hover{color:#6eb4b8;border-bottom-color:#6eb4b8}.app--particles{background:#142029}.main--particles{padding:0;max-width:none;margin:0}@media(max-width:720px){.particles-page__header{max-width:calc(100% - 2.5rem)}.particles-search{bottom:6.5rem}.particles-info,.particles-search{top:auto;right:1.25rem;left:1.25rem;width:auto}.particles-info{bottom:11rem}.particles-hint{display:none}}