/* v3.4 progressive seven-day roadmap */
.v33-week-plan{display:none!important}
.v34-progressive-week{border:1px solid rgba(255,255,255,.17);background:linear-gradient(155deg,rgba(255,255,255,.105),rgba(255,255,255,.045));box-shadow:0 18px 44px rgba(3,8,20,.25);backdrop-filter:blur(18px);border-radius:27px;padding:19px;margin:0 0 17px;color:#fff}
.v34-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}.v34-head h2{font-size:27px;margin:4px 0 5px;letter-spacing:-.03em}.v34-head p{font-size:12px;line-height:1.65;color:#d5e0f6;margin:0;max-width:780px}.v34-status{display:flex;flex-direction:column;align-items:flex-end;min-width:180px}.v34-status span{font-size:11px;color:#c7d2fe}.v34-status b{font-size:30px}.v34-status small{font-size:10px;color:#a7f3d0;text-align:right}
.v34-route{display:flex;align-items:center;gap:9px;margin:10px 0 13px}.v34-route>div{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);padding:9px 13px;border-radius:14px;display:flex;flex-direction:column;gap:2px}.v34-route>div.active{border-color:rgba(196,181,253,.42);background:linear-gradient(135deg,rgba(139,92,246,.24),rgba(56,189,248,.09))}.v34-route span{font-size:13px;font-weight:900}.v34-route small{font-size:10px;color:#cbd5e1}.v34-route i{font-style:normal;color:#67e8f9;font-weight:900}
.v34-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:14px}.v34-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,#38bdf8,#34d399);transition:.3s}
.v34-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.v34-day{position:relative;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.043);border-radius:18px;padding:12px 10px;min-height:183px;display:flex;flex-direction:column;gap:6px}.v34-day.current{border-color:rgba(125,211,252,.42);box-shadow:0 0 0 2px rgba(56,189,248,.09)}.v34-day.done{border-color:rgba(52,211,153,.38);background:rgba(52,211,153,.07)}.v34-check{position:absolute;right:9px;top:9px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:10px;font-weight:900}.v34-day.done .v34-check{background:#34d399;color:#052016}.v34-day-label{font-size:9px;letter-spacing:.12em;font-weight:900;color:#c7d2fe}.v34-icon{font-size:23px}.v34-day>b{font-size:13px;line-height:1.35}.v34-day p{font-size:10.5px;line-height:1.55;color:#d5e0f6;margin:0}.v34-actions{display:flex;gap:6px;margin-top:auto}.v34-actions button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);border-radius:10px;color:#fff;padding:7px 6px;font-size:9.5px;cursor:pointer;flex:1}.v34-actions .open{background:linear-gradient(135deg,rgba(139,92,246,.33),rgba(56,189,248,.14))}.v34-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:13px;padding-top:11px;border-top:1px solid rgba(255,255,255,.09)}.v34-footer span{font-size:10.5px;color:#cbd5e1}.v34-history{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);color:#fff;border-radius:11px;padding:8px 11px;font-size:10px;cursor:pointer;white-space:nowrap}
.v34-result-backdrop,.v34-history-backdrop{position:fixed;inset:0;z-index:1300;background:rgba(3,7,18,.74);display:grid;place-items:center;padding:18px;backdrop-filter:blur(12px)}.v34-result-modal,.v34-history-modal{width:min(610px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(255,255,255,.16);background:linear-gradient(165deg,#293a5f,#17243b);border-radius:28px;box-shadow:0 32px 100px rgba(0,0,0,.52);color:#fff;padding:24px;text-align:center}.v34-result-icon{font-size:53px}.v34-result-modal h2{font-size:27px;margin:6px 0}.v34-result-modal>p{font-size:13px;line-height:1.65;color:#d5e0f6}.v34-score-ring{width:105px;height:105px;border-radius:50%;margin:13px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(#34d399 var(--v34-score),rgba(255,255,255,.08) 0);position:relative}.v34-score-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#1b2944}.v34-score-ring b,.v34-score-ring span{position:relative;z-index:1}.v34-score-ring b{font-size:30px}.v34-score-ring span{font-size:9px;color:#cbd5e1}.v34-result-route{display:flex;align-items:center;justify-content:center;gap:12px;margin:15px 0}.v34-result-route span,.v34-result-route b{padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.06);font-size:13px}.v34-result-route b{background:rgba(52,211,153,.1);color:#a7f3d0}.v34-result-modal>small{display:block;color:#cbd5e1;font-size:10px}.v34-result-modal>button{margin-top:17px;border:0;border-radius:13px;padding:12px 18px;background:linear-gradient(135deg,#8b5cf6,#4f46e5);color:#fff;font-weight:900;cursor:pointer}
.v34-history-modal{text-align:left}.v34-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.v34-history-head h2{margin:4px 0 13px;font-size:24px}.v34-history-head button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-size:20px;cursor:pointer}.v34-history-list{display:flex;flex-direction:column;gap:8px}.v34-history-list article{display:grid;grid-template-columns:1fr auto;gap:3px 12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);border-radius:14px;padding:11px}.v34-history-list article span{font-weight:800}.v34-history-list article b{color:#a7f3d0}.v34-history-list article small{grid-column:1/-1;color:#cbd5e1}.v34-history-list>p{color:#cbd5e1}
@media(max-width:1200px){.v34-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.v34-head{align-items:flex-start;flex-direction:column}.v34-status{align-items:flex-start}.v34-route{overflow:auto}.v34-grid{grid-template-columns:repeat(2,1fr)}.v34-footer{align-items:flex-start;flex-direction:column}.v34-history{width:100%}}
@media(max-width:440px){.v34-grid{grid-template-columns:1fr}.v34-day{min-height:150px}.v34-result-route{flex-direction:column}.v34-result-route i{transform:rotate(90deg)}}
