:root{--ink:#233b30;--muted:#728076;--line:#dce5da;--green:#276c4a;--cream:#f6f7f1;--orange:#d48135}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.top{height:68px;background:#213b2e;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2));gap:20px}.brand{font-weight:800;letter-spacing:2px;text-decoration:none;color:white}.brand span{color:#e6b163}.top-note{font-size:11px;color:#b6c8b8}main{max-width:1180px;margin:auto;padding:42px 28px 30px}.intro{margin-bottom:28px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;color:#638069}.intro h1{font-size:clamp(29px,4vw,45px);letter-spacing:-1.5px;margin:9px 0}.intro p,.hero-card p{color:var(--muted);line-height:1.7;margin:0;max-width:650px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:22px}.tabs button{border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:#edf1e9;color:#657468;padding:16px 22px;font-weight:700}.tabs button[aria-selected=true]{background:white;color:#245e41;box-shadow:inset 0 3px #3a8558}.tabs button:focus-visible,.presets button:focus-visible,.subtle-button:focus-visible{outline:3px solid #c28d38;outline-offset:2px}[hidden]{display:none!important}.hero-card,.card,.config,.method{background:white;border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:18px}.hero-card{display:flex;align-items:center;justify-content:space-between;background:#e9f0e5}.cycle-hero{background:#e9ece4}.hero-card h2{font-size:25px;letter-spacing:-.7px;margin:9px 0}.symbol{font-size:55px;font-weight:800;color:#86a77c;line-height:1}.config{display:flex;align-items:end;gap:24px}.config label{display:block;min-width:220px;font-size:12px;font-weight:700;color:#526858}.config p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 8px}.config.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.config.grid label{min-width:0}input,select{display:block;width:100%;margin-top:9px;padding:11px 12px;border:1px solid #cbd8cb;border-radius:7px;background:#fff;color:var(--ink)}.hint,.small{font-size:12px;color:var(--muted);line-height:1.7}.hint{margin:0 0 14px}.presets{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.presets button{border:1px solid #c6d7c6;color:#345b40;background:#e9f0e8;border-radius:6px;padding:8px 11px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:17px;min-width:0}.stat-name{font-size:11px;color:var(--muted)}.stat-value{font-size:clamp(17px,2vw,25px);font-weight:800;margin:8px 0 4px;white-space:nowrap}.stat-foot{font-size:11px;color:#859487}h3{font-size:19px;margin:8px 0 16px}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.legend{display:flex;gap:20px;flex-wrap:wrap;color:#78897a;font-size:11px;margin:15px 0}.legend span{display:flex;align-items:center;gap:6px}.line{width:16px;height:3px;display:inline-block}.green{background:#29804f}.gray{background:#9aa5a1}.orange{background:var(--orange)}canvas{width:100%;height:290px;display:block}.row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #edf0e8}.row:last-child{border-bottom:0}.row b{text-align:right}.notice{background:#ebf1e4;border:1px solid #cbd9c2;color:#345846;padding:16px;border-radius:10px;line-height:1.7;margin:0 0 18px}.error:not(:empty){padding:13px;background:#fae6df;color:#9d4a33;border-radius:7px;margin:10px 0}.table-scroll{overflow:auto;max-height:430px}table{border-collapse:collapse;width:100%;min-width:690px;font-size:12px}th,td{padding:13px 9px;text-align:right;border-bottom:1px solid #edf0e8;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:#849184;font-size:11px;font-weight:600;position:sticky;top:0;background:white}tr.selected{background:#edf5e9;font-weight:700}.method{font-size:12px;color:#657467;line-height:1.8}.method summary{cursor:pointer;font-weight:700;color:var(--ink)}.method a{color:#276c4a}footer{font-size:10px;letter-spacing:1.5px;color:#8a998b;display:flex;justify-content:space-between;padding:10px 2px}footer span{letter-spacing:0}@media(max-width:760px){main{padding:26px 15px}.top{padding:0 16px}.top-note{display:none}.tabs button{font-size:12px;padding:13px 10px}.hero-card,.card,.config,.method{padding:18px}.hero-card h2{font-size:21px}.symbol{font-size:38px}.config{display:block}.config label{min-width:0}.config p{margin-top:14px}.config.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:19px}canvas{height:235px}}@media(max-width:460px){.config.grid{grid-template-columns:1fr}.symbol{display:none}}
.phase-strip{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-radius:9px;border:1px solid var(--line);margin:7px 0}.phase{padding:12px 9px;text-align:center;font-size:12px;font-weight:700}.bear{background:#f3dedd;color:#945957}.recover{background:#dceff2;color:#3b8295}.rise{background:#dff0e2;color:#357a52}.hot{background:#f6e8c9;color:#906a2d}.cycle-config{margin-bottom:10px}.cycle-config+ .hint{margin-top:0}.subtle-button{border:1px solid #c6d7c6;color:#345b40;background:#f4f8f1;border-radius:6px;padding:8px 11px;font-size:11px;white-space:nowrap}.chart-help{margin:0 0 7px}.view-controls{display:flex;gap:10px;margin:12px 0 8px}.view-controls label{font-size:11px;color:#647765;font-weight:700}.view-controls input{width:155px;margin-top:5px;padding:7px 9px;font-size:12px}.selectable-chart{cursor:crosshair;touch-action:none}@media(max-width:760px){.phase{font-size:10px;padding:10px 4px}.view-controls input{width:125px}.section-head{align-items:flex-start}}
.cycle-config{grid-template-columns:repeat(2,minmax(0,1fr))!important}.rule-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 25px;margin:0 0 16px}.rule-card h3{margin:6px 0 10px}.rule-card ol{margin:0;padding-left:21px;line-height:1.8}.rule-card li{padding:2px 0}.red{background:#b7655d}.stat-foot{line-height:1.45}@media(max-width:760px){.cycle-config{grid-template-columns:repeat(2,minmax(0,1fr))!important}.rule-card{padding:18px}}@media(max-width:460px){.cycle-config{grid-template-columns:1fr!important}}
.cycle-timing{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 15px;margin:12px 0;font-size:12px}.cycle-timing div{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:7px 0}.cycle-timing div+div{border-top:1px solid #edf0e8}.cycle-timing span{color:var(--muted)}.cycle-timing b{font-weight:700;line-height:1.5}
@media(max-width:760px){#cycleStats{gap:6px;margin:10px 0 8px}#cycleStats .stat{padding:9px 11px}#cycleStats .stat-value{font-size:18px;margin:4px 0 2px}#cycleStats .stat-foot{font-size:10px}#cyclePanel>.card{padding:12px;margin-bottom:10px}#cyclePanel .section-head h3{font-size:16px;margin:3px 0 0}#cyclePanel .section-head .eyebrow{display:none}#cyclePanel .section-head .subtle-button{padding:6px 7px;font-size:10px}#cyclePanel .view-controls{margin:6px 0 4px}#cyclePanel .view-controls label{font-size:10px}#cyclePanel .view-controls input{width:125px;margin-top:2px;padding:5px}#cyclePanel .legend{gap:6px 10px;margin:7px 0;font-size:10px}#cyclePanel #priceChart{height:185px}}

.presets button[aria-pressed=true]{background:#d8ead8;border-color:#3a8558;font-weight:700}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.buy{background:#247fa1}.dot.sell{background:#cf7930}.dot.stop{background:#b7655d}.dot.loss{background:#b94f48;box-shadow:0 0 0 1px #fff,0 0 0 2px #b94f48}
@media(min-width:761px){.cycle-config{grid-template-columns:repeat(2,minmax(0,1fr))!important}}#cycleFactorNote{margin:0 0 4px}#cycleFrequencyNote{margin:0 0 14px}@media(max-width:760px){#spotPanel .config label+label{margin-top:14px}}

/* Blue key color and full-screen chart view */
:root{--ink:#243b4b;--muted:#667b8c;--line:#d9e5ee;--green:#75A8D6;--cream:#f5f9fc}
.top{background:#243b4b}.brand span{color:#75A8D6}.top-note{color:#c4d8e8}.eyebrow{color:#4d83ae}
.tabs button{background:#eaf2f9;color:#55748d}.tabs button[aria-selected=true]{color:#285d84;box-shadow:inset 0 3px #75A8D6}
.tabs button:focus-visible,.presets button:focus-visible,.subtle-button:focus-visible{outline-color:#75A8D6}
.hero-card,.cycle-hero{background:#eaf4fc}.symbol{color:#75A8D6}.config label{color:#45647b}
input,select{border-color:#c7d8e5}.presets button,.subtle-button{border-color:#bfd5e6;color:#315f80;background:#edf6fc}
.presets button[aria-pressed=true]{background:#d8eaf8;border-color:#75A8D6}.green{background:#75A8D6}
.method a{color:#2b709e}.legend{color:#647c8e}.view-controls label{color:#557086}
.chart-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.result-story{background:#eaf4fc;border-left:3px solid #75A8D6;border-radius:0 10px 10px 0;padding:13px 16px;margin:0 0 18px;line-height:1.7}
.result-story strong{display:block;color:#315f80;font-size:12px;margin-bottom:4px}
.result-story p{margin:0;white-space:pre-line}
body.chart-open{overflow:hidden}
.chart-card.expanded-chart{position:fixed;inset:0;z-index:1000;width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;margin:0;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border:0;border-radius:0;overflow:hidden}
.chart-card.expanded-chart .chart-help{display:none}
.chart-card.expanded-chart canvas,#cyclePanel .expanded-chart #priceChart{flex:1 1 0;min-height:0;height:0!important}
@media(max-width:760px){.chart-card .section-head{flex-wrap:wrap;gap:7px}.chart-card .section-head h3{margin-bottom:0}.chart-card .chart-actions{margin-left:auto}.chart-card.expanded-chart{padding-top:max(18px,env(safe-area-inset-top))}.chart-card.expanded-chart .view-controls input{width:min(34vw,155px)}}
.cycle-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}
.cycle-schedule div{display:flex;flex-direction:column;gap:4px;font-size:12px}.cycle-schedule span{color:var(--muted)}.cycle-schedule b{line-height:1.5}
.cycle-basis{background:#eaf4fc;border-left:3px solid #75A8D6;border-radius:0 10px 10px 0;padding:14px 17px;line-height:1.7}
.cycle-basis strong{color:#315f80}.cycle-basis p{margin:5px 0 0}
.rule-card .cycle-basis{margin-top:15px}.cycle-basis p+p{margin-top:10px}.cycle-basis .cycle-timing{margin:10px 0}
.rule-card .cycle-timing div{grid-template-columns:65px 1fr;gap:6px}
@media(max-width:760px){.cycle-schedule{grid-template-columns:1fr}.cycle-schedule div{flex-direction:row;justify-content:space-between;gap:10px}.cycle-schedule b{text-align:right}}
