:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#192c23;background:#f5f6f1;font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;overscroll-behavior-y:none}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}a{color:#315f4b}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a67c2c;outline-offset:2px}.boot{padding:48px;text-align:center;color:#55705f}#app{max-width:700px;margin:0 auto;min-height:100dvh;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.top{background:linear-gradient(145deg,#172e25,#2e5542);color:white;padding:calc(24px + env(safe-area-inset-top)) 20px 20px;border-radius:0 0 26px 26px}.top-row,.between,.line{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:800;font-size:26px;letter-spacing:.05em}.brand small{font-size:11px;opacity:.75;letter-spacing:.08em;margin-left:9px;font-weight:500}.top-sub{font-size:13px;opacity:.82;margin-top:8px}.header-pill{color:#e4f1e5;border:1px solid #799482;font-size:12px;background:transparent;border-radius:30px;padding:8px 10px}.main{padding:19px 16px 20px}.eyebrow{font-size:11px;letter-spacing:.12em;color:#537461;font-weight:800}.page-title{font-size:25px;letter-spacing:-.02em;margin:5px 0 13px}.hint{font-size:13px;color:#68786b;line-height:1.7}.card{background:white;border:1px solid #e1e7dc;border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 4px 13px rgba(23,48,31,.035)}.card h3{font-size:16px;margin:0 0 10px}.card .hint{margin:4px 0}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-title{font-size:17px;font-weight:750}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.stat{background:white;border:1px solid #e1e7dc;border-radius:17px;padding:14px 10px}.stat-number{font-size:29px;font-weight:760;line-height:1.25;font-variant-numeric:tabular-nums}.stat-name{font-size:11px;color:#667c6b;line-height:1.4}.stat.closed .stat-number{color:#8d713d}.stat.warn .stat-number{color:#a34f31}.actions{display:grid;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border-radius:12px;border:1px solid #2a5b45;padding:10px 15px;font-weight:700;background:#2a5b45;color:white;text-align:center;text-decoration:none;font-size:14px}.button.secondary{background:white;color:#2a5b45}.button.light{background:#e8f0e8;color:#214732;border-color:#e8f0e8}.button.ghost{color:#335944;background:transparent;border-color:#d9e2d7}.button.danger{background:#a93d37;border-color:#a93d37}.button.full{width:100%}.button.tiny{padding:6px 9px;min-height:35px;font-size:12px}.button.icon{padding:8px;min-width:42px}.row-buttons{display:flex;flex-wrap:wrap;gap:8px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:21px 0 10px}.section-head h2{font-size:17px;margin:0}.item{display:flex;align-items:center;gap:12px;min-height:72px;background:white;border:1px solid #dfe7de;border-radius:15px;padding:12px;margin:9px 0}.item-icon{height:42px;width:42px;flex:0 0 42px;display:grid;place-items:center;background:#eaf0e8;border-radius:13px;font-size:19px}.item-main{min-width:0;flex:1}.item-name{font-size:15px;font-weight:750;overflow-wrap:anywhere}.item-sub{font-size:12px;color:#687d6e;line-height:1.6;overflow-wrap:anywhere}.chip{font-size:11px;font-weight:700;display:inline-block;padding:5px 8px;border-radius:30px;background:#e5efe7;color:#2c6247;white-space:nowrap}.chip.closed{background:#faf1db;color:#866b35}.chip.paused{background:#ecebed;color:#66606c}.chip.removed{background:#eee;color:#767676}.chip.alert{background:#fbece6;color:#ac522e}.muted{color:#698071}.subtle{font-size:12px;color:#64796a}.empty{border:1px dashed #bacbbb;border-radius:17px;padding:24px 15px;text-align:center;color:#667c6d;line-height:1.7;background:#fcfdfb}.empty strong{display:block;color:#263f31;margin-bottom:5px}.field{display:grid;gap:6px;margin:13px 0}.field>label{font-size:13px;color:#344d3c;font-weight:740}.field input,.field select,.field textarea{border:1px solid #cfdacb;background:#fff;border-radius:11px;padding:12px;color:#20382a;min-height:46px;width:100%;font-size:16px}.field textarea{min-height:77px;resize:vertical}.field small{font-size:11px;color:#718073}.field select{appearance:auto}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.small-actions{display:flex;gap:7px;flex-wrap:wrap}.divider{border:0;border-top:1px solid #e5eae2;margin:17px 0}.kv{display:grid;grid-template-columns:108px 1fr;gap:9px;font-size:13px;margin:10px 0}.kv .label{color:#738171}.kv>div:last-child{overflow-wrap:anywhere}.bottom-nav{position:fixed;z-index:15;bottom:0;left:50%;transform:translateX(-50%);max-width:700px;width:100%;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.98);border-top:1px solid #dde5dc;padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 22px rgba(0,0,0,.06)}.nav-btn{min-width:0;min-height:55px;background:none;border:0;color:#718476;border-radius:12px;font-size:10px;font-weight:650;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.nav-btn .symbol{font-size:23px;line-height:1}.nav-btn.current{color:#1d5137;background:#e7f0e8}.modal-backdrop{position:fixed;inset:0;background:rgba(9,24,16,.58);z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#f9fbf7;width:min(100%,700px);max-height:95dvh;border-radius:23px 23px 0 0;padding:19px 18px calc(24px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;box-shadow:0 -8px 38px rgba(0,0,0,.18)}.sheet h2{font-size:20px;margin:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.sheet-body{padding-bottom:6px}.sheet-footer{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));background:linear-gradient(0deg,#f9fbf7 85%,#f9fbf700);padding:17px 0 calc(5px + env(safe-area-inset-bottom));margin-top:12px;display:flex;gap:8px}.sheet-footer .button{flex:1}#toast{position:fixed;z-index:70;left:50%;transform:translateX(-50%);bottom:calc(89px + env(safe-area-inset-bottom));background:#203d2e;color:white;border-radius:12px;padding:11px 15px;font-size:13px;max-width:calc(100% - 35px);line-height:1.55;display:none;box-shadow:0 10px 22px #182c2840}#toast.show{display:block}.notice{font-size:12px;border-radius:12px;background:#fff7e7;border:1px solid #e8d7b7;color:#715b32;padding:12px;line-height:1.65}.notice.danger{background:#fff0ed;color:#9a4138;border-color:#f3c9c0}.notice.info{background:#eaf2ec;color:#285541;border-color:#cadecf}.result-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-options label{border:1px solid #d2dfd2;padding:13px 7px;border-radius:12px;text-align:center;font-size:13px;background:white;font-weight:600;min-height:50px;display:flex;align-items:center;justify-content:center;gap:5px}.result-options input:checked+span{color:#285b42;font-weight:800}.result-options label:has(input:checked){border-color:#357650;background:#e9f3ea}.result-options input{width:auto}.checkline{display:flex;align-items:center;gap:10px;font-size:13px;margin:13px 0}.checkline input{width:22px;height:22px;flex:0 0 22px}.photo-preview{border-radius:12px;max-height:220px;max-width:100%;object-fit:contain;display:block;margin:9px 0}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:10px 8px;border-bottom:1px solid #e3e9e1;text-align:left}.data-table th{color:#6c806e;font-weight:600}.range{display:flex;flex-wrap:wrap;gap:7px}.range .button{flex:1}.warning-dot{width:8px;height:8px;border-radius:50%;background:#bd724b;display:inline-block;margin-right:5px}.install-note{font-size:12px;line-height:1.75;color:#5c7665}.filter{width:100%;border:1px solid #d2dfd2;background:#fff;border-radius:11px;padding:11px;font-size:16px;min-height:44px}.preview-box{font-size:12px;background:#e8f0e8;padding:10px;border-radius:12px;line-height:1.8;word-break:break-all}.code{font-family:ui-monospace,monospace;font-size:12px}@media(min-width:600px){.sheet{border-radius:20px;margin:15px;max-height:calc(100dvh - 30px)}.modal-backdrop{align-items:center}}@media(prefers-reduced-motion:no-preference){.button:active,.item:active{transform:scale(.994)}}
/* Ver.3 refinements: ink-and-forest Japanese modern crest, consistent navigation */
:root{--forest:#285b44;--cream:#f7f7f1}html{scroll-padding-bottom:112px}body{background:#f5f6f2}.brand-wrap{display:flex;align-items:center;gap:12px;min-width:0}.brand-symbol{width:39px;height:39px;border-radius:11px;object-fit:cover;border:1px solid #c7c49e}.top{background:linear-gradient(135deg,#183a2c,#305d49);border-radius:0 0 20px 20px}.top-row{min-height:44px}.bottom-nav{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.bottom-nav .nav-btn svg{width:24px;height:24px}.main{padding-bottom:35px}#app{padding-bottom:calc(110px + env(safe-area-inset-bottom));min-height:100dvh}.stat.closed .stat-number{color:#9b7741}.chip.baiting{background:#fff0d6;color:#8b6223}.chip.alert{background:#fff0eb;color:#a34337}.permit-warning{margin:8px 0 16px;border-left:4px solid #ae493b;padding:12px 14px;background:#fff3f0;border-radius:8px;color:#a63b36;font-size:14px;line-height:1.7}.permit-warning strong{display:block;margin-bottom:4px}.permit-warning .button{margin-top:6px}.progress{height:9px;background:#e5eae3;border-radius:30px;overflow:hidden;margin:13px 0}.progress>div{background:#3a7755;height:100%}.sort-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0;font-size:12px;color:#657e6e}.sort-row .filter{max-width:230px}.tab-strip{display:flex;gap:5px;overflow-x:auto;padding:8px 0 12px;-webkit-overflow-scrolling:touch}.tab-strip .button{flex-shrink:0}.gun-choices{display:grid;gap:8px}.gun-choice{border:1px solid #dce5d8;border-radius:12px;padding:13px;background:white;display:flex;gap:10px;align-items:center;font-weight:700;color:#315441}.gun-choice:has(input:checked){background:#e7f0e8;border-color:#397b5a}.gun-choice input{width:22px;height:22px;flex-shrink:0;accent-color:#276a48}.gun-choice small{display:block;color:#6b8172;font-weight:400;margin-top:3px}.conditional-field[hidden]{display:none}.field-row .field{min-width:0}.field input[type=checkbox]{width:auto}.row-buttons .button{flex:1;min-width:92px}.card .row-buttons{margin-top:12px}.card .row-buttons .button{font-size:13px}.sheet-header{position:sticky;top:-19px;padding:4px 0 10px;background:#f9fbf7;z-index:1}.sheet .notice{margin-bottom:14px}.sheet{overscroll-behavior:contain}.dialog-open{overflow:hidden}.item .button{flex-shrink:0}.item-icon svg{color:#35654d}.stat-number{font-size:27px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#3a7755}.button:focus-visible,.nav-btn:focus-visible{outline:3px solid #b79b55;outline-offset:2px}.brand small{font-size:10px}.install-note{margin-bottom:20px}.notice strong{display:block;margin-bottom:6px}
/* Ver.3 component refinements */
.brand-wrap{display:flex;align-items:center;gap:11px;min-width:0}
.brand-symbol{width:43px;height:43px;border-radius:11px;flex:0 0 43px;background:#113c2a;border:1px solid #d4c28b}
.nav-btn svg{width:23px;height:23px;flex:none}
.tab-strip{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 12px}
.tab-strip .button{flex:1;min-width:92px}
.sort-row{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:13px;margin:12px 0 14px;color:#536957}
.sort-row .filter{max-width:230px}
.permit-warning{font-size:14px;color:#a4382e;line-height:1.6;margin:10px 0 14px;font-weight:650;border-left:3px solid #ba4738;padding-left:12px}
.permit-warning>strong{display:block;font-size:14px}
.permit-warning .button{margin-top:7px}
.progress{height:10px;border-radius:99px;background:#e5ece5;overflow:hidden;margin:13px 0 8px}
.progress>div{height:100%;background:#33724f;transition:width .15s}
.gun-choices{display:grid;gap:9px}
.gun-choice{display:flex;gap:12px;padding:12px;background:white;border:1px solid #d5e0d4;border-radius:12px;align-items:center;min-height:55px}
.gun-choice input{width:22px;height:22px;flex:0 0 22px}
.gun-choice span{font-weight:750}
.gun-choice small{display:block;font-size:11px;font-weight:400;color:#688071;margin-top:4px}
.chip.baiting{background:#fff0d9;color:#916120}
.conditional-field[hidden]{display:none}
@media(min-width:700px){.top{border-radius:0 0 26px 26px}}
