*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#0f1419;color:#e8edf4;line-height:1.5;min-height:100vh}.page{max-width:520px;margin:0 auto;padding:2rem 1rem 3rem}.page--home{max-width:640px}.back-link{display:inline-block;margin-bottom:1rem;font-size:.875rem;color:#8b9cb3;text-decoration:none}.back-link:hover{color:#c9a227}.nav-cards{display:flex;flex-direction:column;gap:.85rem;margin-top:1.5rem}.nav-card{display:flex;align-items:stretch;gap:0;padding:0;text-decoration:none;color:inherit;background:#1a2332;border:1px solid #2d3a4f;border-radius:12px;overflow:hidden;transition:border-color .15s,transform .15s}.nav-card:hover{border-color:#c9a227;transform:translateY(-1px)}.nav-card__accent{width:4px;flex-shrink:0}.nav-card__body{flex:1;padding:1rem 1.1rem;min-width:0}.nav-card__title{margin:0 0 .35rem;font-size:1.05rem;font-weight:600;color:#e8edf4}.nav-card__desc{margin:0;font-size:.85rem;color:#8b9cb3}.nav-card__arrow{display:flex;align-items:center;padding-right:1rem;font-size:1.1rem;color:#8b9cb3}.nav-card:hover .nav-card__arrow{color:#c9a227}.page-header h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:600;color:#c9a227}.subtitle{margin:0;font-size:.875rem;color:#8b9cb3}.tabs{display:flex;gap:.5rem;margin-top:1.25rem}.tab{flex:1;padding:.55rem .75rem;font-size:.9rem;font-weight:600;color:#8b9cb3;background:#1a2332;border:1px solid #2d3a4f;border-radius:8px;cursor:pointer}.tab--active{color:#c9a227;border-color:#c9a227;background:#243044}.panel-desc{margin:0 0 1rem;font-size:.85rem;color:#8b9cb3}.panel[hidden]{display:none!important}.card{margin-top:1.25rem;padding:1.25rem;background:#1a2332;border:1px solid #2d3a4f;border-radius:12px}.form{display:flex;flex-direction:column;gap:1rem}.field label{display:block;margin-bottom:.35rem;font-size:.8rem;color:#8b9cb3}.field select,.field input{width:100%;padding:.55rem .7rem;font-size:1rem;color:#e8edf4;background:#243044;border:1px solid #2d3a4f;border-radius:8px}.field select:focus,.field input:focus{outline:none;border-color:#c9a227}.inputs{display:grid;gap:.75rem}.inputs--3{grid-template-columns:repeat(3,1fr)}.inputs--2{grid-template-columns:repeat(2,1fr)}@media(max-width:480px){.inputs--3,.inputs--2{grid-template-columns:1fr}.tab{font-size:.8rem;padding:.5rem .4rem}}.record-table{display:flex;flex-direction:column;gap:.5rem}.record-header,.record-row{display:grid;grid-template-columns:4.2rem 1fr 1fr;gap:.5rem;align-items:center}.record-header span{font-size:.75rem;color:#8b9cb3;text-align:center}.record-label{padding:.35rem .25rem;font-size:.8rem;font-weight:600;text-align:center;border-radius:4px;line-height:1.2}.record-label--light{color:#1a2332}.record-row input{width:100%;padding:.5rem .6rem;font-size:.95rem;color:#e8edf4;background:#243044;border:1px solid #2d3a4f;border-radius:8px;font-variant-numeric:tabular-nums}.record-row input:focus{outline:none;border-color:#c9a227}.record-summary{margin-top:1rem}.actions{display:flex;gap:.75rem}.btn{padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;border-radius:8px;border:none;cursor:pointer}.btn-primary{background:#c9a227;color:#1a1200}.btn-primary:hover{filter:brightness(1.06)}.btn-ghost{background:transparent;color:#8b9cb3;border:1px solid #2d3a4f}.result{margin-top:1.25rem}.result--nested{margin-top:1rem;padding:1rem;background:#141c28}.result--ok{border-color:#3dd68c}.result--error{border-color:#f5555d}.result-header{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;padding-left:.75rem;border-left:4px solid #c9a227}.result-header h2{margin:0;font-size:1rem;font-weight:600}.badge{padding:.15rem .55rem;font-size:.75rem;font-weight:600;color:#1a1200;border-radius:4px}.formula{margin:0 0 1rem;padding:.75rem 1rem;font-family:Consolas,Courier New,monospace;font-size:.95rem;background:#243044;border-radius:8px;color:#c9a227;word-break:break-all}.stats{border:1px solid #2d3a4f;border-radius:8px;overflow:hidden}.stat-row{display:flex;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid #2d3a4f}.stat-row:last-child{border-bottom:none}.stat-label{color:#8b9cb3;font-size:.9rem}.stat-value{font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.note{margin:.85rem 0 0;font-size:.85rem;color:#8b9cb3}.candidates{margin-top:1rem;padding-top:1rem;border-top:1px solid #2d3a4f}.candidates h3{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:#8b9cb3}.candidates ul{margin:0;padding-left:1.1rem;font-size:.85rem;color:#c8cdd4}.candidates li{margin:.35rem 0}.result-title{margin:0 0 .35rem;font-weight:600;color:#f5555d}.result-message{margin:0;font-size:.9rem;color:#e8edf4}
