*{box-sizing:border-box}body{margin:0;font:17px -apple-system,system-ui,Helvetica,sans-serif;background:#F6F6F6;color:#111;padding-bottom:env(safe-area-inset-bottom)}
header{position:sticky;top:0;background:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;z-index:2}
header b{font-size:20px}header b span{color:#1E6BFF}nav button{border:0;background:none;font-size:15px;padding:8px 10px;border-radius:18px;color:#555}nav button.on{background:#111;color:#fff}
main{padding:16px;max-width:560px;margin:auto}.card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-bottom:12px}
.big{padding:20px}.lbl{color:#666;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.addr{font-size:24px;font-weight:700;margin:6px 0}.sub{color:#666}
.btn{display:block;width:100%;text-align:center;border:0;border-radius:14px;padding:18px;font-size:19px;font-weight:700;color:#fff;margin-bottom:12px;text-decoration:none}
.blue{background:#1E6BFF}.green{background:#12A150}.btn[aria-disabled=true]{opacity:.45;pointer-events:none}
ol{list-style:none;padding:0}li{background:#fff;border-radius:14px;padding:14px;margin-bottom:10px;display:flex;gap:10px;align-items:center}li .t{flex:1}li.done{opacity:.55}
li .g{background:#12A150;color:#fff;border:0;border-radius:10px;padding:12px 14px;font-weight:700;font-size:16px}li .x{border:0;background:none;color:#999;font-size:13px}
.status{color:#555;min-height:20px;margin-bottom:8px}.link{background:none;border:0;color:#1E6BFF;font-size:16px;padding:8px 0}
.center{text-align:center}.score{font-size:64px;font-weight:800}.stars{font-size:28px;color:#F5B400}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid .card{margin:0}.num{font-size:28px;font-weight:700;margin-top:6px}.how{color:#666;font-size:14px;line-height:1.4}
.brand{display:flex;align-items:center;gap:8px}.brand img{height:34px;width:auto}.ghost{background:#fff;color:#1E6BFF;border:2px solid #1E6BFF}

body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eee;display:flex;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:3}
.tabbar button{flex:1;border:0;background:none;font-size:11px;color:#888;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;border-radius:12px}
.tabbar button span{font-size:20px;filter:grayscale(1);opacity:.6}.tabbar button.on{color:#111;font-weight:700}.tabbar button.on span{filter:none;opacity:1}
li{flex-wrap:wrap}.rc{flex-basis:100%;background:#fff;border:1px solid #eee;border-radius:12px;padding:12px;margin-top:4px}
.rc pre,.rc textarea{font:13px/1.45 ui-monospace,Menlo,monospace;white-space:pre-wrap;margin:0;width:100%;color:#111}
.rc textarea{min-height:220px;border:1px solid #ddd;border-radius:8px;padding:8px}.rc .rh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.rc .e{border:0;background:#111;color:#fff;border-radius:18px;padding:6px 12px;font-size:13px}.rc .wait{color:#888;font-size:14px}
#route svg{width:100%;height:auto;display:block}
.acts{display:flex;gap:8px;margin-top:10px}.ab{flex:1;text-align:center;padding:9px 0;border-radius:10px;background:#F2F2F2;color:#111;text-decoration:none;font-size:14px;font-weight:600}.ab.off{opacity:.4}
.rc pre{font-size:12px;line-height:1.35}
.tabbar button,.tabbar button.on{background:none}
.tabbar button.on{background:#E8F0FF;color:#1E6BFF;font-weight:700}
.tabbar button span{filter:none;opacity:.55}.tabbar button.on span{opacity:1}
.row2{display:flex;gap:10px}.row2 .btn{flex:1;font-size:16px;padding:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid2 .card{margin:0}
.prof{display:flex;gap:14px;align-items:center}.ph{width:64px;height:64px;border-radius:50%;background:#EEE;overflow:hidden;flex:none}.ph img{width:100%;height:100%;object-fit:cover}
.in{width:100%;border:0;border-bottom:1px solid #eee;font-size:20px;font-weight:700;padding:6px 0;outline:0}
.grp{color:#666;font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin:18px 4px 6px}
.set{padding:0 16px}.set label,.set .sub{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.set label:last-child{border:0}
.set input[type=checkbox]{width:22px;height:22px;accent-color:#12A150}
.seg{display:flex;background:#EEE;border-radius:12px;padding:3px;margin-bottom:12px}.seg button{flex:1;border:0;background:none;padding:9px;border-radius:10px;font-size:15px;font-weight:600;color:#555}.seg button.on{background:#fff;color:#111;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.set label.ck{justify-content:flex-start;gap:12px}.set label.ck span{flex:1}.set label.ck small{display:block;color:#888}.set label.ck input{flex:none}
.set .mr{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.set .mr:last-child{border:0}
.btn.red{background:#E5352B}.btn.green{background:#1F9D55}
.tiphd{display:flex;justify-content:space-between;align-items:center}.eye{border:0;background:#F2F2F7;border-radius:10px;font-size:18px;padding:4px 10px}.tipamt{display:block;border:0;background:none;padding:4px 0;font-family:inherit;font-weight:800;color:#111;text-align:left;width:100%}
.tabbar button.cotab,.tabbar button.cotab.on{flex:none;width:64px;height:64px;margin:-22px 6px 0;border-radius:50%;background:#1F9D55;color:#fff;font-weight:700;font-size:10px;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.2);border:4px solid #fff}.tabbar button.cotab span{opacity:1;font-size:22px}
