:root{--ink:#172e29;--paper:#f3f1e8;--line:#d9ddd3;--green:#204a3e;--muted:#68756e;--accent:#dbebad}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:14px;line-height:1.65}.shell{max-width:860px;margin:auto;padding:28px 24px 50px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px}.brand{display:flex;gap:12px;align-items:center}.brandmark{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:43px;height:43px;font-family:serif;font-size:28px}.brand strong{display:block;letter-spacing:.13em;font-size:20px}.brand small{font-size:10px;letter-spacing:.12em}.local{font-size:11px;border:1px solid var(--line);padding:4px 9px;border-radius:20px}.intro{padding:34px 0 26px}.eyebrow{font-size:12px;letter-spacing:.13em}.intro h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:42px;line-height:1.4;letter-spacing:.04em;margin:12px 0}.intro>p:last-child{color:var(--muted)}nav{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-top:18px;margin-bottom:24px}button{font:inherit;cursor:pointer;color:var(--ink);min-height:44px;border:1px solid var(--line);background:transparent;border-radius:6px;padding:10px 16px}nav button{border:0;border-radius:0;padding:12px 4px;color:var(--muted)}nav button.active{border-bottom:3px solid var(--green);color:var(--ink);font-weight:bold}nav span{background:#e0e4d9;border-radius:20px;padding:2px 7px;margin-left:5px;font-size:11px}.panel{background:#fffef9;border:1px solid var(--line);padding:24px;margin-bottom:18px;border-radius:10px}.section-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}.number{font-family:Georgia,serif;font-style:italic;color:var(--muted);font-size:20px}h2{font-size:17px;margin:0}.textbtn{margin-left:auto;border:0;font-size:12px;padding:4px;min-height:40px;text-decoration:underline}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}label{display:block;font-size:12px;font-weight:bold}.wide{grid-column:1/-1}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cdd5cb;border-radius:6px;color:var(--ink);background:white;font:inherit;font-size:16px;min-height:48px}textarea{resize:vertical}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a6b47c;outline-offset:3px}.hint{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0}.score{background:var(--ink);color:#fff;padding:26px;border-radius:10px;margin-bottom:18px}.score-top,.score-bottom{display:flex;justify-content:space-between;gap:12px;font-size:12px}.score-top{color:#d1dbc9}.big{display:flex;align-items:baseline;gap:18px;padding:12px 0 17px}.big strong{font-family:Georgia,serif;font-size:72px;line-height:1.15;font-weight:normal;font-variant-numeric:tabular-nums;color:var(--accent)}.big span{font-size:12px}.score-bottom{border-top:1px solid #496057;padding-top:15px}.score>p{font-size:11px;color:#d1dbc9;margin-bottom:0}.primary{background:var(--green);color:#fff;width:100%;border:0;font-weight:bold;margin-top:10px;min-height:50px}.primary:hover{background:#17392f}.entries{margin-top:16px}.entry{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 0;gap:10px}.entry strong{font-size:14px}.entry small{display:block;color:var(--muted);font-size:11px}.entry button{font-size:11px;padding:5px 10px}.totals{display:grid;grid-template-columns:repeat(3,1fr);padding-top:18px;margin-top:18px;border-top:1px solid var(--line);gap:10px}.totals small{display:block;color:var(--muted);font-size:10px}.totals strong{display:block;font-size:20px;font-family:Georgia,"Hiragino Kaku Gothic ProN",serif;font-weight:normal}.record{border-top:1px solid var(--line);padding:18px 0}.record h3{margin:4px 0;font-size:16px}.record p{font-size:12px;color:var(--muted);margin:4px 0}.record .metric{font-size:25px;color:var(--green);font-family:Georgia,serif}.record .actions{display:flex;gap:8px;margin-top:10px}.record button{font-size:12px}.empty{padding:32px 0;text-align:center;color:var(--muted)}.backup{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.backup button,.import{font-size:12px;padding:10px;border:1px solid var(--line);font-weight:normal;cursor:pointer;border-radius:6px}.import input{display:none}footer{color:var(--muted);font-size:11px;margin-top:28px}footer a{color:var(--green)}#notice:empty{display:none}#notice{padding:10px 12px;margin-top:15px;border:1px solid #b9c997;background:#e9efda;font-size:12px}[hidden]{display:none!important}@media(max-width:520px){.shell{padding:20px 16px 35px}.intro{padding-top:24px}.intro h1{font-size:34px}.panel{padding:18px}.score{padding:22px 18px}.fields{gap:15px 12px}.big strong{font-size:64px}.big{gap:12px}.score-bottom{flex-direction:column;gap:5px}.totals{grid-template-columns:1fr 1fr}.totals>div:last-child{grid-column:1/-1}.local{font-size:10px;padding:3px 6px}.section-title{gap:9px}h2{font-size:16px}}@media(prefers-reduced-motion:no-preference){.score{animation:appear .4s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
