.platform-demo{width:min(98vw,1160px);height:min(98vh,368px);padding:clamp(4px,1.3vmin,10px);border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:4px;overflow:hidden;font:500 clamp(13px,3.6vmin,16px)/1.3 ui-sans-serif,-apple-system,sans-serif}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,1vmin,9px);flex:1;min-height:0}
.platform-panel{border:1px solid var(--line);border-radius:8px;min-width:0;padding:clamp(6px,1.5vmin,14px);display:flex;flex-direction:column;overflow:hidden}
.platform-panel h2{margin:0;display:flex;align-items:center;gap:7px;font-size:clamp(15px,4vmin,18px);font-weight:700;white-space:nowrap}
.platform-panel h2 b{display:grid;place-items:center;flex:none;width:1.45em;height:1.45em;border:1px solid var(--line);border-radius:50%;font-size:.85em;color:var(--accent)}
.benefit{justify-content:space-between}.flow{display:flex;align-items:center;justify-content:center;gap:3px;min-height:0;flex:1}.flow-chip{border:1px solid var(--line);border-radius:5px;padding:5px 4px;text-align:center;font-size:clamp(12px,3.6vmin,15px);overflow-wrap:anywhere;min-width:0;max-width:30%;transition:border-color .2s,color .2s}.flow-chip.active{border-color:var(--accent);color:var(--accent);font-weight:750}.flow-arrow{color:var(--muted);flex:none}.result{margin:0;font-size:clamp(15px,4vmin,18px);font-weight:700;overflow-wrap:anywhere;color:var(--fg)}
.free-metrics{display:flex;flex-direction:column;justify-content:center;gap:clamp(9px,3vmin,24px);flex:1}.metric-line{display:flex;justify-content:space-between;gap:6px;align-items:baseline;font-size:.86em}.metric-line span{color:var(--muted)}.metric-line strong{font-variant-numeric:tabular-nums;text-align:right}.meter{margin-top:6px;height:7px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.meter i{display:block;height:100%;background:var(--accent);animation:meter-in .8s ease-out both}@keyframes meter-in{from{width:0}}
.price-core{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0}.price-usage{display:flex;align-items:baseline;justify-content:space-between;gap:5px;font-size:.83em}.price-usage span{color:var(--muted)}.price-usage strong{font-variant-numeric:tabular-nums;text-align:right}.price input{width:100%;margin:clamp(8px,2vmin,15px) 0;accent-color:var(--accent)}.monthly{display:flex;align-items:baseline;gap:4px}.monthly strong{font-size:clamp(27px,8vmin,38px);color:var(--accent);font-variant-numeric:tabular-nums}.monthly small{color:var(--muted)}.price-note{margin:4px 0 0;color:var(--muted);font-size:.74em;overflow-wrap:anywhere}.platform-source{text-align:right;color:var(--muted);font-size:clamp(8px,1.3vmin,10px);line-height:1.1}
@media(min-width:700px){.flow{flex-direction:column;gap:clamp(3px,1vmin,7px);padding:clamp(6px,1.5vmin,12px) 0}.flow-chip{display:grid;place-items:center;width:min(100%,290px);max-width:none;flex:1;max-height:clamp(42px,12vmin,56px);padding:clamp(7px,1.8vmin,11px);font-size:clamp(15px,4vmin,19px);line-height:1.2}.flow-arrow{transform:rotate(90deg);font-size:clamp(15px,4vmin,19px);line-height:1}.result{font-size:clamp(19px,5vmin,24px);line-height:1.25}.free-metrics{gap:clamp(12px,4vmin,28px)}.free-metric{display:flex;flex-direction:column;justify-content:center;flex:1}.metric-line{align-items:center;font-size:clamp(15px,3.8vmin,18px)}.metric-line strong{font-size:clamp(20px,5.5vmin,28px)}.meter{height:clamp(10px,2.8vmin,14px);margin-top:clamp(9px,2.5vmin,15px)}}
html:lang(en) .ko{display:none}html:not(:lang(en)) .en{display:none}
@media(max-width:500px){.platform-demo{height:100%;width:100%;border-radius:0;padding:4px;gap:2px;font-size:10px}.platform-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1.12fr) minmax(0,1fr);gap:3px}.platform-panel{padding:5px 7px;border-radius:5px}.platform-panel h2{font-size:11px;gap:4px}.free{display:none}.flow-chip{padding:2px 3px;font-size:9px}.flow{margin:1px 0}.result{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-core{display:grid;grid-template-columns:1fr auto;gap:0 5px;align-items:center}.price-usage{grid-column:1/3;font-size:9px}.price input{margin:1px 0;grid-column:1}.monthly{grid-column:2;grid-row:2;white-space:nowrap}.monthly strong{font-size:17px}.monthly small{font-size:8px}.price-note{grid-column:1/3;font-size:8px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-source{font-size:8px}}
const points=[{"usage":0,"cost":0},{"usage":73,"cost":0},{"usage":146,"cost":0},{"usage":219,"cost":0},{"usage":292,"cost":0},{"usage":365,"cost":0},{"usage":438,"cost":0},{"usage":511,"cost":0},{"usage":584,"cost":0},{"usage":657,"cost":0},{"usage":730,"cost":0},{"usage":803,"cost":0.611479244},{"usage":876,"cost":1.222958488},{"usage":949,"cost":1.834437732},{"usage":1022,"cost":2.445916976},{"usage":1095,"cost":3.05739622},{"usage":1168,"cost":3.668875464},{"usage":1241,"cost":4.280354708},{"usage":1314,"cost":4.891833952},{"usage":1387,"cost":5.503313196},{"usage":1460,"cost":6.11479244}];const slider=document.getElementById('platform-slider');const usage=document.getElementById('platform-usage');const cost=document.getElementById('platform-cost');const unit={"ko":"VM시간","en":"VM-hours"};let manual=false;function paint(){const point=points[Number(slider.value)];usage.textContent=point.usage.toLocaleString()+' '+(document.documentElement.lang==='en'?unit.en:unit.ko);cost.textContent=point.cost===null?'—':'$'+point.cost.toFixed(2)}paint();let direction=1;if(true)setInterval(()=>{if(manual)return;const next=Number(slider.value)+direction;if(next<0||next>=points.length){direction*=-1;return}slider.value=String(next);paint()},950);slider.addEventListener('input',()=>{manual=true;paint()});const chips=[...document.querySelectorAll('[data-flow]')];let frame=0;setInterval(()=>{chips.forEach((chip,index)=>chip.classList.toggle('active',index===frame));frame=(frame+1)%chips.length},950);