/* Native chart forms; no behavioral or data logic in styles. */
body.index-page #chartSubTabs .ai-market-tab{background:#edf3ef!important;color:#587361!important;border:1px solid #d4e2d8!important;border-bottom:0!important;border-radius:14px 14px 0 0;min-height:48px;height:auto!important;white-space:normal;line-height:1.7;text-align:center;justify-content:center;align-items:center;box-shadow:none}
body.index-page #chartSubTabs .ai-market-tab.active{background:#2d7859!important;color:#fff!important;border-color:#2d7859!important}
body.index-page .guest-chart-card{padding:20px;border:1px solid #dce6df;border-radius:18px 0 18px 18px;background:#fff}
.guest-chart-description{font-size:12px;color:#3b604d;line-height:1.95;padding:16px 18px;border-radius:14px;margin-bottom:14px;background:linear-gradient(115deg,#f0f8f1,#f9f9fc);border:1px solid #88b69a;overflow-wrap:anywhere}
.chart-animated-frame{animation:chart-frame-glow 3.4s ease-in-out infinite}
.guest-chart-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-bottom:16px;flex-wrap:wrap}
.chart-guide-link{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #c6dbce;border-radius:12px;background:#edf6ef;color:#316d50;text-decoration:none;font-size:12px;line-height:1.8;white-space:normal}
.chart-time-select select{min-height:44px;max-width:100%;padding:10px 30px 10px 14px;border:1px solid #c4d7ca;border-radius:12px;background:#3b7e60;color:#fff;font-family:inherit;font-size:12px;line-height:1.8}
.chart-upload-warning{display:flex;gap:10px;align-items:flex-start;border:1px solid #dd7e7e;background:#fff5f3;padding:13px 14px;border-radius:12px;font-size:12px;line-height:1.9;color:#b53535;margin-bottom:12px;overflow-wrap:anywhere}
.chart-upload-warning i{flex-shrink:0;font-size:17px}.chart-upload-warning strong{font-weight:600}
.guest-chart-empty{border:1px dashed #c8d9ce;min-height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f7faf7;border-radius:14px;text-align:center;padding:20px;color:#7c9485;font-size:12px}
.guest-chart-empty i{font-size:42px;color:#64977b}
.guest-chart-image{border:1px solid #d7e1dc;background:#f6f8f6;border-radius:14px;padding:12px;display:flex;justify-content:center;margin-bottom:10px}.guest-chart-image img{max-width:100%;max-height:270px;object-fit:contain;border-radius:8px}
.chart-symbol-field{min-width:0;border:1px solid #dce8df;border-radius:14px;padding:14px 16px;margin:18px 0;background:#fafcf9}.chart-symbol-field legend{float:none;width:auto;font-size:13px;font-weight:600;color:#315f46;padding:0 8px;margin:0}.chart-symbol-field label{font-size:11px;line-height:1.9;color:#789181;display:block;margin-bottom:8px;overflow-wrap:anywhere}.chart-symbol-field input{width:100%;min-width:0;min-height:46px;height:auto;border:1px solid #ccdcd2;border-radius:10px;background:white;padding:11px 12px;font-family:inherit;font-size:12px;color:#284835}.chart-symbol-hint{font-size:10px;line-height:1.9;color:#82988b;margin:7px 0 0}.chart-quote-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;font-size:10px;border:1px solid #d4e4d8;border-radius:7px;background:#edf6ef;padding:3px 8px;margin:0 0 8px;color:#4d755b}
.chart-email-row{display:flex;align-items:stretch;gap:8px}.chart-email-row label{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d4dfd8;background:#fff;border-radius:11px}.chart-email-row input{width:100%;min-width:0;border:0;padding:4px 0;outline:0;color:#395345;font-family:inherit;font-size:12px;background:transparent}.chart-email-row i{color:#729281}
body.index-page .guest-chart-button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:11px 15px;min-height:45px;height:auto;width:auto;max-width:100%;border:1px solid #2c7b54;border-radius:12px;background:linear-gradient(110deg,#2c825e,#479775,#2c7655);color:#fff!important;font-family:inherit;font-size:12px;line-height:1.8;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:0 4px 10px #36775315;animation:chart-button-glow 3s ease-in-out infinite;overflow:hidden}
.guest-chart-button::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,#ffffff36 50%,transparent 70%);transform:translateX(-120%);animation:chart-button-shine 5s ease-in-out infinite}
.guest-chart-button:hover{filter:brightness(1.04)}.guest-chart-button:focus-visible,.chart-guide-link:focus-visible,.chart-remove-image:focus-visible,.chart-native-file:focus-within{outline:3px solid #a4ccae;outline-offset:3px}.chart-run-button{width:100%!important;margin-top:12px}
.guest-chart-image-actions{margin-top:15px}.guest-chart-image-actions>form:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chart-native-file{flex:1;min-width:180px;font-size:11px;color:#587962;line-height:1.9}.chart-native-file input{display:block;width:100%;max-width:100%;padding-top:6px;font-family:inherit;font-size:11px;color:#5b7966}.chart-native-file input::file-selector-button{border:1px solid #cbddd1;background:#edf6ef;color:#397655;border-radius:8px;padding:8px 10px;margin-right:7px;font-family:inherit;cursor:pointer}.chart-remove-image{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:40px;height:auto;max-width:100%;padding:9px 12px;border:1px solid #ebd0ca;background:#fff5f2;color:#a15446;border-radius:10px;font-family:inherit;font-size:11px;line-height:1.8;white-space:normal;margin-top:10px;cursor:pointer}.chart-upload-note{font-size:10px;color:#8b9b91;line-height:1.9;margin:11px 0}.chart-verify-open{display:flex;justify-content:center;align-items:center;min-height:38px;height:auto;padding:8px 12px;border:1px solid #d7e3db;border-radius:10px;color:#60816c;background:#f2f7f2;font-family:inherit;font-size:11px;line-height:1.9;cursor:pointer}
.chart-form-errors{padding:14px;background:#fff3f0;border:1px solid #e5a392;color:#a54839;font-size:12px;border-radius:12px;line-height:1.9;margin-bottom:15px;overflow-wrap:anywhere}.chart-form-notice{padding:12px 14px;border:1px solid #d1e4d4;background:#eef8ef;color:#417454;font-size:12px;line-height:1.9;border-radius:12px;margin-bottom:14px}
.chart-native-modal .modal-dialog{max-width:450px}.chart-native-modal .modal-content{position:relative!important;border:1px solid #d3e4d6!important;border-radius:25px!important;background:linear-gradient(140deg,#fff,#f5faf4)!important;box-shadow:0 28px 90px #234b3930}.chart-native-modal .modal-body{padding:58px 26px 26px;text-align:center;font-family:Meiryo,'メイリオ',sans-serif}.chart-native-modal .btn-close{position:absolute!important;top:14px!important;right:14px!important;z-index:3!important}.chart-modal-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:19px;background:#e5f2e8;color:#488562;font-size:27px;margin:0 auto 16px;border:1px solid #d1e6d5}.chart-section-eyebrow{display:block;font-size:9px;letter-spacing:.14em;color:#84a08b;margin-bottom:10px}.chart-native-modal h2{font-size:21px;color:#315d45;line-height:1.8;margin:0 0 15px;overflow-wrap:anywhere}.chart-native-modal p{font-size:12px;line-height:2;color:#73877a;overflow-wrap:anywhere}.chart-instruction-copy{padding:13px;border:1px solid #d7e4d8;border-radius:12px;background:#f3f8f0;color:#50754f!important}.chart-instruction-image{max-height:285px;width:auto;max-width:100%;object-fit:contain;border-radius:15px;margin:3px auto 20px;display:block}.chart-modal-button{width:100%!important;min-height:48px!important;font-size:13px!important;margin-top:16px}.chart-native-otp{display:block;width:min(260px,100%);min-height:66px;height:auto;text-align:center;letter-spacing:.35em;text-indent:.35em;font-size:27px;border:1px solid #bbd4c3;background:#fff;border-radius:14px;font-family:inherit;color:#2d6d4b;margin:22px auto;padding:13px 12px;box-shadow:inset 0 2px 7px #41725306}.chart-native-otp:focus{outline:3px solid #d5eadb;border-color:#609b74}.chart-otp-email{border:1px solid #dce6dd;background:#f1f7f2;border-radius:9px;padding:7px 10px;line-height:1.9!important;overflow-wrap:anywhere}.chart-modal-warning{background:#fff0e9;color:#bc7253;border-color:#edd4c5}
.chart-native-result{margin-top:25px;padding:20px;border:1px solid #d1e2d6;background:#f4faf4;border-radius:17px;overflow-wrap:anywhere}.chart-native-result h3{font-size:20px;color:#336548;margin:0 0 10px}.chart-native-result h4{font-size:15px;line-height:1.9;color:#436f52}.chart-native-result p{font-size:12px;line-height:2}.chart-native-result img{max-width:100%;max-height:200px;display:block;margin:14px auto}.chart-result-symbol{color:#739582}.chart-result-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chart-result-numbers>div{padding:15px 12px;text-align:center;background:#fff;border:1px solid #d2e3d7;border-radius:12px}.chart-result-numbers span{display:block;font-size:11px;color:#70967c}.chart-result-numbers strong{display:block;font-size:24px;color:#35714f;margin-top:8px}.chart-native-result small{font-size:10px;line-height:1.9;color:#7b9080;display:block}
@keyframes chart-frame-glow{0%,100%{border-color:#bddac6;box-shadow:0 0 0 0 #49936708}50%{border-color:#5c9e77;box-shadow:0 0 0 3px #49936714}}
@keyframes chart-button-glow{0%,100%{box-shadow:0 4px 12px #36775315}50%{box-shadow:0 5px 19px #36775335}}
@keyframes chart-button-shine{0%,65%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}
@media(max-width:600px){body.index-page .guest-chart-card{padding:15px 12px}.guest-chart-description{padding:12px 13px;font-size:11px}.chart-upload-warning{font-size:11px;padding:11px 10px}.chart-symbol-field{padding:12px 10px}.chart-symbol-field input{font-size:11px}.chart-email-row{flex-wrap:wrap}.chart-email-row label{flex-basis:100%;min-height:44px}.chart-email-row .guest-chart-button{width:100%!important}.chart-native-modal .modal-body{padding:54px 18px 22px}.chart-native-modal h2{font-size:19px}#chart-native-warning-stock h2,#chart-native-warning-fx h2,#chart-native-warning-crypto h2{font-size:17px;word-break:normal;overflow-wrap:break-word}.chart-native-modal p{font-size:11px}.chart-instruction-image{max-height:245px}.guest-chart-tools{gap:7px}.chart-guide-link{font-size:11px;padding:9px 12px}.chart-native-file{min-width:150px}.guest-chart-image-actions>form:first-child>.guest-chart-button{width:100%}.chart-result-numbers{gap:8px}.chart-result-numbers strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.chart-animated-frame,.guest-chart-button,.guest-chart-button::before{animation:none!important}.guest-chart-button::before{display:none}}

/* Compact screenshot warning is inside the upload frame, not a separate large panel. */
.guest-chart-upload-area{border:1px dashed #c8d9ce;border-radius:14px;background:#f7faf7;padding:12px;margin-bottom:10px;overflow:hidden}
.guest-chart-upload-area .chart-upload-warning-compact{width:fit-content;max-width:100%;margin:0 auto 10px;padding:7px 10px;font-size:10px;line-height:1.85;gap:7px;border-color:#e8b8b8;background:#fff8f6;text-align:left}
.guest-chart-upload-area .chart-upload-warning-compact i{font-size:13px;color:#b53535}
.guest-chart-upload-area .guest-chart-empty{min-height:90px;border:0;margin:0;padding:10px;background:transparent}
.guest-chart-upload-area .guest-chart-image{border:0;margin:0;padding:0;background:transparent}
body.index-page .chart-start-button:disabled{background:#e5e9e6!important;color:#8b9690!important;border-color:#d8dfda!important;box-shadow:none!important;animation:none!important;cursor:not-allowed;transform:none}
body.index-page .chart-start-button:disabled::before{display:none}
body.index-page .chart-start-button.is-ready{animation:chart-start-ready 2.6s ease-in-out infinite}
@keyframes chart-start-ready{0%,100%{transform:translateY(0);box-shadow:0 4px 12px #36775335}50%{transform:translateY(-2px);box-shadow:0 6px 22px #36775365}}
@media(max-width:600px){.guest-chart-upload-area{padding:9px}.guest-chart-upload-area .chart-upload-warning-compact{font-size:9px;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){body.index-page .chart-start-button.is-ready{animation:none!important}}

.chart-upload-trigger{width:fit-content!important;margin-left:auto;user-select:none}
.chart-upload-trigger:focus-visible{outline:3px solid #a4ccae;outline-offset:3px}
.chart-upload-trigger[aria-busy=true]{pointer-events:none;opacity:.7}
.chart-suggestions[hidden]{display:none!important}
.chart-suggestions{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;margin-top:8px;padding:6px;border:1px solid #bfd7c7;border-radius:11px;background:#fff;box-shadow:0 5px 16px #326b4912}
body.index-page .chart-suggestion{display:flex;justify-content:center;align-items:center;flex-shrink:0;min-height:42px;height:auto;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:#f5faf5;color:#335a43;font-family:inherit;font-size:11px;line-height:1.85;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-sizing:border-box}
body.index-page .chart-suggestion:hover,body.index-page .chart-suggestion[aria-selected=true]{background:#e7f3e9;border-color:#9ec4aa;color:#22563a}
.chart-suggestion:focus-visible{outline:2px solid #609c75;outline-offset:-2px}
@media(max-width:600px){.chart-upload-trigger{width:100%!important}.chart-suggestions{max-height:210px}.chart-suggestion{font-size:10px!important}}

/* Upload instructions stay inside the source-image frame. */
.guest-chart-card .guest-chart-upload-area{display:flex;flex-direction:column;align-items:stretch;padding:18px 14px 12px;gap:12px;min-height:210px;height:auto}
.guest-chart-card .guest-chart-empty{min-height:75px;margin:0;display:grid;place-items:center}
.guest-chart-card .chart-upload-warning-compact{position:static!important;inset:auto!important;order:0;width:100%;max-width:none;margin:0!important;padding:8px 10px;font-size:11px!important;text-align:center;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;line-height:1.7}
.guest-chart-card .chart-upload-note{position:static;align-self:flex-start;text-align:left;margin:0!important;padding:0;color:#677f72;font-size:10px;line-height:1.65;overflow-wrap:anywhere;width:100%}
.guest-chart-card .guest-chart-image{width:100%;margin:0}

.chart-image-status{padding:10px 12px;background:#eef8f1;border:1px solid #c9dfd0;border-radius:10px;font-size:11px;line-height:1.8;color:#286448;text-align:left;overflow-wrap:anywhere}
.chart-image-status.is-error{color:#b74646;background:#fff1f1;border-color:#eebbbb}
.guest-chart-card [hidden]{display:none!important}
.chart-upload-trigger[aria-busy=true]{opacity:.65;pointer-events:none}

/* Upload and reset stay on one content-aware row on desktop and phones. */
.guest-chart-card .guest-chart-image-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:9px;flex-wrap:nowrap;min-width:0;margin:14px 0 0}
.guest-chart-card .guest-chart-image-actions .chart-upload-trigger{margin:0;width:auto!important;min-width:0}
.guest-chart-card .chart-image-remove-form{display:flex;align-items:stretch;margin:0;min-width:0}
.guest-chart-card .chart-remove-image{margin:0;min-height:45px;height:auto;padding:10px 13px;white-space:normal;font-family:Meiryo,'メイリオ',sans-serif}
.guest-chart-card .guest-chart-upload-area.is-drag-over{border:2px dashed #4d9c6f;background:#eaf7ee;box-shadow:0 0 0 4px #78bb8a30}
.guest-chart-card .chart-start-errors{white-space:pre-line;margin:12px 0}
.guest-chart-card .chart-time-select.is-invalid,.guest-chart-card .guest-chart-upload-area.is-invalid,.guest-chart-card .chart-symbol-field.is-invalid,.guest-chart-card .chart-email-row>label.is-invalid{border:2px solid #d45f5f!important;border-radius:13px;animation:chart-missing-field 1.6s ease-in-out infinite}
.guest-chart-card .chart-time-select.is-invalid select{border-color:#d45f5f!important}
@keyframes chart-missing-field{0%,100%{box-shadow:0 0 0 2px #db62621c}50%{box-shadow:0 0 0 5px #db626247,0 0 18px #d9606033}}
@media(max-width:600px){.guest-chart-card .guest-chart-image-actions{gap:7px}.guest-chart-card .guest-chart-image-actions .chart-upload-trigger{flex:1;font-size:10px;padding:9px 8px}.guest-chart-card .chart-image-remove-form{flex:0 0 90px}.guest-chart-card .chart-remove-image{width:100%;font-size:10px;padding:9px 7px;gap:5px}}
@media(prefers-reduced-motion:reduce){.guest-chart-card .is-invalid{animation:none!important;box-shadow:0 0 0 3px #db62622b}}
