:root{color:#17211f;background:#f6f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#12201f;color:#eef7f4;display:flex;flex-direction:column;gap:28px;padding:28px 18px}.brand{align-items:center;display:flex;gap:12px;padding:4px 8px}.brand svg{color:#f0b45b;height:32px;width:32px}.brand strong,.brand span{display:block}.brand strong{font-size:1.1rem}.brand span{color:#bad1cb;font-size:.86rem}nav{display:grid;gap:8px}.nav-link{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#d8e9e4;display:flex;gap:10px;min-height:44px;padding:10px 12px;text-align:left}.nav-link svg{height:19px;width:19px}.nav-link:hover,.nav-link.active{background:#213a37;border-color:#466b65;color:#fff}.main{padding:42px}.page-header{margin:0 0 28px;max-width:920px}.page-header span{color:#0f766e;display:block;font-size:.84rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.page-header h1{font-size:clamp(2rem,4vw,4.2rem);line-height:1.04;margin:8px 0 14px}.page-header p{color:#4b5c58;font-size:1.08rem;margin:0;max-width:760px}.feature-grid,.card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-card,.small-card,.panel{background:#fff;border:1px solid #dce4df;border-radius:8px;box-shadow:0 16px 36px #12201f0f}.feature-card{color:inherit;display:grid;gap:12px;min-height:196px;padding:22px;text-align:left}.feature-card:hover{border-color:#0f766e;transform:translateY(-1px)}.feature-card svg{color:#b45309;height:28px;width:28px}.feature-card strong,.small-card strong{font-size:1.08rem}.feature-card span,.small-card span,.note,.model-name,.readable p{color:#52635f}.workspace-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr)}.plot-panel{grid-column:1 / -1}.panel{padding:22px}.panel h2{font-size:1.14rem;margin:0 0 16px}label{color:#344541;display:grid;font-weight:700;gap:8px;margin-bottom:16px}input,select{background:#fbfcfa;border:1px solid #cddbd5;border-radius:7px;color:#17211f;min-height:44px;padding:9px 10px;width:100%}input:focus,select:focus{border-color:#0f766e;outline:3px solid rgba(15,118,110,.15)}.constants,.assumption-list,.formula-list{background:#f4f7f2;border-radius:8px;display:grid;gap:7px;margin-top:14px;padding:14px}.constants span,.assumption-list span{color:#52635f;font-size:.94rem}.messages{display:grid;gap:8px;margin:14px 0}.message{border-radius:7px;margin:0;padding:10px 12px}.message.error{background:#fee2e2;color:#991b1b}.message.warning{background:#fef3c7;color:#92400e}.message.info{background:#e0f2fe;color:#075985}.result-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border:1px solid #dde6e1;border-radius:8px;display:grid;gap:4px;min-height:114px;padding:14px}.metric span,.metric small{color:#52635f}.metric strong{font-size:1.55rem}code{background:#162320;border-radius:6px;color:#ecfdf5;display:block;padding:8px 10px}.chart-box{height:340px;width:100%}.rankine-chart-box{height:430px}.compact-messages{margin-top:0}.empty-chart{align-items:center;background:#f4f7f2;border:1px dashed #a9bbb4;border-radius:8px;color:#52635f;display:flex;height:100%;justify-content:center;margin:0;text-align:center}.small-card{display:grid;gap:8px;min-height:120px;padding:20px}.cycle-selector{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.cycle-card{background:#fff;border:1px solid #dce4df;border-radius:8px;display:grid;gap:6px;min-height:92px;padding:16px}.cycle-card span{color:#52635f}.active-cycle{border-color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e}.cycle-workspace{margin-bottom:24px}.result-section{margin-top:18px}.result-section h3,.rankine-states h2{font-size:1rem;margin:0 0 10px}.source-line{background:#f4f7f2;border-radius:8px;display:grid;gap:4px;margin-top:14px;padding:14px}.source-line span{color:#52635f}.text-value{font-size:1rem!important;line-height:1.25}.rankine-states{margin:22px 0}.state-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.compact-state-grid{margin-top:18px}.state-card{background:#fff;border:1px solid #dce4df;border-radius:8px;box-shadow:0 16px 36px #12201f0f;padding:18px}.state-card dl{display:grid;gap:8px;margin:14px 0 0}.state-card dl div{display:flex;gap:12px;justify-content:space-between}.state-card dt{color:#52635f;font-weight:700}.state-card dd{margin:0;text-align:right}.how-panel{margin-top:20px}.two-column{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(280px,.8fr) minmax(300px,1.2fr)}.input-pair-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.state-definition-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.state-input-card{background:#f4f7f2;border:1px solid #dce4df;border-radius:8px;padding:14px}.state-input-card h3,.input-subhead{font-size:1rem;margin:0 0 12px}.input-subhead{margin-top:18px}.example-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.example-button{background:#fff;border:1px solid #dce4df;border-radius:8px;color:inherit;display:grid;gap:6px;min-height:98px;padding:14px;text-align:left}.example-button:hover{border-color:#0f766e}.example-button span{color:#52635f;font-size:.92rem}.checkbox-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.check-label{align-items:center;border:1px solid #dce4df;border-radius:8px;display:flex;font-weight:700;gap:8px;margin:0;min-height:44px;padding:10px}.check-label input{min-height:auto;width:auto}.workflow{color:#344541;margin:0;padding-left:22px}.workflow li{margin:8px 0}.workflow li span{color:#52635f;display:block;margin-top:4px}.readable{max-width:900px}.readable p{font-size:1.02rem;margin:0 0 16px}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.main{padding:26px 18px 40px}.workspace-grid,.two-column,.result-grid,.input-pair-grid,.state-definition-grid,.checkbox-grid{grid-template-columns:1fr}}
