:root{--bg:#f6f4ee;--surface:#fff;--border:#e3e1d8;--ink:#232a26;--sub:#5c665f;--teal:#0e6b54;--teal-soft:#dff2ea;--amber:#8a5a0b;--amber-soft:#f8ecd4;--clay:#96421f;--clay-soft:#f7e3d6}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font-family:BIZ UDPGothic,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:14px;line-height:1.6}.wrap{max-width:420px;margin:0 auto;padding:16px 14px 40px}.wrap-wide{max-width:900px;margin:0 auto;padding:16px 14px 40px}.brand{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.brand h1{letter-spacing:.04em;color:var(--teal);white-space:nowrap;flex:none;font-size:20px}.brand span{color:var(--sub);font-size:11px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:14px 16px}.card h2{color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:600}h2{color:var(--sub);margin:16px 2px 8px;font-size:13px;font-weight:600}p.lead{color:var(--sub);font-size:13px}.btn{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin:8px 0;padding:12px;font-family:inherit;font-size:14px;display:block}.btn.sub{background:var(--surface);color:var(--teal);border:1px solid var(--teal)}.btn.ghost{color:var(--sub);border:1px solid var(--border);background:0 0}.btn:disabled{opacity:.45;cursor:not-allowed}label.field{color:var(--sub);margin:10px 0 2px;font-size:12.5px;display:block}input[type=text],input[type=email],input[type=number],input[type=password],input[type=tel],select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:10px;font-family:inherit;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal-soft);border-color:var(--teal)}.row{gap:8px;display:flex}.row>*{flex:1}.sexsel{gap:8px;margin:6px 0;display:flex}.sexsel button{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:10px;flex:1;padding:10px;font-family:inherit;font-size:13px}.sexsel button.on{background:var(--teal);border-color:var(--teal);color:#fff}.err{background:var(--clay-soft);color:var(--clay);border-radius:10px;margin:8px 0;padding:10px 12px;font-size:12.5px}.notice{background:var(--amber-soft);color:var(--amber);border-radius:10px;margin:8px 0;padding:10px 12px;font-size:12.5px}.ok{background:var(--teal-soft);color:var(--teal);border-radius:10px;margin:8px 0;padding:10px 12px;font-size:12.5px}.spin{text-align:center;color:var(--sub);padding:28px 0;font-size:13px}.chip{border:1px solid var(--border);color:var(--sub);border-radius:999px;padding:1px 9px;font-size:11px}.chip.on{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-soft)}.consent{border-top:1px solid var(--border);padding:10px 2px}.consent:first-of-type{border-top:none}.consent label{cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.consent input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal);flex:none;margin-top:3px}.consent .sub{color:var(--sub);margin-top:2px;font-size:11.5px}.doc{border:1px solid var(--border);max-height:180px;color:var(--sub);background:var(--bg);white-space:pre-wrap;border-radius:8px;margin-top:6px;padding:10px 12px;font-size:11.5px;overflow-y:auto}.doc.read{border-color:var(--teal);background:var(--teal-soft)}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.scroll-x table.list{width:max-content;min-width:100%;max-width:none}.scroll-x table.list th,.scroll-x table.list td{white-space:nowrap}table.list{border-collapse:collapse;width:100%;font-size:13px}table.list th{text-align:left;color:var(--sub);border-bottom:1px solid var(--border);padding:6px 4px;font-size:11.5px;font-weight:600}table.list td{border-bottom:1px solid var(--border);padding:9px 4px}table.list tr:hover td{background:var(--bg)}.code{letter-spacing:.16em;background:var(--bg);border:1px dashed var(--border);text-align:center;color:var(--ink);border-radius:10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}footer.disclaimer{color:var(--sub);border-top:1px solid var(--border);margin-top:18px;padding-top:10px;font-size:11px}nav.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}nav.tabs a{color:var(--sub);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:12.5px;text-decoration:none}nav.tabs a.on{background:var(--teal);border-color:var(--teal);color:#fff}.stepper{margin:0 0 12px}.stepper .st-label{color:var(--sub);justify-content:space-between;align-items:baseline;font-size:12.5px;display:flex}.stepper .st-label b{color:var(--ink);font-size:14px}.stepper .st-bar{background:var(--border);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.stepper .st-bar i{background:var(--teal);border-radius:999px;height:100%;transition:width .3s;display:block}.pw-wrap{position:relative}.pw-wrap input{padding-right:64px}.pw-toggle{color:var(--teal);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-family:inherit;font-size:12px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-rules{color:var(--sub);margin:6px 0 0;padding:0;font-size:12px;list-style:none}.pw-rules li{margin:2px 0}.pw-rules li.ok{color:var(--teal)}.pw-rules li:before{content:"○ "}.pw-rules li.ok:before{content:"✓ "}.code-input{letter-spacing:.3em;text-align:center;font-size:24px}.zc{border-radius:6px;padding:1px 7px;font-size:11px}.zc.i{background:var(--teal-soft);color:var(--teal)}.zc.c{background:var(--amber-soft);color:var(--amber)}.zc.o{background:var(--clay-soft);color:var(--clay)}.pat{border-left:3px solid var(--amber);background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:0 10px 10px 0;margin-bottom:8px;padding:10px 12px}.pat b{font-size:13.5px;font-weight:600}.pat p{color:var(--sub);margin-top:3px;font-size:12.5px}.pat .d{color:var(--sub);margin-top:5px;font-size:11px}.pat .d .chap{border:1px solid var(--border);color:var(--sub);background:var(--bg);border-radius:999px;margin-right:6px;padding:0 8px;font-size:10.5px;display:inline-block}.out-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--clay);border-radius:0 12px 12px 0;margin-bottom:8px;padding:11px 14px}.out-card .hd{align-items:baseline;gap:8px;display:flex}.out-card .hd b{font-size:13.5px;font-weight:600}.out-card .hd .v{margin-left:auto;font-size:14px;font-weight:600}.out-card .rf{color:var(--sub);margin-top:2px;font-size:11px}.out-card p{color:var(--sub);margin-top:6px;font-size:12.5px}.item{border-top:1px solid var(--border);align-items:center;gap:9px;padding:8px 2px;display:flex}.item:first-of-type{border-top:none}.face{text-align:center;width:22px;font-size:17px}.when{width:44px;color:var(--sub);font-variant-numeric:tabular-nums;text-align:center;flex:none;font-size:12px}.iname{flex:1;min-width:0}.iname .nm{font-size:13px}.iname .rf{color:var(--sub);font-size:10.5px}.ival{text-align:right}.ival .v{font-size:14px;font-weight:600}.ival .u{color:var(--sub);font-size:10.5px}.guide{background:var(--bg);border:1px dashed var(--border);border-radius:10px;margin:2px 0 8px;padding:10px 12px}.guide h3{margin-bottom:4px;font-size:13px;font-weight:600}.guide p{color:var(--sub);margin-top:6px;font-size:12.5px}.guide p b{color:var(--ink);font-weight:600}.guide .guide-note{border-top:1px solid var(--border);margin-top:8px;padding-top:6px;font-size:11.5px}.badge{border-radius:5px;margin-top:1px;padding:0 5px;font-size:10px;display:block}.badge.c{background:var(--amber-soft);color:var(--amber)}.badge.o{background:var(--clay-soft);color:var(--clay)}.badge.i{background:var(--teal-soft);color:var(--teal)}.badge.n{background:var(--bg);color:var(--sub);border:1px solid var(--border)}.ref-card{background:var(--surface);border:1px dashed var(--border);border-radius:12px;margin-bottom:12px;padding:11px 14px}.ref-card b{color:var(--sub);font-size:12.5px;font-weight:600}.ref-card p{color:var(--sub);margin-top:3px;font-size:12px}svg text{font-family:inherit}.chart{width:100%;margin:0 auto;display:block}.chart-trend{max-width:480px}.chart-radar{max-width:320px}.print-page{background:var(--surface);max-width:720px;margin:0 auto;padding:16px 20px 40px}.print-header{border-bottom:2px solid var(--teal);justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:10px;display:flex}.print-header h1{color:var(--teal);font-size:19px}.print-header p{color:var(--sub);font-size:12.5px}.print-meta{text-align:right;color:var(--sub);font-size:12px}.print-footer{color:var(--sub);border-top:1px solid var(--border);margin-top:20px;padding-top:10px;font-size:10.5px;line-height:1.5}@media print{@page{size:A4;margin:10mm}body{background:#fff;font-size:9pt;line-height:1.4}.no-print{display:none!important}.print-page{background:#fff;max-width:none;padding:0}.print-header{margin-bottom:6px;padding-bottom:6px}.print-header h1{font-size:15pt}.card,.pat,.out-card,.ref-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;background:#fff;border-radius:6px}.card{margin-bottom:6px;padding:7px 10px}.card h2{margin-bottom:3px;font-size:10.5pt}h2{break-after:avoid;page-break-after:avoid;margin:8px 2px 4px;font-size:10pt}p.lead,.pat p,.out-card p,.ref-card p{font-size:8.5pt}.pat{margin-bottom:4px;padding:5px 8px}.pat b,.out-card .hd b{font-size:9.5pt}.pat .d{margin-top:2px;font-size:8pt}.out-card{margin-bottom:4px;padding:5px 10px}.out-card .rf{font-size:8pt}.ref-card{padding:6px 10px}.ref-card b{font-size:9pt}.chart-radar{max-width:200px}.items-list{column-count:2;column-gap:14px;padding:4px 10px}.items-list .item{break-inside:avoid;page-break-inside:avoid;gap:6px;padding:3px 0}.items-list .item:first-of-type{border-top:none}.face{width:16px;font-size:11pt}.iname .nm{font-size:8.5pt}.iname .rf{font-size:7.5pt}.ival .v{font-size:9.5pt}.ival .u{font-size:7.5pt}.badge{padding:0 4px;font-size:7pt}.chip,.zc{font-size:7.5pt}.print-footer{margin-top:8px;padding-top:6px;font-size:7.5pt}a{color:inherit;text-decoration:none}}.mealitem{border-top:1px solid var(--border);padding:12px 0}.mealitem:first-of-type{border-top:none}.mealitem-head{align-items:center;gap:8px;display:flex}.mealitem-head input{flex:1;padding:7px 8px;font-size:14px}.mealitem-head b{white-space:nowrap;font-size:17px;font-weight:600}.mealitem-head b span{color:var(--sub);margin-left:2px;font-size:10.5px}.mealitem-head .chip{cursor:pointer;border-color:var(--border);background:0 0;padding:4px 8px}.mealitem-chips{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.mealitem-chips:empty{display:none}.mult{flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;display:flex}.mult-label{color:var(--sub);margin-right:2px;font-size:11.5px}.mult .chip{cursor:pointer;padding:6px 11px;font-size:12.5px}.hist-apply{border:1px solid var(--teal);background:var(--teal-soft);width:100%;color:var(--teal);cursor:pointer;text-align:left;border-radius:9px;margin-top:8px;padding:9px;font-family:inherit;font-size:12.5px;display:block}.detail-toggle{color:var(--teal);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:2px 0;font-family:inherit;font-size:12px}.mealitem-nums{gap:6px;margin-top:6px;display:flex}.mealitem-nums label{color:var(--sub);flex:1;font-size:10.5px}.mealitem-nums input{text-align:right;width:100%;padding:5px 6px;font-size:13px}.favlist{flex-direction:column;gap:6px;max-height:260px;margin-top:8px;display:flex;overflow-y:auto}.favlist button{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;color:var(--ink);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:13px;display:flex}.favlist button span{color:var(--sub);white-space:nowrap;font-size:11.5px}.total-bar{background:var(--surface);border-top:1px solid var(--border);align-items:baseline;gap:8px;margin-top:4px;padding:10px 0;display:flex;position:sticky;bottom:0}.total-bar b{color:var(--teal);font-size:22px}.modal{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-inner{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:560px;max-height:82vh;padding:16px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-head b{font-size:15px}.modal-head button{cursor:pointer;color:var(--sub);background:0 0;border:none;font-size:20px}@media print{.modal{display:none}}
