:root{--bg:#000;--fg:#fff;--muted:#bbb;--accent:#fff;--danger:#ff4d4d;--zone-extreme:#a855f7;--zone-extreme-bg:rgba(168,85,247,.28);--zone-deep:#3b82f6;--zone-deep-bg:rgba(59,130,246,.28);--zone-nutritional:#22c55e;--zone-nutritional-bg:rgba(34,197,94,.28);--zone-light:#eab308;--zone-light-bg:rgba(234,179,8,.28);--zone-none:#aaa;--zone-none-bg:rgba(170,170,170,.14)}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:var(--bg);color:var(--fg);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus{outline:2px solid #fff;outline-offset:1px}button:focus,input:focus,textarea:focus,select:focus{outline:2px solid #fff}.container{max-width:800px;margin:0 auto;padding:.5rem .75rem}.topbar{border-bottom:1px solid #111;padding:.4rem 0}.topbar h1{margin:0;font-size:1rem;font-weight:700}.main{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;max-width:800px;margin:0 auto}.card{background:#0a0a0a;border:1px solid #222;padding:.75rem;border-radius:12px}.card h2{margin:0 0 .5rem;font-size:1.1rem;letter-spacing:-.02em;font-weight:600;text-align:center}.row{margin-bottom:.6rem;display:flex;flex-direction:column;gap:.25rem}.row label{font-size:.8rem;color:var(--muted);font-weight:500}.input-row{display:flex;gap:.4rem;align-items:center;flex-wrap:nowrap}.input-row input{flex:1;min-width:0}.input-row select{flex:0 0 7rem}.input-row input,.input-row select,input,textarea{background:#141414;border:1px solid #333;color:var(--fg);padding:.5rem .6rem;border-radius:8px;font-size:.9rem;transition:all .15s ease}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=number],input[type=text]{font-size:.95rem}input:focus,textarea:focus,select:focus{outline:none;border-color:#555;background:#1a1a1a}textarea{resize:vertical;min-height:2rem}.actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:center}button{background:#fff;border:1px solid #fff;color:#000;padding:.45rem 1rem;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #ffffff1a}button:active{transform:translateY(0)}button.outline{background:transparent;border:1px solid #444;color:#fff}button.outline:hover{border-color:#777;background:#111}button.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}button.danger:hover{background:#ff4d4d1a}button.muted{background:transparent;border:1px dashed #333;color:var(--muted);padding:.4rem .6rem;font-size:.8rem}.result{margin-top:.75rem;padding:.75rem;border-radius:10px;background:linear-gradient(145deg,#111,#050505);border:1px solid #2a2a2a;text-align:center}.controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #222;justify-content:center}.controls select{width:auto;padding:.35rem .6rem;font-size:.8rem}.controls label{font-size:.8rem;color:var(--muted)}.checkbox{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:#fff;cursor:pointer;margin:0;padding:0}#gkiChart{margin-top:.25rem;margin-bottom:.5rem;max-height:200px}.history-actions{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem}.history-actions button{padding:.35rem .7rem;font-size:.8rem}#records{list-style:none;padding:0;margin:0}#records li{padding:.35rem .5rem;border-top:1px solid #1a1a1a;border-radius:8px;display:flex;flex-direction:row;align-items:center;gap:.5rem}.record-left{display:flex;flex-direction:column;flex:1;gap:.1rem}.record-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.record-gki{font-size:1.15rem;font-weight:800;min-width:50px;flex:0 0 auto}.record-info{color:#ccc;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.record-level{font-size:.75rem;font-weight:600;padding-top:2px}.record-note{font-size:.75rem;color:#fff;padding-top:2px}.record-actions{display:flex;gap:.2rem;flex:0 0 auto;align-self:center}.record-actions button,.small{padding:.2rem .4rem;font-size:.72rem;border-radius:5px;background:#111;color:#fff;border:1px solid #333}.small.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.show-more-link{text-align:center;padding:.4rem 0;cursor:pointer;color:var(--muted);font-size:.8rem;text-decoration:underline}.show-more-link:hover{color:#fff}.info .text{color:#ccc;line-height:1.5;font-size:.85rem;max-width:600px;margin:0 auto}.info .text p{margin:.3rem 0}.timestamp-display{color:var(--muted);font-size:.75rem;display:block;margin-top:.15rem}table{width:100%;border-collapse:separate;border-spacing:0;margin:.75rem 0;border-radius:8px;overflow:hidden;border:1px solid #222}th,td{border-bottom:1px solid #222;padding:.5rem .6rem;text-align:left;font-size:.82rem}th{background:#111;font-weight:600;color:#fff}tr:last-child td{border-bottom:none}td:first-child{font-weight:600;color:#fff;white-space:nowrap;width:3.5rem}tr.zone-extreme td{background:var(--zone-extreme-bg)}tr.zone-deep td{background:var(--zone-deep-bg)}tr.zone-nutritional td{background:var(--zone-nutritional-bg)}tr.zone-light td{background:var(--zone-light-bg)}tr.zone-none td{background:var(--zone-none-bg)}tr.zone-extreme td:nth-child(2){color:var(--zone-extreme)}tr.zone-deep td:nth-child(2){color:var(--zone-deep)}tr.zone-nutritional td:nth-child(2){color:var(--zone-nutritional)}tr.zone-light td:nth-child(2){color:var(--zone-light)}tr.zone-none td:nth-child(2){color:var(--zone-none)}.footer{border-top:1px solid #111;padding:.4rem 0;text-align:center;color:var(--muted);font-size:.7rem}.toast-container{position:fixed;left:0;right:0;bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none;z-index:50}.toast{background:#fff;color:#000;padding:.4rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.toast.visible{opacity:1;transform:translateY(0)}
