@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2")}:root{font-family:Inter Variable,Inter,system-ui,-apple-system,sans-serif;color:#202b3e;background:#f4f6f9;font-synthesis:none;--blue: #245edb;--line: #e0e6ef;--muted: #66748a;--surface: #fff;--radius: 14px;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.56;cursor:default}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #89aeff;outline-offset:3px}a{color:#2057c4;text-underline-offset:3px}p{line-height:1.6}button{min-height:44px;border:1px solid #d5deeb;border-radius:9px;background:#fff;color:#34435a;padding:10px 14px;font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover:not(:disabled){background:#f2f6ff;border-color:#9cb8ec}button.primary,.new-button{background:var(--blue);border-color:var(--blue);color:#fff}button.primary:hover,.new-button:hover{background:#174ec4;border-color:#174ec4}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}h1,h2,h3{letter-spacing:-.025em}h1{font-size:1.8rem;margin:8px 0 0;line-height:1.2}h2{font-size:1.13rem;line-height:1.48;margin:12px 0}h3{font-size:1.03rem;margin:0 0 12px}.eyebrow{font-size:.69rem;letter-spacing:.12em;font-weight:700;color:#718096}.app-shell{min-height:100dvh;padding-bottom:100px}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:24px;position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:10}.brand{display:flex;align-items:center;gap:10px;color:#243451;text-decoration:none;font-weight:700;letter-spacing:-.02em}.brand img{width:32px;height:32px;border-radius:9px}.connection{margin-left:auto;color:var(--muted);font-size:.75rem}.new-button{padding-inline:17px}.portfolio-main,.page-main{max-width:1248px;margin:0 auto;padding:30px 24px}.portfolio-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.count{display:inline-flex;vertical-align:middle;margin-left:12px;font-size:.9rem;letter-spacing:0;background:#e6ecf5;color:#5d6c81;padding:5px 9px;border-radius:7px}.date-label{font-size:.83rem;color:var(--muted);padding-bottom:5px}.review-progress{border:1px solid #dce6f8;border-radius:var(--radius);background:#edf3ff;padding:16px 19px;margin-bottom:19px}.review-progress>div:first-child{display:flex;align-items:center;gap:12px}.review-icon{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#dde9ff;color:var(--blue)}.review-progress strong{font-size:.91rem}.review-progress span{font-size:.84rem;color:#536480}.review-progress .review-caption{margin-left:auto;font-size:.79rem}.progress-track{height:4px;border-radius:4px;background:#dce6f7;overflow:hidden;margin-top:12px}.progress-track>span{display:block;background:#427be4;height:100%;border-radius:4px;transition:width .2s}.portfolio-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:10px;border:1px solid #dce3ee;background:#fff;border-radius:9px;flex:1;min-width:190px;padding-left:13px;color:#8591a3}.search-box input{border:0;background:transparent;outline-offset:0;min-width:0;width:100%;height:45px;padding:10px 12px 10px 0;font-size:.9rem;color:#27354b}.portfolio-tools select{width:170px}.filter-check{display:flex;align-items:center;min-height:44px;gap:8px;font-size:.83rem;color:#526078;white-space:nowrap}.filter-check input{width:16px;height:16px;accent-color:var(--blue)}select{min-height:45px;border:1px solid #dce3ee;border-radius:9px;background:#fff;padding:10px 28px 10px 12px;color:#4e5e77;font-size:.9rem;max-width:100%}.list-caption{display:flex;justify-content:space-between;color:#7c889b;font-size:.73rem;margin:21px 0 12px}.forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.forecast-card{min-width:0;display:flex;flex-direction:column;padding:19px;background:#fff;border:1px solid #dfe5ed;border-radius:var(--radius);box-shadow:0 2px 5px #25385804}.card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.72rem;color:#718097;line-height:1.4}.topic-pill{background:#f0f4fa;border-radius:5px;padding:4px 7px;font-weight:600;color:#596c87}.sample-label{font-size:.64rem;font-weight:500;color:#7c8a9c;letter-spacing:.02em}.card-deadline{margin-left:auto}.card-title{padding:0;border:0;background:none;display:block;min-height:0;text-align:left;border-radius:0;width:100%;color:#202d43}.card-title:hover:not(:disabled){background:none;color:var(--blue)}.card-title h2{font-size:1.01rem;line-height:1.48;margin:14px 0 12px;letter-spacing:-.014em}.probability{display:flex;align-items:baseline;gap:12px;margin-top:auto}.probability strong{font-size:2.15rem;font-weight:650;letter-spacing:-.065em;color:#20324e;white-space:nowrap}.probability strong small{font-size:1.28rem;letter-spacing:-.03em;padding-left:1px}.probability>span{font-size:.7rem;color:#73819a;line-height:1.4}.chart-open{border:0;background:none;padding:0;display:block;width:100%;min-height:0;border-radius:0}.chart-open:hover:not(:disabled){background:none}.probability-chart svg{display:block;width:100%;overflow:visible;margin:9px 0 13px}.chart-grid{stroke:#e9edf4;stroke-dasharray:3 3;stroke-width:1}.chart-series{stroke:#3978dd;fill:none;stroke-width:2.2;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#3978dd;stroke-width:1.7}.chart-point:last-of-type{fill:#3978dd}.chart-point.selected{fill:#245edb;stroke:#a9c8ff;stroke-width:4}.probability-chart text{font-family:inherit;font-size:11px;fill:#8090a8;font-weight:400}.latest-reason{color:#6b7990;line-height:1.5;font-size:.8rem;margin:0 0 17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.card-actions{display:grid;grid-template-columns:.8fr 1.35fr;gap:8px;margin-top:auto}.card-actions button{font-size:.76rem;min-height:43px;padding:8px 6px;white-space:normal}.card-actions .icon{width:16px;height:16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:15;background:#fff;border-top:1px solid #dde4ef;display:flex;justify-content:center;padding:5px 12px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #24314b03}.bottom-nav button{flex:1;max-width:180px;flex-direction:column;border:0;background:none;border-radius:8px;gap:4px;padding:9px 16px;font-size:.72rem;color:#78869b}.bottom-nav button.active{background:#edf3ff;color:var(--blue)}.bottom-nav button:hover:not(:disabled){background:#f4f7fc}.sample-notice{font-size:.78rem;color:#738199;margin-bottom:12px;line-height:1.5}.sample-notice button{font-size:inherit}.text-button{border:0;background:none;padding:3px;color:var(--blue);font-weight:500;min-height:28px;text-decoration:underline;text-underline-offset:3px}.backup-reminder{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #d8e3f4;border-radius:10px;margin-bottom:16px;background:#fff;font-size:.86rem}.backup-reminder>span{margin-right:auto}.icon-button{padding:6px;min-width:40px;min-height:40px;border:0;background:#f3f6fa}.empty-state{text-align:center;margin:36px auto 20px;max-width:500px;padding:30px 20px}.empty-state>.icon{width:40px;height:40px;color:#6f8cbd}.empty-state p{color:var(--muted);font-size:.95rem}.empty-state .settings-actions{justify-content:center}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80dvh;padding:24px}.page-main{max-width:880px}.page-intro{margin-bottom:24px}.page-intro h2{font-size:1.5rem;margin:9px 0}.page-intro p,.panel p,.supporting-text{color:var(--muted);font-size:.9rem}.panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px}.panel h2{margin-top:0}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.score-grid section{display:flex;flex-direction:column;gap:12px;padding:23px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.score-grid span{font-size:.86rem;font-weight:500}.score-grid strong{font-size:2.7rem;letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-weight:600}.score-grid small{color:var(--muted);font-size:.75rem}.supporting-text{line-height:1.6;margin:16px 0 24px}.calibration-wait{padding:18px;background:#f5f8fd;border-radius:10px}.calibration-wait p{font-size:.85rem;margin-bottom:0}.calibration-header,.calibration-row{display:grid;grid-template-columns:1fr 1.2fr 50px;gap:12px;align-items:center;padding:12px 0;font-size:.86rem}.calibration-header{color:var(--muted);font-size:.76rem;border-bottom:1px solid var(--line)}.calibration-row>div{background:#f2f5fa;position:relative;padding:8px 10px;border-radius:5px;overflow:hidden}.calibration-row i{position:absolute;inset:0 auto 0 0;background:#dce9ff}.calibration-row strong{position:relative;font-weight:500}.archive-list>button{display:flex;width:100%;text-align:left;justify-content:space-between;gap:18px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0}.archive-list>button:last-child{border:0}.archive-list strong{font-size:.88rem;font-weight:550;line-height:1.5}.archive-list small{display:block;font-size:.75rem;color:var(--muted);margin-top:6px}.archive-list>button>span:last-child{flex-shrink:0;font-size:.8rem;text-align:right}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}.facts{display:flex;flex-direction:column;gap:0;font-size:.86rem;margin:20px 0}.facts>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf0f5}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;overflow-wrap:anywhere}.danger-zone{margin-top:30px}.danger-button{color:#a63a40;border-color:#e9c9cc;background:#fff9f9}.danger-button:hover:not(:disabled){background:#fff0f0;border-color:#cc8c92}.panel>small{display:block;color:var(--muted);line-height:1.6;font-size:.75rem;margin-top:14px}dialog.sheet{border:0;padding:12px 24px 24px;width:min(560px,calc(100% - 32px));max-width:none;max-height:90dvh;border-radius:18px;color:#24334a;box-shadow:0 18px 80px #0d183c30;overflow:auto;margin:auto;background:#fff}dialog::backdrop{background:#14213d75;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog.detail-sheet{width:min(690px,calc(100% - 32px))}.sheet-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.sheet-header h2{font-size:1.15rem;margin:8px 0}.sheet-handle{width:38px;height:4px;background:#dfe5ed;border-radius:3px;margin:0 auto 10px}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack label{display:flex;flex-wrap:wrap;gap:8px;font-size:.88rem;font-weight:600;margin:0}.form-stack label>span{margin-left:auto;font-size:.7rem;font-weight:400;color:var(--muted)}.form-stack input:not([type=range]):not([type=radio]),.form-stack textarea{width:100%;min-width:0;border:1px solid #cfd9e8;border-radius:8px;padding:11px;font-size:1rem;color:#26344d;background:#fff}.form-stack textarea{min-height:88px;resize:vertical;line-height:1.5}.form-stack label>small{font-size:.75rem;font-weight:400;color:var(--muted);line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.number-suffix{display:flex;align-items:center;gap:8px;width:100%}.number-suffix>span{font-size:1.1rem}.range{width:100%;accent-color:var(--blue);min-height:36px;margin:0}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.sheet-actions button{min-height:46px}.update-number{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.update-number .number-suffix{width:130px;color:#273d5e}.update-number input{font-size:1.8rem!important;font-weight:600;text-align:right}.change-preview{font-size:.86rem;text-align:center;color:#5d718e;margin-top:-12px}.info-box{padding:14px;background:#eef4ff;border-radius:8px;font-size:.85rem;line-height:1.6;color:#536a8e}.form-error{color:#a02c36;padding:12px 14px;background:#fff0f1;border-radius:8px;font-size:.86rem;line-height:1.5}.success-note{color:#225741;padding:12px 14px;background:#eff8f2;border-radius:8px;font-size:.86rem;line-height:1.5}.detail-heading h2{font-size:1.4rem;line-height:1.45}.detail-chart{margin:20px 0}.chart-picker{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.8rem}.chart-picker select{width:100%;font-size:.85rem}.chart-selection{display:flex;gap:16px;background:#f5f8fd;border-radius:10px;padding:16px;margin-top:12px}.chart-selection>strong{font-size:1.5rem;letter-spacing:-.04em}.chart-selection p{font-size:.86rem;margin:8px 0 0}.chart-selection time{font-size:.74rem;color:var(--muted)}.source-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.source-links a{font-size:.8rem;overflow-wrap:anywhere;max-width:100%}.criteria{border-left:3px solid #99b8f0;padding:3px 0 3px 16px;margin:24px 0}.criteria p{margin:8px 0;font-size:.9rem;color:#586880}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.inline-form{background:#f5f8fc;border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0}.inline-form fieldset{border:0;margin:0;padding:0;display:flex;gap:20px}.inline-form legend{font-size:.86rem;margin-bottom:12px}.inline-form .radio-label{display:inline-flex;align-items:center;font-size:.85rem}.radio-label input{accent-color:var(--blue);width:18px;height:18px}.timeline{margin-top:30px}.timeline>article{display:grid;grid-template-columns:12px 1fr;gap:12px;padding:0 0 23px;position:relative}.timeline-dot{width:8px;height:8px;background:#6f99e0;border-radius:50%;margin-top:6px;position:relative;z-index:1}.timeline>article:not(:last-child):after{content:"";position:absolute;top:8px;bottom:0;left:3px;width:1px;background:#dce5f0}.timeline-meta{display:flex;justify-content:space-between;gap:12px;font-size:.86rem}.timeline-meta span{font-weight:600;color:#285eaa}.timeline time{display:block;color:#7b899d;font-size:.73rem;margin-top:5px}.timeline p{font-size:.87rem;color:#596a82;margin:10px 0 0}.toast{position:fixed;z-index:60;bottom:95px;left:50%;transform:translate(-50%);padding:13px 19px;max-width:min(500px,calc(100vw - 32px));width:max-content;border-radius:10px;background:#263c60;color:#fff;box-shadow:0 5px 24px #19294b33;font-size:.87rem;line-height:1.5;display:flex;gap:12px;align-items:center}.toast.error{background:#87343c}.toast button{color:inherit;background:transparent;border:0;min-width:32px;min-height:32px;padding:0}.update-banner{position:fixed;z-index:40;bottom:95px;right:20px;left:auto;max-width:calc(100vw - 40px);padding:14px;background:#edf3ff;border:1px solid #abc4ec;border-radius:12px;display:flex;align-items:center;gap:15px;font-size:.86rem;box-shadow:0 5px 24px #19294b22}@media(min-width:1450px){.forecast-grid{gap:22px}.forecast-card{padding:22px}}@media(max-width:1000px){.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-check{flex-basis:100%;min-height:30px}.connection{font-size:.7rem}}@media(max-width:600px){.topbar{height:68px;padding:0 16px;gap:10px}.brand{font-size:.97rem;gap:8px}.brand img{width:29px;height:29px}.connection{display:none}.new-button{margin-left:auto;font-size:.8rem;padding:9px 11px}.new-button .icon{width:16px;height:16px}.portfolio-main,.page-main{padding:23px 16px}.portfolio-heading{margin-bottom:20px;align-items:center}h1{font-size:1.52rem}.date-label{display:none}.review-progress{padding:14px;margin-bottom:16px}.review-progress .review-caption{display:none}.portfolio-tools{gap:9px}.portfolio-tools select{width:130px;min-width:0;max-width:42%;font-size:.85rem}.search-box{min-width:0}.search-box input{font-size:16px}.filter-check{font-size:.83rem;margin-top:2px}.list-caption{margin-top:15px}.forecast-grid{grid-template-columns:1fr;gap:16px}.forecast-card{padding:18px}.card-meta{font-size:.73rem}.card-title h2{font-size:1.06rem}.probability strong{font-size:2.45rem}.probability>span{font-size:.75rem}.latest-reason{font-size:.85rem}.card-actions button{font-size:.79rem;min-height:46px}.probability-chart text{font-size:12px}.bottom-nav button{font-size:.73rem;padding:7px 12px}.sample-notice{font-size:.75rem}.panel{padding:20px}.score-grid{gap:12px}.score-grid section{padding:17px}.score-grid span{font-size:.78rem}.score-grid strong{font-size:2.1rem}.score-grid small{font-size:.69rem}.archive-list>button{flex-direction:column;align-items:flex-start;gap:7px}.archive-list>button>span:last-child{text-align:left}.settings-actions>button{flex:1;min-width:145px}.backup-reminder{flex-wrap:wrap;font-size:.8rem}.backup-reminder .icon-button{margin-left:auto}dialog.sheet,dialog.detail-sheet{width:100%;max-height:92dvh;margin:auto 0 0;max-width:100%;border-radius:20px 20px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom))}.form-stack input,.form-stack textarea{font-size:16px}.detail-heading h2{font-size:1.2rem}.sheet-actions button,.facts{font-size:.8rem}.facts>div{gap:10px}.source-links a{font-size:.8rem}.update-banner{right:16px;left:16px;max-width:none;font-size:.8rem}.chart-selection{padding:12px;gap:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.eyebrow,.card-meta,.sample-label,.list-caption,.timeline time,.form-stack label>span{font-size:.75rem}.card-actions button,.latest-reason,.card-deadline{font-size:.875rem}@media(max-width:600px){.topbar{height:auto;min-height:68px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-stack label{overflow-wrap:anywhere}}
