:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#e9f2fa;background:#07131f;font-synthesis:none;-webkit-text-size-adjust:100%;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 2%,#11344a 0,transparent 37%),#07131f}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #64e2c7;outline-offset:3px}[hidden]{display:none!important}.app-shell{max-width:750px;min-height:100vh;margin:0 auto;padding-bottom:calc(100px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(16,36,53,.8),rgba(8,19,31,.5) 470px,rgba(8,19,31,.25));box-shadow:0 0 40px #020a1280}.topbar{height:84px;display:flex;align-items:center;gap:12px;padding:18px 21px 10px}.brand-mark{width:39px;height:39px;display:flex;justify-content:center;align-items:center;border:1px solid #51d8bf;border-radius:11px;color:#e8f6f7;font-size:26px;font-weight:850;letter-spacing:-3px}.brand-mark span{font-size:9px;color:#55e3c9;align-self:flex-end;margin:0 0 8px 1px}.header-title{flex:1;min-width:0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:#71adbd}.header-title h1{font-size:19px;margin:1px 0 0;letter-spacing:.03em}.status-pill{border:1px solid #235747;border-radius:99px;background:#133a34;padding:7px 9px;color:#77edbb;font-size:11px;white-space:nowrap}.status-pill:before{content:'●';font-size:8px;margin-right:5px}.status-pill.offline{border-color:#66502f;background:#3c3020;color:#f4c77d}.page{padding:14px 20px 25px}.hero{border:1px solid #244957;border-radius:22px;background:radial-gradient(circle at 100% 0%,#1d6d75 0,transparent 48%),linear-gradient(145deg,#1b3948,#102735 75%);padding:27px 23px 23px;box-shadow:0 14px 30px #0003}.hero-kicker{font-size:10px;font-weight:800;color:#81e6d0;letter-spacing:.13em}.mini-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#65e7ca;margin-right:5px}.hero h2{font-size:clamp(29px,7.9vw,44px);line-height:1.28;letter-spacing:-.045em;margin:18px 0 13px}.hero h2 em{font-style:normal;color:#7be7c5}.hero p{font-size:13px;line-height:1.9;color:#c5d6dd;max-width:330px;margin-bottom:24px}.hero-note{padding-top:15px;border-top:1px solid #ffffff25;font-size:11px;color:#a6c7c9}.hero-note span{color:#76e2c1}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:27px 1px 14px}.section-heading h2{font-size:16px;margin:0}.section-heading>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#7093a5}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.feature-card{text-align:left;border:1px solid #294555;background:#152b3b;color:inherit;border-radius:18px;min-height:178px;padding:17px 13px 13px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.feature-card:hover{border-color:#65d3bd;background:#173849}.feature-icon{height:41px;width:41px;display:grid;place-items:center;border-radius:13px;background:#245556;color:#8af0d3;font-size:25px;font-weight:600}.feature-card h3{font-size:16px;margin:9px 0 5px}.feature-card p{margin:0;color:#a9c1ca;font-size:11px;line-height:1.6}.feature-card .arrow{position:absolute;right:14px;top:15px;color:#7fb4c2;font-size:17px}.status-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 15px;border:1px solid #22394a;border-radius:14px;background:#102332;margin-bottom:9px}.status-card strong{display:block;font-size:13px;margin:3px 0}.status-card p{margin:0;color:#86a4b3;font-size:11px}.small-label{font-size:10px;color:#8fb0ba}.tag{border:1px solid #405264;border-radius:20px;color:#a8b9c9;padding:6px 9px;font-size:10px;white-space:nowrap}.active-tag{border-color:#306c61;color:#85edc5;background:#163c37}.intro{padding:14px 0 23px}.intro h2{font-size:28px;letter-spacing:-.04em;margin:9px 0}.intro p{font-size:13px;color:#a9bfca;line-height:1.85}.panel{border:1px solid #2a4353;background:#112737;padding:20px;border-radius:20px;display:flex;flex-direction:column;gap:10px}.panel label{font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-top:7px}.hint{font-size:11px;font-weight:500;color:#83a4b3}.input-suffix{display:flex;align-items:center;gap:9px;background:#071a28;border:1px solid #355061;border-radius:12px;padding:0 14px;height:56px}.input-suffix:focus-within{border-color:#69dcc4}.input-suffix input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:#eff9fc;font-size:23px;font-weight:750;appearance:textfield;width:100%}.input-suffix span{color:#88aabb;font-size:14px;white-space:nowrap}.input-suffix input::-webkit-inner-spin-button,.input-suffix input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.primary-btn{background:#71e2c4;color:#09241f;border:0;border-radius:13px;padding:17px 16px;font-weight:800;margin-top:14px;display:flex;justify-content:center;gap:12px}.primary-btn span{font-size:18px}.primary-btn:active{transform:translateY(1px)}.form-error{background:#4c2026;border:1px solid #a44756;color:#ffe5e6;padding:10px;border-radius:9px;font-size:12px}.result-card{margin-top:17px;border:1px solid #2f7267;border-radius:20px;background:linear-gradient(150deg,#123b3f,#102b37);padding:22px 20px}.result-eyebrow{font-size:12px;color:#a2d9cd}.result-big{font-weight:850;color:#81f1d1;font-size:clamp(31px,8.4vw,48px);letter-spacing:-.05em;margin:10px 0 18px}.result-big.negative{color:#ff9f9f}.meter{height:7px;border-radius:30px;background:#174546;overflow:hidden;margin:8px 0 20px}.meter span{height:100%;width:0;display:block;background:#82edc5;border-radius:30px}.metric-row{border-top:1px solid #ffffff20;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:13px}.metric-row span{color:#aac6cd}.metric-row strong{font-size:14px;text-align:right}.disclaimer{border-left:2px solid #6b8392;color:#a3b8c5;font-size:12px;line-height:1.9;padding-left:12px;margin:20px 4px}.about-panel{display:block}.about-panel h3{font-size:14px;color:#8ce4ce;margin:12px 0 6px}.about-panel p{font-size:13px;line-height:1.95;color:#c0cdd6;margin:0 0 17px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:20;width:min(750px,100%);display:flex;background:#102433ee;border-top:1px solid #2a4557;backdrop-filter:blur(16px);padding:9px 10px calc(9px + env(safe-area-inset-bottom))}.bottom-nav button{flex:1;border:0;background:transparent;color:#8ba9b7;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px}.bottom-nav button.active{color:#8af0cc}.nav-symbol{font-size:23px;font-weight:700;line-height:1.1}.bottom-nav button.active .nav-symbol{transform:translateY(-1px)}@media(min-width:600px){.page{padding:18px 38px}.topbar{padding-left:38px;padding-right:38px}.hero{padding:34px}.feature-card{min-height:160px}.bottom-nav{border-radius:18px 18px 0 0}}@media(max-width:350px){.page{padding-left:13px;padding-right:13px}.topbar{padding-left:13px;padding-right:13px}.feature-card{padding:12px}.feature-card h3{font-size:14px}.status-card p{font-size:10px}}
/* MVP 0.2: machine catalog and offline journal */
.text-input{background:#071a28;border:1px solid #355061;border-radius:12px;padding:13px 12px;width:100%;min-height:49px;color:#eef8fc;font:inherit;font-size:16px}.text-input:focus{outline:2px solid #69dcc4;outline-offset:1px}.text-input::placeholder{color:#789ba9}.text-input[type=date]{color-scheme:dark}.form-stack{display:flex;flex-direction:column;gap:9px}.form-stack h3,.backup-panel h3{margin:4px 0 6px;font-size:16px}.form-stack label{margin-top:7px}.muted{color:#a5bec9;font-size:12px;line-height:1.75;margin:5px 0}.list-stack{display:flex;flex-direction:column;gap:10px;margin:15px 0 20px}.list-card{border:1px solid #284655;border-radius:15px;background:#112737;padding:15px;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.list-card h3{font-size:15px;margin:0}.list-card p{font-size:12px;color:#aac1ca;margin:0;line-height:1.7}.list-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.list-meta{color:#8db0c0;font-size:11px}.list-actions{display:flex;gap:8px;justify-content:flex-end}.secondary-btn,.small-btn{color:#abeddf;background:#173f47;border:1px solid #3c786d;border-radius:11px;padding:12px 15px;font-size:13px;font-weight:700}.small-btn{padding:8px 12px}.danger-btn{color:#ffc0bf;background:#472a30;border-color:#87505a}.empty-card{padding:23px;text-align:center;border:1px dashed #375462;border-radius:15px;color:#a3bdc8;font-size:13px;line-height:1.8}.collapsible{margin-top:17px}.collapsible summary{cursor:pointer;font-weight:750;padding:3px 0}.collapsible .form-stack{margin-top:15px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-fields>div{min-width:0;display:flex;flex-direction:column;gap:9px}.session-panel{margin-top:18px}.backup-panel{margin:22px 0}.tag-warning{color:#ffcc87;border-color:#886140}.tag-test{color:#c5c1ff;border-color:#625c99}.amount-plus{color:#83f0cf}.amount-minus{color:#ffaaaa}.result-card{margin-top:8px}@media(max-width:380px){.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav button{font-size:9px}.nav-symbol{font-size:20px}.two-fields{gap:7px}.text-input{padding:12px 9px}}
