:root{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;color:#193b34;background:#f4f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #da9d3f;outline-offset:2px}header{max-width:1140px;margin:auto;display:flex;align-items:center;gap:15px;padding:28px 28px 22px}.brand{background:#193b34;color:#fff;width:52px;height:52px;display:flex;align-items:center;justify-content:center;position:relative;font-weight:800;border-radius:14px;font-size:18px}.brand span{color:#d1e59d}h1{font-size:22px;letter-spacing:.06em;margin:2px 0}h1 span{color:#80946f}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;color:#6e8175;margin:0 0 8px}.local{margin-left:auto;font-size:11px;color:#6e8175}main{max-width:1140px;margin:auto;padding:0 28px}.hero{background:#173f35;color:#fff;border-radius:24px;padding:38px 36px;position:relative;overflow:hidden}.hero:after{content:"↗";font-size:235px;position:absolute;right:45px;top:-45px;color:#bcd690;opacity:.11;pointer-events:none}.hero .eyebrow{color:#c4d79d}.hero h2{font-size:29px;line-height:1.65;letter-spacing:.05em;margin:8px 0 20px}.hero>p:last-child{font-size:12px;color:#d5dfd9}.hero strong{color:#e2efbe;margin-left:8px}.divider{margin:0 16px;color:#82988b}nav{display:flex;gap:28px;border-bottom:1px solid #dce1d6;margin:25px 0 0}nav button{background:none;border:0;border-bottom:3px solid transparent;color:#819086;font-weight:700;padding:12px 3px}nav button.active{border-color:#234d3a;color:#234d3a}.notice{font-size:13px;min-height:20px;margin:12px 0;color:#3e704a}.error{color:#ad3f33}.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}.card{background:#fff;border:1px solid #e2e6dc;border-radius:18px;padding:25px;margin-bottom:20px;min-width:0;box-shadow:0 4px 16px #12331c03}h3{font-size:19px;margin:0 0 20px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.arrows{display:flex;gap:5px}.arrows button{border:1px solid #e4e8df;border-radius:8px;background:#fff;color:#214b39;padding:0 10px}.week,.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.week{font-size:11px;color:#859286;text-align:center;margin:12px 0}.week span:first-child{color:#b16f60}.day{border:1px solid transparent;border-radius:10px;min-width:0;background:#f7f8f3;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#304d3e}.day.selected{border-color:#23543e;background:#edf3e6;box-shadow:inset 0 0 0 1px #23543e}.day.today>span{font-weight:800;text-decoration:underline;text-underline-offset:4px}.badge{font-size:10px;padding:3px 6px;border-radius:4px;background:#e5e9e1;white-space:nowrap}.type-0{background:#e8d5bb;color:#875a2c}.type-1{background:#e1e9ef;color:#516d82}.type-2{background:#dfebce;color:#55713a}.type-3{background:#eee3ce;color:#7c662f}.type-4{background:#eddfeb;color:#896483}.unset{color:#c7cfc4}.hint{font-size:11px;line-height:1.8;color:#7d8b7f;margin:12px 0}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid #dbe1d4;background:#fafbf8;border-radius:9px;padding:11px 12px;color:#243f31;margin-top:7px;font-size:16px;min-width:0;min-height:46px}input[type=date]{appearance:none;-webkit-appearance:none;max-width:100%}textarea{resize:vertical;min-height:90px}.primary{border:0;background:#234f3c;color:#fff;width:100%;border-radius:9px;padding:13px;font-weight:600;font-size:13px}.primary:hover{background:#163c2a}.check{display:flex;align-items:center;gap:9px;font-weight:400;font-size:12px}.check input{width:18px;min-height:18px;height:18px;margin:0;accent-color:#23543e}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.record{border-top:1px solid #e5e9e0;padding:20px 0 8px}.record-date{font-size:11px;color:#7e8e81}.record-date span{float:right}.record h4{margin:10px 0;font-size:17px;overflow-wrap:anywhere}.record p{font-size:12px}.record strong{font-size:19px}.memo{white-space:pre-wrap;overflow-wrap:anywhere;color:#738373}.record-actions{display:flex;gap:16px;justify-content:flex-end}.record-actions button,.text-button{border:0;background:none;color:#587052;font-size:12px}.record-actions .danger{color:#a16b61}.count{background:#edf2e6;padding:6px 12px;border-radius:30px;font-size:12px;white-space:nowrap}.blank{text-align:center;padding:45px 0;color:#83917f}.blank>span{font-size:42px;color:#a6bd89}.blank h4{font-size:15px}.blank p{font-size:12px}.secondary{width:100%;background:#fff;border:1px solid #dbe1d4;border-radius:9px;margin-top:10px}footer{padding:30px 0 calc(30px + env(safe-area-inset-bottom));font-size:12px;letter-spacing:.08em;color:#61755f}footer>span{float:right;font-size:11px}footer p{font-size:10px;letter-spacing:0;line-height:1.8;color:#8b9686}.text-button{padding:0;text-decoration:underline}@media(max-width:700px){header{padding:22px 18px;gap:10px}h1{font-size:19px}.brand{width:44px;height:44px}.local,.eyebrow{font-size:9px}main{padding:0 16px}.hero{padding:27px 24px;border-radius:18px}.hero h2{font-size:24px}.hero:after{right:-20px}.hero>p:last-child{font-size:10px}.divider{margin:0 8px}.layout{grid-template-columns:minmax(0,1fr);gap:0}.card{padding:20px 16px}.day{min-height:62px}.grid,.week{gap:3px}.badge{font-size:9px;padding:3px 5px}nav{gap:25px}nav button{font-size:14px}.calendar h3{font-size:20px}footer>span{float:none;display:block;margin-top:8px}}.backup-import{margin:12px 0 0;max-width:420px;letter-spacing:0}.backup-import input{font-size:13px}
