:root{--bg:#f2f6f7;--panel:#fff;--ink:#17212b;--muted:#6b7e8d;--line:#dbe5e8;--teal:#087e88;--deep:#102634;--rose:#df4967}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC",sans-serif}button,input,textarea{font:inherit}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;height:68px;padding:0 max(20px,calc((100vw - 1420px)/2));border-bottom:1px solid var(--line);background:#fffffff0;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;white-space:nowrap}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#0792a1,#08776e);box-shadow:0 8px 22px #087e8833}.search{display:flex;align-items:center;gap:8px;width:min(420px,36vw);margin-left:auto;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:#f8fafb}.search input{width:100%;border:0;outline:0;background:transparent}.primary{border:0;border-radius:999px;padding:10px 17px;color:#fff;background:#152330;cursor:pointer}.shell{width:min(1420px,calc(100% - 34px));margin:25px auto}.tabs{display:flex;gap:4px;overflow:auto;margin-bottom:23px;padding:6px;border:1px solid var(--line);border-radius:17px;background:#fff}.tabs button{min-width:max-content;padding:10px 18px;border:0;border-radius:12px;color:var(--muted);background:transparent;cursor:pointer}.tabs button.active{color:var(--deep);background:#e8f3f3}.view{display:none}.view.active{display:block}.hero{display:flex;align-items:center;justify-content:space-between;min-height:245px;padding:clamp(28px,5vw,65px);border-radius:28px;color:#fff;background:radial-gradient(circle at 84% 18%,#5eead433,transparent 26%),linear-gradient(125deg,#112333,#155364 66%,#08766f);box-shadow:0 22px 50px #10263420}.hero h1{max-width:780px;margin:.18em 0;font-size:clamp(2.1rem,5vw,4rem);line-height:1.08;letter-spacing:-.05em}.hero p{max-width:650px;color:#c2e0e3}.hero small,.panel small,.section-title small,.health-detail>small,.dialog-head small{color:#0994a2;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.hero small{color:#94e2e3}.ring{display:grid;place-items:center;flex:0 0 auto;width:140px;height:140px;border:1px solid #ffffff45;border-radius:50%;background:#ffffff0c}.ring b{font-size:2.6rem}.ring span{margin-top:-28px;font-size:.75rem;color:#bde8e9}.two{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:18px}.panel{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 10px 30px #1026340a}.panel-head,.section-title{display:flex;align-items:center;justify-content:space-between;padding:20px 23px}.panel-head h2,.section-title h1{margin:3px 0 0}.panel-head button,.section-title button{border:0;color:var(--muted);background:transparent;cursor:pointer}.map-sketch{position:relative;min-height:310px;overflow:hidden;background:linear-gradient(145deg,#d5e8e3,#b9d8d2)}.map-sketch:before{content:"";position:absolute;inset:0;opacity:.3;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:48px 48px;transform:rotate(-7deg) scale(1.2)}.land{position:absolute;width:67%;height:78%;top:10%;left:17%;border-radius:50% 36% 58% 34%;background:#e9f3ed;transform:rotate(8deg);box-shadow:0 15px 40px #087e8822}.map-sketch i{position:absolute;z-index:2;color:var(--teal);font-size:25px;text-shadow:0 0 0 5px #fff}.health-card{padding-bottom:22px}.heart{color:var(--rose);font-size:24px}.meter{padding:12px 23px}.meter label{display:flex;justify-content:space-between;color:var(--muted)}.meter label b{color:var(--ink)}.meter>span{display:block;height:8px;margin-top:8px;border-radius:10px;background:#edf2f4}.meter i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#0792a1,#31b9a6)}.notice{display:flex;justify-content:space-between;width:calc(100% - 46px);margin:20px 23px 0;padding:15px;border:0;border-radius:16px;color:#743347;background:#fff0f3;cursor:pointer}.notice span{font-size:.8rem;color:#c64d69}.timeline{margin-top:18px;padding-bottom:23px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 23px}.record{display:flex;gap:12px;padding:16px;border:1px solid #e5ebee;border-radius:18px;background:#fff}.record .icon{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:12px;background:#e8f6f6;color:var(--teal)}.record.health .icon{color:var(--rose);background:#fff0f3}.record.note .icon{color:#7357b7;background:#f2effb}.record b,.record span{display:block}.record span,.record time{color:var(--muted);font-size:.8rem}.record .delete{margin-left:auto;border:0;color:#a8b4bd;background:transparent}.map-layout{display:grid;grid-template-columns:360px 1fr;min-height:690px;overflow:hidden;border:1px solid var(--line);border-radius:27px;background:#fff}.map-layout aside{padding:23px;border-right:1px solid var(--line)}.section-title{padding:0}.circle{width:38px;height:38px;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff!important}.muted{color:var(--muted)}.list{display:grid;gap:7px;margin-top:24px}.place-row{display:flex;align-items:center;gap:11px;padding:12px;border:0;border-radius:15px;text-align:left;background:transparent;cursor:pointer}.place-row:hover,.place-row.active{background:#eaf4f4}.place-row i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--teal);background:#dff0f0}.place-row span{display:block;color:var(--muted);font-size:.77rem}.real-map{position:relative;min-height:560px;background:#d4e5e1}.real-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.place-detail{position:absolute;left:20px;right:auto;bottom:20px;width:min(460px,calc(100% - 40px));padding:22px;border:1px solid #ffffffb8;border-radius:22px;background:#fffffff0;box-shadow:0 20px 50px #10263430;backdrop-filter:blur(12px)}.place-detail h2{margin:5px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.photo-grid img{width:100%;height:75px;object-fit:cover;border-radius:12px}.photo-add{width:100%;height:75px;border:1px dashed #9bbfc3;border-radius:12px;color:var(--teal);background:#effafa}.health-layout{grid-template-columns:.9fr 1.1fr}.body-panel,.health-detail,.archive{padding:25px}.body-map{position:relative;height:410px;margin:10px auto;text-align:center}.person{padding-top:42px;color:#b8d7d8;font:52px/1.2 monospace}.person span{font-size:75px}.body-map button{position:absolute;left:50%;transform:translate(-50%,-50%);padding:6px 11px;border:1px solid #bcd6d8;border-radius:999px;color:#496b70;background:#ffffffeb}.body-map button.active{color:#fff;border-color:var(--teal);background:var(--teal)}.medical{padding:13px 15px;border-radius:14px;color:#195e68;background:#e7f8fa;font-size:.84rem}.part-title{display:flex;align-items:center;justify-content:space-between}.part-title h1{font-size:2.4rem}.part-title span{padding:6px 12px;border-radius:999px;color:#168168;background:#e9f8f2;font-size:.75rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats div{padding:16px;border-radius:16px;background:#f5f8f9}.stats b,.stats span{display:block}.stats b{font-size:1.3rem}.stats span{color:var(--muted);font-size:.75rem}.vertical{grid-template-columns:1fr;padding:0}.full{width:100%;margin-top:18px;border-radius:13px}.archive .cards{padding:20px 0 0}dialog{width:min(530px,calc(100% - 30px));padding:0;border:0;border-radius:23px;box-shadow:0 30px 90px #10263455}dialog::backdrop{background:#10263488;backdrop-filter:blur(4px)}dialog form{display:grid;gap:15px;padding:25px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:2px 0}.dialog-head button{border:0;background:transparent;font-size:1.7rem}.dialog-head small{font-size:.7rem}label{display:grid;gap:6px;color:#4b5c68;font-size:.85rem}input,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;outline:0}textarea{min-height:110px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error{min-height:1em;margin:0;color:#bd2446;font-size:.82rem}.empty{color:var(--muted)}@media(max-width:800px){.search{display:none}.top{padding:0 17px}.top .primary{margin-left:auto}.shell{width:min(100% - 24px,1420px)}.ring{display:none}.two,.map-layout,.health-layout{grid-template-columns:1fr}.map-layout aside{order:2;border-right:0}.real-map{min-height:520px}.cards{grid-template-columns:1fr}.hero{min-height:280px}.hero h1{font-size:2.25rem}.body-map{height:380px}}
