.column{background:var(--surface-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.chart-column{min-width:0}.input-group{margin-bottom:1rem}.input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.input-group label{display:block;margin-bottom:.4rem;color:var(--text-primary);font-weight:500}.input-group input{width:100%;padding:.7rem .8rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font:inherit;color:var(--text-primary);background:var(--surface-color)}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646ef61f}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.secondary-button{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.secondary-button:hover{background:var(--background-color);border-color:var(--primary-color)}.helper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.helper-item{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .95rem;border-radius:var(--border-radius);border:1px solid var(--border-color);background:linear-gradient(180deg,#646ef60a,#fffffff2)}.helper-item-wide{grid-column:1 / -1}.helper-item .label{font-size:.85rem;color:var(--text-secondary)}.helper-item span:last-child{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.result-item{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .95rem;border-radius:var(--border-radius);border:1px solid var(--border-color);background:var(--background-color)}.result-item .label{font-size:.85rem;color:var(--text-secondary)}.result-item span:last-child{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.result-item.emphasis{background:linear-gradient(135deg,#646ef61f,#ff980024);border-color:#646ef640}.formula-card{margin-top:1rem;padding:1rem;border-radius:var(--border-radius);border:1px solid rgba(100,110,246,.18);background:linear-gradient(180deg,#646ef60f,#ffffffeb)}.formula-card h3{margin-bottom:.35rem;font-size:1rem}.formula-card p{color:var(--text-secondary);margin-bottom:.35rem}.formula-card p:last-child{margin-bottom:0}.chart-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.chart-header p{color:var(--text-secondary)}.legend-chip{padding:.55rem .8rem;border-radius:999px;background:#ff98001f;color:#9b5a00;font-size:.85rem;font-weight:600;white-space:nowrap}.chart-frame{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--border-color);background:radial-gradient(circle at 20% 20%,rgba(100,110,246,.08),transparent 32%),linear-gradient(180deg,#fff,#f7f8fc);box-shadow:inset 0 1px #ffffffe6}#newmark-chart{display:block;width:100%;height:auto;aspect-ratio:1;touch-action:none;cursor:crosshair}#chart-hint{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);padding:.55rem .9rem;border-radius:999px;background:#212121d1;color:#fff;font-size:.85rem;pointer-events:none}#chart-scale-readout{position:absolute;top:1rem;left:1rem;padding:.55rem .8rem;border-radius:12px;background:#ffffffe6;border:1px solid rgba(33,33,33,.1);color:var(--text-primary);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-sm);pointer-events:none}.chart-grid,.drawing-layer{pointer-events:none}.chart-cell{fill:#646ef608;stroke:#21212133;stroke-width:1}.chart-cell.covered{fill:#ff980061;stroke:#c26c008c}.chart-circle{fill:none;stroke:#21212129;stroke-width:1.2}.chart-axis{stroke:#21212138;stroke-width:1}.chart-label{fill:var(--text-secondary);font-family:Inter,sans-serif;font-size:15px}.scale-bar,.scale-bar-cap{stroke:#212121bf;stroke-width:2.5}.scale-bar-label{fill:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;font-weight:600}.polygon-preview{fill:none;stroke:#ff9800e6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.polygon-final{fill:#ff98003d;stroke:#ff9800f2;stroke-width:3;stroke-linejoin:round}@media(max-width:900px){.results-grid,.helper-grid{grid-template-columns:1fr}.chart-header{flex-direction:column}.legend-chip{white-space:normal}}@media(max-width:640px){.input-row{grid-template-columns:1fr;gap:0}.button-row{flex-direction:column}.button-row button{width:100%}}
